fix mongo reload - using setLoadedRows instead of bind:loadedRows

This commit is contained in:
Jan Prochazka
2024-05-24 10:47:38 +02:00
parent 5fe55af3b7
commit e04da15f72
8 changed files with 40 additions and 13 deletions

View File

@@ -136,10 +136,11 @@
export let macroPreview; export let macroPreview;
export let macroValues; export let macroValues;
export let selectedCellsPublished; export let selectedCellsPublished;
export let setLoadedRows = null;
// export let onChangeGrider = undefined; // export let onChangeGrider = undefined;
export let loadedRows = []; let loadedRows = [];
export const activator = createActivator('CollectionDataGridCore', false); export const activator = createActivator('CollectionDataGridCore', false);
@@ -225,6 +226,11 @@
...createQuickExportMenu(quickExportHandler, { command: 'collectionDataGrid.export' }), ...createQuickExportMenu(quickExportHandler, { command: 'collectionDataGrid.export' }),
tag: 'export', tag: 'export',
})); }));
function handleSetLoadedRows(rows) {
loadedRows = rows;
if (setLoadedRows) setLoadedRows(rows);
}
</script> </script>
<LoadingDataGridCore <LoadingDataGridCore
@@ -232,7 +238,7 @@
loadDataPage={loadCollectionDataPage} loadDataPage={loadCollectionDataPage}
{dataPageAvailable} {dataPageAvailable}
{loadRowCount} {loadRowCount}
bind:loadedRows setLoadedRows={handleSetLoadedRows}
bind:selectedCellsPublished bind:selectedCellsPublished
frameSelection={!!macroPreview} frameSelection={!!macroPreview}
onOpenQuery={openQuery} onOpenQuery={openQuery}

View File

@@ -88,8 +88,9 @@
export let macroCondition; export let macroCondition;
export let onRunMacro; export let onRunMacro;
export let hasMultiColumnFilter = false; export let hasMultiColumnFilter = false;
export let setLoadedRows = null;
export let loadedRows; let loadedRows;
export const activator = createActivator('DataGrid', false); export const activator = createActivator('DataGrid', false);
@@ -208,7 +209,7 @@
{#if isFormView} {#if isFormView}
<svelte:component this={formViewComponent} {...$$props} /> <svelte:component this={formViewComponent} {...$$props} />
{:else if isJsonView} {:else if isJsonView}
<svelte:component this={jsonViewComponent} {...$$props} bind:loadedRows /> <svelte:component this={jsonViewComponent} {...$$props} {setLoadedRows} />
{:else} {:else}
<svelte:component <svelte:component
this={gridCoreComponent} this={gridCoreComponent}
@@ -217,7 +218,7 @@
formViewAvailable={!!formViewComponent} formViewAvailable={!!formViewComponent}
macroValues={extractMacroValuesForMacro($macroValues, $selectedMacro)} macroValues={extractMacroValuesForMacro($macroValues, $selectedMacro)}
macroPreview={$selectedMacro} macroPreview={$selectedMacro}
bind:loadedRows {setLoadedRows}
bind:selectedCellsPublished bind:selectedCellsPublished
onChangeSelectedColumns={cols => { onChangeSelectedColumns={cols => {
if (domColumnManager) domColumnManager.setSelectedColumns(cols); if (domColumnManager) domColumnManager.setSelectedColumns(cols);

View File

@@ -70,6 +70,10 @@
supportsReload, supportsReload,
!!changeSetState !!changeSetState
); );
function handleSetLoadedRows(rows) {
loadedRows = rows;
}
</script> </script>
{#key jslid} {#key jslid}
@@ -81,7 +85,7 @@
setConfig={config.update} setConfig={config.update}
gridCoreComponent={JslDataGridCore} gridCoreComponent={JslDataGridCore}
formViewComponent={JslFormView} formViewComponent={JslFormView}
bind:loadedRows setLoadedRows={handleSetLoadedRows}
isDynamicStructure={!!infoUsed?.__isDynamicStructure} isDynamicStructure={!!infoUsed?.__isDynamicStructure}
useEvalFilters useEvalFilters
showMacros={!!dispatchChangeSet} showMacros={!!dispatchChangeSet}

View File

@@ -72,7 +72,7 @@
export let selectedCellsPublished = () => []; export let selectedCellsPublished = () => [];
export const activator = createActivator('JslDataGridCore', false); export const activator = createActivator('JslDataGridCore', false);
export let loadedRows = []; let loadedRows = [];
let domGrid; let domGrid;
let changeIndex = 0; let changeIndex = 0;
@@ -186,12 +186,16 @@
...createQuickExportMenu(quickExportHandler, { command: 'jslTableGrid.export' }), ...createQuickExportMenu(quickExportHandler, { command: 'jslTableGrid.export' }),
tag: 'export', tag: 'export',
})); }));
function handleSetLoadedRows(rows) {
loadedRows = rows;
}
</script> </script>
<LoadingDataGridCore <LoadingDataGridCore
bind:this={domGrid} bind:this={domGrid}
{...$$props} {...$$props}
bind:loadedRows setLoadedRows={handleSetLoadedRows}
bind:selectedCellsPublished bind:selectedCellsPublished
{loadDataPage} {loadDataPage}
{dataPageAvailable} {dataPageAvailable}

View File

@@ -16,10 +16,11 @@
export let rowCountLoaded = null; export let rowCountLoaded = null;
export let preprocessLoadedRow = null; export let preprocessLoadedRow = null;
export let setLoadedRows = null;
// export let griderFactory; // export let griderFactory;
export let loadedRows = []; let loadedRows = [];
let isLoading = false; let isLoading = false;
let isLoadedAll = false; let isLoadedAll = false;
let loadedTime = new Date().getTime(); let loadedTime = new Date().getTime();
@@ -49,7 +50,6 @@
// await new Promise(resolve => setTimeout(resolve, 5000)); // await new Promise(resolve => setTimeout(resolve, 5000));
loadedTimeRef.set(loadStart); loadedTimeRef.set(loadStart);
// console.log('LOAD NEXT ROWS', loadedRows);
const nextRows = await loadDataPage( const nextRows = await loadDataPage(
$$props, $$props,
@@ -121,6 +121,8 @@
display.reload(); display.reload();
} }
} }
$: if (setLoadedRows) setLoadedRows(loadedRows);
</script> </script>
<DataGridCore <DataGridCore

View File

@@ -212,6 +212,10 @@
tag: 'export', tag: 'export',
}) })
); );
function handleSetLoadedRows(rows) {
loadedRows = rows;
}
</script> </script>
<LoadingDataGridCore <LoadingDataGridCore
@@ -219,7 +223,7 @@
{loadDataPage} {loadDataPage}
{dataPageAvailable} {dataPageAvailable}
{loadRowCount} {loadRowCount}
bind:loadedRows setLoadedRows={handleSetLoadedRows}
bind:selectedCellsPublished bind:selectedCellsPublished
frameSelection={!!macroPreview} frameSelection={!!macroPreview}
{grider} {grider}

View File

@@ -25,13 +25,14 @@
export let changeSetState; export let changeSetState;
export let dispatchChangeSet; export let dispatchChangeSet;
export let setLoadedRows;
export const activator = createActivator('CollectionJsonView', true); export const activator = createActivator('CollectionJsonView', true);
let isLoading = false; let isLoading = false;
let loadedTime = null; let loadedTime = null;
export let loadedRows = []; let loadedRows = [];
let skip = 0; let skip = 0;
let limit = 50; let limit = 50;
@@ -39,6 +40,7 @@
isLoading = true; isLoading = true;
// @ts-ignore // @ts-ignore
loadedRows = await loadCollectionDataPage($$props, parseInt(skip) || 0, parseInt(limit) || 50); loadedRows = await loadCollectionDataPage($$props, parseInt(skip) || 0, parseInt(limit) || 50);
if (setLoadedRows) setLoadedRows(loadedRows);
isLoading = false; isLoading = false;
loadedTime = new Date().getTime(); loadedTime = new Date().getTime();
} }

View File

@@ -167,11 +167,15 @@
$: setLocalStorage('collection_collapsedLeftColumn', $collapsedLeftColumnStore); $: setLocalStorage('collection_collapsedLeftColumn', $collapsedLeftColumnStore);
const quickExportHandlerRef = createQuickExportHandlerRef(); const quickExportHandlerRef = createQuickExportHandlerRef();
function handleSetLoadedRows(rows) {
loadedRows = rows;
}
</script> </script>
<ToolStripContainer> <ToolStripContainer>
<DataGrid <DataGrid
bind:loadedRows setLoadedRows={handleSetLoadedRows}
{...$$props} {...$$props}
config={$config} config={$config}
setConfig={config.update} setConfig={config.update}