From 85cd8b4c0ef7aa0b8325db2f99b31ed31a051804 Mon Sep 17 00:00:00 2001 From: Faton Ramadani Date: Wed, 22 May 2024 16:57:45 +0200 Subject: [PATCH] fix(frontend): Fix aggrid infinite refresh (#3789) * fix(frontend): Fix AgGrid infinit refresh when args changed * fix(frontend): Fix AgGrid infinit refresh when args changed * fix(frontend): remove dead code --- .../display/table/AppAggridInfiniteTable.svelte | 9 +++------ .../apps/components/helpers/RunnableComponent.svelte | 2 ++ .../apps/components/helpers/RunnableWrapper.svelte | 1 + 3 files changed, 6 insertions(+), 6 deletions(-) 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 3b9b2e0281..86c3267a0d 100644 --- a/frontend/src/lib/components/apps/components/display/table/AppAggridInfiniteTable.svelte +++ b/frontend/src/lib/components/apps/components/display/table/AppAggridInfiniteTable.svelte @@ -31,17 +31,11 @@ let runnableComponent: RunnableComponent | undefined = undefined function clear() { - lastComponentInput = componentInput - setTimeout(() => { aggrid?.clearRows() }, 0) } - let lastComponentInput = componentInput - - $: JSON.stringify(lastComponentInput) !== JSON.stringify(componentInput) && clear() - const context = getContext('AppViewerContext') const { app, worldStore } = context @@ -182,6 +176,9 @@ {render} autoRefresh={true} allowConcurentRequests + on:argsChanged={() => { + clear() + }} >
{#if resolvedConfig.searchEnabled} diff --git a/frontend/src/lib/components/apps/components/helpers/RunnableComponent.svelte b/frontend/src/lib/components/apps/components/helpers/RunnableComponent.svelte index 2e735ca9dc..bff80635d4 100644 --- a/frontend/src/lib/components/apps/components/helpers/RunnableComponent.svelte +++ b/frontend/src/lib/components/apps/components/helpers/RunnableComponent.svelte @@ -137,6 +137,8 @@ resultJobLoader && refreshIfAutoRefresh('arg changed') + $: runnableInputValues && dispatch('argsChanged') + $: refreshOn = runnable && runnable.type === 'runnableByName' ? runnable.inlineScript?.refreshOn ?? [] : [] diff --git a/frontend/src/lib/components/apps/components/helpers/RunnableWrapper.svelte b/frontend/src/lib/components/apps/components/helpers/RunnableWrapper.svelte index 612bd96a82..09098cd712 100644 --- a/frontend/src/lib/components/apps/components/helpers/RunnableWrapper.svelte +++ b/frontend/src/lib/components/apps/components/helpers/RunnableWrapper.svelte @@ -275,6 +275,7 @@ on:done on:doneError on:cancel + on:argsChanged on:resultSet={() => (initializing = false)} on:success={(e) => { onSuccess(e.detail)