From 2d5854c84aecb3c49949d17cce888e953497a6f0 Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Mon, 19 Jun 2023 11:32:39 +0200 Subject: [PATCH] fix: deploy dev/staging/prod small fixes --- .../src/lib/components/DeployWorkspace.svelte | 4 +- .../src/lib/components/ScriptBuilder.svelte | 2 +- .../apps/components/layout/AppList.svelte | 85 +++++++++++++++++++ .../apps/components/layout/ListWrapper.svelte | 11 +++ .../apps/editor/SubGridEditor.svelte | 3 +- .../apps/editor/component/Component.svelte | 11 +++ .../apps/editor/component/components.ts | 37 +++++++- .../components/apps/editor/component/sets.ts | 1 + frontend/src/lib/components/apps/types.ts | 5 ++ 9 files changed, 154 insertions(+), 5 deletions(-) create mode 100644 frontend/src/lib/components/apps/components/layout/AppList.svelte create mode 100644 frontend/src/lib/components/apps/components/layout/ListWrapper.svelte diff --git a/frontend/src/lib/components/DeployWorkspace.svelte b/frontend/src/lib/components/DeployWorkspace.svelte index a539fbeedf..d4e6bd6fec 100644 --- a/frontend/src/lib/components/DeployWorkspace.svelte +++ b/frontend/src/lib/components/DeployWorkspace.svelte @@ -100,7 +100,7 @@ }) } if (x.value.type == 'script') { - if (x.value.path) { + if (x.value.path && !x.value.path.startsWith('hub/')) { result.push({ kind: 'script', path: x.value.path }) } } else if (x.value.type == 'flow') { @@ -336,7 +336,7 @@ } } - function deployAll() { + export function deployAll() { dependencies?.slice().forEach(async ({ kind, path, include }) => { if (include) { await deploy(kind, path) diff --git a/frontend/src/lib/components/ScriptBuilder.svelte b/frontend/src/lib/components/ScriptBuilder.svelte index 34015884f5..b542e480c5 100644 --- a/frontend/src/lib/components/ScriptBuilder.svelte +++ b/frontend/src/lib/components/ScriptBuilder.svelte @@ -548,7 +548,7 @@ size="sm" startIcon={{ icon: faSave }} on:click={() => editScript()} - dropdownItems={initialPath != '' ? computeDropdownItems : []} + dropdownItems={initialPath != '' ? computeDropdownItems : undefined} > Deploy diff --git a/frontend/src/lib/components/apps/components/layout/AppList.svelte b/frontend/src/lib/components/apps/components/layout/AppList.svelte new file mode 100644 index 0000000000..9dda380d8a --- /dev/null +++ b/frontend/src/lib/components/apps/components/layout/AppList.svelte @@ -0,0 +1,85 @@ + + +{#each Object.keys(components['listcomponent'].initialData.configuration) as key (key)} + +{/each} + + + +
+ {#if $app.subgrids?.[`${id}-0`]} + {#each result ?? [] as value, index} +
+ + { + if (!$connectingInput.opened) { + $selectedComponent = [id] + } + onFocus() + }} + /> + +
+ {/each} + {/if} +
+
diff --git a/frontend/src/lib/components/apps/components/layout/ListWrapper.svelte b/frontend/src/lib/components/apps/components/layout/ListWrapper.svelte new file mode 100644 index 0000000000..38cf6376e4 --- /dev/null +++ b/frontend/src/lib/components/apps/components/layout/ListWrapper.svelte @@ -0,0 +1,11 @@ + + + diff --git a/frontend/src/lib/components/apps/editor/SubGridEditor.svelte b/frontend/src/lib/components/apps/editor/SubGridEditor.svelte index dfca892fcc..bae0054e07 100644 --- a/frontend/src/lib/components/apps/editor/SubGridEditor.svelte +++ b/frontend/src/lib/components/apps/editor/SubGridEditor.svelte @@ -22,6 +22,7 @@ export let visible: boolean = true export let id: string export let shouldHighlight: boolean = true + export let forceView = false const dispatch = createEventDispatcher() @@ -77,7 +78,7 @@ )} style="{containerHeight ? `height: ${containerHeight}px;` : ''} {style ?? ''}" > - {#if $mode !== 'preview'} + {#if $mode !== 'preview' || forceView}
diff --git a/frontend/src/lib/components/apps/editor/component/Component.svelte b/frontend/src/lib/components/apps/editor/component/Component.svelte index 1ff0283e99..8e9a513fd9 100644 --- a/frontend/src/lib/components/apps/editor/component/Component.svelte +++ b/frontend/src/lib/components/apps/editor/component/Component.svelte @@ -50,6 +50,7 @@ import AppFlowStatusComponent from '../../components/display/AppFlowStatusComponent.svelte' import AppChartJs from '../../components/display/AppChartJs.svelte' import AppQuillEditor from '../../components/inputs/AppQuillEditor.svelte' + import AppList from '../../components/layout/AppList.svelte' export let component: AppComponent export let selected: boolean @@ -453,6 +454,16 @@ {componentContainerHeight} {render} /> + {:else if component.type === 'listcomponent'} + {:else if component.type === 'verticalsplitpanescomponent'} & { tabs: string[] disabledTabs: RichConfiguration[] } +export type ListComponent = BaseComponent<'listcomponent'> export type ContainerComponent = BaseComponent<'containercomponent'> export type DrawerComponent = BaseComponent<'drawercomponent'> export type MapComponent = BaseComponent<'mapcomponent'> @@ -163,6 +165,7 @@ export type TypedComponent = | PlotlyComponent | TabsComponent | ContainerComponent + | ListComponent | IconComponent | HorizontalDividerComponent | VerticalDividerComponent @@ -469,6 +472,38 @@ export const components = { numberOfSubgrids: 1 } }, + listcomponent: { + name: 'List', + icon: ListIcon, + dims: '2:8-6:8' as AppComponentDimensions, + + customCss: { + container: { class: '', style: '' } + }, + initialData: { + configuration: { + minWidthPx: { + type: 'static', + fieldType: 'number', + value: 300, + tooltip: 'Min Width in pixels' + }, + maxHeightPx: { + type: 'static', + fieldType: 'number', + value: 300, + tooltip: 'Max Height in pixels' + } + }, + componentInput: { + type: 'static', + fieldType: 'array', + subFieldType: 'object', + value: [{ foo: 1 }, { foo: 2 }, { foo: 3 }] as object[] + }, + numberOfSubgrids: 1 + } + }, textcomponent: { name: 'Text', icon: Type, diff --git a/frontend/src/lib/components/apps/editor/component/sets.ts b/frontend/src/lib/components/apps/editor/component/sets.ts index aa450c193b..32548294ab 100644 --- a/frontend/src/lib/components/apps/editor/component/sets.ts +++ b/frontend/src/lib/components/apps/editor/component/sets.ts @@ -10,6 +10,7 @@ const layout: ComponentSet = { title: 'Layout', components: [ 'containercomponent', + // 'listcomponent', 'horizontaldividercomponent', 'verticaldividercomponent', 'drawercomponent', diff --git a/frontend/src/lib/components/apps/types.ts b/frontend/src/lib/components/apps/types.ts index 272142cdd1..4941a99d7b 100644 --- a/frontend/src/lib/components/apps/types.ts +++ b/frontend/src/lib/components/apps/types.ts @@ -150,6 +150,11 @@ export interface CancelablePromise extends Promise { cancel: () => void } +export type ListContext = { + index: number + value: any +} + export type AppViewerContext = { worldStore: Writable app: Writable