quickFilterItemSelected(event: IselectOption[][]): void {
const filterKeys: (keyof IStatementFilter)[] = [‘products’, ‘date’];
const quickFilters: Partial<IStatementFilter> = {};
let dateRange: { dateFrom: string; dateTo: string } | null = null;
Object.keys(event).forEach((key) => {
const index = Number(key);
const items = event[index];
const filterKey = filterKeys[index];
if (!filterKey || !items || items.length === 0) {
quickFilters[filterKey] = undefined;
return;
}
if (filterKey === ‘date’) {
const selectedValue = items[0].value; // date é single select
if (selectedValue === ‘openDatePicker’) {
// abre o date picker, não calcula range agora
// o range virá do callback do date picker
return;
}
if (typeof selectedValue === ‘number’) {
dateRange = this.calculateDateRange(selectedValue);
}
} else {
quickFilters[filterKey] = items.map((item) => item.value);
}
});
this.agreementsStateControl.handleModalState({
…quickFilters,
…(dateRange ? dateRange : {}),
});
}