perspective:removed filterInfos,using only filters

This commit is contained in:
Jan Prochazka
2022-08-07 16:48:27 +02:00
parent 3f9bd100e1
commit 6154b4c780
4 changed files with 36 additions and 32 deletions

View File

@@ -30,7 +30,7 @@ export interface PerspectiveFilterColumnInfo {
export interface PerspectiveConfig extends PerspectiveConfigColumns { export interface PerspectiveConfig extends PerspectiveConfigColumns {
rootObject: { schemaName?: string; pureName: string }; rootObject: { schemaName?: string; pureName: string };
filters: { [uniqueName: string]: string }; filters: { [uniqueName: string]: string };
filterInfos: { [uniqueName: string]: PerspectiveFilterColumnInfo }; // filterInfos: { [uniqueName: string]: PerspectiveFilterColumnInfo };
sort: { sort: {
[parentUniqueName: string]: { [parentUniqueName: string]: {
uniqueName: string; uniqueName: string;
@@ -47,7 +47,7 @@ export function createPerspectiveConfig(rootObject: { schemaName?: string; pureN
uncheckedColumns: [], uncheckedColumns: [],
customJoins: [], customJoins: [],
filters: {}, filters: {},
filterInfos: {}, // filterInfos: {},
sort: {}, sort: {},
rootObject, rootObject,
}; };

View File

@@ -16,7 +16,7 @@
export let database; export let database;
export let driver; export let driver;
$: allFilterNames = _.keys(config.filterInfos || {}); $: allFilterNames = _.keys(config.filters || {});
</script> </script>
<ManagerInnerContainer width={managerSize} isFlex={allFilterNames.length == 0}> <ManagerInnerContainer width={managerSize} isFlex={allFilterNames.length == 0}>
@@ -27,28 +27,32 @@
</div> </div>
{:else} {:else}
{#each allFilterNames as uniqueName} {#each allFilterNames as uniqueName}
<PerspectiveFiltersColumn {@const node = root?.findNodeByUniqueName(uniqueName)}
filterInfo={config.filterInfos[uniqueName]} {@const filterInfo = node?.filterInfo}
{uniqueName} {#if filterInfo}
{conid} <PerspectiveFiltersColumn
{database} {filterInfo}
{driver} {uniqueName}
filter={config.filters[uniqueName]} {conid}
onSetFilter={value => {database}
setConfig(cfg => ({ {driver}
...cfg, filter={config.filters[uniqueName]}
filters: { onSetFilter={value =>
...cfg.filters, setConfig(cfg => ({
[uniqueName]: value, ...cfg,
}, filters: {
}))} ...cfg.filters,
onRemoveFilter={value => [uniqueName]: value,
setConfig(cfg => ({ },
...cfg, }))}
filters: _.omit(cfg.filters, [uniqueName]), onRemoveFilter={value =>
filterInfos: _.omit(cfg.filterInfos, [uniqueName]), setConfig(cfg => ({
}))} ...cfg,
/> filters: _.omit(cfg.filters, [uniqueName]),
// filterInfos: _.omit(cfg.filterInfos, [uniqueName]),
}))}
/>
{/if}
{/each} {/each}
{/if} {/if}
</ManagerInnerContainer> </ManagerInnerContainer>

View File

@@ -274,10 +274,10 @@
...cfg.filters, ...cfg.filters,
[dataNode.uniqueName]: getFilterValueExpression(value, dataNode.column.dataType), [dataNode.uniqueName]: getFilterValueExpression(value, dataNode.column.dataType),
}, },
filterInfos: { // filterInfos: {
...cfg.filterInfos, // ...cfg.filterInfos,
[dataNode.uniqueName]: dataNode.filterInfo, // [dataNode.uniqueName]: dataNode.filterInfo,
}, // },
})); }));
}, },
}); });

View File

@@ -78,9 +78,9 @@ export function getPerspectiveNodeMenu(props: PerspectiveNodeMenuProps) {
onClick: () => onClick: () =>
setConfig(cfg => ({ setConfig(cfg => ({
...cfg, ...cfg,
filterInfos: { filters: {
...cfg.filterInfos, ...cfg.filters,
[node.uniqueName]: filterInfo, [node.uniqueName]: '',
}, },
})), })),
}, },