diff --git a/frontend/src/lib/components/apps/components/helpers/InputValue.svelte b/frontend/src/lib/components/apps/components/helpers/InputValue.svelte index 3ac5152b6f..4f619f3dd3 100644 --- a/frontend/src/lib/components/apps/components/helpers/InputValue.svelte +++ b/frontend/src/lib/components/apps/components/helpers/InputValue.svelte @@ -1,5 +1,6 @@ onClick(false, 'button')} + on:click={() => onRefresh(false, 'button')} interval={$recomputeAllContext.interval} {refreshing} componentNumber={$recomputeAllContext.componentNumber ?? 0} @@ -192,6 +193,6 @@ progress={$recomputeAllContext.progress} on:setInter={(e) => { setInter(e.detail, 'button setInter') - onClick(false, 'button setInter') + onRefresh(false, 'button setInter') }} /> diff --git a/frontend/src/lib/components/apps/editor/RecomputeAllWrapper.svelte b/frontend/src/lib/components/apps/editor/RecomputeAllWrapper.svelte index 46a464d71b..80a1206dd1 100644 --- a/frontend/src/lib/components/apps/editor/RecomputeAllWrapper.svelte +++ b/frontend/src/lib/components/apps/editor/RecomputeAllWrapper.svelte @@ -40,7 +40,7 @@ $recomputeAllContext.onClick?.()} + on:click={() => $recomputeAllContext.onRefresh?.()} on:setInter={(e) => { $recomputeAllContext.setInter?.(e.detail) }} diff --git a/frontend/src/lib/components/apps/types.ts b/frontend/src/lib/components/apps/types.ts index be847aa07d..bf7beb6b7c 100644 --- a/frontend/src/lib/components/apps/types.ts +++ b/frontend/src/lib/components/apps/types.ts @@ -284,7 +284,7 @@ export type AppViewerContext = { policy: Policy recomputeAllContext: Writable<{ - onClick?: () => void + onRefresh?: (excludeId?: string) => void componentNumber?: number | undefined interval?: number | undefined refreshing?: string[] | undefined diff --git a/frontend/src/lib/components/apps/utils.ts b/frontend/src/lib/components/apps/utils.ts index 5e41d4ccfa..0d826f2863 100644 --- a/frontend/src/lib/components/apps/utils.ts +++ b/frontend/src/lib/components/apps/utils.ts @@ -231,6 +231,12 @@ declare function setTab(id: string, index: number): void; */ declare function recompute(id: string): void; +/** recompute all components runnables and background runnables + * Make sure to disable the toggle "Run on start and app refresh" in the + * settings panel to avoid circular recomputes +*/ +declare function globalRecompute(): void; + /** get the ag grid api from an AgGridTable * @param id component's id */