diff --git a/frontend/src/lib/components/apps/components/buttons/AppButton.svelte b/frontend/src/lib/components/apps/components/buttons/AppButton.svelte index e21a498820..d974227922 100644 --- a/frontend/src/lib/components/apps/components/buttons/AppButton.svelte +++ b/frontend/src/lib/components/apps/components/buttons/AppButton.svelte @@ -23,7 +23,7 @@ export let preclickAction: (() => Promise) | undefined = undefined export let customCss: ComponentCustomCSS<'buttoncomponent'> | undefined = undefined export let render: boolean - export let initializing: boolean | undefined = true + export let initializing: boolean | undefined = false export let extraKey: string | undefined = undefined export let controls: { left: () => boolean; right: () => boolean | string } | undefined = @@ -31,6 +31,12 @@ const { worldStore, app, componentControl, selectedComponent } = getContext('AppViewerContext') + let resolvedConfig = initConfig( + components['buttoncomponent'].initialData.configuration, + configuration + ) + + $: initializing = resolvedConfig?.label == undefined let outputs = initOutput($worldStore, id, { result: undefined, @@ -46,10 +52,6 @@ let isLoading: boolean = false let ownClick: boolean = false - let resolvedConfig = initConfig(components['buttoncomponent'].initialData.configuration) - - $: initializing = resolvedConfig?.label == undefined - let beforeIconComponent: any let afterIconComponent: any diff --git a/frontend/src/lib/components/apps/components/buttons/AppForm.svelte b/frontend/src/lib/components/apps/components/buttons/AppForm.svelte index 0845c3d839..6daa90cc0d 100644 --- a/frontend/src/lib/components/apps/components/buttons/AppForm.svelte +++ b/frontend/src/lib/components/apps/components/buttons/AppForm.svelte @@ -31,7 +31,10 @@ loading: false }) - let resolvedConfig = initConfig(components['formcomponent'].initialData.configuration) + let resolvedConfig = initConfig( + components['formcomponent'].initialData.configuration, + configuration + ) let runnableComponent: RunnableComponent let isLoading: boolean = false diff --git a/frontend/src/lib/components/apps/components/buttons/AppFormButton.svelte b/frontend/src/lib/components/apps/components/buttons/AppFormButton.svelte index 4ed6b99cf7..d4a0a347d9 100644 --- a/frontend/src/lib/components/apps/components/buttons/AppFormButton.svelte +++ b/frontend/src/lib/components/apps/components/buttons/AppFormButton.svelte @@ -34,7 +34,10 @@ loading: false }) - let resolvedConfig = initConfig(components['formbuttoncomponent'].initialData.configuration) + let resolvedConfig = initConfig( + components['formbuttoncomponent'].initialData.configuration, + configuration + ) let runnableComponent: RunnableComponent let isLoading: boolean = false diff --git a/frontend/src/lib/components/apps/components/display/AppImage.svelte b/frontend/src/lib/components/apps/components/display/AppImage.svelte index 9763817f1f..7398534fa4 100644 --- a/frontend/src/lib/components/apps/components/display/AppImage.svelte +++ b/frontend/src/lib/components/apps/components/display/AppImage.svelte @@ -13,6 +13,11 @@ export let customCss: ComponentCustomCSS<'imagecomponent'> | undefined = undefined export let render: boolean + let resolvedConfig = initConfig( + components['imagecomponent'].initialData.configuration, + configuration + ) + const { app, worldStore } = getContext('AppViewerContext') const fit: Record = { cover: 'object-cover', @@ -23,8 +28,6 @@ //used so that we can count number of outputs setup for first refresh initOutput($worldStore, id, {}) - let resolvedConfig = initConfig(components['imagecomponent'].initialData.configuration) - $: css = concatCustomCss($app.css?.imagecomponent, customCss) diff --git a/frontend/src/lib/components/apps/components/display/AppText.svelte b/frontend/src/lib/components/apps/components/display/AppText.svelte index aab9c5a0f3..75999ba5f8 100644 --- a/frontend/src/lib/components/apps/components/display/AppText.svelte +++ b/frontend/src/lib/components/apps/components/display/AppText.svelte @@ -3,9 +3,8 @@ import { copyToClipboard } from '../../../../utils' import Button from '../../../common/button/Button.svelte' import Popover from '../../../Popover.svelte' - import type { AppInput } from '../../inputType' + import type { AppInput, EvalAppInput } from '../../inputType' import AlignWrapper from '../helpers/AlignWrapper.svelte' - import InputValue from '../helpers/InputValue.svelte' import RunnableWrapper from '../helpers/RunnableWrapper.svelte' import { twMerge } from 'tailwind-merge' import type { @@ -15,9 +14,12 @@ RichConfigurations } from '../../types' import { getContext } from 'svelte' - import { initOutput } from '../../editor/appUtils' + import { initConfig, initOutput } from '../../editor/appUtils' import Tooltip from '$lib/components/Tooltip.svelte' import { get } from 'svelte/store' + import ResolveConfig from '../helpers/ResolveConfig.svelte' + import { components } from '../../editor/component' + import { isCodeInjection } from '$lib/components/flows/utils' export let id: string export let componentInput: AppInput | undefined @@ -28,22 +30,29 @@ export let customCss: ComponentCustomCSS<'textcomponent'> | undefined = undefined export let render: boolean + let resolvedConfig = initConfig( + components['textcomponent'].initialData.configuration, + configuration + ) + const { app, worldStore, mode } = getContext('AppViewerContext') const editorcontext = getContext('AppEditorContext') + let result: string | undefined = undefined + + if (componentInput?.type == 'template' && !isCodeInjection(componentInput.eval)) { + result = componentInput.eval + initializing = false + } + const outputs = initOutput($worldStore, id, { - result: undefined, - loading: false + result, + loading: initializing }) - let result: string | undefined = undefined - let style: 'Title' | 'Subtitle' | 'Body' | 'Caption' | 'Label' | undefined = undefined - let copyButton: boolean - let tooltip: string = '' - function getComponent() { - switch (style) { + switch (resolvedConfig.style) { case 'Title': return 'h1' case 'Subtitle': @@ -60,7 +69,7 @@ } function getClasses() { - switch (style) { + switch (resolvedConfig.style) { case 'Caption': return 'text-sm italic text-gray-500' case 'Label': @@ -72,13 +81,18 @@ let component = 'p' let classes = '' - $: style && (component = getComponent()) - $: style && (classes = getClasses()) + $: resolvedConfig.style && (component = getComponent()) + $: resolvedConfig.style && (classes = getClasses()) - - - +{#each Object.keys(components['textcomponent'].initialData.configuration) as key (key)} + +{/each}
@@ -113,10 +127,10 @@ style={[$app.css?.['textcomponent']?.['text']?.style, customCss?.text?.style].join(';')} > {String(result)} - {#if tooltip != ''} - {tooltip} + {#if resolvedConfig.tooltip != ''} + {resolvedConfig.tooltip} {/if} - {#if copyButton && result} + {#if resolvedConfig.copyButton && result}