form view filters

This commit is contained in:
Jan Prochazka
2021-01-14 17:43:35 +01:00
parent cac85d776a
commit 26b1c69f12
6 changed files with 123 additions and 4 deletions

View File

@@ -22,4 +22,29 @@ export class FormViewDisplay {
public dbinfo: DatabaseInfo = null
) {}
addFilterColumn(column) {
if (!column) return;
this.setConfig((cfg) => ({
...cfg,
formFilterColumns: [...(cfg.formFilterColumns || []), column.uniqueName],
}));
}
setFilter(uniqueName, value) {
this.setConfig((cfg) => ({
...cfg,
filters: {
...cfg.filters,
[uniqueName]: value,
},
}));
}
removeFilter(uniqueName) {
this.setConfig((cfg) => ({
...cfg,
formFilterColumns: (cfg.formFilterColumns || []).filter((x) => x != uniqueName),
filters: _.omit(cfg.filters || [], uniqueName),
}));
}
}

View File

@@ -31,6 +31,8 @@ export interface GridConfig extends GridConfigColumns {
reference?: GridReferenceDefinition;
isFormView?: boolean;
formViewKey?: { [uniqueName: string]: string };
formViewKeyRequested?: { [uniqueName: string]: string };
formFilterColumns: string[];
}
export interface GridCache {
@@ -47,6 +49,7 @@ export function createGridConfig(): GridConfig {
sort: [],
focusedColumn: null,
grouping: {},
formFilterColumns: [],
};
}