windmill-components 1.56.5 → 1.57.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/app.css +5 -1
- package/components/ArgInput.svelte +6 -6
- package/components/DisplayResult.svelte +1 -1
- package/components/Dropdown.svelte +1 -1
- package/components/Dropdown.svelte.d.ts +1 -0
- package/components/Editor.svelte +5 -3
- package/components/Editor.svelte.d.ts +2 -0
- package/components/EditorBar.svelte +15 -1
- package/components/FlowBuilder.svelte +18 -10
- package/components/GroupEditor.svelte +1 -0
- package/components/IconedResourceType.svelte +2 -2
- package/components/InputTransformForm.svelte +7 -5
- package/components/ItemPicker.svelte +63 -57
- package/components/ItemPicker.svelte.d.ts +1 -2
- package/components/LogViewer.svelte +7 -9
- package/components/ModulePreview.svelte +4 -13
- package/components/MoveDrawer.svelte +40 -16
- package/components/MoveDrawer.svelte.d.ts +2 -2
- package/components/PageHeader.svelte +1 -1
- package/components/Path.svelte +5 -2
- package/components/Popover.svelte +6 -4
- package/components/Popover.svelte.d.ts +2 -0
- package/components/ResourcePicker.svelte +1 -0
- package/components/RunChart.svelte +0 -1
- package/components/SchemaForm.svelte +2 -1
- package/components/SchemaForm.svelte.d.ts +1 -0
- package/components/ScriptBuilder.svelte +2 -1
- package/components/ScriptEditor.svelte +86 -80
- package/components/ShareModal.svelte.d.ts +2 -2
- package/components/SimpleEditor.svelte +17 -0
- package/components/StringTypeNarrowing.svelte +30 -8
- package/components/TemplateEditor.svelte +18 -2
- package/components/TestJobLoader.svelte +83 -74
- package/components/Tooltip.svelte +1 -1
- package/components/VariableEditor.svelte +4 -3
- package/components/VariableEditor.svelte.d.ts +2 -2
- package/components/apps/components/buttons/AppButton.svelte +3 -7
- package/components/apps/components/dataDisplay/AppBarChart.svelte +10 -6
- package/components/apps/components/dataDisplay/AppHtml.svelte +23 -0
- package/components/apps/components/dataDisplay/AppHtml.svelte.d.ts +23 -0
- package/components/apps/components/dataDisplay/AppPieChart.svelte +10 -6
- package/components/apps/components/dataDisplay/AppScatterChart.svelte +46 -0
- package/components/apps/components/dataDisplay/AppScatterChart.svelte.d.ts +21 -0
- package/components/apps/components/dataDisplay/AppText.svelte +48 -7
- package/components/apps/components/dataDisplay/AppText.svelte.d.ts +1 -0
- package/components/apps/components/dataDisplay/AppTimeseries.svelte +57 -0
- package/components/apps/components/dataDisplay/AppTimeseries.svelte.d.ts +22 -0
- package/components/apps/components/form/AppForm.svelte +33 -28
- package/components/apps/components/helpers/InputValue.svelte +10 -16
- package/components/apps/components/helpers/InputValue.svelte.d.ts +2 -0
- package/components/apps/components/helpers/NonRunnableComponent.svelte +4 -6
- package/components/apps/components/helpers/NonRunnableComponent.svelte.d.ts +1 -1
- package/components/apps/components/helpers/RefreshButton.svelte +1 -1
- package/components/apps/components/helpers/RunnableComponent.svelte +120 -119
- package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -0
- package/components/apps/components/helpers/RunnableWrapper.svelte +11 -1
- package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +1 -0
- package/components/apps/components/selectInputs/AppSelect.svelte +2 -0
- package/components/apps/components/table/AppTable.svelte +22 -17
- package/components/apps/components/table/AppTableFooter.svelte +2 -1
- package/components/apps/components/table/tableOptions.d.ts +2 -9
- package/components/apps/components/table/tableOptions.js +5 -2
- package/components/apps/components/textInputs/AppTextInput.svelte +0 -1
- package/components/apps/editor/AppEditor.svelte +133 -102
- package/components/apps/editor/AppEditor.svelte.d.ts +1 -0
- package/components/apps/editor/AppEditorHeader.svelte +355 -50
- package/components/apps/editor/AppEditorHeader.svelte.d.ts +2 -4
- package/components/apps/editor/AppExportButton.svelte +34 -0
- package/components/apps/editor/AppExportButton.svelte.d.ts +17 -0
- package/components/apps/editor/AppPreview.svelte +19 -6
- package/components/apps/editor/AppPreview.svelte.d.ts +5 -0
- package/components/apps/editor/AppPublishButton.svelte +46 -0
- package/components/apps/editor/AppPublishButton.svelte.d.ts +19 -0
- package/components/apps/editor/ComponentEditor.svelte +35 -3
- package/components/apps/editor/ComponentHeader.svelte +23 -16
- package/components/apps/editor/ComponentHeader.svelte.d.ts +1 -0
- package/components/apps/editor/GridEditor.svelte +71 -48
- package/components/apps/editor/RecomputeAllComponents.svelte +80 -13
- package/components/apps/editor/componentsPanel/ComponentList.svelte +30 -28
- package/components/apps/editor/componentsPanel/componentStaticValues.d.ts +2 -1
- package/components/apps/editor/componentsPanel/componentStaticValues.js +3 -2
- package/components/apps/editor/componentsPanel/data.js +191 -77
- package/components/apps/editor/contextPanel/ContextPanel.svelte +60 -41
- package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +6 -2
- package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte.d.ts +1 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +47 -10
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +1 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte +11 -4
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte.d.ts +1 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +29 -21
- package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +10 -6
- package/components/apps/editor/settingsPanel/AlignmentEditor.svelte +38 -33
- package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +3 -2
- package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte.d.ts +1 -10
- package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +27 -9
- package/components/apps/editor/settingsPanel/ComponentPanel.svelte +8 -6
- package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +6 -16
- package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +0 -1
- package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +46 -21
- package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +3 -1
- package/components/apps/editor/settingsPanel/PickInlineScript.svelte +0 -1
- package/components/apps/editor/settingsPanel/Recompute.svelte +1 -1
- package/components/apps/editor/settingsPanel/SelectedRunnable.svelte +8 -7
- package/components/apps/editor/settingsPanel/TableActions.svelte +10 -10
- package/components/apps/editor/settingsPanel/common/PanelSection.svelte +1 -0
- package/components/apps/editor/settingsPanel/common/PanelSection.svelte.d.ts +1 -0
- package/components/apps/editor/settingsPanel/inputEditor/ConnectedInputEditor.svelte +55 -49
- package/components/apps/editor/settingsPanel/inputEditor/ConnectedInputEditor.svelte.d.ts +2 -2
- package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte +24 -0
- package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte.d.ts +17 -0
- package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +8 -11
- package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +35 -7
- package/components/apps/editorUtils.d.ts +1 -0
- package/components/apps/editorUtils.js +11 -0
- package/components/apps/gridUtils.js +1 -1
- package/components/apps/inputType.d.ts +5 -4
- package/components/apps/rx.d.ts +1 -1
- package/components/apps/rx.js +6 -2
- package/components/apps/store.d.ts +2 -0
- package/components/apps/store.js +2 -0
- package/components/apps/types.d.ts +19 -3
- package/components/apps/utils.d.ts +2 -2
- package/components/apps/utils.js +22 -8
- package/components/common/button/Button.svelte +6 -8
- package/components/common/button/Button.svelte.d.ts +1 -0
- package/components/common/confirmationModal/UnsavedConfirmationModal.svelte +4 -1
- package/components/common/popup/Popup.svelte +1 -1
- package/components/common/table/AppRow.svelte +26 -3
- package/components/common/table/AppRow.svelte.d.ts +4 -0
- package/components/common/table/FlowRow.svelte +4 -4
- package/components/common/table/RowIcon.svelte +1 -1
- package/components/common/table/ScriptRow.svelte +2 -2
- package/components/common/tabs/Tabs.svelte +1 -1
- package/components/common/toggleButton/ToggleButton.svelte +2 -0
- package/components/common/toggleButton/ToggleButton.svelte.d.ts +1 -0
- package/components/common/toggleButton/ToggleButtonGroup.svelte +3 -3
- package/components/flows/CreateActionsApp.svelte +43 -0
- package/components/flows/CreateActionsApp.svelte.d.ts +14 -0
- package/components/flows/CreateActionsFlow.svelte +6 -1
- package/components/flows/content/DynamicInputHelpBox.svelte +1 -1
- package/components/flows/content/FlowConstants.svelte +23 -9
- package/components/flows/content/FlowInputs.svelte +2 -2
- package/components/flows/content/FlowModuleHeader.svelte +6 -5
- package/components/flows/content/FlowSettings.svelte +1 -1
- package/components/flows/header/FlowImportExportMenu.svelte +1 -1
- package/components/flows/map/FlowConstantsItem.svelte +5 -7
- package/components/flows/map/FlowModuleSchemaMap.svelte +1 -5
- package/components/flows/map/FlowSettingsItem.svelte +5 -7
- package/components/flows/pickers/PickHubApp.svelte +73 -0
- package/components/flows/pickers/PickHubApp.svelte.d.ts +20 -0
- package/components/flows/pickers/PickHubFlow.svelte +3 -1
- package/components/flows/pickers/PickHubScript.svelte +1 -0
- package/components/flows/propPicker/PropPickerWrapper.svelte +42 -31
- package/components/home/ItemsList.svelte +6 -4
- package/components/icons/ClickhouseIcon.svelte +22 -0
- package/components/icons/ClickhouseIcon.svelte.d.ts +17 -0
- package/components/icons/FaunadbIcon.svelte +19 -0
- package/components/icons/FaunadbIcon.svelte.d.ts +17 -0
- package/components/icons/OpenaiIcon.svelte +18 -0
- package/components/icons/OpenaiIcon.svelte.d.ts +17 -0
- package/components/icons/index.d.ts +7 -1
- package/components/icons/index.js +8 -2
- package/components/propertyPicker/ObjectViewer.svelte +11 -4
- package/components/propertyPicker/PropPicker.svelte +1 -1
- package/components/scriptEditor/LogPanel.svelte +26 -22
- package/components/sidebar/WorkspaceMenu.svelte +2 -3
- package/components/splitPanes/SplitPanesWrapper.svelte +1 -5
- package/components/splitPanes/SplitPanesWrapper.svelte.d.ts +0 -1
- package/editorUtils.js +2 -0
- package/gen/core/OpenAPI.js +1 -1
- package/gen/models/Policy.d.ts +1 -0
- package/gen/services/AppService.d.ts +50 -0
- package/gen/services/AppService.js +55 -0
- package/gen/services/GranularAclService.d.ts +3 -3
- package/gen/services/ResourceService.d.ts +15 -0
- package/gen/services/ResourceService.js +17 -0
- package/infer.js +4 -0
- package/package.json +18 -9
- package/stores.d.ts +1 -0
- package/stores.js +13 -5
- package/utils.d.ts +9 -1
- package/utils.js +28 -11
- package/components/apps/CreateApp.svelte +0 -68
- package/components/apps/CreateApp.svelte.d.ts +0 -14
- package/components/apps/editor/settingsPanel/SectionPanel.svelte +0 -70
- package/components/apps/editor/settingsPanel/SectionPanel.svelte.d.ts +0 -19
- package/components/apps/editor/settingsPanel/UserInputEditor.svelte +0 -2
- package/components/apps/editor/settingsPanel/UserInputEditor.svelte.d.ts +0 -14
|
@@ -34,7 +34,7 @@ let topHeight = 0;
|
|
|
34
34
|
<input
|
|
35
35
|
type="text"
|
|
36
36
|
bind:value={$flowStore.summary}
|
|
37
|
-
placeholder="A
|
|
37
|
+
placeholder="A short summary of the flow displayed when the flow is listed"
|
|
38
38
|
rows="1"
|
|
39
39
|
id="flow-summary"
|
|
40
40
|
/>
|
|
@@ -23,7 +23,7 @@ let jsonViewerDrawer;
|
|
|
23
23
|
</div>
|
|
24
24
|
|
|
25
25
|
<Drawer bind:this={jsonViewerDrawer} size="800px">
|
|
26
|
-
<DrawerContent title="
|
|
26
|
+
<DrawerContent title="OpenFlow JSON" on:close={() => jsonViewerDrawer.toggleDrawer()}>
|
|
27
27
|
{#if $flowStore}
|
|
28
28
|
<FlowViewer flow={cleanInputs($flowStore)} tab="json" />
|
|
29
29
|
{/if}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
<script>import { getContext } from 'svelte';
|
|
2
|
-
import Icon from 'svelte-awesome';
|
|
3
|
-
import { faDollarSign } from '@fortawesome/free-solid-svg-icons';
|
|
4
2
|
import { classNames } from '../../../utils';
|
|
3
|
+
import { DollarSign } from 'lucide-svelte';
|
|
5
4
|
const { select, selectedId } = getContext('FlowEditorContext');
|
|
6
5
|
$: settingsClass = classNames('border w-full rounded-sm p-2 bg-white border-gray-400 text-sm cursor-pointer flex items-center', $selectedId == 'constants' ? 'outline outline-offset-1 outline-2 outline-slate-900' : '');
|
|
7
6
|
</script>
|
|
8
7
|
|
|
9
|
-
|
|
10
|
-
<
|
|
11
|
-
<
|
|
12
|
-
<span class="text-xs flex flex-row justify-between w-full gap-2 items-center truncate">
|
|
8
|
+
<button on:click={() => select('constants')} class={settingsClass}>
|
|
9
|
+
<DollarSign size={16} />
|
|
10
|
+
<span class="text-xs flex flex-row justify-between w-full gap-2 items-center truncate ml-1">
|
|
13
11
|
All Static Inputs
|
|
14
12
|
</span>
|
|
15
|
-
</
|
|
13
|
+
</button>
|
|
@@ -89,13 +89,9 @@ $: confirmationModalOpen = indexToRemove !== undefined;
|
|
|
89
89
|
<div class="flex flex-col h-full relative">
|
|
90
90
|
{#if root}
|
|
91
91
|
<div
|
|
92
|
-
class="z-10 sticky inline-flex top-0 bg-gray-50 flex-initial
|
|
92
|
+
class="z-10 sticky inline-flex flex-col gap-2 top-0 bg-gray-50 flex-initial p-2 items-center border-b border-gray-300"
|
|
93
93
|
>
|
|
94
94
|
<FlowSettingsItem />
|
|
95
|
-
</div>
|
|
96
|
-
<div
|
|
97
|
-
class="z-10 sticky inline-flex top-0 bg-gray-50 flex-initial px-3 py-2 items-center h-full max-h-12 border-b border-gray-300"
|
|
98
|
-
>
|
|
99
95
|
<FlowConstantsItem />
|
|
100
96
|
</div>
|
|
101
97
|
{/if}
|
|
@@ -1,23 +1,21 @@
|
|
|
1
1
|
<script>import { getContext } from 'svelte';
|
|
2
|
-
import Icon from 'svelte-awesome';
|
|
3
|
-
import { faSliders } from '@fortawesome/free-solid-svg-icons';
|
|
4
2
|
import { classNames } from '../../../utils';
|
|
5
3
|
import { Badge } from '../../common';
|
|
6
4
|
import { flowStore } from '../flowStore';
|
|
5
|
+
import { SlidersHorizontal } from 'lucide-svelte';
|
|
7
6
|
const { select, selectedId } = getContext('FlowEditorContext');
|
|
8
7
|
$: settingsClass = classNames('border w-full rounded-sm p-2 bg-white border-gray-400 text-sm cursor-pointer flex items-center', $selectedId?.startsWith('settings')
|
|
9
8
|
? 'outline outline-offset-1 outline-2 outline-slate-900'
|
|
10
9
|
: '');
|
|
11
10
|
</script>
|
|
12
11
|
|
|
13
|
-
|
|
14
|
-
<
|
|
15
|
-
<
|
|
16
|
-
<span class="text-xs font-bold flex flex-row justify-between w-full gap-2 items-center truncate">
|
|
12
|
+
<button on:click={() => select('settings-metadata')} class={settingsClass}>
|
|
13
|
+
<SlidersHorizontal size={16} />
|
|
14
|
+
<span class="text-xs font-bold flex flex-row justify-between w-full gap-2 items-center truncate ml-1">
|
|
17
15
|
Settings
|
|
18
16
|
|
|
19
17
|
{#if $flowStore.value.same_worker}
|
|
20
18
|
<Badge color="blue" baseClass="truncate">./shared</Badge>
|
|
21
19
|
{/if}
|
|
22
20
|
</span>
|
|
23
|
-
</
|
|
21
|
+
</button>
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
<script>import { createEventDispatcher, onMount } from 'svelte';
|
|
2
|
+
import { Badge, Skeleton } from '../../common';
|
|
3
|
+
import SearchItems from '../../SearchItems.svelte';
|
|
4
|
+
import { loadHubApps } from '../../../utils';
|
|
5
|
+
import ListFilters from '../../home/ListFilters.svelte';
|
|
6
|
+
import NoItemFound from '../../home/NoItemFound.svelte';
|
|
7
|
+
import RowIcon from '../../common/table/RowIcon.svelte';
|
|
8
|
+
export let filter = '';
|
|
9
|
+
let hubApps = undefined;
|
|
10
|
+
let filteredItems = [];
|
|
11
|
+
let appFilter = undefined;
|
|
12
|
+
$: prefilteredItems = appFilter
|
|
13
|
+
? (hubApps ?? []).filter((i) => i.apps.includes(appFilter))
|
|
14
|
+
: hubApps ?? [];
|
|
15
|
+
$: apps = Array.from(new Set(filteredItems?.flatMap((x) => x.apps) ?? [])).sort();
|
|
16
|
+
const dispatch = createEventDispatcher();
|
|
17
|
+
onMount(async () => {
|
|
18
|
+
hubApps = await loadHubApps();
|
|
19
|
+
});
|
|
20
|
+
</script>
|
|
21
|
+
|
|
22
|
+
<SearchItems
|
|
23
|
+
{filter}
|
|
24
|
+
items={prefilteredItems}
|
|
25
|
+
bind:filteredItems
|
|
26
|
+
f={(x) => x.summary + ' (' + x.apps.join(', ') + ')'}
|
|
27
|
+
/>
|
|
28
|
+
<div class="w-full flex mt-1 items-center gap-2">
|
|
29
|
+
<slot />
|
|
30
|
+
<input type="text" placeholder="Search Hub Apps" bind:value={filter} class="text-2xl grow" />
|
|
31
|
+
</div>
|
|
32
|
+
<ListFilters filters={apps} bind:selectedFilter={appFilter} resourceType />
|
|
33
|
+
|
|
34
|
+
{#if hubApps}
|
|
35
|
+
{#if filteredItems.length == 0}
|
|
36
|
+
<NoItemFound />
|
|
37
|
+
{:else}
|
|
38
|
+
<ul class="divide-y divide-gray-200 border rounded-md">
|
|
39
|
+
{#each filteredItems as item (item)}
|
|
40
|
+
<li class="flex flex-row w-full">
|
|
41
|
+
<button
|
|
42
|
+
class="p-4 gap-4 flex flex-row grow justify-between hover:bg-gray-50 bg-white transition-all items-center rounded-md"
|
|
43
|
+
on:click={() => dispatch('pick', item)}
|
|
44
|
+
>
|
|
45
|
+
<div class="flex items-center gap-4">
|
|
46
|
+
<RowIcon kind="app" />
|
|
47
|
+
|
|
48
|
+
<div class="w-full text-left font-normal ">
|
|
49
|
+
<div class="text-gray-900 flex-wrap text-md font-semibold mb-1">
|
|
50
|
+
{#if item.marked}
|
|
51
|
+
{@html item.marked ?? ''}
|
|
52
|
+
{:else}
|
|
53
|
+
{item.summary ?? ''}
|
|
54
|
+
{/if}
|
|
55
|
+
</div>
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
58
|
+
<div class="min-w-1/3 gap-2 flex flex-wrap justify-end">
|
|
59
|
+
{#each item.apps as app}
|
|
60
|
+
<Badge color="gray" baseClass="border">{app}</Badge>
|
|
61
|
+
{/each}
|
|
62
|
+
</div>
|
|
63
|
+
</button>
|
|
64
|
+
</li>
|
|
65
|
+
{/each}
|
|
66
|
+
</ul>
|
|
67
|
+
{/if}
|
|
68
|
+
{:else}
|
|
69
|
+
<div class="my-2" />
|
|
70
|
+
{#each Array(10).fill(0) as _}
|
|
71
|
+
<Skeleton layout={[[4], 0.5]} />
|
|
72
|
+
{/each}
|
|
73
|
+
{/if}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
filter?: string | undefined;
|
|
5
|
+
};
|
|
6
|
+
events: {
|
|
7
|
+
pick: CustomEvent<any>;
|
|
8
|
+
} & {
|
|
9
|
+
[evt: string]: CustomEvent<any>;
|
|
10
|
+
};
|
|
11
|
+
slots: {
|
|
12
|
+
default: {};
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
export type PickHubAppProps = typeof __propDef.props;
|
|
16
|
+
export type PickHubAppEvents = typeof __propDef.events;
|
|
17
|
+
export type PickHubAppSlots = typeof __propDef.slots;
|
|
18
|
+
export default class PickHubApp extends SvelteComponentTyped<PickHubAppProps, PickHubAppEvents, PickHubAppSlots> {
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
@@ -27,7 +27,7 @@ onMount(async () => {
|
|
|
27
27
|
/>
|
|
28
28
|
<div class="w-full flex mt-1 items-center gap-2">
|
|
29
29
|
<slot />
|
|
30
|
-
<input type="text" placeholder="Search Hub
|
|
30
|
+
<input type="text" placeholder="Search Hub Flows" bind:value={filter} class="text-2xl grow" />
|
|
31
31
|
</div>
|
|
32
32
|
<ListFilters filters={apps} bind:selectedFilter={appFilter} resourceType />
|
|
33
33
|
|
|
@@ -66,6 +66,8 @@ onMount(async () => {
|
|
|
66
66
|
</ul>
|
|
67
67
|
{/if}
|
|
68
68
|
{:else}
|
|
69
|
+
<div class="my-2" />
|
|
70
|
+
|
|
69
71
|
{#each Array(10).fill(0) as _}
|
|
70
72
|
<Skeleton layout={[[4], 0.5]} />
|
|
71
73
|
{/each}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
<script>import PropPicker from '../../propertyPicker/PropPicker.svelte';
|
|
5
5
|
import PropPickerResult from '../../propertyPicker/PropPickerResult.svelte';
|
|
6
|
+
import { clickOutside } from '../../../utils';
|
|
6
7
|
import { createEventDispatcher, setContext } from 'svelte';
|
|
7
8
|
import { Pane, Splitpanes } from 'svelte-splitpanes';
|
|
8
9
|
import { writable } from 'svelte/store';
|
|
@@ -28,34 +29,44 @@ setContext('PropPickerWrapper', {
|
|
|
28
29
|
});
|
|
29
30
|
</script>
|
|
30
31
|
|
|
31
|
-
<
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
32
|
+
<div
|
|
33
|
+
class="h-full w-full"
|
|
34
|
+
use:clickOutside
|
|
35
|
+
on:click_outside={() => propPickerConfig.set(undefined)}
|
|
36
|
+
>
|
|
37
|
+
<Splitpanes>
|
|
38
|
+
<Pane minSize={20} size={60} class="relative p-4 !transition-none">
|
|
39
|
+
<slot />
|
|
40
|
+
</Pane>
|
|
41
|
+
<Pane
|
|
42
|
+
minSize={20}
|
|
43
|
+
size={40}
|
|
44
|
+
class="pt-2 relative !transition-none {$propPickerConfig ? 'border-2 border-blue-500' : ''}"
|
|
45
|
+
>
|
|
46
|
+
{#if result}
|
|
47
|
+
<PropPickerResult
|
|
48
|
+
{result}
|
|
49
|
+
on:select={({ detail }) => {
|
|
50
|
+
dispatch('select', detail)
|
|
51
|
+
if ($propPickerConfig?.onSelect(detail)) {
|
|
52
|
+
propPickerConfig.set(undefined)
|
|
53
|
+
}
|
|
54
|
+
}}
|
|
55
|
+
/>
|
|
56
|
+
{:else if pickableProperties}
|
|
57
|
+
<PropPicker
|
|
58
|
+
{displayContext}
|
|
59
|
+
{error}
|
|
60
|
+
{pickableProperties}
|
|
61
|
+
{notSelectable}
|
|
62
|
+
on:select={({ detail }) => {
|
|
63
|
+
dispatch('select', detail)
|
|
64
|
+
if ($propPickerConfig?.onSelect(detail)) {
|
|
65
|
+
propPickerConfig.set(undefined)
|
|
66
|
+
}
|
|
67
|
+
}}
|
|
68
|
+
/>
|
|
69
|
+
{/if}
|
|
70
|
+
</Pane>
|
|
71
|
+
</Splitpanes>
|
|
72
|
+
</div>
|
|
@@ -167,8 +167,8 @@ $: items && resetScroll();
|
|
|
167
167
|
/>
|
|
168
168
|
|
|
169
169
|
<CenteredPage>
|
|
170
|
-
<div class="flex flex-
|
|
171
|
-
<div>
|
|
170
|
+
<div class="flex flex-wrap gap-2 items-center justify-between w-full">
|
|
171
|
+
<div class="flex justify-start">
|
|
172
172
|
<ToggleButtonGroup bind:selected={itemKind}>
|
|
173
173
|
<ToggleButton light position="left" value="all" size="sm">All</ToggleButton>
|
|
174
174
|
<ToggleButton light position="center" value="script" size="sm">
|
|
@@ -192,7 +192,7 @@ $: items && resetScroll();
|
|
|
192
192
|
</ToggleButtonGroup>
|
|
193
193
|
</div>
|
|
194
194
|
|
|
195
|
-
<div class="relative text-gray-600 w-
|
|
195
|
+
<div class="relative text-gray-600 grow min-w-[100px]">
|
|
196
196
|
<!-- svelte-ignore a11y-autofocus -->
|
|
197
197
|
<input
|
|
198
198
|
autofocus
|
|
@@ -236,7 +236,7 @@ $: items && resetScroll();
|
|
|
236
236
|
{:else}
|
|
237
237
|
<div class="border rounded-md divide-y divide-gray-200 mb-80">
|
|
238
238
|
<!-- <VirtualList {items} let:item bind:start bind:end> -->
|
|
239
|
-
{#each items ?? [] as item, i (item.type + '/' + item.path)}
|
|
239
|
+
{#each items ?? [] as item, i (item.type + '/' + item.path + (item.summary ?? ''))}
|
|
240
240
|
{#if item.type == 'script'}
|
|
241
241
|
<ScriptRow
|
|
242
242
|
starred={item.starred ?? false}
|
|
@@ -261,6 +261,8 @@ $: items && resetScroll();
|
|
|
261
261
|
marked={item.marked}
|
|
262
262
|
on:change={loadApps}
|
|
263
263
|
app={item}
|
|
264
|
+
{moveDrawer}
|
|
265
|
+
{shareModal}
|
|
264
266
|
/>
|
|
265
267
|
{/if}
|
|
266
268
|
{/each}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<script>export let height = '24px';
|
|
2
|
+
export let width = '24px';
|
|
3
|
+
</script>
|
|
4
|
+
|
|
5
|
+
<svg
|
|
6
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
7
|
+
x="0px"
|
|
8
|
+
y="0px"
|
|
9
|
+
{width}
|
|
10
|
+
{height}
|
|
11
|
+
viewBox="0 0 168 168"
|
|
12
|
+
fill="none"
|
|
13
|
+
>
|
|
14
|
+
<path
|
|
15
|
+
d="M0 139.667H18.6667V158.333H0V139.667Z"
|
|
16
|
+
fill="#FF0000"
|
|
17
|
+
/>
|
|
18
|
+
<path
|
|
19
|
+
d="M0 9H18.6667V139.667H0V9ZM37.3333 9H56V158.333H37.3333V9ZM74.6667 9H93.3333V158.333H74.6667V9ZM112 9H130.667V158.333H112V9ZM149.333 69.6667H168V97.6667H149.333V69.6667Z"
|
|
20
|
+
fill="#FFCC00"
|
|
21
|
+
/>
|
|
22
|
+
</svg>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
height?: string | undefined;
|
|
5
|
+
width?: string | undefined;
|
|
6
|
+
};
|
|
7
|
+
events: {
|
|
8
|
+
[evt: string]: CustomEvent<any>;
|
|
9
|
+
};
|
|
10
|
+
slots: {};
|
|
11
|
+
};
|
|
12
|
+
export type ClickhouseIconProps = typeof __propDef.props;
|
|
13
|
+
export type ClickhouseIconEvents = typeof __propDef.events;
|
|
14
|
+
export type ClickhouseIconSlots = typeof __propDef.slots;
|
|
15
|
+
export default class ClickhouseIcon extends SvelteComponentTyped<ClickhouseIconProps, ClickhouseIconEvents, ClickhouseIconSlots> {
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<script>export let height = '24px';
|
|
2
|
+
export let width = '24px';
|
|
3
|
+
</script>
|
|
4
|
+
|
|
5
|
+
<svg
|
|
6
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
7
|
+
x="0px"
|
|
8
|
+
y="0px"
|
|
9
|
+
{width}
|
|
10
|
+
{height}
|
|
11
|
+
viewBox="0 0 168 168"
|
|
12
|
+
fill="none"
|
|
13
|
+
>
|
|
14
|
+
<path
|
|
15
|
+
d="M124.222 37.638C114.302 40.949 109.525 46.888 106.271 56.138C105.431 58.609 103.331 61.342 100.969 63.182L109.105 71.907L83.28 53.827L12 4C12 4 17.144 37.428 18.929 49.727C20.189 58.399 22.34 62.288 29.164 66.23L31.894 67.702L43.651 73.904L36.67 70.277L68.898 87.885L68.688 88.358L33.993 72.274C35.83 78.582 39.399 90.723 40.922 96.084C42.549 101.865 44.386 103.968 50.002 106.018L60.342 109.802L66.746 107.279L58.611 112.693L17.931 164.358C44.963 139.235 67.849 130.3 84.593 122.994C105.956 113.744 118.816 107.805 127.214 86.466C133.198 71.486 137.869 52.302 143.801 44.891L156.451 28.703C156.451 28.703 130.258 35.641 124.222 37.638Z"
|
|
16
|
+
fill="#3F00A5"
|
|
17
|
+
/>
|
|
18
|
+
</svg>
|
|
19
|
+
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
height?: string | undefined;
|
|
5
|
+
width?: string | undefined;
|
|
6
|
+
};
|
|
7
|
+
events: {
|
|
8
|
+
[evt: string]: CustomEvent<any>;
|
|
9
|
+
};
|
|
10
|
+
slots: {};
|
|
11
|
+
};
|
|
12
|
+
export type FaunadbIconProps = typeof __propDef.props;
|
|
13
|
+
export type FaunadbIconEvents = typeof __propDef.events;
|
|
14
|
+
export type FaunadbIconSlots = typeof __propDef.slots;
|
|
15
|
+
export default class FaunadbIcon extends SvelteComponentTyped<FaunadbIconProps, FaunadbIconEvents, FaunadbIconSlots> {
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<script>export let height = '24px';
|
|
2
|
+
export let width = '24px';
|
|
3
|
+
</script>
|
|
4
|
+
|
|
5
|
+
<svg
|
|
6
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
7
|
+
x="0px"
|
|
8
|
+
y="0px"
|
|
9
|
+
{width}
|
|
10
|
+
{height}
|
|
11
|
+
viewBox="0 0 168 168"
|
|
12
|
+
fill="none"
|
|
13
|
+
>
|
|
14
|
+
<path
|
|
15
|
+
d="M75.3666 0.990772C56.9205 0.990772 40.5323 12.7091 34.82 30.0051C28.9578 31.1972 23.4203 33.6075 18.5758 37.0754C13.7313 40.5434 9.69106 44.9895 6.7239 50.1179C-2.52748 65.8927 -0.414958 85.724 11.9789 99.245C8.15248 110.57 9.46573 122.963 15.5767 133.218C24.7714 149.049 43.2721 157.162 61.3762 153.387C65.3401 157.8 70.2122 161.329 75.6676 163.739C81.123 166.148 87.0364 167.382 93.0135 167.359C111.46 167.359 127.848 155.641 133.56 138.345C145.438 135.921 155.661 128.597 161.6 118.232C170.908 102.457 168.795 82.6257 156.403 69.1047V69.0488C158.293 63.451 158.95 57.5194 158.33 51.6509C157.709 45.7825 155.826 40.1123 152.805 35.0198C143.609 19.245 125.106 11.13 107.06 14.905C103.078 10.503 98.1934 6.98605 92.7294 4.58725C87.2654 2.18845 81.3471 0.962552 75.3666 0.990772ZM75.3666 11.8088L75.31 11.8646C82.7341 11.8646 89.873 14.4 95.5833 19.0773C95.3546 19.1891 94.8973 19.4706 94.5554 19.6403L60.9776 38.7389C59.2637 39.6971 58.2358 41.4998 58.2358 43.4722V88.3172L43.7881 80.0924V43.021C43.7849 34.7519 47.1089 26.8196 53.03 20.9669C58.9511 15.1141 66.9849 11.8195 75.3666 11.8068V11.8088ZM115.816 24.8646C121.381 24.854 126.849 26.2929 131.669 29.0359C136.489 31.7788 140.49 35.7285 143.267 40.4857C146.921 46.796 148.291 54.1764 147.034 61.3311C146.806 61.1614 146.351 60.9378 146.063 60.7682L112.485 41.6116C111.641 41.1403 110.687 40.8926 109.716 40.8926C108.746 40.8926 107.792 41.1403 106.947 41.6116L67.6005 64.0341V47.5826L100.094 29.0469C104.871 26.3143 110.294 24.8711 115.816 24.8626V24.8646ZM32.7662 41.8931V81.2742C32.7662 83.2466 33.7941 84.9933 35.508 86.0075L74.796 108.374L60.2896 116.655L27.8531 98.1749C20.6043 94.0304 15.3186 87.2176 13.1561 79.232C10.9937 71.2464 12.1313 62.7407 16.3193 55.5818C20.0137 49.2641 25.8321 44.4207 32.7662 41.8911V41.8931ZM108.032 51.639L140.525 70.1189C155.659 78.7389 160.796 97.7817 152.059 112.712L152.115 112.768C148.404 119.078 142.579 123.923 135.669 126.403V87.0196C135.669 85.0472 134.641 83.2446 132.927 82.2883L93.582 59.8638L108.032 51.639ZM84.1607 65.2179L100.723 74.6824V93.5555L84.1607 103.02L67.6005 93.5555V74.6824L84.1607 65.2179ZM110.201 80.0924L124.649 88.3172V125.333C124.649 142.573 110.486 156.545 93.0701 156.545V156.489C85.7026 156.489 78.5071 153.954 72.8534 149.278C73.0821 149.167 73.5961 148.883 73.8814 148.713L107.459 129.615C109.173 128.657 110.258 126.854 110.199 124.882L110.201 80.0924ZM100.778 104.318V120.767L68.2844 139.247C53.1508 147.811 33.8487 142.74 25.1113 127.866H25.168C21.4569 121.612 20.1416 114.175 21.3982 107.021C21.6269 107.19 22.0842 107.414 22.3695 107.584L55.9472 126.74C56.792 127.211 57.7459 127.459 58.7164 127.459C59.6868 127.459 60.6408 127.211 61.4855 126.74L100.778 104.318Z"
|
|
16
|
+
fill="#0F0F0F"
|
|
17
|
+
/>
|
|
18
|
+
</svg>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
height?: string | undefined;
|
|
5
|
+
width?: string | undefined;
|
|
6
|
+
};
|
|
7
|
+
events: {
|
|
8
|
+
[evt: string]: CustomEvent<any>;
|
|
9
|
+
};
|
|
10
|
+
slots: {};
|
|
11
|
+
};
|
|
12
|
+
export type OpenaiIconProps = typeof __propDef.props;
|
|
13
|
+
export type OpenaiIconEvents = typeof __propDef.events;
|
|
14
|
+
export type OpenaiIconSlots = typeof __propDef.slots;
|
|
15
|
+
export default class OpenaiIcon extends SvelteComponentTyped<OpenaiIconProps, OpenaiIconEvents, OpenaiIconSlots> {
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
@@ -30,6 +30,9 @@ import TelegramIcon from './TelegramIcon.svelte';
|
|
|
30
30
|
import FunkwhaleIcon from './FunkwhaleIcon.svelte';
|
|
31
31
|
import GdocsIcon from './GdocsIcon.svelte';
|
|
32
32
|
import NextcloudIcon from './NextcloudIcon.svelte';
|
|
33
|
+
import FaunadbIcon from './FaunadbIcon.svelte';
|
|
34
|
+
import ClickhouseIcon from './ClickhouseIcon.svelte';
|
|
35
|
+
import OpenaiIcon from './OpenaiIcon.svelte';
|
|
33
36
|
export declare const APP_TO_ICON_COMPONENT: {
|
|
34
37
|
readonly postgresql: typeof PostgresIcon;
|
|
35
38
|
readonly mysql: typeof Mysql;
|
|
@@ -66,5 +69,8 @@ export declare const APP_TO_ICON_COMPONENT: {
|
|
|
66
69
|
readonly windmillhub: typeof WindmillIcon;
|
|
67
70
|
readonly gdocs: typeof GdocsIcon;
|
|
68
71
|
readonly ocs: typeof NextcloudIcon;
|
|
72
|
+
readonly faunadb: typeof FaunadbIcon;
|
|
73
|
+
readonly clickhouse: typeof ClickhouseIcon;
|
|
74
|
+
readonly openai: typeof OpenaiIcon;
|
|
69
75
|
};
|
|
70
|
-
export { AirtableIcon, DbIcon, DiscordIcon, GcalIcon, GCloudIcon, GdriveIcon, GithubIcon, GitlabIcon, GmailIcon, GSheetsIcon, HttpIcon, Mail, MastodonIcon, MatrixIcon, Mysql, PostgresIcon, S3Icon, Slack, TogglIcon, WindmillIcon, MailchimpIcon, SendgridIcon, LinkedinIcon, HubspotIcon, TelegramIcon, StripeIcon, DatadogIcon, FunkwhaleIcon, GdocsIcon, };
|
|
76
|
+
export { AirtableIcon, DbIcon, DiscordIcon, GcalIcon, GCloudIcon, GdriveIcon, GithubIcon, GitlabIcon, GmailIcon, GSheetsIcon, HttpIcon, Mail, MastodonIcon, MatrixIcon, Mysql, PostgresIcon, S3Icon, Slack, TogglIcon, WindmillIcon, MailchimpIcon, SendgridIcon, LinkedinIcon, HubspotIcon, TelegramIcon, StripeIcon, DatadogIcon, FunkwhaleIcon, GdocsIcon, FaunadbIcon, ClickhouseIcon, OpenaiIcon, };
|
|
@@ -30,6 +30,9 @@ import TelegramIcon from './TelegramIcon.svelte';
|
|
|
30
30
|
import FunkwhaleIcon from './FunkwhaleIcon.svelte';
|
|
31
31
|
import GdocsIcon from './GdocsIcon.svelte';
|
|
32
32
|
import NextcloudIcon from './NextcloudIcon.svelte';
|
|
33
|
+
import FaunadbIcon from './FaunadbIcon.svelte';
|
|
34
|
+
import ClickhouseIcon from './ClickhouseIcon.svelte';
|
|
35
|
+
import OpenaiIcon from './OpenaiIcon.svelte';
|
|
33
36
|
export const APP_TO_ICON_COMPONENT = {
|
|
34
37
|
postgresql: PostgresIcon,
|
|
35
38
|
mysql: Mysql,
|
|
@@ -65,6 +68,9 @@ export const APP_TO_ICON_COMPONENT = {
|
|
|
65
68
|
helper: WindmillIcon,
|
|
66
69
|
windmillhub: WindmillIcon,
|
|
67
70
|
gdocs: GdocsIcon,
|
|
68
|
-
ocs: NextcloudIcon
|
|
71
|
+
ocs: NextcloudIcon,
|
|
72
|
+
faunadb: FaunadbIcon,
|
|
73
|
+
clickhouse: ClickhouseIcon,
|
|
74
|
+
openai: OpenaiIcon,
|
|
69
75
|
};
|
|
70
|
-
export { AirtableIcon, DbIcon, DiscordIcon, GcalIcon, GCloudIcon, GdriveIcon, GithubIcon, GitlabIcon, GmailIcon, GSheetsIcon, HttpIcon, Mail, MastodonIcon, MatrixIcon, Mysql, PostgresIcon, S3Icon, Slack, TogglIcon, WindmillIcon, MailchimpIcon, SendgridIcon, LinkedinIcon, HubspotIcon, TelegramIcon, StripeIcon, DatadogIcon, FunkwhaleIcon, GdocsIcon, };
|
|
76
|
+
export { AirtableIcon, DbIcon, DiscordIcon, GcalIcon, GCloudIcon, GdriveIcon, GithubIcon, GitlabIcon, GmailIcon, GSheetsIcon, HttpIcon, Mail, MastodonIcon, MatrixIcon, Mysql, PostgresIcon, S3Icon, Slack, TogglIcon, WindmillIcon, MailchimpIcon, SendgridIcon, LinkedinIcon, HubspotIcon, TelegramIcon, StripeIcon, DatadogIcon, FunkwhaleIcon, GdocsIcon, FaunadbIcon, ClickhouseIcon, OpenaiIcon, };
|
|
@@ -3,6 +3,7 @@ import { createEventDispatcher } from 'svelte';
|
|
|
3
3
|
import { Badge } from '../common';
|
|
4
4
|
import { NEVER_TESTED_THIS_FAR } from '../flows/utils';
|
|
5
5
|
import { getTypeAsString } from '../flows/utils';
|
|
6
|
+
import Popover from '../Popover.svelte';
|
|
6
7
|
import { computeKey } from './utils';
|
|
7
8
|
import WarningMessage from './WarningMessage.svelte';
|
|
8
9
|
export let json;
|
|
@@ -49,7 +50,7 @@ function selectProp(key) {
|
|
|
49
50
|
<ul class="w-full">
|
|
50
51
|
{#each keys as key, index}
|
|
51
52
|
<li class="pt-1">
|
|
52
|
-
<button on:click={() => selectProp(key)}>
|
|
53
|
+
<button on:click={() => selectProp(key)} class="whitespace-nowrap">
|
|
53
54
|
{#if topLevelNode}
|
|
54
55
|
<Badge baseClass="border border-blue-600" color="indigo">{key}</Badge>
|
|
55
56
|
{:else}
|
|
@@ -82,9 +83,13 @@ function selectProp(key) {
|
|
|
82
83
|
{#if json[key] === NEVER_TESTED_THIS_FAR}
|
|
83
84
|
<WarningMessage />
|
|
84
85
|
{:else if json[key] == undefined}
|
|
85
|
-
<span>undefined</span>
|
|
86
|
+
<span class="text-2xs">undefined</span>
|
|
87
|
+
{:else if typeof json[key] == 'string'}
|
|
88
|
+
<span title={json[key]} class="text-2xs">"{truncate(json[key], 200)}"</span>
|
|
86
89
|
{:else}
|
|
87
|
-
<span
|
|
90
|
+
<span title={JSON.stringify(json[key])} class="text-2xs"
|
|
91
|
+
>{truncate(JSON.stringify(json[key]), 200)}</span
|
|
92
|
+
>
|
|
88
93
|
{/if}
|
|
89
94
|
</button>
|
|
90
95
|
{/if}
|
|
@@ -109,8 +114,10 @@ function selectProp(key) {
|
|
|
109
114
|
{#if !isLast && collapsed}
|
|
110
115
|
<span class="text-black">,</span>
|
|
111
116
|
{/if}
|
|
112
|
-
{:else}
|
|
117
|
+
{:else if topBrackets}
|
|
113
118
|
<span class="text-black">{openBracket}{closeBracket}</span>
|
|
119
|
+
{:else}
|
|
120
|
+
<span class="text-gray-600 text-xs">No items</span>
|
|
114
121
|
{/if}
|
|
115
122
|
|
|
116
123
|
<style>
|
|
@@ -15,9 +15,9 @@ import { json } from 'svelte-highlight/languages';
|
|
|
15
15
|
import DrawerContent from '../common/drawer/DrawerContent.svelte';
|
|
16
16
|
import HighlightCode from '../HighlightCode.svelte';
|
|
17
17
|
import LogViewer from '../LogViewer.svelte';
|
|
18
|
-
import { Pane } from 'svelte-splitpanes';
|
|
18
|
+
import { Pane, Splitpanes } from 'svelte-splitpanes';
|
|
19
19
|
import SplitPanesWrapper from '../splitPanes/SplitPanesWrapper.svelte';
|
|
20
|
-
import {
|
|
20
|
+
import { Loader2 } from 'lucide-svelte';
|
|
21
21
|
export let path;
|
|
22
22
|
export let lang;
|
|
23
23
|
export let previewIsLoading = false;
|
|
@@ -65,27 +65,31 @@ function closeDrawer() {
|
|
|
65
65
|
because SplitPanesWrapper uses the parent element as a reference point.
|
|
66
66
|
-->
|
|
67
67
|
{#if selectedTab === 'logs'}
|
|
68
|
-
<SplitPanesWrapper
|
|
69
|
-
<
|
|
70
|
-
<
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
><DisplayResult result={previewJob.result} />
|
|
68
|
+
<SplitPanesWrapper>
|
|
69
|
+
<Splitpanes horizontal>
|
|
70
|
+
<Pane class="relative">
|
|
71
|
+
<LogViewer
|
|
72
|
+
duration={previewJob?.['duration_ms']}
|
|
73
|
+
content={previewJob?.logs}
|
|
74
|
+
isLoading={previewIsLoading}
|
|
75
|
+
/>
|
|
76
|
+
</Pane>
|
|
77
|
+
<Pane>
|
|
78
|
+
{#if previewJob != undefined && 'result' in previewJob && previewJob.result != undefined}
|
|
79
|
+
<pre class="relative w-full h-full p-2"
|
|
80
|
+
><DisplayResult result={previewJob.result} />
|
|
82
81
|
</pre>
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
82
|
+
{:else}
|
|
83
|
+
<div class="text-sm text-gray-600 p-2">
|
|
84
|
+
{#if previewIsLoading}
|
|
85
|
+
<Loader2 class="animate-spin" />
|
|
86
|
+
{:else}
|
|
87
|
+
Test to see the result here'
|
|
88
|
+
{/if}
|
|
89
|
+
</div>
|
|
90
|
+
{/if}
|
|
91
|
+
</Pane>
|
|
92
|
+
</Splitpanes>
|
|
89
93
|
</SplitPanesWrapper>
|
|
90
94
|
{/if}
|
|
91
95
|
<TabContent value="history" class="p-2">
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
<script>import { workspaceStore, userWorkspaces } from '../../stores';
|
|
1
|
+
<script>import { workspaceStore, userWorkspaces, switchWorkspace, usersWorkspaceStore } from '../../stores';
|
|
2
2
|
import { classNames } from '../../utils';
|
|
3
|
-
import Icon from 'svelte-awesome';
|
|
4
3
|
import { Building } from 'lucide-svelte';
|
|
5
4
|
import Menu from '../common/menu/Menu.svelte';
|
|
6
5
|
export let isCollapsed = false;
|
|
@@ -30,7 +29,7 @@ export let isCollapsed = false;
|
|
|
30
29
|
<tr
|
|
31
30
|
class="text-xs cursor-pointer hover:bg-gray-100"
|
|
32
31
|
on:click={() => {
|
|
33
|
-
|
|
32
|
+
switchWorkspace(workspace.id)
|
|
34
33
|
close()
|
|
35
34
|
}}
|
|
36
35
|
>
|