diff --git a/packages/web/src/datagrid/CollectionDataGridCore.svelte b/packages/web/src/datagrid/CollectionDataGridCore.svelte index 06bff26d8..5d968e603 100644 --- a/packages/web/src/datagrid/CollectionDataGridCore.svelte +++ b/packages/web/src/datagrid/CollectionDataGridCore.svelte @@ -166,7 +166,7 @@ display, macroPreview, macroValues, - selectedCellsPublished + selectedCellsPublished() ); // $: console.log('GRIDER', grider); // $: if (onChangeGrider) onChangeGrider(grider); @@ -237,6 +237,7 @@ {dataPageAvailable} {loadRowCount} bind:loadedRows + bind:selectedCellsPublished frameSelection={!!macroPreview} {grider} /> diff --git a/packages/web/src/datagrid/DataGrid.svelte b/packages/web/src/datagrid/DataGrid.svelte index fddcc2bb9..6e2c7f42c 100644 --- a/packages/web/src/datagrid/DataGrid.svelte +++ b/packages/web/src/datagrid/DataGrid.svelte @@ -188,7 +188,7 @@ - + diff --git a/packages/web/src/tabs/CollectionDataTab.svelte b/packages/web/src/tabs/CollectionDataTab.svelte index fe37774cb..d19b66cae 100644 --- a/packages/web/src/tabs/CollectionDataTab.svelte +++ b/packages/web/src/tabs/CollectionDataTab.svelte @@ -29,6 +29,7 @@ TableFormViewDisplay, CollectionGridDisplay, changeSetContainsChanges, + runMacroOnChangeSet, } from 'dbgate-datalib'; import { findEngineDriver } from 'dbgate-tools'; import { writable } from 'svelte/store'; @@ -127,6 +128,13 @@ } } + function handleRunMacro(macro, params, cells) { + const newChangeSet = runMacroOnChangeSet(macro, params, cells, $changeSetStore?.value, display); + if (newChangeSet) { + dispatchChangeSet({ type: 'set', value: newChangeSet }); + } + } + registerMenu({ command: 'collectionTable.save', tag: 'save' }); const collapsedLeftColumnStore = writable(false); @@ -148,4 +156,7 @@ gridCoreComponent={CollectionDataGridCore} jsonViewComponent={CollectionJsonView} isDynamicStructure + showMacros + macroCondition={macro => macro.type == 'transformValue'} + onRunMacro={handleRunMacro} />