windmill-components 1.70.0 → 1.77.0
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 +12 -1
- package/components/AppConnect.svelte +4 -3
- package/components/DisplayResult.svelte +28 -10
- package/components/Dropdown.svelte +14 -4
- package/components/FieldHeader.svelte +12 -8
- package/components/FlowBuilder.svelte +107 -39
- package/components/FlowBuilder.svelte.d.ts +5 -0
- package/components/FlowGraphViewer.svelte +6 -5
- package/components/FlowJobResult.svelte +3 -3
- package/components/FlowPreviewContent.svelte +3 -8
- package/components/FlowStatusViewer.svelte +21 -8
- package/components/FolderUsageInfo.svelte +16 -6
- package/components/FolderUsageInfo.svelte.d.ts +2 -0
- package/components/GroupEditor.svelte +8 -0
- package/components/InputTransformForm.svelte +13 -20
- package/components/InputTransformSchemaForm.svelte +103 -0
- package/components/InputTransformSchemaForm.svelte.d.ts +24 -0
- package/components/LogViewer.svelte +1 -1
- package/components/ModulePreview.svelte +3 -2
- package/components/Multiselect.svelte +1 -1
- package/components/PageHeader.svelte +1 -1
- package/components/Path.svelte +35 -12
- package/components/Popover.svelte +2 -13
- package/components/ResourcePicker.svelte +33 -14
- package/components/RunChart.svelte +24 -5
- package/components/RunForm.svelte +5 -6
- package/components/RunForm.svelte.d.ts +1 -0
- package/components/SchemaForm.svelte +59 -57
- package/components/SchemaForm.svelte.d.ts +0 -5
- package/components/ScriptBuilder.svelte +151 -135
- package/components/ScriptPicker.svelte +3 -0
- package/components/SettingSection.svelte +44 -0
- package/components/SettingSection.svelte.d.ts +21 -0
- package/components/SimpleEditor.svelte +4 -1
- package/components/SimpleEditor.svelte.d.ts +2 -0
- package/components/Slider.svelte +6 -1
- package/components/Slider.svelte.d.ts +1 -0
- package/components/TemplateEditor.svelte +1 -1
- package/components/TestJobLoader.svelte +2 -2
- package/components/Toggle.svelte +17 -4
- package/components/Toggle.svelte.d.ts +2 -0
- package/components/Tooltip.svelte +4 -2
- package/components/UserSettings.svelte +2 -0
- package/components/WhitelistIp.svelte +1 -3
- package/components/apps/components/buttons/AppButton.svelte +45 -23
- package/components/apps/components/buttons/AppButton.svelte.d.ts +2 -0
- package/components/apps/components/buttons/AppForm.svelte +18 -12
- package/components/apps/components/buttons/AppForm.svelte.d.ts +3 -0
- package/components/apps/components/buttons/AppFormButton.svelte +14 -10
- package/components/apps/components/buttons/AppFormButton.svelte.d.ts +3 -0
- package/components/apps/components/display/AppBarChart.svelte +15 -7
- package/components/apps/components/display/AppBarChart.svelte.d.ts +3 -0
- package/components/apps/components/display/AppDisplayComponent.svelte +17 -12
- package/components/apps/components/display/AppDisplayComponent.svelte.d.ts +1 -0
- package/components/apps/components/display/AppHtml.svelte +18 -4
- package/components/apps/components/display/AppHtml.svelte.d.ts +3 -0
- package/components/apps/components/display/AppIcon.svelte +20 -8
- package/components/apps/components/display/AppIcon.svelte.d.ts +3 -0
- package/components/apps/components/display/AppImage.svelte +17 -10
- package/components/apps/components/display/AppImage.svelte.d.ts +3 -0
- package/components/apps/components/display/AppMap.svelte +214 -0
- package/components/apps/components/display/AppMap.svelte.d.ts +23 -0
- package/components/apps/components/display/AppPdf.svelte +304 -0
- package/components/apps/components/display/AppPdf.svelte.d.ts +24 -0
- package/components/apps/components/display/AppPieChart.svelte +15 -7
- package/components/apps/components/display/AppPieChart.svelte.d.ts +3 -0
- package/components/apps/components/display/AppScatterChart.svelte +12 -4
- package/components/apps/components/display/AppScatterChart.svelte.d.ts +3 -0
- package/components/apps/components/display/AppText.svelte +38 -32
- package/components/apps/components/display/AppText.svelte.d.ts +1 -0
- package/components/apps/components/display/AppTimeseries.svelte +12 -4
- package/components/apps/components/display/AppTimeseries.svelte.d.ts +3 -0
- package/components/apps/components/display/PlotlyHtml.svelte +8 -14
- package/components/apps/components/display/PlotlyHtml.svelte.d.ts +1 -1
- package/components/apps/components/display/VegaLiteHtml.svelte +3 -8
- package/components/apps/components/display/VegaLiteHtml.svelte.d.ts +1 -0
- package/components/apps/components/display/index.d.ts +3 -0
- package/components/apps/components/display/index.js +3 -0
- package/components/apps/components/display/table/AppAggridTable.svelte +20 -8
- package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +1 -0
- package/components/apps/components/display/table/AppTable.svelte +69 -21
- package/components/apps/components/display/table/AppTable.svelte.d.ts +3 -1
- package/components/apps/components/display/table/AppTableFooter.svelte +8 -1
- package/components/apps/components/display/table/AppTableFooter.svelte.d.ts +2 -0
- package/components/apps/components/helpers/AlignWrapper.svelte +13 -7
- package/components/apps/components/helpers/AlignWrapper.svelte.d.ts +3 -1
- package/components/apps/components/helpers/HiddenComponent.svelte +5 -1
- package/components/apps/components/helpers/HiddenComponent.svelte.d.ts +1 -0
- package/components/apps/components/helpers/InputValue.svelte +58 -52
- package/components/apps/components/helpers/InputValue.svelte.d.ts +4 -3
- package/components/apps/components/helpers/NonRunnableComponent.svelte +18 -3
- package/components/apps/components/helpers/NonRunnableComponent.svelte.d.ts +1 -0
- package/components/apps/components/helpers/RefreshButton.svelte +3 -4
- package/components/apps/components/helpers/ResizeWrapper.svelte +24 -0
- package/components/apps/components/helpers/ResizeWrapper.svelte.d.ts +19 -0
- package/components/apps/components/helpers/RunnableComponent.svelte +126 -91
- package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +5 -1
- package/components/apps/components/helpers/RunnableWrapper.svelte +11 -5
- package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +4 -1
- package/components/apps/components/helpers/eval.d.ts +5 -0
- package/components/apps/components/helpers/eval.js +57 -0
- package/components/apps/components/inputs/AppCheckbox.svelte +8 -2
- package/components/apps/components/inputs/AppCheckbox.svelte.d.ts +3 -0
- package/components/apps/components/inputs/AppDateInput.svelte +25 -18
- package/components/apps/components/inputs/AppDateInput.svelte.d.ts +6 -1
- package/components/apps/components/inputs/AppFileInput.svelte +22 -14
- package/components/apps/components/inputs/AppFileInput.svelte.d.ts +3 -0
- package/components/apps/components/inputs/AppMultiSelect.svelte +82 -0
- package/components/apps/components/inputs/AppMultiSelect.svelte.d.ts +27 -0
- package/components/apps/components/inputs/AppNumberInput.svelte +20 -16
- package/components/apps/components/inputs/AppNumberInput.svelte.d.ts +5 -0
- package/components/apps/components/inputs/AppRangeInput.svelte +55 -14
- package/components/apps/components/inputs/AppRangeInput.svelte.d.ts +3 -0
- package/components/apps/components/inputs/AppSelect.svelte +58 -21
- package/components/apps/components/inputs/AppSelect.svelte.d.ts +3 -0
- package/components/apps/components/inputs/AppSliderInputs.svelte +41 -9
- package/components/apps/components/inputs/AppSliderInputs.svelte.d.ts +3 -0
- package/components/apps/components/inputs/AppTextInput.svelte +53 -19
- package/components/apps/components/inputs/AppTextInput.svelte.d.ts +6 -0
- package/components/apps/components/inputs/currency/AppCurrencyInput.svelte +13 -3
- package/components/apps/components/inputs/currency/AppCurrencyInput.svelte.d.ts +3 -0
- package/components/apps/components/inputs/currency/CurrencyInput.svelte +2 -0
- package/components/apps/components/inputs/currency/CurrencyInput.svelte.d.ts +1 -0
- package/components/apps/components/layout/AppContainer.svelte +20 -17
- package/components/apps/components/layout/AppContainer.svelte.d.ts +3 -0
- package/components/apps/components/layout/AppDivider.svelte +24 -4
- package/components/apps/components/layout/AppDivider.svelte.d.ts +3 -1
- package/components/apps/components/layout/AppDrawer.svelte +86 -0
- package/components/apps/components/layout/AppDrawer.svelte.d.ts +24 -0
- package/components/apps/components/layout/AppSplitpanes.svelte +83 -0
- package/components/apps/components/layout/AppSplitpanes.svelte.d.ts +26 -0
- package/components/apps/components/layout/AppTabs.svelte +112 -40
- package/components/apps/components/layout/AppTabs.svelte.d.ts +4 -0
- package/components/apps/components/layout/index.d.ts +2 -0
- package/components/apps/components/layout/index.js +2 -0
- package/components/apps/editor/AppEditor.svelte +201 -132
- package/components/apps/editor/AppEditor.svelte.d.ts +3 -1
- package/components/apps/editor/AppEditorHeader.svelte +149 -66
- package/components/apps/editor/AppInputs.svelte +3 -3
- package/components/apps/editor/AppPreview.svelte +21 -7
- package/components/apps/editor/ComponentHeader.svelte +17 -4
- package/components/apps/editor/ComponentHeader.svelte.d.ts +2 -0
- package/components/apps/editor/GridEditor.svelte +86 -70
- package/components/apps/editor/GridPanel.svelte +29 -0
- package/components/apps/editor/GridPanel.svelte.d.ts +18 -0
- package/components/apps/editor/RecomputeAllComponents.svelte +14 -6
- package/components/apps/editor/SettingsPanel.svelte +30 -27
- package/components/apps/editor/SubGridEditor.svelte +82 -50
- package/components/apps/editor/SubGridEditor.svelte.d.ts +8 -4
- package/components/apps/editor/appUtils.d.ts +22 -3
- package/components/apps/editor/appUtils.js +221 -47
- package/components/apps/editor/component/Component.svelte +281 -61
- package/components/apps/editor/component/Component.svelte.d.ts +3 -1
- package/components/apps/editor/component/ComponentNavigation.svelte +170 -0
- package/components/apps/editor/component/ComponentNavigation.svelte.d.ts +14 -0
- package/components/apps/editor/component/components.d.ts +15 -3
- package/components/apps/editor/component/components.js +409 -54
- package/components/apps/editor/component/default-codes.js +6 -6
- package/components/apps/editor/component/sets.js +11 -3
- package/components/apps/editor/componentsPanel/ComponentList.svelte +72 -29
- package/components/apps/editor/componentsPanel/CssProperty.svelte +59 -23
- package/components/apps/editor/componentsPanel/CssProperty.svelte.d.ts +2 -1
- package/components/apps/editor/componentsPanel/CssSettings.svelte +56 -9
- package/components/apps/editor/componentsPanel/ListItem.svelte +23 -12
- package/components/apps/editor/componentsPanel/componentStaticValues.d.ts +2 -0
- package/components/apps/editor/componentsPanel/componentStaticValues.js +15 -2
- package/components/apps/editor/contextPanel/ComponentOutput.svelte +77 -0
- package/components/apps/editor/contextPanel/ComponentOutput.svelte.d.ts +21 -0
- package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +10 -6
- package/components/apps/editor/contextPanel/ContextPanel.svelte +81 -91
- package/components/apps/editor/contextPanel/SubGridOutput.svelte +71 -0
- package/components/apps/editor/contextPanel/SubGridOutput.svelte.d.ts +19 -0
- package/components/apps/editor/contextPanel/components/BackgroundScriptOutput.svelte +38 -0
- package/components/apps/editor/contextPanel/components/BackgroundScriptOutput.svelte.d.ts +19 -0
- package/components/apps/editor/contextPanel/components/BackgroundScriptsOutput.svelte +10 -0
- package/components/apps/editor/contextPanel/components/BackgroundScriptsOutput.svelte.d.ts +16 -0
- package/components/apps/editor/contextPanel/components/MinMaxButton.svelte +25 -0
- package/components/apps/editor/contextPanel/components/MinMaxButton.svelte.d.ts +16 -0
- package/components/apps/editor/contextPanel/components/OutputHeader.svelte +78 -0
- package/components/apps/editor/contextPanel/components/OutputHeader.svelte.d.ts +26 -0
- package/components/apps/editor/contextPanel/components/TableActionOutput.svelte +19 -0
- package/components/apps/editor/contextPanel/components/TableActionOutput.svelte.d.ts +18 -0
- package/components/apps/editor/contextPanel/components/TableActionsOutput.svelte +14 -0
- package/components/apps/editor/contextPanel/components/TableActionsOutput.svelte.d.ts +18 -0
- package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +55 -13
- package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte.d.ts +1 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +126 -62
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +5 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte +1 -1
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte +11 -5
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte.d.ts +1 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +26 -17
- package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +95 -85
- package/components/apps/editor/inlineScriptsPanel/utils.d.ts +5 -9
- package/components/apps/editor/inlineScriptsPanel/utils.js +19 -8
- package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +10 -9
- package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte.d.ts +21 -12
- package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +1 -1
- package/components/apps/editor/settingsPanel/ComponentPanel.svelte +119 -79
- package/components/apps/editor/settingsPanel/ComponentPanel.svelte.d.ts +1 -0
- package/components/apps/editor/settingsPanel/GridPane.svelte +75 -0
- package/components/apps/editor/settingsPanel/GridPane.svelte.d.ts +20 -0
- package/components/apps/editor/settingsPanel/GridTab.svelte +9 -17
- package/components/apps/editor/settingsPanel/GridTab.svelte.d.ts +2 -0
- package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +2 -1
- package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +1 -1
- package/components/apps/editor/settingsPanel/Recompute.svelte +2 -1
- package/components/apps/editor/settingsPanel/SelectedRunnable.svelte +7 -1
- package/components/apps/editor/settingsPanel/TableActions.svelte +30 -2
- package/components/apps/editor/settingsPanel/common/PanelSection.svelte +2 -2
- package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte +48 -0
- package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte.d.ts +19 -0
- package/components/apps/editor/settingsPanel/inputEditor/ConnectedInputEditor.svelte +2 -8
- package/components/apps/editor/settingsPanel/inputEditor/EvalInputEditor.svelte +2 -2
- package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte +77 -41
- package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte.d.ts +2 -0
- package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte +3 -3
- package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte.d.ts +4 -1
- package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +54 -6
- package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte.d.ts +1 -0
- package/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte +7 -9
- package/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte.d.ts +1 -1
- package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte +1 -0
- package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte.d.ts +1 -0
- package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +1 -1
- package/components/apps/inputType.d.ts +6 -5
- package/components/apps/rx.d.ts +6 -4
- package/components/apps/rx.js +36 -15
- package/components/apps/store.d.ts +6 -1
- package/components/apps/svelte-grid/Grid.svelte +171 -0
- package/components/apps/svelte-grid/Grid.svelte.d.ts +47 -0
- package/components/apps/svelte-grid/LICENSE +23 -0
- package/components/apps/svelte-grid/MoveResize.svelte +328 -0
- package/components/apps/svelte-grid/MoveResize.svelte.d.ts +46 -0
- package/components/apps/svelte-grid/types.d.ts +25 -0
- package/components/apps/svelte-grid/utils/container.d.ts +1 -0
- package/components/apps/svelte-grid/utils/container.js +4 -0
- package/components/apps/svelte-grid/utils/helper.d.ts +14 -0
- package/components/apps/svelte-grid/utils/helper.js +36 -0
- package/components/apps/svelte-grid/utils/item.d.ts +14 -0
- package/components/apps/svelte-grid/utils/item.js +192 -0
- package/components/apps/svelte-grid/utils/matrix.d.ts +6 -0
- package/components/apps/svelte-grid/utils/matrix.js +53 -0
- package/components/apps/svelte-grid/utils/other.d.ts +3 -0
- package/components/apps/svelte-grid/utils/other.js +30 -0
- package/components/apps/types.d.ts +21 -8
- package/components/apps/utils.d.ts +3 -3
- package/components/apps/utils.js +34 -56
- package/components/common/CloseButton.svelte +18 -0
- package/components/common/CloseButton.svelte.d.ts +27 -0
- package/components/common/badge/Badge.svelte +6 -1
- package/components/common/badge/Badge.svelte.d.ts +1 -0
- package/components/common/button/ButtonPopup.svelte +2 -0
- package/components/common/button/ButtonPopup.svelte.d.ts +1 -0
- package/components/common/button/UndoRedo.svelte +32 -0
- package/components/common/button/UndoRedo.svelte.d.ts +20 -0
- package/components/common/drawer/Drawer.svelte +10 -4
- package/components/common/drawer/Drawer.svelte.d.ts +3 -1
- package/components/common/drawer/DrawerContent.svelte +2 -7
- package/components/common/fileInput/FileInput.svelte +47 -21
- package/components/common/fileInput/FileInput.svelte.d.ts +3 -1
- package/components/common/fileInput/model.d.ts +1 -0
- package/components/common/fileInput/model.js +1 -0
- package/components/common/index.d.ts +1 -0
- package/components/common/index.js +1 -0
- package/components/common/languageIcons/JavaScript.svelte +11 -0
- package/components/common/languageIcons/JavaScript.svelte.d.ts +25 -0
- package/components/common/languageIcons/LanguageIcon.svelte +3 -1
- package/components/common/languageIcons/LanguageIcon.svelte.d.ts +1 -1
- package/components/common/menu/Menu.svelte +3 -2
- package/components/common/menu/Menu.svelte.d.ts +2 -1
- package/components/common/modal/Modal.svelte +9 -4
- package/components/common/modal/Modal.svelte.d.ts +2 -0
- package/components/common/popup/Popup.svelte +2 -1
- package/components/common/popup/Popup.svelte.d.ts +9 -0
- package/components/common/table/AppRow.svelte +14 -8
- package/components/common/table/AppRow.svelte.d.ts +1 -0
- package/components/common/table/FlowRow.svelte +22 -12
- package/components/common/table/FlowRow.svelte.d.ts +1 -0
- package/components/common/table/ScriptRow.svelte +43 -14
- package/components/common/table/ScriptRow.svelte.d.ts +1 -0
- package/components/common/tabs/Tab.svelte +13 -5
- package/components/common/tabs/Tab.svelte.d.ts +6 -1
- package/components/common/tabs/Tabs.svelte +8 -6
- package/components/common/tabs/Tabs.svelte.d.ts +3 -1
- package/components/flows/FlowEditor.svelte +6 -4
- package/components/flows/common/FlowCardHeader.svelte +4 -1
- package/components/flows/content/BranchPredicateEditor.svelte +3 -4
- package/components/flows/content/CapturePayload.svelte +1 -2
- package/components/flows/content/FlowBranchesAllWrapper.svelte +1 -1
- package/components/flows/content/FlowConstants.svelte +7 -13
- package/components/flows/content/FlowEditorPanel.svelte +4 -3
- package/components/flows/content/FlowFailureModule.svelte +2 -1
- package/components/flows/content/FlowInput.svelte +4 -2
- package/components/flows/content/FlowLoop.svelte +3 -4
- package/components/flows/content/FlowModuleComponent.svelte +23 -11
- package/components/flows/content/FlowModuleEarlyStop.svelte +3 -1
- package/components/flows/content/FlowModuleHeader.svelte +26 -3
- package/components/flows/content/FlowModuleHeader.svelte.d.ts +1 -0
- package/components/flows/content/FlowModuleSleep.svelte +2 -2
- package/components/flows/content/FlowModuleWrapper.svelte +2 -8
- package/components/flows/content/FlowSchedules.svelte +1 -2
- package/components/flows/content/FlowSettings.svelte +17 -37
- package/components/flows/content/ScriptEditorDrawer.svelte +98 -0
- package/components/flows/content/ScriptEditorDrawer.svelte.d.ts +19 -0
- package/components/flows/flowState.d.ts +2 -3
- package/components/flows/flowState.js +1 -4
- package/components/flows/flowStateUtils.d.ts +7 -6
- package/components/flows/flowStateUtils.js +5 -9
- package/components/flows/flowStore.d.ts +5 -4
- package/components/flows/flowStore.js +5 -17
- package/components/flows/header/FlowImportExportMenu.svelte +2 -1
- package/components/flows/map/FlowConstantsItem.svelte +2 -2
- package/components/flows/map/FlowErrorHandlerItem.svelte +12 -13
- package/components/flows/map/FlowInputsItem.svelte +2 -3
- package/components/flows/map/FlowModuleSchemaItem.svelte +88 -91
- package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +3 -3
- package/components/flows/map/FlowModuleSchemaMap.svelte +164 -138
- package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +1 -2
- package/components/flows/map/FlowSettingsItem.svelte +5 -4
- package/components/flows/map/InsertModuleButton.svelte +12 -10
- package/components/flows/map/InsertModuleButton.svelte.d.ts +1 -0
- package/components/flows/map/MapItem.svelte +176 -103
- package/components/flows/map/MapItem.svelte.d.ts +20 -2
- package/components/flows/map/VirtualItem.svelte +129 -0
- package/components/flows/map/VirtualItem.svelte.d.ts +44 -0
- package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +1 -1
- package/components/flows/pickers/WorkspaceScriptPicker.svelte +1 -1
- package/components/flows/previousResults.d.ts +1 -1
- package/components/flows/previousResults.js +32 -17
- package/components/flows/types.d.ts +13 -1
- package/components/flows/utils.js +1 -1
- package/components/graph/FlowGraph.svelte +227 -167
- package/components/graph/FlowGraph.svelte.d.ts +14 -1
- package/components/graph/model.d.ts +6 -36
- package/components/graph/model.js +1 -1
- package/components/graph/svelvet/LICENSE +21 -0
- package/components/graph/svelvet/collapsible/controllers/util.d.ts +15 -0
- package/components/graph/svelvet/collapsible/controllers/util.js +144 -0
- package/components/graph/svelvet/collapsible/models/Collapsible.d.ts +17 -0
- package/components/graph/svelvet/collapsible/models/Collapsible.js +25 -0
- package/components/graph/svelvet/collapsible/types/types.d.ts +8 -0
- package/components/graph/svelvet/collapsible/types/types.js +1 -0
- package/components/graph/svelvet/container/README.md +7 -0
- package/components/graph/svelvet/container/controllers/middleware.d.ts +18 -0
- package/components/graph/svelvet/container/controllers/middleware.js +101 -0
- package/components/graph/svelvet/container/views/GraphView.svelte +252 -0
- package/components/graph/svelvet/container/views/GraphView.svelte.d.ts +25 -0
- package/components/graph/svelvet/container/views/Svelvet.svelte +131 -0
- package/components/graph/svelvet/container/views/Svelvet.svelte.d.ts +41 -0
- package/components/graph/svelvet/customCss/controllers/getCss.d.ts +2 -0
- package/components/graph/svelvet/customCss/controllers/getCss.js +57 -0
- package/components/graph/svelvet/d3/controllers/d3.d.ts +5 -0
- package/components/graph/svelvet/d3/controllers/d3.js +59 -0
- package/components/graph/svelvet/edges/controllers/anchorCbDev.d.ts +4 -0
- package/components/graph/svelvet/edges/controllers/anchorCbDev.js +92 -0
- package/components/graph/svelvet/edges/controllers/anchorCbUser.d.ts +57 -0
- package/components/graph/svelvet/edges/controllers/anchorCbUser.js +73 -0
- package/components/graph/svelvet/edges/controllers/util.d.ts +37 -0
- package/components/graph/svelvet/edges/controllers/util.js +72 -0
- package/components/graph/svelvet/edges/models/Anchor.d.ts +48 -0
- package/components/graph/svelvet/edges/models/Anchor.js +122 -0
- package/components/graph/svelvet/edges/models/Edge.d.ts +47 -0
- package/components/graph/svelvet/edges/models/Edge.js +107 -0
- package/components/graph/svelvet/edges/types/types.d.ts +18 -0
- package/components/graph/svelvet/edges/types/types.js +1 -0
- package/components/graph/svelvet/edges/views/Edges/BaseEdge.svelte +105 -0
- package/components/graph/svelvet/edges/views/Edges/BaseEdge.svelte.d.ts +18 -0
- package/components/graph/svelvet/edges/views/Edges/EdgeAnchor.svelte +12 -0
- package/components/graph/svelvet/edges/views/Edges/EdgeAnchor.svelte.d.ts +17 -0
- package/components/graph/svelvet/edges/views/Edges/EdgeText.svelte +43 -0
- package/components/graph/svelvet/edges/views/Edges/EdgeText.svelte.d.ts +17 -0
- package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte +137 -0
- package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte.d.ts +17 -0
- package/components/graph/svelvet/edges/views/Edges/SmoothStepEdge.svelte +176 -0
- package/components/graph/svelvet/edges/views/Edges/SmoothStepEdge.svelte.d.ts +60 -0
- package/components/graph/svelvet/edges/views/Edges/StepEdge.svelte +8 -0
- package/components/graph/svelvet/edges/views/Edges/StepEdge.svelte.d.ts +25 -0
- package/components/graph/svelvet/edges/views/Edges/types.d.ts +52 -0
- package/components/graph/svelvet/edges/views/Edges/types.js +1 -0
- package/components/graph/svelvet/edges/views/Edges/utils.d.ts +33 -0
- package/components/graph/svelvet/edges/views/Edges/utils.js +31 -0
- package/components/graph/svelvet/editEdges/views/EditEdge.svelte +151 -0
- package/components/graph/svelvet/editEdges/views/EditEdge.svelte.d.ts +20 -0
- package/components/graph/svelvet/nodes/controllers/util.d.ts +9 -0
- package/components/graph/svelvet/nodes/controllers/util.js +13 -0
- package/components/graph/svelvet/nodes/models/Node.d.ts +78 -0
- package/components/graph/svelvet/nodes/models/Node.js +195 -0
- package/components/graph/svelvet/nodes/views/EditNode.svelte +147 -0
- package/components/graph/svelvet/nodes/views/EditNode.svelte.d.ts +33 -0
- package/components/graph/svelvet/nodes/views/Node.svelte +85 -0
- package/components/graph/svelvet/nodes/views/Node.svelte.d.ts +22 -0
- package/components/graph/svelvet/resizableNodes/controllers/util.d.ts +11 -0
- package/components/graph/svelvet/resizableNodes/controllers/util.js +24 -0
- package/components/graph/svelvet/resizableNodes/models/ResizeNode.d.ts +33 -0
- package/components/graph/svelvet/resizableNodes/models/ResizeNode.js +71 -0
- package/components/graph/svelvet/resizableNodes/views/ResizeNode.svelte +81 -0
- package/components/graph/svelvet/resizableNodes/views/ResizeNode.svelte.d.ts +20 -0
- package/components/graph/svelvet/store/controllers/storeApi.d.ts +32 -0
- package/components/graph/svelvet/store/controllers/storeApi.js +111 -0
- package/components/graph/svelvet/store/controllers/userApi.d.ts +3 -0
- package/components/graph/svelvet/store/controllers/userApi.js +18 -0
- package/components/graph/svelvet/store/controllers/util.d.ts +31 -0
- package/components/graph/svelvet/store/controllers/util.js +180 -0
- package/components/graph/svelvet/store/models/store.d.ts +12 -0
- package/components/graph/svelvet/store/models/store.js +9 -0
- package/components/graph/svelvet/store/types/types.d.ts +134 -0
- package/components/graph/svelvet/store/types/types.js +1 -0
- package/components/graph/svelvet/types/README.md +3 -0
- package/components/graph/svelvet/types/index.d.ts +2 -0
- package/components/graph/svelvet/types/index.js +1 -0
- package/components/graph/svelvet/types/types.d.ts +49 -0
- package/components/graph/svelvet/types/types.js +18 -0
- package/components/graph/util.js +2 -2
- package/components/home/ItemsList.svelte +53 -5
- package/components/home/ItemsList.svelte.d.ts +1 -0
- package/components/home/ListFilters.svelte +7 -2
- package/components/jobs/JobDetail.svelte +12 -1
- package/components/propertyPicker/ObjectViewer.svelte +6 -4
- package/components/sidebar/SidebarContent.svelte +2 -2
- package/consts.d.ts +1 -0
- package/consts.js +1 -0
- package/defaults.d.ts +4 -0
- package/defaults.js +4 -0
- package/history.d.ts +9 -0
- package/history.js +63 -0
- package/package.json +87 -9
- package/script_helpers.d.ts +1 -1
- package/script_helpers.js +1 -0
- package/scripts.d.ts +1 -1
- package/scripts.js +8 -1
- package/utils.d.ts +9 -4
- package/utils.js +43 -8
- package/components/apps/editor/TablePanel.svelte +0 -19
- package/components/apps/editor/TablePanel.svelte.d.ts +0 -17
- package/components/apps/editor/settingsPanel/MoveToOtherGrid.svelte +0 -85
- package/components/apps/editor/settingsPanel/MoveToOtherGrid.svelte.d.ts +0 -18
- package/components/flows/map/FlowBranchAllMap.svelte +0 -100
- package/components/flows/map/FlowBranchAllMap.svelte.d.ts +0 -17
- package/components/flows/map/FlowBranchOneMap.svelte +0 -124
- package/components/flows/map/FlowBranchOneMap.svelte.d.ts +0 -17
|
@@ -3,11 +3,10 @@ import Toggle from '../../Toggle.svelte';
|
|
|
3
3
|
import Tooltip from '../../Tooltip.svelte';
|
|
4
4
|
import { emptySchema } from '../../../utils';
|
|
5
5
|
import { getContext } from 'svelte';
|
|
6
|
-
import { flowStateStore } from '../flowState';
|
|
7
6
|
import PropPickerWrapper from '../propPicker/PropPickerWrapper.svelte';
|
|
8
7
|
export let flowModule;
|
|
9
8
|
export let previousModuleId;
|
|
10
|
-
const { selectedId } = getContext('FlowEditorContext');
|
|
9
|
+
const { selectedId, flowStateStore } = getContext('FlowEditorContext');
|
|
11
10
|
let schema = emptySchema();
|
|
12
11
|
schema.properties['sleep'] = {
|
|
13
12
|
type: 'number',
|
|
@@ -53,6 +52,7 @@ $: isSleepEnabled = Boolean(flowModule.sleep);
|
|
|
53
52
|
pickableProperties={undefined}
|
|
54
53
|
on:select={({ detail }) => {
|
|
55
54
|
editor?.insertAtCursor(detail)
|
|
55
|
+
editor?.focus()
|
|
56
56
|
}}
|
|
57
57
|
>
|
|
58
58
|
<InputTransformForm
|
|
@@ -6,12 +6,11 @@ import FlowBranchAllWrapper from './FlowBranchAllWrapper.svelte';
|
|
|
6
6
|
import FlowBranchOneWrapper from './FlowBranchOneWrapper.svelte';
|
|
7
7
|
import { createInlineScriptModule, pickFlow, pickScript } from '../flowStateUtils';
|
|
8
8
|
import FlowInputs from './FlowInputs.svelte';
|
|
9
|
-
import { flowStateStore } from '../flowState';
|
|
10
9
|
import { Alert } from '../../common';
|
|
11
10
|
import FlowInputsFlow from './FlowInputsFlow.svelte';
|
|
12
11
|
import FlowBranchesAllWrapper from './FlowBranchesAllWrapper.svelte';
|
|
13
12
|
import FlowBranchesOneWrapper from './FlowBranchesOneWrapper.svelte';
|
|
14
|
-
const { selectedId, schedule } = getContext('FlowEditorContext');
|
|
13
|
+
const { selectedId, schedule, flowStateStore } = getContext('FlowEditorContext');
|
|
15
14
|
export let flowModule;
|
|
16
15
|
// These pointers are used to easily access previewArgs of parent module, and previous module
|
|
17
16
|
// Pointer to parent module, only defined within Branches or Loops.
|
|
@@ -30,12 +29,7 @@ export let previousModule = undefined;
|
|
|
30
29
|
{:else if flowModule.value.type === 'identity'}
|
|
31
30
|
{#if $selectedId == 'failure'}
|
|
32
31
|
<Alert type="info" title="Error handlers are triggered upon non recovered errors">
|
|
33
|
-
If defined, the error handler will take
|
|
34
|
-
has its error in the 'error field').
|
|
35
|
-
<br />
|
|
36
|
-
<br />
|
|
37
|
-
Steps are retried until they succeed, or until the maximum number of retries defined for that
|
|
38
|
-
spec is reached, at which point the error handler is called.
|
|
32
|
+
If defined, the error handler will take the error as input.
|
|
39
33
|
</Alert>
|
|
40
34
|
{/if}
|
|
41
35
|
|
|
@@ -3,8 +3,7 @@ import SchemaForm from '../../SchemaForm.svelte';
|
|
|
3
3
|
import Toggle from '../../Toggle.svelte';
|
|
4
4
|
import { emptyString } from '../../../utils';
|
|
5
5
|
import { getContext } from 'svelte';
|
|
6
|
-
|
|
7
|
-
const { schedule } = getContext('FlowEditorContext');
|
|
6
|
+
const { schedule, flowStore } = getContext('FlowEditorContext');
|
|
8
7
|
</script>
|
|
9
8
|
|
|
10
9
|
<CronInput bind:schedule={$schedule.cron} />
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
<script>import Tabs from '../../common/tabs/Tabs.svelte';
|
|
2
2
|
import Tab from '../../common/tabs/Tab.svelte';
|
|
3
3
|
import TabContent from '../../common/tabs/TabContent.svelte';
|
|
4
|
-
import { flowStore } from '../flowStore';
|
|
5
4
|
import Path from '../../Path.svelte';
|
|
6
5
|
import Required from '../../Required.svelte';
|
|
7
6
|
import FlowCard from '../common/FlowCard.svelte';
|
|
8
7
|
import FlowSchedules from './FlowSchedules.svelte';
|
|
9
8
|
import Toggle from '../../Toggle.svelte';
|
|
10
9
|
import { Alert } from '../../common';
|
|
11
|
-
import { FlowGraph } from '../../graph';
|
|
12
10
|
import { getContext } from 'svelte';
|
|
13
11
|
import autosize from 'svelte-autosize';
|
|
14
12
|
import Slider from '../../Slider.svelte';
|
|
@@ -17,9 +15,8 @@ import { workspaceStore } from '../../../stores';
|
|
|
17
15
|
import { copyToClipboard } from '../../../utils';
|
|
18
16
|
import { Icon } from 'svelte-awesome';
|
|
19
17
|
import { faClipboard } from '@fortawesome/free-solid-svg-icons';
|
|
20
|
-
const { selectedId } = getContext('FlowEditorContext');
|
|
18
|
+
const { selectedId, flowStore } = getContext('FlowEditorContext');
|
|
21
19
|
export let initialPath;
|
|
22
|
-
let topHeight = 0;
|
|
23
20
|
$: url = `${$page.url.hostname}/api/w/${$workspaceStore}/jobs/run/f/${$flowStore?.path}`;
|
|
24
21
|
</script>
|
|
25
22
|
|
|
@@ -30,7 +27,6 @@ $: url = `${$page.url.hostname}/api/w/${$workspaceStore}/jobs/run/f/${$flowStore
|
|
|
30
27
|
<Tab value="settings-metadata">Metadata</Tab>
|
|
31
28
|
<Tab value="settings-schedule">Schedule</Tab>
|
|
32
29
|
<Tab value="settings-same-worker">Shared Directory</Tab>
|
|
33
|
-
<Tab value="settings-graph">Graph</Tab>
|
|
34
30
|
|
|
35
31
|
<svelte:fragment slot="content">
|
|
36
32
|
<TabContent value="settings-metadata" class="p-4 h-full">
|
|
@@ -82,18 +78,22 @@ $: url = `${$page.url.hostname}/api/w/${$workspaceStore}/jobs/run/f/${$flowStore
|
|
|
82
78
|
</a>
|
|
83
79
|
</li>
|
|
84
80
|
<li class="mt-2">
|
|
85
|
-
<div class="flex flex-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
81
|
+
<div class="flex flex-col gap-2">
|
|
82
|
+
<p>
|
|
83
|
+
2. Use a trigger script and schedule this flow to run as frequently as
|
|
84
|
+
needed and compare a state persisted in Windmill to the state of the
|
|
85
|
+
external system. If a difference is detected, then the rest of the flow is
|
|
86
|
+
triggered. Oftentimes, the second step of a flow is a for-loop that will
|
|
87
|
+
iterate over every elements. When using a trigger, a default schedule will
|
|
88
|
+
be created.
|
|
89
|
+
</p>
|
|
90
|
+
<div>
|
|
91
|
+
<img
|
|
92
|
+
class="shadow-lg border rounded"
|
|
93
|
+
alt="static button"
|
|
94
|
+
src="/trigger_button.png"
|
|
95
|
+
/>
|
|
96
|
+
</div>
|
|
97
97
|
</div>
|
|
98
98
|
</li></ul
|
|
99
99
|
>
|
|
@@ -125,26 +125,6 @@ $: url = `${$page.url.hostname}/api/w/${$workspaceStore}/jobs/run/f/${$flowStore
|
|
|
125
125
|
}}
|
|
126
126
|
/>
|
|
127
127
|
</TabContent>
|
|
128
|
-
<TabContent value="settings-graph">
|
|
129
|
-
<div
|
|
130
|
-
bind:clientHeight={topHeight}
|
|
131
|
-
class="max-w-full w-full overflow-hidden h-screen bg-gray-50"
|
|
132
|
-
>
|
|
133
|
-
{#if $flowStore.value.modules}
|
|
134
|
-
<FlowGraph
|
|
135
|
-
on:click={(e) => {
|
|
136
|
-
if (e.detail.id) {
|
|
137
|
-
$selectedId = e.detail.id
|
|
138
|
-
}
|
|
139
|
-
}}
|
|
140
|
-
minHeight={topHeight}
|
|
141
|
-
modules={$flowStore.value.modules}
|
|
142
|
-
failureModule={$flowStore.value.failure_module}
|
|
143
|
-
notSelectable
|
|
144
|
-
/>
|
|
145
|
-
{/if}
|
|
146
|
-
</div>
|
|
147
|
-
</TabContent>
|
|
148
128
|
</svelte:fragment>
|
|
149
129
|
</Tabs>
|
|
150
130
|
</div>
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
<script>import { Button, Drawer, DrawerContent } from '../../common';
|
|
2
|
+
import ScriptEditor from '../../ScriptEditor.svelte';
|
|
3
|
+
import { ScriptService } from '../../../gen';
|
|
4
|
+
import { inferArgs } from '../../../infer';
|
|
5
|
+
import { workspaceStore } from '../../../stores';
|
|
6
|
+
import { emptySchema, getScriptByPath, sendUserToast } from '../../../utils';
|
|
7
|
+
import { faSave } from '@fortawesome/free-solid-svg-icons';
|
|
8
|
+
import { Loader2 } from 'lucide-svelte';
|
|
9
|
+
import { createEventDispatcher } from 'svelte';
|
|
10
|
+
import { fade } from 'svelte/transition';
|
|
11
|
+
let scriptEditorDrawer;
|
|
12
|
+
const dispatch = createEventDispatcher();
|
|
13
|
+
export async function openDrawer(hash, cb) {
|
|
14
|
+
script = undefined;
|
|
15
|
+
scriptEditorDrawer.openDrawer?.();
|
|
16
|
+
script = await ScriptService.getScriptByHash({
|
|
17
|
+
workspace: $workspaceStore,
|
|
18
|
+
hash
|
|
19
|
+
});
|
|
20
|
+
callback = cb;
|
|
21
|
+
}
|
|
22
|
+
let callback = undefined;
|
|
23
|
+
let script = undefined;
|
|
24
|
+
async function saveScript() {
|
|
25
|
+
if (script) {
|
|
26
|
+
try {
|
|
27
|
+
script.schema = script.schema ?? emptySchema();
|
|
28
|
+
try {
|
|
29
|
+
await inferArgs(script.language, script.content, script.schema);
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
sendUserToast(`Impossible to infer the schema. Assuming this is a script without main function`, true);
|
|
33
|
+
}
|
|
34
|
+
await ScriptService.createScript({
|
|
35
|
+
workspace: $workspaceStore,
|
|
36
|
+
requestBody: {
|
|
37
|
+
path: script.path,
|
|
38
|
+
summary: script.summary,
|
|
39
|
+
description: script.description ?? '',
|
|
40
|
+
content: script.content,
|
|
41
|
+
parent_hash: script.hash != '' ? script.hash : undefined,
|
|
42
|
+
schema: script.schema,
|
|
43
|
+
is_template: false,
|
|
44
|
+
language: script.language,
|
|
45
|
+
kind: script.kind
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
callback?.();
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
sendUserToast(`Impossible to save the script: ${error.body}`, true);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
</script>
|
|
56
|
+
|
|
57
|
+
<Drawer bind:this={scriptEditorDrawer} size="1200px">
|
|
58
|
+
<DrawerContent
|
|
59
|
+
title="Script Editor"
|
|
60
|
+
noPadding
|
|
61
|
+
forceOverflowVisible
|
|
62
|
+
on:close={() => {
|
|
63
|
+
scriptEditorDrawer.closeDrawer()
|
|
64
|
+
}}
|
|
65
|
+
>
|
|
66
|
+
{#if script}
|
|
67
|
+
{#key script.hash}
|
|
68
|
+
<ScriptEditor
|
|
69
|
+
noSyncFromGithub
|
|
70
|
+
lang={script.language}
|
|
71
|
+
path={script.path}
|
|
72
|
+
fixedOverflowWidgets={false}
|
|
73
|
+
bind:code={script.content}
|
|
74
|
+
bind:schema={script.schema}
|
|
75
|
+
/>
|
|
76
|
+
{/key}
|
|
77
|
+
{:else}
|
|
78
|
+
<div
|
|
79
|
+
out:fade={{ duration: 200 }}
|
|
80
|
+
class="absolute inset-0 center-center flex-col bg-white text-gray-600 border"
|
|
81
|
+
>
|
|
82
|
+
<Loader2 class="animate-spin" size={16} />
|
|
83
|
+
<span class="text-xs mt-1">Loading</span>
|
|
84
|
+
</div>
|
|
85
|
+
{/if}
|
|
86
|
+
<svelte:fragment slot="actions">
|
|
87
|
+
<Button
|
|
88
|
+
on:click={async () => {
|
|
89
|
+
await saveScript()
|
|
90
|
+
dispatch('save')
|
|
91
|
+
scriptEditorDrawer.closeDrawer()
|
|
92
|
+
}}
|
|
93
|
+
disabled={!script}
|
|
94
|
+
startIcon={{ icon: faSave }}>Save</Button
|
|
95
|
+
>
|
|
96
|
+
</svelte:fragment>
|
|
97
|
+
</DrawerContent>
|
|
98
|
+
</Drawer>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
openDrawer?: ((hash: string, cb: () => void) => Promise<void>) | undefined;
|
|
5
|
+
};
|
|
6
|
+
events: {
|
|
7
|
+
save: CustomEvent<any>;
|
|
8
|
+
} & {
|
|
9
|
+
[evt: string]: CustomEvent<any>;
|
|
10
|
+
};
|
|
11
|
+
slots: {};
|
|
12
|
+
};
|
|
13
|
+
export type ScriptEditorDrawerProps = typeof __propDef.props;
|
|
14
|
+
export type ScriptEditorDrawerEvents = typeof __propDef.events;
|
|
15
|
+
export type ScriptEditorDrawerSlots = typeof __propDef.slots;
|
|
16
|
+
export default class ScriptEditorDrawer extends SvelteComponentTyped<ScriptEditorDrawerProps, ScriptEditorDrawerEvents, ScriptEditorDrawerSlots> {
|
|
17
|
+
get openDrawer(): (hash: string, cb: () => void) => Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Schema } from '../../common';
|
|
2
2
|
import type { Flow } from '../../gen';
|
|
3
|
+
import type { Writable } from 'svelte/store';
|
|
3
4
|
export type FlowModuleState = {
|
|
4
5
|
schema: Schema;
|
|
5
6
|
previewResult?: any;
|
|
@@ -11,6 +12,4 @@ export type FlowState = Record<string, FlowModuleState>;
|
|
|
11
12
|
* It contains data loaded that are not contained in a Flow object i.e. schemas.
|
|
12
13
|
* We also hold the data of the results of a test job, ran by the user.
|
|
13
14
|
*/
|
|
14
|
-
export declare
|
|
15
|
-
export declare const testStepStore: import("svelte/store").Writable<Record<string, any>>;
|
|
16
|
-
export declare function initFlowState(flow: Flow): Promise<void>;
|
|
15
|
+
export declare function initFlowState(flow: Flow, flowStateStore: Writable<FlowState>): Promise<void>;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { writable } from 'svelte/store';
|
|
2
1
|
import { loadFlowModuleState } from './flowStateUtils';
|
|
3
2
|
import { emptyFlowModuleState } from './utils';
|
|
4
3
|
/**
|
|
@@ -6,9 +5,7 @@ import { emptyFlowModuleState } from './utils';
|
|
|
6
5
|
* It contains data loaded that are not contained in a Flow object i.e. schemas.
|
|
7
6
|
* We also hold the data of the results of a test job, ran by the user.
|
|
8
7
|
*/
|
|
9
|
-
export
|
|
10
|
-
export const testStepStore = writable({});
|
|
11
|
-
export async function initFlowState(flow) {
|
|
8
|
+
export async function initFlowState(flow, flowStateStore) {
|
|
12
9
|
const modulesState = {};
|
|
13
10
|
await mapFlowModules(flow.value.modules, modulesState);
|
|
14
11
|
const failureModule = flow.value.failure_module
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { Schema } from '../../common';
|
|
2
|
-
import { Script, type FlowModule, type PathFlow, type PathScript, type RawScript } from '../../gen';
|
|
3
|
-
import { type
|
|
2
|
+
import { Script, type Flow, type FlowModule, type PathFlow, type PathScript, type RawScript } from '../../gen';
|
|
3
|
+
import { type Writable } from 'svelte/store';
|
|
4
|
+
import type { FlowModuleState, FlowState } from './flowState';
|
|
4
5
|
import { Mutex } from 'async-mutex';
|
|
5
6
|
export declare function loadFlowModuleState(flowModule: FlowModule): Promise<FlowModuleState>;
|
|
6
7
|
export declare const idMutex: Mutex;
|
|
7
8
|
export declare function getNextId(currentKeys: string[]): string;
|
|
8
|
-
export declare function nextId(): string;
|
|
9
|
+
export declare function nextId(flowState: FlowState): string;
|
|
9
10
|
export declare function pickScript(path: string, summary: string, id: string, hash?: string): Promise<[FlowModule & {
|
|
10
11
|
value: PathScript;
|
|
11
12
|
}, FlowModuleState]>;
|
|
@@ -20,8 +21,8 @@ export declare function createFlow(id: string): Promise<[FlowModule, FlowModuleS
|
|
|
20
21
|
export declare function fork(flowModule: FlowModule): Promise<[FlowModule & {
|
|
21
22
|
value: RawScript;
|
|
22
23
|
}, FlowModuleState]>;
|
|
23
|
-
export declare function emptyModule(flow?: boolean): FlowModule;
|
|
24
|
-
export declare function createScriptFromInlineScript(flowModule: FlowModule, suffix: string, schema: Schema): Promise<[FlowModule & {
|
|
24
|
+
export declare function emptyModule(flowState: FlowState, flow?: boolean): FlowModule;
|
|
25
|
+
export declare function createScriptFromInlineScript(flowModule: FlowModule, suffix: string, schema: Schema, flow: Flow): Promise<[FlowModule & {
|
|
25
26
|
value: PathScript;
|
|
26
27
|
}, FlowModuleState]>;
|
|
27
|
-
export declare function deleteFlowStateById(id: string): void;
|
|
28
|
+
export declare function deleteFlowStateById(id: string, flowStateStore: Writable<FlowState>): void;
|
|
@@ -3,8 +3,6 @@ import { initialCode } from '../../script_helpers';
|
|
|
3
3
|
import { userStore, workspaceStore } from '../../stores';
|
|
4
4
|
import { getScriptByPath } from '../../utils';
|
|
5
5
|
import { get } from 'svelte/store';
|
|
6
|
-
import { flowStateStore } from './flowState';
|
|
7
|
-
import { flowStore } from './flowStore';
|
|
8
6
|
import { charsToNumber, emptyFlowModuleState, findNextAvailablePath, loadSchemaFromModule, NEVER_TESTED_THIS_FAR, numberToChars } from './utils';
|
|
9
7
|
import { Mutex } from 'async-mutex';
|
|
10
8
|
export async function loadFlowModuleState(flowModule) {
|
|
@@ -36,8 +34,7 @@ export function getNextId(currentKeys) {
|
|
|
36
34
|
return numberToChars(max);
|
|
37
35
|
}
|
|
38
36
|
// Computes the next available id
|
|
39
|
-
export function nextId() {
|
|
40
|
-
const flowState = get(flowStateStore);
|
|
37
|
+
export function nextId(flowState) {
|
|
41
38
|
const max = Object.keys(flowState).reduce((acc, key) => {
|
|
42
39
|
if (key === 'failure' || key.includes('branch') || key.includes('loop')) {
|
|
43
40
|
return acc;
|
|
@@ -145,14 +142,13 @@ async function createInlineScriptModuleFromPath(path, id) {
|
|
|
145
142
|
}
|
|
146
143
|
};
|
|
147
144
|
}
|
|
148
|
-
export function emptyModule(flow) {
|
|
145
|
+
export function emptyModule(flowState, flow) {
|
|
149
146
|
return {
|
|
150
|
-
id: nextId(),
|
|
147
|
+
id: nextId(flowState),
|
|
151
148
|
value: { type: 'identity', flow }
|
|
152
149
|
};
|
|
153
150
|
}
|
|
154
|
-
export async function createScriptFromInlineScript(flowModule, suffix, schema) {
|
|
155
|
-
const flow = get(flowStore);
|
|
151
|
+
export async function createScriptFromInlineScript(flowModule, suffix, schema, flow) {
|
|
156
152
|
const user = get(userStore);
|
|
157
153
|
if (flowModule.value.type != 'rawscript') {
|
|
158
154
|
throw new Error("Can't create script from non-inline script");
|
|
@@ -182,7 +178,7 @@ export async function createScriptFromInlineScript(flowModule, suffix, schema) {
|
|
|
182
178
|
});
|
|
183
179
|
return pickScript(availablePath, flowModule.summary ?? '', flowModule.id, hash);
|
|
184
180
|
}
|
|
185
|
-
export function deleteFlowStateById(id) {
|
|
181
|
+
export function deleteFlowStateById(id, flowStateStore) {
|
|
186
182
|
flowStateStore.update((fss) => {
|
|
187
183
|
delete fss[id];
|
|
188
184
|
return fss;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { Flow, FlowModule } from '../../gen';
|
|
2
|
+
import { type Writable } from 'svelte/store';
|
|
3
|
+
import { type FlowState } from './flowState';
|
|
2
4
|
export type FlowMode = 'push' | 'pull';
|
|
3
|
-
export declare const importFlowStore:
|
|
4
|
-
export declare const flowStore: import("svelte/store").Writable<Flow>;
|
|
5
|
+
export declare const importFlowStore: Writable<Flow | undefined>;
|
|
5
6
|
export declare function dfs<T>(modules: FlowModule[], f: (x: FlowModule) => T): T[];
|
|
6
|
-
export declare function initFlow(flow: Flow): Promise<void>;
|
|
7
|
-
export declare function copyFirstStepSchema(): Promise<void>;
|
|
7
|
+
export declare function initFlow(flow: Flow, flowStore: Writable<Flow>, flowStateStore: Writable<FlowState>): Promise<void>;
|
|
8
|
+
export declare function copyFirstStepSchema(flowState: FlowState, flowStore: Writable<Flow>): Promise<void>;
|
|
@@ -1,17 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { flowStateStore, initFlowState } from './flowState';
|
|
1
|
+
import { get, writable } from 'svelte/store';
|
|
2
|
+
import { initFlowState } from './flowState';
|
|
4
3
|
import { numberToChars } from './utils';
|
|
5
4
|
export const importFlowStore = writable(undefined);
|
|
6
|
-
export const flowStore = writable({
|
|
7
|
-
summary: '',
|
|
8
|
-
value: { modules: [] },
|
|
9
|
-
path: '',
|
|
10
|
-
edited_at: '',
|
|
11
|
-
edited_by: '',
|
|
12
|
-
archived: false,
|
|
13
|
-
extra_perms: {}
|
|
14
|
-
});
|
|
15
5
|
export function dfs(modules, f) {
|
|
16
6
|
let result = [];
|
|
17
7
|
for (const module of modules) {
|
|
@@ -33,7 +23,7 @@ export function dfs(modules, f) {
|
|
|
33
23
|
}
|
|
34
24
|
return result;
|
|
35
25
|
}
|
|
36
|
-
export async function initFlow(flow) {
|
|
26
|
+
export async function initFlow(flow, flowStore, flowStateStore) {
|
|
37
27
|
let counter = 0;
|
|
38
28
|
for (const mod of flow.value.modules) {
|
|
39
29
|
migrateFlowModule(mod);
|
|
@@ -47,7 +37,7 @@ export async function initFlow(flow) {
|
|
|
47
37
|
flowVal.modules.forEach(migrateFlowModule);
|
|
48
38
|
}
|
|
49
39
|
}
|
|
50
|
-
await initFlowState(flow);
|
|
40
|
+
await initFlowState(flow, flowStateStore);
|
|
51
41
|
flowStore.set(flow);
|
|
52
42
|
function migrateFlowModule(mod) {
|
|
53
43
|
if (mod.id == undefined) {
|
|
@@ -75,8 +65,7 @@ export async function initFlow(flow) {
|
|
|
75
65
|
}
|
|
76
66
|
}
|
|
77
67
|
}
|
|
78
|
-
export async function copyFirstStepSchema() {
|
|
79
|
-
const flowState = get(flowStateStore);
|
|
68
|
+
export async function copyFirstStepSchema(flowState, flowStore) {
|
|
80
69
|
flowStore.update((flow) => {
|
|
81
70
|
const firstModuleId = flow.value.modules[0]?.id;
|
|
82
71
|
if (flowState[firstModuleId] && firstModuleId) {
|
|
@@ -93,5 +82,4 @@ export async function copyFirstStepSchema() {
|
|
|
93
82
|
}
|
|
94
83
|
return flow;
|
|
95
84
|
});
|
|
96
|
-
sendUserToast('Copied first step schema as flow input schema');
|
|
97
85
|
}
|
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
import DrawerContent from '../../common/drawer/DrawerContent.svelte';
|
|
3
3
|
import FlowViewer from '../../FlowViewer.svelte';
|
|
4
4
|
import { faFileExport } from '@fortawesome/free-solid-svg-icons';
|
|
5
|
+
import { getContext } from 'svelte';
|
|
5
6
|
import Icon from 'svelte-awesome';
|
|
6
7
|
import { Button } from '../../common';
|
|
7
|
-
import { flowStore } from '../flowStore';
|
|
8
8
|
import { cleanInputs } from '../utils';
|
|
9
|
+
const { flowStore } = getContext('FlowEditorContext');
|
|
9
10
|
let jsonViewerDrawer;
|
|
10
11
|
</script>
|
|
11
12
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
<script>import { getContext } from 'svelte';
|
|
2
2
|
import { classNames } from '../../../utils';
|
|
3
3
|
import { DollarSign } from 'lucide-svelte';
|
|
4
|
-
const {
|
|
4
|
+
const { selectedId } = getContext('FlowEditorContext');
|
|
5
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' : '');
|
|
6
6
|
</script>
|
|
7
7
|
|
|
8
|
-
<button on:click={() =>
|
|
8
|
+
<button on:click={() => ($selectedId = 'constants')} class={settingsClass}>
|
|
9
9
|
<DollarSign size={16} />
|
|
10
10
|
<span class="text-xs flex flex-row justify-between w-full gap-2 items-center truncate ml-1">
|
|
11
11
|
All Static Inputs
|
|
@@ -2,16 +2,14 @@
|
|
|
2
2
|
import Icon from 'svelte-awesome';
|
|
3
3
|
import { faBug } from '@fortawesome/free-solid-svg-icons';
|
|
4
4
|
import { classNames, emptySchema } from '../../../utils';
|
|
5
|
-
import { flowStateStore } from '../flowState';
|
|
6
5
|
import Toggle from '../../Toggle.svelte';
|
|
7
|
-
import { flowStore } from '../flowStore';
|
|
8
6
|
import { NEVER_TESTED_THIS_FAR } from '../utils';
|
|
9
|
-
const {
|
|
7
|
+
const { selectedId, flowStateStore, flowStore } = getContext('FlowEditorContext');
|
|
10
8
|
function onToggle() {
|
|
11
9
|
if ($flowStore?.value?.failure_module) {
|
|
12
10
|
$flowStore.value.failure_module = undefined;
|
|
13
11
|
// By default, we return to settings when disabling the failure module
|
|
14
|
-
|
|
12
|
+
$selectedId = 'settings-metadata';
|
|
15
13
|
}
|
|
16
14
|
else {
|
|
17
15
|
const failureModule = {
|
|
@@ -23,7 +21,7 @@ function onToggle() {
|
|
|
23
21
|
id: 'failure',
|
|
24
22
|
value: { type: 'identity' }
|
|
25
23
|
};
|
|
26
|
-
|
|
24
|
+
$selectedId = 'failure';
|
|
27
25
|
}
|
|
28
26
|
}
|
|
29
27
|
</script>
|
|
@@ -32,34 +30,35 @@ function onToggle() {
|
|
|
32
30
|
<div
|
|
33
31
|
on:click={() => {
|
|
34
32
|
if ($flowStore?.value?.failure_module) {
|
|
35
|
-
|
|
33
|
+
$selectedId = 'failure'
|
|
36
34
|
} else {
|
|
37
35
|
onToggle()
|
|
38
36
|
}
|
|
39
37
|
}}
|
|
40
38
|
class={classNames(
|
|
41
|
-
'border rounded-sm px-2 py-1 bg-white text-sm border-gray-400 cursor-pointer flex flex-
|
|
39
|
+
'border mx-auto rounded-sm px-2 py-1 bg-white text-sm border-gray-400 cursor-pointer flex justify-between items-center flex-row overflow-x-hidden ',
|
|
42
40
|
$selectedId?.includes('failure') ? 'outline outline-offset-1 outline-2 outline-slate-900' : ''
|
|
43
41
|
)}
|
|
42
|
+
style="min-width: 275px"
|
|
44
43
|
>
|
|
45
44
|
<div class=" flex justify-between items-center flex-wrap">
|
|
46
45
|
<div>
|
|
47
46
|
<Icon data={faBug} class="mr-2" />
|
|
48
47
|
<span class="font-bold text-xs">Error handler</span>
|
|
49
48
|
</div>
|
|
50
|
-
<div class="-my-1">
|
|
51
|
-
<Toggle checked={Boolean($flowStore?.value?.failure_module)} on:change={onToggle} />
|
|
52
|
-
</div>
|
|
53
49
|
</div>
|
|
54
50
|
|
|
55
|
-
<div class="
|
|
51
|
+
<div class=" items-center truncate flex text-xs">
|
|
56
52
|
{#if Boolean($flowStore?.value?.failure_module)}
|
|
57
53
|
<span>
|
|
58
54
|
{$flowStore.value.failure_module?.summary ||
|
|
59
55
|
($flowStore.value.failure_module?.value.type === 'rawscript'
|
|
60
|
-
?
|
|
61
|
-
: '
|
|
56
|
+
? `${$flowStore.value.failure_module?.value.language}`
|
|
57
|
+
: 'TBD')}
|
|
62
58
|
</span>
|
|
63
59
|
{/if}
|
|
64
60
|
</div>
|
|
61
|
+
<div class="-my-1">
|
|
62
|
+
<Toggle checked={Boolean($flowStore?.value?.failure_module)} on:change={onToggle} />
|
|
63
|
+
</div>
|
|
65
64
|
</div>
|
|
@@ -2,12 +2,11 @@
|
|
|
2
2
|
import FlowModuleSchemaItem from './FlowModuleSchemaItem.svelte';
|
|
3
3
|
import Icon from 'svelte-awesome';
|
|
4
4
|
import { faFlagCheckered } from '@fortawesome/free-solid-svg-icons';
|
|
5
|
-
const {
|
|
5
|
+
const { selectedId } = getContext('FlowEditorContext');
|
|
6
6
|
</script>
|
|
7
7
|
|
|
8
8
|
<FlowModuleSchemaItem
|
|
9
|
-
on:click={() =>
|
|
10
|
-
hasLine
|
|
9
|
+
on:click={() => ($selectedId = 'inputs')}
|
|
11
10
|
selected={$selectedId === 'inputs'}
|
|
12
11
|
bold
|
|
13
12
|
label="Flow Input"
|