diff --git a/packages/web/src/datagrid/ColumnManager.svelte b/packages/web/src/datagrid/ColumnManager.svelte index 6c0e22415..df1cfe2a7 100644 --- a/packages/web/src/datagrid/ColumnManager.svelte +++ b/packages/web/src/datagrid/ColumnManager.svelte @@ -82,6 +82,11 @@ function copyToClipboard() { copyTextToClipboard(selectedColumns.join('\r\n')); } + + export function setSelectedColumns(value) { + selectedColumns = value; + if (value.length > 0) currentColumnUniqueName = value[0]; + } diff --git a/packages/web/src/datagrid/DataGrid.svelte b/packages/web/src/datagrid/DataGrid.svelte index d5348a6a4..e861b34c7 100644 --- a/packages/web/src/datagrid/DataGrid.svelte +++ b/packages/web/src/datagrid/DataGrid.svelte @@ -93,6 +93,7 @@ export const activator = createActivator('DataGrid', false); let selectedCellsPublished = () => []; + let domColumnManager; const selectedMacro = writable(null); setContext('selectedMacro', selectedMacro); @@ -169,7 +170,7 @@ height="45%" show={(!freeTableColumn || isDynamicStructure) && !isFormView} > - + { + if (domColumnManager) domColumnManager.setSelectedColumns(cols); + }} /> {/if} diff --git a/packages/web/src/datagrid/DataGridCore.svelte b/packages/web/src/datagrid/DataGridCore.svelte index e9c806d94..5a5725b0d 100644 --- a/packages/web/src/datagrid/DataGridCore.svelte +++ b/packages/web/src/datagrid/DataGridCore.svelte @@ -284,7 +284,7 @@ import { findCommand } from '../commands/runCommand'; import { openJsonDocument } from '../tabs/JsonTab.svelte'; import EditJsonModal from '../modals/EditJsonModal.svelte'; -import { apiCall } from '../utility/api'; + import { apiCall } from '../utility/api'; export let onLoadNextData = undefined; export let grider = undefined; @@ -296,6 +296,7 @@ import { apiCall } from '../utility/api'; export let allRowCount = undefined; export let onReferenceSourceChanged = undefined; export let onReferenceClick = undefined; + export let onChangeSelectedColumns = undefined; // export let onSelectedCellsPublishedChanged = undefined; export let focusOnVisible = false; export let formViewAvailable = false; @@ -787,6 +788,8 @@ import { apiCall } from '../utility/api'; const cellsValue = () => getCellsPublished(selectedCells); selectedCellsPublished = cellsValue; $selectedCellsCallback = cellsValue; + + if (onChangeSelectedColumns) onChangeSelectedColumns(getSelectedColumns().map(x => x.columnName)); // if (onSelectedCellsPublishedChanged) onSelectedCellsPublishedChanged(getCellsPublished(selectedCells)); } }