diff --git a/packages/datalib/src/GridDisplay.ts b/packages/datalib/src/GridDisplay.ts index 7f012324d..992b34a4f 100644 --- a/packages/datalib/src/GridDisplay.ts +++ b/packages/datalib/src/GridDisplay.ts @@ -1,5 +1,5 @@ import _ from 'lodash'; -import { GridConfig, GridCache, GridConfigColumns, createGridCache, GroupFunc } from './GridConfig'; +import { GridConfig, GridCache, GridConfigColumns, createGridCache, GroupFunc, createGridConfig } from './GridConfig'; import { ForeignKeyInfo, TableInfo, @@ -194,12 +194,14 @@ export abstract class GridDisplay { if (condition) { conditions.push( _.cloneDeepWith(condition, (expr: Expression) => { - if (expr.exprType == 'placeholder') - return { - exprType: 'column', - columnName: column.columnName, - source: { alias: column.sourceAlias }, - }; + if (expr.exprType == 'placeholder') { + return this.createColumnExpression(column, { alias: column.sourceAlias }); + } + // return { + // exprType: 'column', + // columnName: column.columnName, + // source: { alias: column.sourceAlias }, + // }; }) ); } @@ -445,6 +447,11 @@ export abstract class GridDisplay { this.reload(); } + resetConfig() { + this.setConfig(cfg => createGridConfig()); + this.reload(); + } + getChangeSetCondition(row) { if (!this.changeSetKeyFields) return null; return _.pick(row, this.changeSetKeyFields); diff --git a/packages/web/src/buttons/CommandButton.svelte b/packages/web/src/buttons/CommandButton.svelte new file mode 100644 index 000000000..880e42020 --- /dev/null +++ b/packages/web/src/buttons/CommandButton.svelte @@ -0,0 +1,33 @@ + + + + +{#if cmd && (!hideDisabled || cmd.enabled)} + +{/if} diff --git a/packages/web/src/datagrid/DataGridCore.svelte b/packages/web/src/datagrid/DataGridCore.svelte index 62f1c4dcb..a607a8e8b 100644 --- a/packages/web/src/datagrid/DataGridCore.svelte +++ b/packages/web/src/datagrid/DataGridCore.svelte @@ -344,7 +344,8 @@ export let collapsedLeftColumnStore; export let multipleGridsOnTab = false; export let tabControlHiddenTab = false; - export let onCustomGridRefresh; + export let onCustomGridRefresh = null; + export let onOpenQuery = null; export let useEvalFilters = false; export let jslid; // export let generalAllowSave = false; @@ -1485,7 +1486,14 @@ {#if !display || (!isDynamicStructure && (!columns || columns.length == 0))} {:else if errorMessage} - +
+ + display.clearFilters()} /> + display.resetConfig()} /> + {#if onOpenQuery} + + {/if} +
{:else if isDynamicStructure && isLoadedAll && grider?.rowCount == 0}