filters refactor fix

This commit is contained in:
Jan Prochazka
2023-02-26 15:00:54 +01:00
parent 1a28922a62
commit a251e92598
3 changed files with 20 additions and 6 deletions

View File

@@ -171,7 +171,7 @@
<WidgetColumnBarItem <WidgetColumnBarItem
title="Filters" title="Filters"
name="filters" name="filters"
height={showReferences && display?.hasReferences ? '15%' : '30%'} height={showReferences && display?.hasReferences && !isFormView ? '15%' : '30%'}
show={display?.filterable} show={display?.filterable}
collapsed={isDetailView} collapsed={isDetailView}
> >

View File

@@ -22,10 +22,10 @@
export let isFormView; export let isFormView;
$: column = isFormView $: column = isFormView
? display.display.formColumns.find(x => x.uniqueName == uniqueName) ? display.formColumns?.find(x => x.uniqueName == uniqueName)
: display.findColumn(uniqueName); : display?.findColumn(uniqueName);
function computeFilterType(display, column, isFormView, isDynamicStructure, useEvalFilters) { function computeFilterType(column, isDynamicStructure, useEvalFilters) {
if (useEvalFilters) return 'eval'; if (useEvalFilters) return 'eval';
if (isDynamicStructure) return 'mongo'; if (isDynamicStructure) return 'mongo';
@@ -51,7 +51,7 @@
</InlineButton> </InlineButton>
</div> </div>
<DataFilterControl <DataFilterControl
filterType={computeFilterType(display, uniqueName, isFormView, isDynamicStructure, useEvalFilters)} filterType={computeFilterType(column, isDynamicStructure, useEvalFilters)}
filter={filters[uniqueName]} filter={filters[uniqueName]}
setFilter={value => display.setFilter(uniqueName, value)} setFilter={value => display.setFilter(uniqueName, value)}
{driver} {driver}

View File

@@ -1,5 +1,6 @@
<script lang="ts"> <script lang="ts">
import _ from 'lodash'; import _ from 'lodash';
import DataFilterControl from '../datagrid/DataFilterControl.svelte';
import ManagerInnerContainer from '../elements/ManagerInnerContainer.svelte'; import ManagerInnerContainer from '../elements/ManagerInnerContainer.svelte';
import keycodes from '../utility/keycodes'; import keycodes from '../utility/keycodes';
@@ -24,7 +25,7 @@
$: formFilterColumns = display?.config?.formFilterColumns; $: formFilterColumns = display?.config?.formFilterColumns;
$: filters = display?.config?.filters; $: filters = display?.config?.filters;
$: allFilterNames = _.union(_.keys(filters || {}), formFilterColumns || []); $: allFilterNames = isFormView ? _.union(_.keys(filters || {}), formFilterColumns || []) : _.keys(filters);
</script> </script>
{#if isFormView} {#if isFormView}
@@ -53,6 +54,19 @@
</div> </div>
{/if} {/if}
<!-- <DataFilterControl
filterType='string'
filter={filters[uniqueName]}
setFilter={value => display.setFilter(uniqueName, value)}
{driver}
{conid}
{database}
{schemaName}
{pureName}
columnName={column.uniquePath.length == 1 ? column.uniquePath[0] : null}
foreignKey={column.foreignKey}
/> -->
<ManagerInnerContainer width={managerSize}> <ManagerInnerContainer width={managerSize}>
{#each allFilterNames as uniqueName} {#each allFilterNames as uniqueName}
<FormViewFilterColumn <FormViewFilterColumn