perspective filter menu

This commit is contained in:
Jan Prochazka
2022-08-28 12:10:53 +02:00
parent f405db7685
commit 2284264a92
4 changed files with 45 additions and 16 deletions

View File

@@ -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)}