Allow disable/re-enable filter #1174

This commit is contained in:
Stela Augustinova
2025-10-22 12:52:44 +02:00
parent e1de4f5c5f
commit da52dd006b
5 changed files with 52 additions and 9 deletions

View File

@@ -233,6 +233,7 @@ export abstract class GridDisplay {
if (!filter) continue;
const column = displayedColumnInfo[uniqueName];
if (!column) continue;
if (this.isFilterDisabled(uniqueName)) continue;
try {
const condition = parseFilter(
filter,
@@ -416,6 +417,7 @@ export abstract class GridDisplay {
[uniqueName]: value,
},
formViewRecordNumber: 0,
disabledFilterColumns: cfg.disabledFilterColumns.filter(x => x != uniqueName),
}));
this.reload();
}
@@ -448,6 +450,7 @@ export abstract class GridDisplay {
...cfg,
filters: _.omit(cfg.filters, [uniqueName]),
formFilterColumns: (cfg.formFilterColumns || []).filter(x => x != uniqueName),
disabledFilterColumns: (cfg.disabledFilterColumns).filter(x => x != uniqueName),
}));
this.reload();
}
@@ -463,6 +466,25 @@ export abstract class GridDisplay {
this.reload();
}
toggleFilterEnabled(uniqueName) {
if (this.isFilterDisabled(uniqueName)) {
this.setConfig(cfg => ({
...cfg,
disabledFilterColumns: cfg.disabledFilterColumns.filter(x => x != uniqueName),
}));
} else {
this.setConfig(cfg => ({
...cfg,
disabledFilterColumns: [...cfg.disabledFilterColumns, uniqueName],
}));
}
this.reload();
}
isFilterDisabled(uniqueName: string) {
return this.config.disabledFilterColumns.includes(uniqueName);
}
setSort(uniqueName, order) {
this.setConfig(cfg => ({
...cfg,