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
*/