diff --git a/packages/web/src/designer/ColumnLine.svelte b/packages/web/src/designer/ColumnLine.svelte index e6e126d4e..7c5d37cf0 100644 --- a/packages/web/src/designer/ColumnLine.svelte +++ b/packages/web/src/designer/ColumnLine.svelte @@ -161,6 +161,10 @@ {/if} + {#if settings?.isColumnFiltered && settings?.isColumnFiltered(designerId, column.columnName)} + + {/if} + {#if designer?.style?.showNullability || designer?.style?.showDataType}
{#if designer?.style?.showDataType && column?.dataType} diff --git a/packages/web/src/perspectives/PerspectiveDesigner.svelte b/packages/web/src/perspectives/PerspectiveDesigner.svelte index b7d0edd47..755809ba9 100644 --- a/packages/web/src/perspectives/PerspectiveDesigner.svelte +++ b/packages/web/src/perspectives/PerspectiveDesigner.svelte @@ -11,7 +11,12 @@ import Designer from '../designer/Designer.svelte'; import QueryDesignerReference from '../designer/QueryDesignerReference.svelte'; - import { addToPerspectiveSort, clearPerspectiveSort, setPerspectiveSort } from './perspectiveMenu'; + import { + addToPerspectiveFilter, + addToPerspectiveSort, + clearPerspectiveSort, + setPerspectiveSort, + } from './perspectiveMenu'; export let config: PerspectiveConfig; export let dbInfos: MultipleDatabaseInfo; @@ -153,6 +158,11 @@ text: 'Clear sort criteria', onClick: () => onChange(cfg => clearPerspectiveSort(cfg, designerId)), }, + { divider: true }, + { + text: 'Add to filter', + onClick: () => onChange(cfg => addToPerspectiveFilter(cfg, designerId, column.columnName)), + }, ]; }, createReferenceText: reference => (reference.isAutoGenerated ? 'FK' : 'Custom'), @@ -195,6 +205,9 @@ const orderIndex = sort.length > 1 ? _.findIndex(sort, x => x.columnName == columnName) : -1; return { order, orderIndex }; }, + isColumnFiltered: (designerId, columnName) => { + return !!config.nodes.find(x => x.designerId == designerId)?.filters?.[columnName]; + }, }} referenceComponent={QueryDesignerReference} value={createDesignerModel(config, dbInfos)} diff --git a/packages/web/src/perspectives/PerspectiveNodeRow.svelte b/packages/web/src/perspectives/PerspectiveNodeRow.svelte index c285bb1c2..e9dcac134 100644 --- a/packages/web/src/perspectives/PerspectiveNodeRow.svelte +++ b/packages/web/src/perspectives/PerspectiveNodeRow.svelte @@ -74,6 +74,10 @@ {node.title} + + {#if node.getFilter()} + + {/if}