diff --git a/packages/web/src/datagrid/CollectionDataGridCore.svelte b/packages/web/src/datagrid/CollectionDataGridCore.svelte index 80483398e..f7767a2da 100644 --- a/packages/web/src/datagrid/CollectionDataGridCore.svelte +++ b/packages/web/src/datagrid/CollectionDataGridCore.svelte @@ -127,16 +127,6 @@ ); // $: console.log('GRIDER', grider); // $: if (onChangeGrider) onChangeGrider(grider); - - function exportGrid() { - const initialValues: any = {}; - initialValues.sourceStorageType = 'query'; - initialValues.sourceConnectionId = conid; - initialValues.sourceDatabaseName = database; - initialValues.sourceSql = display.getExportQuery(); - initialValues.sourceList = display.baseTable ? [display.baseTable.pureName] : []; - showModal(ImportExportModal, { initialValues }); - } getCurrentDataGrid().copyToClipboard(), }); - registerCommand({ - id: 'dataGrid.export', - category: 'Data grid', - name: 'Export', - keyText: 'Ctrl+E', - testEnabled: () => getCurrentDataGrid()?.exportEnabled(), - onClick: () => getCurrentDataGrid().exportGrid(), - }); - registerCommand({ id: 'dataGrid.switchToForm', category: 'Data grid', @@ -242,7 +233,6 @@ export let onReferenceClick = undefined; // export let onSelectedCellsPublishedChanged = undefined; export let focusOnVisible = false; - export let onExportGrid = null; export let formViewAvailable = false; export let jsonViewAvailable = false; export let errorMessage = undefined; @@ -293,14 +283,6 @@ return display; } - export function exportGrid() { - if (onExportGrid) onExportGrid(); - } - - export function exportEnabled() { - return !!onExportGrid; - } - export function revertRowChanges() { grider.beginUpdate(); for (const index of getSelectedRowIndexes()) { diff --git a/packages/web/src/datagrid/JslDataGridCore.svelte b/packages/web/src/datagrid/JslDataGridCore.svelte index fbc5bebe1..23b404b7f 100644 --- a/packages/web/src/datagrid/JslDataGridCore.svelte +++ b/packages/web/src/datagrid/JslDataGridCore.svelte @@ -1,4 +1,15 @@ getCurrentEditor().openQuery(), }); + registerCommand({ + id: 'sqlDataGrid.export', + category: 'Data grid', + name: 'Export', + keyText: 'Ctrl+E', + testEnabled: () => getCurrentEditor() != null, + onClick: () => getCurrentEditor().exportGrid(), + }); + async function loadDataPage(props, offset, limit) { const { display, conid, database } = props; @@ -110,7 +119,7 @@ // $: console.log('GRIDER', grider); // $: if (onChangeGrider) onChangeGrider(grider); - function exportGrid() { + export function exportGrid() { const initialValues: any = {}; initialValues.sourceStorageType = 'query'; initialValues.sourceConnectionId = conid; @@ -163,7 +172,8 @@ registerMenu( { command: 'sqlDataGrid.openActiveChart', tag: 'chart' }, - { command: 'sqlDataGrid.openQuery', tag: 'export' } + { command: 'sqlDataGrid.openQuery', tag: 'export' }, + { command: 'sqlDataGrid.export', tag: 'export' } ); @@ -172,7 +182,6 @@ {loadDataPage} {dataPageAvailable} {loadRowCount} - onExportGrid={exportGrid} bind:loadedRows bind:selectedCellsPublished frameSelection={!!macroPreview} diff --git a/packages/web/src/freetable/FreeTableGridCore.svelte b/packages/web/src/freetable/FreeTableGridCore.svelte index b25ae1e2a..5cde9f8e5 100644 --- a/packages/web/src/freetable/FreeTableGridCore.svelte +++ b/packages/web/src/freetable/FreeTableGridCore.svelte @@ -1,12 +1,28 @@ + + - +