diff --git a/packages/web/src/datagrid/DataGrid.svelte b/packages/web/src/datagrid/DataGrid.svelte index 9068fac4f..76d0a5d80 100644 --- a/packages/web/src/datagrid/DataGrid.svelte +++ b/packages/web/src/datagrid/DataGrid.svelte @@ -43,7 +43,7 @@ export let loadedRows; - let selectedCellsPublished = []; + let selectedCellsPublished = () => []; const selectedMacro = writable(null); setContext('selectedMacro', selectedMacro); @@ -55,7 +55,7 @@ $: isFormView = !!(formDisplay && formDisplay.config && formDisplay.config.isFormView); const handleExecuteMacro = () => { - onRunMacro($selectedMacro, extractMacroValuesForMacro($macroValues, $selectedMacro), selectedCellsPublished); + onRunMacro($selectedMacro, extractMacroValuesForMacro($macroValues, $selectedMacro), selectedCellsPublished()); $selectedMacro = null; // const newChangeSet = runMacroOnChangeSet( @@ -117,11 +117,10 @@ this={gridCoreComponent} {...$$props} formViewAvailable={!!formViewComponent && !!formDisplay} - onSelectionChanged={value => (selectedCellsPublished = value)} macroValues={extractMacroValuesForMacro($macroValues, $selectedMacro)} macroPreview={$selectedMacro} - {selectedCellsPublished} bind:loadedRows + bind:selectedCellsPublished /> {/if} diff --git a/packages/web/src/datagrid/DataGridCore.svelte b/packages/web/src/datagrid/DataGridCore.svelte index 10ae7f65d..c3c9691a0 100644 --- a/packages/web/src/datagrid/DataGridCore.svelte +++ b/packages/web/src/datagrid/DataGridCore.svelte @@ -258,7 +258,7 @@ export let allRowCount = undefined; export let onReferenceSourceChanged = undefined; export let onReferenceClick = undefined; - export let onSelectionChanged = undefined; + // export let onSelectedCellsPublishedChanged = undefined; export let onSave; export let focusOnVisible = false; export let onExportGrid = null; @@ -271,6 +271,7 @@ export let loadedTime; export let changeSetStore; export let isDynamicStructure = false; + export let selectedCellsPublished = () => []; // export let generalAllowSave = false; const wheelRowCount = 5; @@ -575,8 +576,10 @@ const stringified = stableStringify(selectedCells); if (lastPublishledSelectedCellsRef.get() != stringified) { lastPublishledSelectedCellsRef.set(stringified); - if (onSelectionChanged) onSelectionChanged(getCellsPublished(selectedCells)); - $selectedCellsCallback = () => getCellsPublished(selectedCells); + const cellsValue = () => getCellsPublished(selectedCells); + selectedCellsPublished = cellsValue; + $selectedCellsCallback = cellsValue; + // if (onSelectedCellsPublishedChanged) onSelectedCellsPublishedChanged(getCellsPublished(selectedCells)); } } diff --git a/packages/web/src/datagrid/LoadingDataGridCore.svelte b/packages/web/src/datagrid/LoadingDataGridCore.svelte index 9005d18c7..29414f998 100644 --- a/packages/web/src/datagrid/LoadingDataGridCore.svelte +++ b/packages/web/src/datagrid/LoadingDataGridCore.svelte @@ -9,6 +9,8 @@ export let grider; export let display; export let masterLoadedTime = undefined; + export let selectedCellsPublished; + // export let griderFactory; export let loadedRows = []; @@ -120,4 +122,5 @@ {allRowCount} {isLoadedAll} {loadedTime} + bind:selectedCellsPublished /> diff --git a/packages/web/src/datagrid/SqlDataGridCore.svelte b/packages/web/src/datagrid/SqlDataGridCore.svelte index cf71c61d7..26fce1932 100644 --- a/packages/web/src/datagrid/SqlDataGridCore.svelte +++ b/packages/web/src/datagrid/SqlDataGridCore.svelte @@ -68,7 +68,7 @@ export let macroPreview; export let macroValues; - export let selectedCellsPublished; + export let selectedCellsPublished = () => []; // export let onChangeGrider = undefined; @@ -82,7 +82,7 @@ display, macroPreview, macroValues, - selectedCellsPublished + selectedCellsPublished() ); // $: console.log('GRIDER', grider); // $: if (onChangeGrider) onChangeGrider(grider); @@ -177,6 +177,7 @@ onOpenQuery={openQuery} onOpenActiveChart={openActiveChart} bind:loadedRows + bind:selectedCellsPublished frameSelection={!!macroPreview} {grider} onSave={handleSave} diff --git a/packages/web/src/freetable/FreeTableGridCore.svelte b/packages/web/src/freetable/FreeTableGridCore.svelte index 456f0c115..b25ae1e2a 100644 --- a/packages/web/src/freetable/FreeTableGridCore.svelte +++ b/packages/web/src/freetable/FreeTableGridCore.svelte @@ -21,7 +21,7 @@ const cache = writable(createGridCache()); $: grider = macroPreview - ? new MacroPreviewGrider(modelState.value, macroPreview, macroValues, selectedCellsPublished) + ? new MacroPreviewGrider(modelState.value, macroPreview, macroValues, selectedCellsPublished()) : new FreeTableGrider(modelState, dispatchModel); $: display = new FreeTableGridDisplay(grider.model || modelState.value, config, setConfig, $cache, cache.update); @@ -36,4 +36,12 @@ } - + diff --git a/packages/web/src/tabs/FreeTableTab.svelte b/packages/web/src/tabs/FreeTableTab.svelte index 4f54ec801..97674a4b0 100644 --- a/packages/web/src/tabs/FreeTableTab.svelte +++ b/packages/web/src/tabs/FreeTableTab.svelte @@ -4,7 +4,6 @@ import ErrorInfo from '../elements/ErrorInfo.svelte'; import LoadingInfo from '../elements/LoadingInfo.svelte'; - import FreeTableGrid from '../freetable/FreeTableGrid.svelte'; import FreeTableGridCore from '../freetable/FreeTableGridCore.svelte'; import { showModal } from '../modals/modalTools'; import SaveArchiveModal from '../modals/SaveArchiveModal.svelte';