From 56d1da78fd3424ae5b4abbb009c7437ea98765ef Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Tue, 25 Feb 2025 19:51:41 +0100 Subject: [PATCH] fix: improve infinite grid behavior --- .../components/display/table/AppAggridExplorerTable.svelte | 1 - .../components/display/table/AppAggridInfiniteTable.svelte | 7 ++++++- .../apps/components/helpers/RunnableComponent.svelte | 1 + .../apps/components/helpers/RunnableWrapper.svelte | 1 + 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/frontend/src/lib/components/apps/components/display/table/AppAggridExplorerTable.svelte b/frontend/src/lib/components/apps/components/display/table/AppAggridExplorerTable.svelte index 4e30009c0b07e..bc2d178c892f9 100644 --- a/frontend/src/lib/components/apps/components/display/table/AppAggridExplorerTable.svelte +++ b/frontend/src/lib/components/apps/components/display/table/AppAggridExplorerTable.svelte @@ -344,7 +344,6 @@ }, onGridReady: (e) => { outputs?.ready.set(true) - $componentControl[id] = { agGrid: { api: e.api, columnApi: e.columnApi }, setSelectedIndex: (index) => { diff --git a/frontend/src/lib/components/apps/components/display/table/AppAggridInfiniteTable.svelte b/frontend/src/lib/components/apps/components/display/table/AppAggridInfiniteTable.svelte index 292da12613e8d..fc4880c72943d 100644 --- a/frontend/src/lib/components/apps/components/display/table/AppAggridInfiniteTable.svelte +++ b/frontend/src/lib/components/apps/components/display/table/AppAggridInfiniteTable.svelte @@ -20,6 +20,7 @@ import InitializeComponent from '../../helpers/InitializeComponent.svelte' import DebouncedInput from '../../helpers/DebouncedInput.svelte' import RunnableComponent from '../../helpers/RunnableComponent.svelte' + import { sendUserToast } from '$lib/toast' export let id: string export let componentInput: AppInput | undefined @@ -38,7 +39,7 @@ } const context = getContext('AppViewerContext') - const { app, worldStore } = context + const { app, worldStore, componentControl } = context let css = initCss($app.css?.aggridcomponent, customCss) let result: any[] | undefined = undefined @@ -180,6 +181,10 @@ bind:result bind:loading bind:runnableComponent + on:recompute={() => { + console.log('recompute') + clear() + }} {render} autoRefresh={true} allowConcurentRequests diff --git a/frontend/src/lib/components/apps/components/helpers/RunnableComponent.svelte b/frontend/src/lib/components/apps/components/helpers/RunnableComponent.svelte index 96e44265be8c3..83c08cbf1e823 100644 --- a/frontend/src/lib/components/apps/components/helpers/RunnableComponent.svelte +++ b/frontend/src/lib/components/apps/components/helpers/RunnableComponent.svelte @@ -600,6 +600,7 @@ cancellableRun = (inlineScript?: InlineScript, setRunnableJobEditorPanel?: boolean) => { let rejectCb: (err: Error) => void let p: Partial> = new Promise((resolve, reject) => { + dispatch('recompute') rejectCb = reject executeComponent(true, inlineScript, setRunnableJobEditorPanel, undefined, { done: (x) => { diff --git a/frontend/src/lib/components/apps/components/helpers/RunnableWrapper.svelte b/frontend/src/lib/components/apps/components/helpers/RunnableWrapper.svelte index e283539a199f0..038a3935fd58d 100644 --- a/frontend/src/lib/components/apps/components/helpers/RunnableWrapper.svelte +++ b/frontend/src/lib/components/apps/components/helpers/RunnableWrapper.svelte @@ -279,6 +279,7 @@ on:done on:doneError on:cancel + on:recompute on:argsChanged on:resultSet={() => (initializing = false)} on:success={(e) => {