diff --git a/frontend/src/lib/components/apps/components/helpers/HiddenComponent.svelte b/frontend/src/lib/components/apps/components/helpers/HiddenComponent.svelte
index eca6f865ce..407fbfa9c1 100644
--- a/frontend/src/lib/components/apps/components/helpers/HiddenComponent.svelte
+++ b/frontend/src/lib/components/apps/components/helpers/HiddenComponent.svelte
@@ -1,5 +1,5 @@
diff --git a/frontend/src/lib/components/apps/components/helpers/RunnableWrapper.svelte b/frontend/src/lib/components/apps/components/helpers/RunnableWrapper.svelte
index 311bdf279a..51e72bc58f 100644
--- a/frontend/src/lib/components/apps/components/helpers/RunnableWrapper.svelte
+++ b/frontend/src/lib/components/apps/components/helpers/RunnableWrapper.svelte
@@ -53,7 +53,9 @@
result = componentInput?.['value']
}
onMount(() => {
- $staticExporter[id] = () => result
+ $staticExporter[id] = () => {
+ return result
+ }
})
function isRunnableDefined(componentInput) {
diff --git a/frontend/src/lib/components/apps/editor/AppPreview.svelte b/frontend/src/lib/components/apps/editor/AppPreview.svelte
index 3539ed07aa..439eefea11 100644
--- a/frontend/src/lib/components/apps/editor/AppPreview.svelte
+++ b/frontend/src/lib/components/apps/editor/AppPreview.svelte
@@ -172,6 +172,7 @@
fields={script.fields}
recomputeOnInputChanged={script.recomputeOnInputChanged ?? true}
recomputableByRefreshButton={script.autoRefresh ?? false}
+ noBackendValue={script.noBackendValue}
/>
{/if}
{/each}
diff --git a/frontend/src/lib/components/apps/editor/appUtils.ts b/frontend/src/lib/components/apps/editor/appUtils.ts
index 92ebaed6f0..59b5686414 100644
--- a/frontend/src/lib/components/apps/editor/appUtils.ts
+++ b/frontend/src/lib/components/apps/editor/appUtils.ts
@@ -53,13 +53,14 @@ export function selectId(
app: App
) {
// this ensure handleClickOutside are triggered
- window.dispatchEvent(
- new MouseEvent('click', {
- view: window,
- bubbles: true,
- cancelable: true
- })
- )
+ let event = new MouseEvent('click', {
+ view: window,
+ bubbles: true,
+ cancelable: true,
+ relatedTarget: e.target
+ })
+ window.dispatchEvent(event)
+
if (e.shiftKey) {
selectedComponent.update((old) => {
if (old && old?.[0]) {
diff --git a/frontend/src/lib/components/apps/types.ts b/frontend/src/lib/components/apps/types.ts
index a9eea0984f..01284e9646 100644
--- a/frontend/src/lib/components/apps/types.ts
+++ b/frontend/src/lib/components/apps/types.ts
@@ -117,6 +117,7 @@ export type App = {
//deprecated and to be removed after migration
doNotRecomputeOnInputChanged?: boolean
recomputeOnInputChanged?: boolean
+ noBackendValue?: any
}>
css?: Partial>>
subgrids?: Record
diff --git a/frontend/src/lib/components/apps/utils.ts b/frontend/src/lib/components/apps/utils.ts
index 718c813c12..cbb75e8739 100644
--- a/frontend/src/lib/components/apps/utils.ts
+++ b/frontend/src/lib/components/apps/utils.ts
@@ -160,12 +160,17 @@ export function toStatic(
summary: string
): { app: App; summary: string } {
const newApp: App = JSON.parse(JSON.stringify(app))
- newApp.grid.forEach((x) => {
+ allItems(newApp.grid, newApp.subgrids).forEach((x) => {
let c: AppComponent = x.data
if (c.componentInput?.type == 'runnable') {
c.componentInput.value = staticExporter[x.id]()
}
})
+
+ newApp.hiddenInlineScripts?.forEach((x, i) => {
+ x.noBackendValue = staticExporter[`bg_` + i]()
+ })
+
return { app: newApp, summary }
}