diff --git a/packages/datalib/src/GridDisplay.ts b/packages/datalib/src/GridDisplay.ts index 179271179..27bb2e007 100644 --- a/packages/datalib/src/GridDisplay.ts +++ b/packages/datalib/src/GridDisplay.ts @@ -294,6 +294,14 @@ export abstract class GridDisplay { this.reload(); } + removeFilter(uniqueName) { + this.setConfig(cfg => ({ + ...cfg, + filters: _.omit(cfg.filters, [uniqueName]), + })); + this.reload(); + } + setFilters(dct) { this.setConfig(cfg => ({ ...cfg, diff --git a/packages/web/src/datagrid/DataGrid.svelte b/packages/web/src/datagrid/DataGrid.svelte index a92ad7e7f..234a70cec 100644 --- a/packages/web/src/datagrid/DataGrid.svelte +++ b/packages/web/src/datagrid/DataGrid.svelte @@ -25,6 +25,7 @@ import ColumnManager from './ColumnManager.svelte'; import ReferenceManager from './ReferenceManager.svelte'; import FreeTableColumnEditor from '../freetable/FreeTableColumnEditor.svelte'; + import JsonViewFilters from '../jsonview/JsonViewFilters.svelte'; export let config; export let gridCoreComponent; @@ -85,6 +86,10 @@ + + + + diff --git a/packages/web/src/jsonview/JsonViewFilterColumn.svelte b/packages/web/src/jsonview/JsonViewFilterColumn.svelte new file mode 100644 index 000000000..7a97aee8d --- /dev/null +++ b/packages/web/src/jsonview/JsonViewFilterColumn.svelte @@ -0,0 +1,30 @@ + + +
+
+ + { + display.removeFilter(uniqueName); + }} + > + + +
+ display.setFilter(uniqueName, value)} + /> +
diff --git a/packages/web/src/jsonview/JsonViewFilters.svelte b/packages/web/src/jsonview/JsonViewFilters.svelte new file mode 100644 index 000000000..4da0a8ecf --- /dev/null +++ b/packages/web/src/jsonview/JsonViewFilters.svelte @@ -0,0 +1,19 @@ + + + + {#each allFilterNames as uniqueName} + + {/each} +