mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-20 08:56:00 +00:00
multi column condition in perspectives
This commit is contained in:
@@ -40,6 +40,8 @@
|
||||
export let columnName = null;
|
||||
export let uniqueName = null;
|
||||
|
||||
export let placeholder = 'Filter';
|
||||
|
||||
let value;
|
||||
let isError;
|
||||
let isOk;
|
||||
@@ -318,7 +320,7 @@
|
||||
on:paste={handlePaste}
|
||||
class:isError
|
||||
class:isOk
|
||||
placeholder="Filter"
|
||||
{placeholder}
|
||||
/>
|
||||
{#if customCommandIcon && onCustomCommand}
|
||||
<InlineButton on:click={onCustomCommand} title={customCommandTooltip} narrow square>
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
import { tick } from 'svelte';
|
||||
import { createDatabaseObjectMenu } from '../appobj/DatabaseObjectAppObject.svelte';
|
||||
import DataFilterControl from '../datagrid/DataFilterControl.svelte';
|
||||
import CheckboxField from '../forms/CheckboxField.svelte';
|
||||
|
||||
import FontIcon from '../icons/FontIcon.svelte';
|
||||
@@ -300,6 +301,15 @@
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
{#if settings?.getMutliColumnFilter && settings?.setMutliColumnFilter}
|
||||
<DataFilterControl
|
||||
filterType="string"
|
||||
filter={settings?.getMutliColumnFilter(designerId)}
|
||||
setFilter={value => settings?.setMutliColumnFilter(designerId, value)}
|
||||
placeholder="Data filter"
|
||||
/>
|
||||
{/if}
|
||||
|
||||
<div class="columns" on:scroll={() => tick().then(onMoveReferences)} class:scroll={settings?.allowScrollColumns}>
|
||||
{#each flatColumns || [] as column (column.columnName)}
|
||||
<ColumnLine
|
||||
|
||||
@@ -334,6 +334,20 @@
|
||||
toggleExpandedColumn: (column, value) => column.toggleExpanded(value),
|
||||
getColumnDisplayName: column => column.shortName || column.columnName,
|
||||
getParentColumnName: getPerspectiveParentColumnName,
|
||||
getMutliColumnFilter: designerId => config.nodes.find(x => x.designerId == designerId).multiColumnFilter,
|
||||
setMutliColumnFilter: (designerId, multiColumnFilter) => {
|
||||
setConfig(cfg => ({
|
||||
...cfg,
|
||||
nodes: cfg.nodes.map(node =>
|
||||
node.designerId == designerId
|
||||
? {
|
||||
...node,
|
||||
multiColumnFilter,
|
||||
}
|
||||
: node
|
||||
),
|
||||
}));
|
||||
},
|
||||
}}
|
||||
referenceComponent={QueryDesignerReference}
|
||||
value={createDesignerModel(config, dbInfos, dataPatterns)}
|
||||
|
||||
Reference in New Issue
Block a user