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}