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 } }