u
This commit is contained in:
@@ -64,6 +64,7 @@ const initialState = {
|
||||
unfilteredTotal: 0,
|
||||
filter: '',
|
||||
stateFilter: '',
|
||||
entityId: null,
|
||||
seekMonths: 0,
|
||||
seekYears: 0,
|
||||
negativeSeekMonths: 0,
|
||||
@@ -107,15 +108,16 @@ export function parseLruKey(key) {
|
||||
export function getFilterParams(state = automat?.state || initialState) {
|
||||
const filter = String(state.filter ?? '').trim();
|
||||
const stateFilter = String(state.stateFilter ?? '').trim();
|
||||
const entityId = state.entityId != null && state.entityId !== '' ? Number(state.entityId) : null;
|
||||
const negativeSeekMonths = (state.negativeSeekMonths != null && Number(state.negativeSeekMonths) < 0)
|
||||
? Number(state.negativeSeekMonths)
|
||||
: 0;
|
||||
return { filter, stateFilter, negativeSeekMonths };
|
||||
return { filter, stateFilter, entityId, negativeSeekMonths };
|
||||
}
|
||||
|
||||
export function getFilterKey(state = automat?.state || initialState) {
|
||||
const { filter, stateFilter, negativeSeekMonths } = getFilterParams(state);
|
||||
return JSON.stringify({ f: filter, st: stateFilter, s: negativeSeekMonths });
|
||||
const { filter, stateFilter, entityId, negativeSeekMonths } = getFilterParams(state);
|
||||
return JSON.stringify({ f: filter, st: stateFilter, e: entityId, s: negativeSeekMonths });
|
||||
}
|
||||
|
||||
export function formatNegativeSeek(months) {
|
||||
@@ -134,12 +136,13 @@ export function formatNegativeSeek(months) {
|
||||
}
|
||||
|
||||
export function formatFilterLabel(filterKeyOrState) {
|
||||
let f, st, s;
|
||||
let f, st, e, s;
|
||||
if (typeof filterKeyOrState === 'string') {
|
||||
try {
|
||||
const parsed = JSON.parse(filterKeyOrState);
|
||||
f = parsed.f;
|
||||
st = parsed.st;
|
||||
e = parsed.e;
|
||||
s = parsed.s;
|
||||
} catch {
|
||||
return filterKeyOrState;
|
||||
@@ -148,17 +151,20 @@ export function formatFilterLabel(filterKeyOrState) {
|
||||
if ('f' in filterKeyOrState) {
|
||||
f = filterKeyOrState.f;
|
||||
st = filterKeyOrState.st;
|
||||
e = filterKeyOrState.e;
|
||||
s = filterKeyOrState.s;
|
||||
} else {
|
||||
const params = getFilterParams(filterKeyOrState);
|
||||
f = params.filter;
|
||||
st = params.stateFilter;
|
||||
e = params.entityId;
|
||||
s = params.negativeSeekMonths;
|
||||
}
|
||||
}
|
||||
|
||||
const parts = [];
|
||||
if (f) parts.push(`Suche: „${f}“`);
|
||||
if (e != null) parts.push(`Kunde: #${e}`);
|
||||
if (st) parts.push(`Status: ${st}`);
|
||||
if (s < 0) parts.push(`Seek: ${formatNegativeSeek(s)}`);
|
||||
if (parts.length === 0) return 'Standard (Alle Lieferscheine)';
|
||||
@@ -436,6 +442,7 @@ function buildQueryParamsFor(filterParams, offset = 0, limit = CHUNK_SIZE) {
|
||||
const trimmed = String(filterParams.filter ?? '').trim();
|
||||
if (trimmed) params.search = trimmed;
|
||||
if (filterParams.stateFilter) params.state = filterParams.stateFilter;
|
||||
if (filterParams.entityId != null) params.entityId = filterParams.entityId;
|
||||
if (filterParams.negativeSeekMonths != null && Number(filterParams.negativeSeekMonths) < 0) {
|
||||
params.seekMonths = Number(filterParams.negativeSeekMonths);
|
||||
}
|
||||
@@ -784,6 +791,12 @@ const actions = {
|
||||
onFilterChange(true);
|
||||
},
|
||||
|
||||
setEntityId(entityId) {
|
||||
const parsed = entityId != null && entityId !== '' ? Number(entityId) : null;
|
||||
automat.setState({ entityId: parsed });
|
||||
onFilterChange(true);
|
||||
},
|
||||
|
||||
setSeekMonths(months) {
|
||||
actions.addNegativeSeek(-months);
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user