diff --git a/packages/web/src/datagrid/DataGridCore.svelte b/packages/web/src/datagrid/DataGridCore.svelte index 4e1b80abf..c143b8587 100644 --- a/packages/web/src/datagrid/DataGridCore.svelte +++ b/packages/web/src/datagrid/DataGridCore.svelte @@ -176,7 +176,7 @@ onClick: () => getCurrentDataGrid().openChartFromSelection(), }); - function getRowCountInfo(selectedCells, grider, realColumnUniqueNames, selectedRowData, allRowCount) { + function getSelectedCellsInfo(selectedCells, grider, realColumnUniqueNames, selectedRowData) { if (selectedCells.length > 1 && selectedCells.every(x => _.isNumber(x[0]) && _.isNumber(x[1]))) { let sum = _.sumBy(selectedCells, cell => { const row = grider.getRowData(cell[0]); @@ -196,8 +196,7 @@ let rowCount = selectedRowData.length; return `Rows: ${rowCount.toLocaleString()}, Count: ${count.toLocaleString()}, Sum:${sum.toLocaleString()}`; } - if (allRowCount == null) return 'Loading row count...'; - return `Rows: ${allRowCount.toLocaleString()}`; + return null; } @@ -249,6 +248,7 @@ import CollapseButton from './CollapseButton.svelte'; import GenerateSqlFromDataModal from '../modals/GenerateSqlFromDataModal.svelte'; import { showModal } from '../modals/modalTools'; + import { updateStatuBarInfo } from '../widgets/StatusBar.svelte'; export let onLoadNextData = undefined; export let grider = undefined; @@ -271,6 +271,8 @@ export let isDynamicStructure = false; export let selectedCellsPublished = () => []; export let collapsedLeftColumnStore; + export let multipleGridsOnTab = false; + export let tabControlHiddenTab = false; // export let generalAllowSave = false; export const activator = createActivator('DataGridCore', false); @@ -296,6 +298,8 @@ let autofillSelectedCells = emptyCellArray; const domFilterControlsRef = createRef({}); + const tabid = getContext('tabid'); + export function refresh() { display.reload(); } @@ -606,6 +610,8 @@ columns ); + $: selectedCellsInfo = getSelectedCellsInfo(selectedCells, grider, realColumnUniqueNames, getSelectedRowData()); + // $: console.log('visibleRealColumns', visibleRealColumns); // $: console.log('visibleRowCountUpperBound', visibleRowCountUpperBound); // $: console.log('rowHeight', rowHeight); @@ -1189,6 +1195,16 @@ }, ]; } + + $: { + if (!tabControlHiddenTab) { + if (!multipleGridsOnTab && allRowCount != null) { + updateStatuBarInfo(tabid, [{ text: `Rows: ${allRowCount.toLocaleString()}` }]); + } else { + updateStatuBarInfo(tabid, []); + } + } + } {#if !display || (!isDynamicStructure && (!columns || columns.length == 0))} @@ -1355,9 +1371,13 @@ on:scroll={e => (firstVisibleRowScrollIndex = e.detail)} bind:this={domVerticalScroll} /> - {#if allRowCount} + {#if selectedCellsInfo}
- {getRowCountInfo(selectedCells, grider, realColumnUniqueNames, getSelectedRowData(), allRowCount)} + {selectedCellsInfo} +
+ {:else if allRowCount != null && multipleGridsOnTab} +
+ Rows: {allRowCount.toLocaleString()}
{/if} diff --git a/packages/web/src/datagrid/JslDataGrid.svelte b/packages/web/src/datagrid/JslDataGrid.svelte index 1953f5a42..355caad66 100644 --- a/packages/web/src/datagrid/JslDataGrid.svelte +++ b/packages/web/src/datagrid/JslDataGrid.svelte @@ -27,6 +27,7 @@ {#key jslid} macro.type == 'transformValue'} onReferenceSourceChanged={reference ? handleReferenceSourceChanged : null} + multipleGridsOnTab={multipleGridsOnTab || !!reference} onReferenceClick={value => { if (value && value.referenceId && reference && reference.referenceId == value.referenceId) { // reference not changed @@ -181,6 +183,7 @@ setCache={childCache.update} masterLoadedTime={myLoadedTime} isDetailView + multipleGridsOnTab /> {/key} diff --git a/packages/web/src/elements/TabControl.svelte b/packages/web/src/elements/TabControl.svelte index 249480a1c..ab29a981a 100644 --- a/packages/web/src/elements/TabControl.svelte +++ b/packages/web/src/elements/TabControl.svelte @@ -39,7 +39,7 @@
{#each _.compact(tabs) as tab, index}
- + {#if tab.slot != null} {#if tab.slot == 0} {:else if tab.slot == 1} diff --git a/packages/web/src/query/AllResultsTab.svelte b/packages/web/src/query/AllResultsTab.svelte index 0dc5bdfdd..9d7b190b1 100644 --- a/packages/web/src/query/AllResultsTab.svelte +++ b/packages/web/src/query/AllResultsTab.svelte @@ -12,7 +12,7 @@ > {#each resultInfos as info}
- + = 2} />
{/each}