windmill-components 1.394.8 → 1.405.5
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/package/assets/app.css +20 -0
- package/package/ata/edgeCases.d.ts +0 -1
- package/package/ata/edgeCases.js +2 -8
- package/package/ata/index.js +4 -3
- package/package/common.d.ts +1 -1
- package/package/common.js +2 -2
- package/package/components/ApiConnectForm.svelte +33 -7
- package/package/components/AppConnectLightweightResourcePicker.svelte +66 -0
- package/package/components/AppConnectLightweightResourcePicker.svelte.d.ts +21 -0
- package/package/components/ArgInput.svelte +10 -4
- package/package/components/ArgInput.svelte.d.ts +1 -0
- package/package/components/CenteredModal.svelte +4 -1
- package/package/components/CenteredModal.svelte.d.ts +1 -0
- package/package/components/CustomPopover.svelte +1 -1
- package/package/components/DateInput.svelte +2 -0
- package/package/components/DateInput.svelte.d.ts +1 -0
- package/package/components/DefaultScripts.svelte +8 -3
- package/package/components/DefaultScripts.svelte.d.ts +5 -1
- package/package/components/DefaultScriptsInner.svelte +16 -7
- package/package/components/DefaultScriptsInner.svelte.d.ts +3 -1
- package/package/components/Dev.svelte +68 -11
- package/package/components/DisplayResult.svelte +1 -1
- package/package/components/DropdownV2.svelte.d.ts +3 -3
- package/package/components/DropdownV2Inner.svelte.d.ts +3 -3
- package/package/components/EditableSchemaForm.svelte +1 -0
- package/package/components/Editor.svelte +3 -2
- package/package/components/Editor.svelte.d.ts +1 -1
- package/package/components/ExecutionDuration.svelte +44 -0
- package/package/components/ExecutionDuration.svelte.d.ts +24 -0
- package/package/components/FlowBuilder.svelte +22 -12
- package/package/components/FlowBuilder.svelte.d.ts +1 -0
- package/package/components/FlowGraphViewer.svelte +9 -2
- package/package/components/FlowGraphViewerStep.svelte +23 -10
- package/package/components/FlowInputViewer.svelte +25 -0
- package/package/components/FlowInputViewer.svelte.d.ts +19 -0
- package/package/components/FlowJobResult.svelte +8 -2
- package/package/components/FlowJobResult.svelte.d.ts +1 -0
- package/package/components/FlowMetadata.svelte +2 -2
- package/package/components/FlowStatusViewer.svelte +3 -1
- package/package/components/FlowStatusViewer.svelte.d.ts +1 -0
- package/package/components/FlowStatusViewerInner.svelte +21 -5
- package/package/components/FlowTimeline.svelte +3 -3
- package/package/components/FlowViewer.svelte +2 -21
- package/package/components/HighlightCode.svelte +3 -0
- package/package/components/IconedResourceType.svelte +17 -10
- package/package/components/IconedResourceType.svelte.d.ts +2 -0
- package/package/components/IdEditorInput.svelte +0 -1
- package/package/components/InstanceSettings.svelte +247 -129
- package/package/components/InstanceSettings.svelte.d.ts +2 -0
- package/package/components/JobArgs.svelte +3 -1
- package/package/components/LightweightArgInput.svelte +35 -10
- package/package/components/LightweightArgInput.svelte.d.ts +1 -0
- package/package/components/LightweightObjectResourceInput.svelte +2 -0
- package/package/components/LightweightObjectResourceInput.svelte.d.ts +1 -0
- package/package/components/LightweightResourcePicker.svelte +34 -30
- package/package/components/LightweightSchemaForm.svelte +2 -0
- package/package/components/LightweightSchemaForm.svelte.d.ts +1 -0
- package/package/components/LogViewer.svelte +4 -3
- package/package/components/LogViewer.svelte.d.ts +1 -0
- package/package/components/Login.svelte +10 -5
- package/package/components/Login.svelte.d.ts +1 -0
- package/package/components/ManualPopover.svelte +1 -1
- package/package/components/ModulePreview.svelte +21 -2
- package/package/components/ModuleStatus.svelte +3 -0
- package/package/components/ModuleStatus.svelte.d.ts +1 -0
- package/package/components/OAuthSetting.svelte +40 -15
- package/package/components/ObjectResourceInput.svelte +5 -2
- package/package/components/ObjectResourceInput.svelte.d.ts +2 -0
- package/package/components/ObjectStoreConfigSettings.svelte +78 -76
- package/package/components/ParqetCsvTableRenderer.svelte +25 -3
- package/package/components/Password.svelte.d.ts +1 -1
- package/package/components/Path.svelte +74 -54
- package/package/components/Path.svelte.d.ts +2 -1
- package/package/components/Popover.svelte +1 -1
- package/package/components/Portal.svelte +7 -8
- package/package/components/Portal.svelte.d.ts +3 -7
- package/package/components/QueueMetricsDrawer.svelte +368 -3
- package/package/components/QueueMetricsDrawer.svelte.d.ts +2 -0
- package/package/components/ResourceEditor.svelte +38 -10
- package/package/components/ResourcePicker.svelte +14 -9
- package/package/components/ResourcePicker.svelte.d.ts +1 -0
- package/package/components/ResultJobLoader.svelte +6 -3
- package/package/components/ResultJobLoader.svelte.d.ts +1 -1
- package/package/components/RunForm.svelte +1 -1
- package/package/components/SavedInputs.svelte +2 -2
- package/package/components/ScheduleEditorInner.svelte +2 -2
- package/package/components/SchemaForm.svelte +6 -1
- package/package/components/ScriptBuilder.svelte +12 -5
- package/package/components/ScriptEditor.svelte +33 -3
- package/package/components/ScriptEditor.svelte.d.ts +1 -1
- package/package/components/ScriptVersionHistory.svelte +54 -59
- package/package/components/Scrollable.svelte +47 -0
- package/package/components/Scrollable.svelte.d.ts +21 -0
- package/package/components/ShareModal.svelte.d.ts +2 -2
- package/package/components/SuperadminSettings.svelte +5 -7
- package/package/components/TestConnection.svelte +1 -0
- package/package/components/TestJobLoader.svelte +46 -5
- package/package/components/TestJobLoader.svelte.d.ts +2 -1
- package/package/components/TimeAgo.svelte +5 -6
- package/package/components/TimeAgo.svelte.d.ts +1 -1
- package/package/components/ToggleHubWorkspaceQuick.svelte +14 -0
- package/package/components/ToggleHubWorkspaceQuick.svelte.d.ts +16 -0
- package/package/components/WorkspaceGroup.svelte +3 -2
- package/package/components/apps/components/buttons/AppButton.svelte +1 -1
- package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +1 -1
- package/package/components/apps/components/helpers/DebouncedInput.svelte +9 -1
- package/package/components/apps/components/inputs/AppMultiSelect.svelte +1 -1
- package/package/components/apps/components/inputs/AppMultiSelectV2.svelte +1 -1
- package/package/components/apps/components/inputs/AppSelect.svelte +1 -1
- package/package/components/apps/components/layout/AppDrawer.svelte +1 -1
- package/package/components/apps/components/layout/AppModal.svelte +1 -1
- package/package/components/apps/editor/AppEditor.svelte +11 -3
- package/package/components/apps/editor/GridEditor.svelte +57 -4
- package/package/components/apps/editor/GridEditor.svelte.d.ts +8 -0
- package/package/components/apps/editor/GridEditorMenu.svelte +1 -1
- package/package/components/apps/editor/SubGridEditor.svelte +82 -3
- package/package/components/apps/editor/SubGridEditor.svelte.d.ts +16 -0
- package/package/components/apps/editor/appUtils.d.ts +19 -2
- package/package/components/apps/editor/appUtils.js +103 -7
- package/package/components/apps/editor/component/Component.svelte +36 -8
- package/package/components/apps/editor/component/Component.svelte.d.ts +3 -1
- package/package/components/apps/editor/component/components.d.ts +79 -79
- package/package/components/apps/editor/contextPanel/components/OutputHeader.svelte +1 -1
- package/package/components/apps/svelte-grid/Grid.svelte +235 -12
- package/package/components/apps/svelte-grid/Grid.svelte.d.ts +7 -7
- package/package/components/apps/svelte-grid/MoveResize.svelte +104 -11
- package/package/components/apps/svelte-grid/MoveResize.svelte.d.ts +7 -0
- package/package/components/apps/svelte-grid/utils/item.d.ts +4 -1
- package/package/components/apps/svelte-grid/utils/item.js +2 -3
- package/package/components/apps/svelte-select/lib/ConditionalPortal.svelte +1 -1
- package/package/components/apps/svelte-select/lib/ConditionalPortalGlobal.svelte +1 -1
- package/package/components/apps/svelte-select/lib/Select.svelte +1 -1
- package/package/components/common/button/ButtonDropdown.svelte +1 -1
- package/package/components/common/drawer/ConditionalPortal.svelte +1 -1
- package/package/components/common/fileUpload/FileUpload.svelte +1 -1
- package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
- package/package/components/common/menu/Menu.svelte +2 -1
- package/package/components/common/menu/MenuV2.svelte +4 -2
- package/package/components/common/menu/MenuV2.svelte.d.ts +1 -0
- package/package/components/common/modal/AlwaysMountedModal.svelte +1 -1
- package/package/components/common/popup/Popup.svelte +22 -12
- package/package/components/common/popup/Popup.svelte.d.ts +2 -0
- package/package/components/common/popup/PopupV2.svelte +58 -0
- package/package/components/common/popup/PopupV2.svelte.d.ts +27 -0
- package/package/components/copilot/CronGen.svelte +1 -1
- package/package/components/copilot/RegexGen.svelte +4 -4
- package/package/components/copilot/StepGen.svelte +6 -6
- package/package/components/copilot/StepGenQuick.svelte +58 -0
- package/package/components/copilot/StepGenQuick.svelte.d.ts +24 -0
- package/package/components/copilot/flow.d.ts +2 -0
- package/package/components/copilot/flow.js +55 -0
- package/package/components/details/DetailPageDetailPanel.svelte +9 -1
- package/package/components/details/DetailPageDetailPanel.svelte.d.ts +2 -1
- package/package/components/details/DetailPageLayout.svelte +2 -0
- package/package/components/details/DetailPageLayout.svelte.d.ts +3 -0
- package/package/components/details/Menu.svelte +1 -1
- package/package/components/details/utils.d.ts +0 -1
- package/package/components/details/utils.js +1 -12
- package/package/components/flows/CreateActionsApp.svelte +1 -1
- package/package/components/flows/FlowEditor.svelte +4 -2
- package/package/components/flows/FlowEditor.svelte.d.ts +1 -0
- package/package/components/flows/FlowHistory.svelte +10 -195
- package/package/components/flows/FlowHistory.svelte.d.ts +0 -1
- package/package/components/flows/FlowHistoryInner.svelte +200 -0
- package/package/components/flows/FlowHistoryInner.svelte.d.ts +19 -0
- package/package/components/flows/FlowProgressBar.svelte +16 -1
- package/package/components/flows/FlowProgressBar.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowBranchesAllWrapper.svelte +8 -0
- package/package/components/flows/content/FlowBranchesAllWrapper.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowBranchesOneWrapper.svelte +8 -0
- package/package/components/flows/content/FlowBranchesOneWrapper.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowConstants.svelte +1 -1
- package/package/components/flows/content/FlowEditorPanel.svelte +5 -1
- package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowInput.svelte +66 -58
- package/package/components/flows/content/FlowInput.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowInputs.svelte +7 -6
- package/package/components/flows/content/FlowInputs.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowInputsFlowQuick.svelte +65 -0
- package/package/components/flows/content/FlowInputsFlowQuick.svelte.d.ts +19 -0
- package/package/components/flows/content/FlowInputsQuick.svelte +419 -0
- package/package/components/flows/content/FlowInputsQuick.svelte.d.ts +33 -0
- package/package/components/flows/content/FlowLoop.svelte +7 -1
- package/package/components/flows/content/FlowModuleComponent.svelte +12 -3
- package/package/components/flows/content/FlowModuleComponent.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowModuleScript.svelte +1 -1
- package/package/components/flows/content/FlowModuleSkip.svelte +69 -0
- package/package/components/flows/content/FlowModuleSkip.svelte.d.ts +20 -0
- package/package/components/flows/content/FlowModuleWrapper.svelte +17 -4
- package/package/components/flows/content/FlowPreprocessorModule.svelte +16 -0
- package/package/components/flows/content/FlowPreprocessorModule.svelte.d.ts +16 -0
- package/package/components/flows/content/FlowWhileLoop.svelte +9 -0
- package/package/components/flows/content/FlowWhileLoop.svelte.d.ts +1 -0
- package/package/components/flows/content/GenAiQuick.svelte +30 -0
- package/package/components/flows/content/GenAiQuick.svelte.d.ts +20 -0
- package/package/components/flows/content/ScriptEditorDrawer.svelte +3 -2
- package/package/components/flows/flowInfers.js +1 -1
- package/package/components/flows/header/FlowPreviewButtons.svelte +1 -0
- package/package/components/flows/idUtils.js +3 -1
- package/package/components/flows/map/FlowCopilotButton.svelte +55 -0
- package/package/components/flows/map/FlowCopilotButton.svelte.d.ts +16 -0
- package/package/components/flows/map/FlowErrorHandlerItem.svelte +77 -47
- package/package/components/flows/map/FlowJobsMenu.svelte +1 -1
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +25 -12
- package/package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +1 -0
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +64 -20
- package/package/components/flows/map/InsertModuleButton.svelte +161 -138
- package/package/components/flows/map/InsertModuleButton.svelte.d.ts +7 -4
- package/package/components/flows/map/MapItem.svelte +11 -0
- package/package/components/flows/map/MapItem.svelte.d.ts +1 -0
- package/package/components/flows/pickers/FlowScriptPickerQuick.svelte +48 -0
- package/package/components/flows/pickers/FlowScriptPickerQuick.svelte.d.ts +23 -0
- package/package/components/flows/pickers/FlowToplevelNode.svelte +19 -0
- package/package/components/flows/pickers/FlowToplevelNode.svelte.d.ts +19 -0
- package/package/components/flows/pickers/PickHubScriptQuick.svelte +138 -0
- package/package/components/flows/pickers/PickHubScriptQuick.svelte.d.ts +33 -0
- package/package/components/flows/pickers/TopLevelNode.svelte +58 -0
- package/package/components/flows/pickers/TopLevelNode.svelte.d.ts +21 -0
- package/package/components/flows/pickers/WorkspaceScriptPickerQuick.svelte +120 -0
- package/package/components/flows/pickers/WorkspaceScriptPickerQuick.svelte.d.ts +35 -0
- package/package/components/flows/types.d.ts +1 -0
- package/package/components/graph/FlowGraphV2.svelte +93 -58
- package/package/components/graph/FlowGraphV2.svelte.d.ts +2 -1
- package/package/components/graph/graphBuilder.d.ts +2 -1
- package/package/components/graph/graphBuilder.js +345 -280
- package/package/components/graph/model.d.ts +2 -0
- package/package/components/graph/renderers/edges/BaseEdge.svelte +36 -14
- package/package/components/graph/renderers/nodes/BranchOneStart.svelte +1 -1
- package/package/components/graph/renderers/nodes/InputNode.svelte +31 -51
- package/package/components/graph/renderers/nodes/InputNode.svelte.d.ts +6 -1
- package/package/components/graph/renderers/nodes/ModuleNode.svelte +2 -1
- package/package/components/graph/util.d.ts +1 -1
- package/package/components/graph/util.js +7 -2
- package/package/components/home/ListFiltersQuick.svelte +51 -0
- package/package/components/home/ListFiltersQuick.svelte.d.ts +23 -0
- package/package/components/icons/AnsibleIcon.svelte +42 -0
- package/package/components/icons/AnsibleIcon.svelte.d.ts +25 -0
- package/package/components/icons/WindmillIcon.svelte +119 -105
- package/package/components/icons/WindmillIcon2.svelte +141 -0
- package/package/components/icons/WindmillIcon2.svelte.d.ts +20 -0
- package/package/components/icons/index.d.ts +2 -1
- package/package/components/icons/index.js +2 -1
- package/package/components/icons/store.d.ts +4 -0
- package/package/components/icons/store.js +1 -0
- package/package/components/instanceSettings.d.ts +2 -2
- package/package/components/instanceSettings.js +25 -58
- package/package/components/jobs/JobProgressBar.svelte +52 -0
- package/package/components/jobs/JobProgressBar.svelte.d.ts +23 -0
- package/package/components/multiselect/MultiSelectWrapper.svelte +1 -1
- package/package/components/progressBar/ProgressBar.svelte +18 -1
- package/package/components/progressBar/ProgressBar.svelte.d.ts +3 -0
- package/package/components/propertyPicker/ObjectViewer.svelte +1 -1
- package/package/components/runs/JobPreview.svelte +1 -0
- package/package/components/runs/PreprocessedArgsDisplay.svelte +71 -0
- package/package/components/runs/PreprocessedArgsDisplay.svelte.d.ts +16 -0
- package/package/components/runs/RunRow.svelte +3 -7
- package/package/components/schema/AddProperty.svelte +1 -0
- package/package/components/schema/EditableSchemaWrapper.svelte +142 -19
- package/package/components/schema/EditableSchemaWrapper.svelte.d.ts +1 -0
- package/package/components/schema/FlowPropertyEditor.svelte +13 -0
- package/package/components/schema/FlowPropertyEditor.svelte.d.ts +1 -0
- package/package/components/scriptEditor/LogPanel.svelte +1 -0
- package/package/components/scriptEditor/LogPanel.svelte.d.ts +3 -1
- package/package/components/search/GlobalSearchModal.svelte +3 -2
- package/package/components/sidebar/SidebarContent.svelte +69 -8
- package/package/components/sidebar/changelogs.js +10 -0
- package/package/components/triggers/RouteEditor.svelte +19 -0
- package/package/components/triggers/RouteEditor.svelte.d.ts +21 -0
- package/package/components/triggers/RouteEditorInner.svelte +327 -0
- package/package/components/triggers/RouteEditorInner.svelte.d.ts +21 -0
- package/package/components/triggers/RoutesPanel.svelte +74 -0
- package/package/components/triggers/RoutesPanel.svelte.d.ts +17 -0
- package/package/editorUtils.js +2 -0
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +159 -8
- package/package/gen/schemas.gen.js +161 -8
- package/package/gen/services.gen.d.ts +139 -1
- package/package/gen/services.gen.js +282 -1
- package/package/gen/types.gen.d.ts +455 -12
- package/package/hubPaths.json +6 -8
- package/package/infer.d.ts +4 -2
- package/package/infer.js +25 -23
- package/package/inferArgSig.js +8 -2
- package/package/monaco_workers/graphql.worker.bundle.js +45440 -174
- package/package/relative_imports.d.ts +3 -0
- package/package/relative_imports.js +25 -0
- package/package/script_helpers.d.ts +38 -34
- package/package/script_helpers.js +245 -35
- package/package/scripts.d.ts +1 -1
- package/package/scripts.js +5 -1
- package/package/stores.d.ts +1 -0
- package/package/stores.js +1 -0
- package/package/utils.d.ts +1 -0
- package/package/utils.js +4 -0
- package/package.json +38 -7
- package/package/components/flows/map/InsertTriggerButton.svelte +0 -48
- package/package/components/flows/map/InsertTriggerButton.svelte.d.ts +0 -24
- package/package/init_scripts/python_failure_module.d.ts +0 -2
- package/package/init_scripts/python_failure_module.js +0 -8
- package/package/init_scripts/python_init_code.d.ts +0 -2
- package/package/init_scripts/python_init_code.js +0 -40
- package/package/init_scripts/python_init_code_clear.d.ts +0 -2
- package/package/init_scripts/python_init_code_clear.js +0 -5
- package/package/init_scripts/python_init_code_trigger.d.ts +0 -2
- package/package/init_scripts/python_init_code_trigger.js +0 -14
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
<script>import Badge from '../common/badge/Badge.svelte';
|
|
2
|
+
// import { ClipboardCopy, Download } from 'lucide-svelte'
|
|
3
|
+
// import Drawer from '../common/drawer/Drawer.svelte'
|
|
4
|
+
// import DrawerContent from '../common/drawer/DrawerContent.svelte'
|
|
5
|
+
// import { Highlight } from 'svelte-highlight'
|
|
6
|
+
// import Button from '../common/button/Button.svelte'
|
|
7
|
+
// import { json } from 'svelte-highlight/languages'
|
|
8
|
+
// import { copyToClipboard } from '../../utils'
|
|
9
|
+
// import { deepEqual } from 'fast-equals'
|
|
10
|
+
export let flowStatus;
|
|
11
|
+
// $: args =
|
|
12
|
+
// '_metadata' in flowStatus && 'original_args' in flowStatus['_metadata']
|
|
13
|
+
// ? flowStatus['_metadata']['original_args']
|
|
14
|
+
// : undefined
|
|
15
|
+
$: hasPreprocessedArgs =
|
|
16
|
+
'_metadata' in flowStatus && !!flowStatus['_metadata']['preprocessed_args'];
|
|
17
|
+
// $: argsStr = args !== undefined ? JSON.stringify(args, null, 4) : undefined
|
|
18
|
+
// let jsonViewer: Drawer | undefined = undefined
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
{#if hasPreprocessedArgs}
|
|
22
|
+
<div>
|
|
23
|
+
<Badge color="yellow">preprocessed args</Badge>
|
|
24
|
+
</div>
|
|
25
|
+
{/if}
|
|
26
|
+
|
|
27
|
+
<!--
|
|
28
|
+
{#if args !== undefined && argsStr !== undefined}
|
|
29
|
+
<Drawer bind:this={jsonViewer} size="900px">
|
|
30
|
+
<DrawerContent title="Original args" on:close={jsonViewer.closeDrawer}>
|
|
31
|
+
<svelte:fragment slot="actions">
|
|
32
|
+
<Button
|
|
33
|
+
download="windmill-args.json"
|
|
34
|
+
href={`data:text/json;charset=utf-8,${encodeURIComponent(argsStr)}`}
|
|
35
|
+
startIcon={{ icon: Download }}
|
|
36
|
+
size="xs"
|
|
37
|
+
color="light"
|
|
38
|
+
>
|
|
39
|
+
Download
|
|
40
|
+
</Button>
|
|
41
|
+
<Button
|
|
42
|
+
on:click={() => copyToClipboard(argsStr)}
|
|
43
|
+
color="light"
|
|
44
|
+
size="xs"
|
|
45
|
+
startIcon={{ icon: ClipboardCopy }}
|
|
46
|
+
>
|
|
47
|
+
Copy to clipboard
|
|
48
|
+
</Button>
|
|
49
|
+
</svelte:fragment>
|
|
50
|
+
{#if args.length > 100000 || (args && typeof args === 'object' && deepEqual( Object.keys(args), ['reason'] ) && args['reason'] == 'WINDMILL_TOO_BIG')}
|
|
51
|
+
<div class="text-sm mb-2 text-tertiary">
|
|
52
|
+
<a
|
|
53
|
+
download="windmill-args.json"
|
|
54
|
+
href={`data:text/json;charset=utf-8,${encodeURIComponent(args)}`}
|
|
55
|
+
>
|
|
56
|
+
JSON is too large to be displayed in full.
|
|
57
|
+
</a></div
|
|
58
|
+
>
|
|
59
|
+
{:else}
|
|
60
|
+
<Highlight language={json} code={argsStr.replace(/\\n/g, '\n')} />
|
|
61
|
+
{/if}
|
|
62
|
+
</DrawerContent>
|
|
63
|
+
</Drawer>
|
|
64
|
+
<button
|
|
65
|
+
on:click={() => {
|
|
66
|
+
jsonViewer?.openDrawer()
|
|
67
|
+
}}
|
|
68
|
+
>
|
|
69
|
+
<Badge color="yellow">preprocessed args</Badge>
|
|
70
|
+
</button>
|
|
71
|
+
{/if} -->
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
flowStatus: any;
|
|
5
|
+
};
|
|
6
|
+
events: {
|
|
7
|
+
[evt: string]: CustomEvent<any>;
|
|
8
|
+
};
|
|
9
|
+
slots: {};
|
|
10
|
+
};
|
|
11
|
+
export type PreprocessedArgsDisplayProps = typeof __propDef.props;
|
|
12
|
+
export type PreprocessedArgsDisplayEvents = typeof __propDef.events;
|
|
13
|
+
export type PreprocessedArgsDisplaySlots = typeof __propDef.slots;
|
|
14
|
+
export default class PreprocessedArgsDisplay extends SvelteComponent<PreprocessedArgsDisplayProps, PreprocessedArgsDisplayEvents, PreprocessedArgsDisplaySlots> {
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
@@ -25,7 +25,7 @@ function isJobCancelable(j) {
|
|
|
25
25
|
}
|
|
26
26
|
</script>
|
|
27
27
|
|
|
28
|
-
<Portal>
|
|
28
|
+
<Portal name="run-row">
|
|
29
29
|
<ScheduleEditor on:update={() => goto('/schedules')} bind:this={scheduleEditor} />
|
|
30
30
|
</Portal>
|
|
31
31
|
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
|
@@ -86,7 +86,7 @@ function isJobCancelable(j) {
|
|
|
86
86
|
<div class="flex flex-row items-center gap-1 text-gray-500 dark:text-gray-300 text-2xs">
|
|
87
87
|
{#if job}
|
|
88
88
|
{#if 'started_at' in job && job.started_at}
|
|
89
|
-
Started <TimeAgo
|
|
89
|
+
Started <TimeAgo agoOnlyIfRecent date={job.started_at ?? ''} />
|
|
90
90
|
{#if job && 'duration_ms' in job && job.duration_ms != undefined}
|
|
91
91
|
(Ran in {msToReadableTime(
|
|
92
92
|
job.duration_ms
|
|
@@ -102,11 +102,7 @@ function isJobCancelable(j) {
|
|
|
102
102
|
{:else if `scheduled_for` in job && job.scheduled_for && forLater(job.scheduled_for)}
|
|
103
103
|
Scheduled for {displayDate(job.scheduled_for)}
|
|
104
104
|
{:else}
|
|
105
|
-
Waiting for executor (created <TimeAgo
|
|
106
|
-
withDate
|
|
107
|
-
agoOnlyIfRecent
|
|
108
|
-
date={job.created_at || ''}
|
|
109
|
-
/>)
|
|
105
|
+
Waiting for executor (created <TimeAgo agoOnlyIfRecent date={job.created_at || ''} />)
|
|
110
106
|
{/if}
|
|
111
107
|
{/if}
|
|
112
108
|
</div>
|
|
@@ -2,33 +2,156 @@
|
|
|
2
2
|
import EditableSchemaForm from '../EditableSchemaForm.svelte';
|
|
3
3
|
import AddProperty from './AddProperty.svelte';
|
|
4
4
|
import { createEventDispatcher } from 'svelte';
|
|
5
|
+
import Toggle from '../Toggle.svelte';
|
|
6
|
+
import { emptySchema, validateFileExtension } from '../../utils';
|
|
7
|
+
import AutoComplete from 'simple-svelte-autocomplete';
|
|
8
|
+
import { Alert } from '../common';
|
|
5
9
|
export let schema;
|
|
6
10
|
export let offset = 0;
|
|
7
11
|
export let uiOnly = false;
|
|
8
12
|
export let noPreview = false;
|
|
9
13
|
export let fullHeight = true;
|
|
10
14
|
export let lightweightMode = false;
|
|
15
|
+
export let formatExtension = undefined;
|
|
16
|
+
let resourceIsTextFile = false;
|
|
11
17
|
let addProperty = undefined;
|
|
12
18
|
const dispatch = createEventDispatcher();
|
|
19
|
+
$: !resourceIsTextFile && (formatExtension = undefined);
|
|
20
|
+
$: invalidExtension =
|
|
21
|
+
formatExtension && formatExtension != ''
|
|
22
|
+
? !validateFileExtension(formatExtension ?? 'txt')
|
|
23
|
+
: false;
|
|
24
|
+
function switchResourceIsFile() {
|
|
25
|
+
if (!resourceIsTextFile) {
|
|
26
|
+
schema = emptySchema();
|
|
27
|
+
formatExtension = undefined;
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
formatExtension = "";
|
|
31
|
+
schema = emptySchema();
|
|
32
|
+
schema.order = ['content'];
|
|
33
|
+
schema.properties = {
|
|
34
|
+
content: {
|
|
35
|
+
type: 'string',
|
|
36
|
+
description: 'Text contents of the file'
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
dispatch('change', schema);
|
|
41
|
+
}
|
|
42
|
+
function numberOfMatches(listItem, searchWords) {
|
|
43
|
+
if (!listItem) {
|
|
44
|
+
return 0;
|
|
45
|
+
}
|
|
46
|
+
let matches = 0;
|
|
47
|
+
searchWords.forEach((searchWord) => {
|
|
48
|
+
const searchLetters = searchWord.split('');
|
|
49
|
+
if (searchLetters.every((l) => listItem.includes(l))) {
|
|
50
|
+
matches++;
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
return matches;
|
|
54
|
+
}
|
|
55
|
+
let suggestedFileExtensions = ['json', 'yaml', 'jinja', 'j2', 'ini', 'cfg', 'toml', 'html', 'xml', 'yml'];
|
|
56
|
+
let autocompleteExtension = true;
|
|
13
57
|
</script>
|
|
14
58
|
|
|
15
|
-
|
|
16
|
-
<div class=
|
|
17
|
-
<
|
|
59
|
+
{#if !resourceIsTextFile}
|
|
60
|
+
<div class={twMerge(fullHeight ? 'h-full' : 'h-80', 'border overflow-y-auto rounded-md')}>
|
|
61
|
+
<div class="p-4 border-b">
|
|
62
|
+
<AddProperty
|
|
63
|
+
on:change={() => dispatch('change', schema)}
|
|
64
|
+
bind:schema
|
|
65
|
+
bind:this={addProperty}
|
|
66
|
+
/>
|
|
67
|
+
</div>
|
|
68
|
+
<EditableSchemaForm
|
|
69
|
+
bind:schema
|
|
70
|
+
on:change={() => dispatch('change', schema)}
|
|
71
|
+
isFlowInput
|
|
72
|
+
on:edit={(e) => {
|
|
73
|
+
addProperty?.openDrawer(e.detail)
|
|
74
|
+
}}
|
|
75
|
+
on:delete={(e) => {
|
|
76
|
+
addProperty?.handleDeleteArgument([e.detail])
|
|
77
|
+
}}
|
|
78
|
+
{offset}
|
|
79
|
+
{uiOnly}
|
|
80
|
+
{noPreview}
|
|
81
|
+
{lightweightMode}
|
|
82
|
+
/>
|
|
18
83
|
</div>
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
84
|
+
{/if}
|
|
85
|
+
{#if resourceIsTextFile}
|
|
86
|
+
<div class="flex items-center space-x-2 w-5/12">
|
|
87
|
+
<label for="format-extension" class="text-base font-medium whitespace-nowrap">
|
|
88
|
+
File extension{autocompleteExtension ? "" : " (free text)"}:
|
|
89
|
+
</label>
|
|
90
|
+
{#if autocompleteExtension}
|
|
91
|
+
<AutoComplete
|
|
92
|
+
inputId="format-extension"
|
|
93
|
+
autofocus={true}
|
|
94
|
+
items={[...suggestedFileExtensions, 'Choose another extension']}
|
|
95
|
+
onChange={(a) => {
|
|
96
|
+
if (a == 'Choose another extension') {
|
|
97
|
+
formatExtension = ''
|
|
98
|
+
autocompleteExtension = false
|
|
99
|
+
}
|
|
100
|
+
}}
|
|
101
|
+
itemFilterFunction={(listItem, searchWords) => {
|
|
102
|
+
if (searchWords.length == 0 || listItem === 'Choose another extension') {
|
|
103
|
+
return true
|
|
104
|
+
}
|
|
105
|
+
return numberOfMatches(listItem, searchWords) > 0
|
|
106
|
+
}}
|
|
107
|
+
noResultsText="No matches, try the 'Choose another extension' option"
|
|
108
|
+
bind:selectedItem={formatExtension}
|
|
109
|
+
inputClassName="!h-[32px] py-1 !text-xs !w-64"
|
|
110
|
+
hideArrow
|
|
111
|
+
className={'!font-bold'}
|
|
112
|
+
dropdownClassName="!font-normal !w-64 !max-w-64"
|
|
113
|
+
maxItemsToShowInList={8}
|
|
114
|
+
moreItemsText={null}
|
|
115
|
+
lock={true}
|
|
116
|
+
/>
|
|
117
|
+
{:else}
|
|
118
|
+
<input
|
|
119
|
+
autofocus={true}
|
|
120
|
+
bind:value={formatExtension}
|
|
121
|
+
class="!h-[32px] py-1 !text-xs !w-64"
|
|
122
|
+
placeholder="Enter your extension"
|
|
123
|
+
on:keydown={(event) => {
|
|
124
|
+
if (event.key === 'Enter') {
|
|
125
|
+
if (formatExtension && !suggestedFileExtensions.includes(formatExtension))
|
|
126
|
+
suggestedFileExtensions.push(formatExtension)
|
|
127
|
+
|
|
128
|
+
autocompleteExtension = true
|
|
129
|
+
}
|
|
130
|
+
}}
|
|
131
|
+
/>
|
|
132
|
+
{/if}
|
|
133
|
+
</div>
|
|
134
|
+
|
|
135
|
+
{#if invalidExtension}
|
|
136
|
+
<Alert title="Invalid file extension" type="error">
|
|
137
|
+
The provided extension (<span class="font-bold font-mono">.{formatExtension}</span>) contains
|
|
138
|
+
invalid characters. Note that you shouldn't add the leading dot, (i.e. enter `json` instead of `.json`)
|
|
139
|
+
</Alert>
|
|
140
|
+
{:else if formatExtension && formatExtension !== ''}
|
|
141
|
+
<Alert title={`Example: my_file.${formatExtension}`} type="info">
|
|
142
|
+
The <span class="font-bold font-mono"> .{formatExtension} </span> extension will be used to infer
|
|
143
|
+
the format when displaying the content and this is also how the resource will appear when pulling
|
|
144
|
+
via the CLI.
|
|
145
|
+
</Alert>
|
|
146
|
+
<div />
|
|
147
|
+
{/if}
|
|
148
|
+
{/if}
|
|
149
|
+
<Toggle
|
|
150
|
+
bind:checked={resourceIsTextFile}
|
|
151
|
+
options={{
|
|
152
|
+
right: 'This resource type represents a plain text file (clears current schema)',
|
|
153
|
+
rightTooltip:
|
|
154
|
+
'A text file such as a config file, template, or any other file format that contains plain text'
|
|
155
|
+
}}
|
|
156
|
+
on:change={() => switchResourceIsFile()}
|
|
157
|
+
/>
|
|
@@ -25,6 +25,7 @@ export let password = false;
|
|
|
25
25
|
export let variableEditor = undefined;
|
|
26
26
|
export let itemPicker = undefined;
|
|
27
27
|
export let nullable = false;
|
|
28
|
+
export let disabled = false;
|
|
28
29
|
export let defaultValue = undefined;
|
|
29
30
|
export let propsNames = [];
|
|
30
31
|
export let showExpr = undefined;
|
|
@@ -302,9 +303,11 @@ let initialObjectSelected = Object.keys(schema?.properties ?? {}).length == 0 ?
|
|
|
302
303
|
{contentEncoding}
|
|
303
304
|
{format}
|
|
304
305
|
{extra}
|
|
306
|
+
{disabled}
|
|
305
307
|
/>
|
|
306
308
|
{:else}
|
|
307
309
|
<ArgInput
|
|
310
|
+
noDefaultOnSelectFirst
|
|
308
311
|
{itemPicker}
|
|
309
312
|
resourceTypes={getResourceTypesFromFormat(format)}
|
|
310
313
|
bind:value={defaultValue}
|
|
@@ -316,6 +319,7 @@ let initialObjectSelected = Object.keys(schema?.properties ?? {}).length == 0 ?
|
|
|
316
319
|
{contentEncoding}
|
|
317
320
|
{format}
|
|
318
321
|
{extra}
|
|
322
|
+
{disabled}
|
|
319
323
|
{nullable}
|
|
320
324
|
{variableEditor}
|
|
321
325
|
compact
|
|
@@ -352,6 +356,15 @@ let initialObjectSelected = Object.keys(schema?.properties ?? {}).length == 0 ?
|
|
|
352
356
|
disabled={required}
|
|
353
357
|
/>
|
|
354
358
|
{/if}
|
|
359
|
+
<Toggle
|
|
360
|
+
options={{
|
|
361
|
+
right: 'Disabled',
|
|
362
|
+
rightTooltip: 'Do not let user modify this field'
|
|
363
|
+
}}
|
|
364
|
+
lightMode
|
|
365
|
+
size="xs"
|
|
366
|
+
bind:checked={disabled}
|
|
367
|
+
/>
|
|
355
368
|
</div>
|
|
356
369
|
|
|
357
370
|
{#if displayWebhookWarning && !(type === 'object' && oneOf && oneOf.length >= 2)}
|
|
@@ -14,6 +14,7 @@ declare const __propDef: {
|
|
|
14
14
|
variableEditor?: VariableEditor | undefined;
|
|
15
15
|
itemPicker?: ItemPicker | undefined;
|
|
16
16
|
nullable?: boolean | undefined;
|
|
17
|
+
disabled?: boolean | undefined;
|
|
17
18
|
defaultValue?: any;
|
|
18
19
|
propsNames?: any;
|
|
19
20
|
showExpr?: string | undefined;
|
|
@@ -399,7 +399,7 @@ function maxModalHeight(tab) {
|
|
|
399
399
|
</script>
|
|
400
400
|
|
|
401
401
|
{#if open}
|
|
402
|
-
<Portal>
|
|
402
|
+
<Portal name="global-search">
|
|
403
403
|
<div
|
|
404
404
|
class={twMerge(
|
|
405
405
|
`fixed top-0 bottom-0 left-0 right-0 transition-all duration-50 flex items-start justify-center`,
|
|
@@ -421,8 +421,9 @@ function maxModalHeight(tab) {
|
|
|
421
421
|
id="quickSearchInput"
|
|
422
422
|
bind:this={textInput}
|
|
423
423
|
type="text"
|
|
424
|
-
class="quick-search-input"
|
|
424
|
+
class="quick-search-input !bg-surface"
|
|
425
425
|
bind:value={searchTerm}
|
|
426
|
+
autocomplete="off"
|
|
426
427
|
/>
|
|
427
428
|
<label
|
|
428
429
|
for="quickSearchInput"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script>import MenuLink from './MenuLink.svelte';
|
|
2
|
-
import { superadmin, userStore, workspaceStore } from '../../stores';
|
|
2
|
+
import { superadmin, usedTriggerKinds, userStore, workspaceStore } from '../../stores';
|
|
3
3
|
import { SIDEBAR_SHOW_SCHEDULES } from '../../consts';
|
|
4
|
-
import { BookOpen, Bot, Boxes, Calendar, DollarSign, Eye, FolderCog, FolderOpen, Github, HelpCircle, Home, LogOut, Newspaper, Play, ServerCog, Settings, UserCog } from 'lucide-svelte';
|
|
4
|
+
import { BookOpen, Bot, Boxes, Calendar, DollarSign, Eye, FolderCog, FolderOpen, Github, HelpCircle, Home, LogOut, Newspaper, Play, Route, ServerCog, Settings, UserCog, Plus } from 'lucide-svelte';
|
|
5
5
|
import Menu from '../common/menu/MenuV2.svelte';
|
|
6
6
|
import MenuButton from './MenuButton.svelte';
|
|
7
7
|
import { MenuItem } from '@rgossiaux/svelte-headlessui';
|
|
@@ -16,6 +16,7 @@ import { twMerge } from 'tailwind-merge';
|
|
|
16
16
|
import { onMount } from 'svelte';
|
|
17
17
|
import { base } from '../../base';
|
|
18
18
|
import { changelogs } from './changelogs';
|
|
19
|
+
import { page } from '$app/stores';
|
|
19
20
|
$: mainMenuLinks = [
|
|
20
21
|
{ label: 'Home', href: `${base}/`, icon: Home },
|
|
21
22
|
{ label: 'Runs', href: `${base}/runs`, icon: Play },
|
|
@@ -25,13 +26,16 @@ $: mainMenuLinks = [
|
|
|
25
26
|
icon: DollarSign,
|
|
26
27
|
disabled: $userStore?.operator
|
|
27
28
|
},
|
|
28
|
-
{ label: 'Resources', href: `${base}/resources`, icon: Boxes, disabled: $userStore?.operator }
|
|
29
|
+
{ label: 'Resources', href: `${base}/resources`, icon: Boxes, disabled: $userStore?.operator }
|
|
30
|
+
];
|
|
31
|
+
$: triggerMenuLinks = [
|
|
29
32
|
{
|
|
30
33
|
label: 'Schedules',
|
|
31
34
|
href: `${base}/schedules`,
|
|
32
35
|
icon: Calendar,
|
|
33
36
|
disabled: !SIDEBAR_SHOW_SCHEDULES || $userStore?.operator
|
|
34
|
-
}
|
|
37
|
+
},
|
|
38
|
+
...defaultExtraTriggerLinks.filter((link) => $usedTriggerKinds.includes(link.kind) || $page.url.pathname.includes(link.href))
|
|
35
39
|
];
|
|
36
40
|
async function leaveWorkspace() {
|
|
37
41
|
await WorkspaceService.leaveWorkspace({ workspace: $workspaceStore ?? '' });
|
|
@@ -39,6 +43,18 @@ async function leaveWorkspace() {
|
|
|
39
43
|
clearStores();
|
|
40
44
|
goto('/user/workspaces');
|
|
41
45
|
}
|
|
46
|
+
const defaultExtraTriggerLinks = [
|
|
47
|
+
{
|
|
48
|
+
label: 'HTTP',
|
|
49
|
+
href: '/routes',
|
|
50
|
+
icon: Route,
|
|
51
|
+
disabled: $userStore?.operator,
|
|
52
|
+
kind: 'http'
|
|
53
|
+
}
|
|
54
|
+
];
|
|
55
|
+
$: extraTriggerLinks = defaultExtraTriggerLinks.filter((link) => {
|
|
56
|
+
return !$page.url.pathname.includes(link.href) && !$usedTriggerKinds.includes(link.kind);
|
|
57
|
+
});
|
|
42
58
|
$: secondaryMenuLinks = [
|
|
43
59
|
// {
|
|
44
60
|
// label: 'Workspace',
|
|
@@ -170,10 +186,55 @@ let leaveWorkspaceModal = false;
|
|
|
170
186
|
noGap ? 'gap-0' : 'gap-16'
|
|
171
187
|
)}
|
|
172
188
|
>
|
|
173
|
-
<div class={twMerge('
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
189
|
+
<div class={twMerge('pt-4 ', noGap ? 'md:mb-0 mb-0' : 'mb-6 md:mb-10')}>
|
|
190
|
+
<div class="space-y-1">
|
|
191
|
+
{#each mainMenuLinks as menuLink (menuLink.href ?? menuLink.label)}
|
|
192
|
+
<MenuLink class="!text-xs" {...menuLink} {isCollapsed} />
|
|
193
|
+
{/each}
|
|
194
|
+
</div>
|
|
195
|
+
<div class="pt-4">
|
|
196
|
+
<div
|
|
197
|
+
class="text-gray-400 text-[0.5rem] uppercase transition-opacity"
|
|
198
|
+
class:opacity-0={isCollapsed}>Triggers</div
|
|
199
|
+
>
|
|
200
|
+
<div class="space-y-1">
|
|
201
|
+
{#each triggerMenuLinks as menuLink (menuLink.href ?? menuLink.label)}
|
|
202
|
+
<MenuLink class="!text-xs" {...menuLink} {isCollapsed} />
|
|
203
|
+
{/each}
|
|
204
|
+
{#if extraTriggerLinks.length > 0 && !$userStore?.operator}
|
|
205
|
+
<Menu>
|
|
206
|
+
<div
|
|
207
|
+
slot="trigger"
|
|
208
|
+
class="w-full text-gray-400 text-2xs flex flex-row gap-1 py-1 items-center px-2 hover:bg-[#2A3648] dark:hover:bg-[#30404e] rounded"
|
|
209
|
+
>
|
|
210
|
+
<Plus size={14} />
|
|
211
|
+
</div>
|
|
212
|
+
{#each extraTriggerLinks as subItem (subItem.href ?? subItem.label)}
|
|
213
|
+
<MenuItem>
|
|
214
|
+
<div class="py-1" role="none">
|
|
215
|
+
<a
|
|
216
|
+
href={subItem.href}
|
|
217
|
+
class={twMerge(
|
|
218
|
+
'text-secondary block px-4 py-2 text-2xs hover:bg-surface-hover hover:text-primary'
|
|
219
|
+
)}
|
|
220
|
+
role="menuitem"
|
|
221
|
+
tabindex="-1"
|
|
222
|
+
>
|
|
223
|
+
<div class="flex flex-row items-center gap-2">
|
|
224
|
+
{#if subItem.icon}
|
|
225
|
+
<svelte:component this={subItem.icon} size={16} />
|
|
226
|
+
{/if}
|
|
227
|
+
|
|
228
|
+
{subItem.label}
|
|
229
|
+
</div>
|
|
230
|
+
</a>
|
|
231
|
+
</div>
|
|
232
|
+
</MenuItem>
|
|
233
|
+
{/each}
|
|
234
|
+
</Menu>
|
|
235
|
+
{/if}
|
|
236
|
+
</div>
|
|
237
|
+
</div>
|
|
177
238
|
</div>
|
|
178
239
|
<div class="flex flex-col h-full justify-end">
|
|
179
240
|
<div class={twMerge('space-y-0.5 mb-6 md:mb-10', noGap ? 'md:mb-0 mb-0' : 'mb-6 md:mb-10')}>
|
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
const changelogs = [
|
|
2
|
+
{
|
|
3
|
+
label: 'Custom HTTP routes',
|
|
4
|
+
href: 'https://www.windmill.dev/changelog/http-routing',
|
|
5
|
+
date: '2024-09-23'
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
label: 'Set/Get progress from code',
|
|
9
|
+
href: 'https://www.windmill.dev/changelog/explicit-progress',
|
|
10
|
+
date: '2024-09-18'
|
|
11
|
+
},
|
|
2
12
|
{
|
|
3
13
|
label: 'Directly edit flow YAML',
|
|
4
14
|
href: 'https://www.windmill.dev/changelog/flow-yaml-editor',
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<script>import { tick } from 'svelte';
|
|
2
|
+
import RouteEditorInner from './RouteEditorInner.svelte';
|
|
3
|
+
let open = false;
|
|
4
|
+
export async function openEdit(ePath, isFlow) {
|
|
5
|
+
open = true;
|
|
6
|
+
await tick();
|
|
7
|
+
drawer?.openEdit(ePath, isFlow);
|
|
8
|
+
}
|
|
9
|
+
export async function openNew(is_flow, initial_script_path) {
|
|
10
|
+
open = true;
|
|
11
|
+
await tick();
|
|
12
|
+
drawer?.openNew(is_flow, initial_script_path);
|
|
13
|
+
}
|
|
14
|
+
let drawer;
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
{#if open}
|
|
18
|
+
<RouteEditorInner on:update bind:this={drawer} />
|
|
19
|
+
{/if}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
openEdit?: ((ePath: string, isFlow: boolean) => Promise<void>) | undefined;
|
|
5
|
+
openNew?: ((is_flow: boolean, initial_script_path?: string) => Promise<void>) | undefined;
|
|
6
|
+
};
|
|
7
|
+
events: {
|
|
8
|
+
update: CustomEvent<any>;
|
|
9
|
+
} & {
|
|
10
|
+
[evt: string]: CustomEvent<any>;
|
|
11
|
+
};
|
|
12
|
+
slots: {};
|
|
13
|
+
};
|
|
14
|
+
export type RouteEditorProps = typeof __propDef.props;
|
|
15
|
+
export type RouteEditorEvents = typeof __propDef.events;
|
|
16
|
+
export type RouteEditorSlots = typeof __propDef.slots;
|
|
17
|
+
export default class RouteEditor extends SvelteComponent<RouteEditorProps, RouteEditorEvents, RouteEditorSlots> {
|
|
18
|
+
get openEdit(): (ePath: string, isFlow: boolean) => Promise<void>;
|
|
19
|
+
get openNew(): (is_flow: boolean, initial_script_path?: string | undefined) => Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
export {};
|