windmill-components 1.60.4 → 1.75.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 +15 -1
- package/common.d.ts +5 -1
- package/components/ApiConnectForm.svelte +66 -5
- package/components/AppConnect.svelte +26 -10
- package/components/ArgInput.svelte +1 -1
- package/components/CliHelpBox.svelte +49 -0
- package/components/CliHelpBox.svelte.d.ts +14 -0
- package/components/DisplayResult.svelte +78 -10
- package/components/DisplayResult.svelte.d.ts +1 -0
- package/components/Editor.svelte +17 -7
- package/components/EditorBar.svelte +129 -111
- package/components/FieldHeader.svelte +12 -8
- package/components/FlowBuilder.svelte +107 -39
- package/components/FlowBuilder.svelte.d.ts +5 -0
- package/components/FlowGraphViewer.svelte +5 -4
- package/components/FlowJobResult.svelte +13 -5
- package/components/FlowJobResult.svelte.d.ts +1 -0
- package/components/FlowMetadata.svelte +24 -8
- package/components/FlowPreviewContent.svelte +5 -11
- package/components/FlowStatusViewer.svelte +62 -17
- package/components/FolderEditor.svelte +3 -2
- package/components/GroupEditor.svelte +8 -0
- package/components/HighlightCode.svelte +7 -1
- package/components/InlineCodeCopy.svelte +11 -0
- package/components/InlineCodeCopy.svelte.d.ts +16 -0
- package/components/InputTransformForm.svelte +22 -25
- package/components/InputTransformSchemaForm.svelte +103 -0
- package/components/InputTransformSchemaForm.svelte.d.ts +24 -0
- package/components/LogViewer.svelte +7 -1
- package/components/LogViewer.svelte.d.ts +1 -0
- package/components/ModulePreview.svelte +13 -3
- package/components/MoveDrawer.svelte +1 -1
- package/components/Multiselect.svelte +1 -1
- package/components/Multiselect.svelte.d.ts +2 -2
- package/components/ObjectResourceInput.svelte +6 -1
- package/components/Path.svelte +29 -16
- package/components/Popover.svelte +10 -15
- package/components/Popover.svelte.d.ts +1 -0
- package/components/Range.svelte.d.ts +2 -2
- package/components/ResourceEditor.svelte +39 -16
- package/components/ResourcePicker.svelte +33 -15
- package/components/RunChart.svelte +24 -5
- package/components/RunForm.svelte +26 -3
- package/components/RunForm.svelte.d.ts +2 -0
- package/components/ScheduleEditor.svelte +1 -1
- package/components/SchemaEditor.svelte +2 -2
- package/components/SchemaForm.svelte +72 -60
- package/components/SchemaForm.svelte.d.ts +1 -5
- package/components/ScriptBuilder.svelte +69 -30
- package/components/ScriptBuilder.svelte.d.ts +1 -0
- package/components/ScriptEditor.svelte +1 -0
- package/components/ScriptPicker.svelte +3 -0
- package/components/SharedBadge.svelte +5 -5
- package/components/SimpleEditor.svelte +4 -1
- package/components/SimpleEditor.svelte.d.ts +2 -0
- package/components/Slider.svelte +19 -0
- package/components/Slider.svelte.d.ts +20 -0
- package/components/StringTypeNarrowing.svelte +0 -1
- package/components/SuperadminSettings.svelte +11 -3
- package/components/SuperadminSettings.svelte.d.ts +2 -0
- package/components/TemplateEditor.svelte +1 -1
- package/components/TemplateEditor.svelte.d.ts +204 -0
- package/components/TestJobLoader.svelte +5 -5
- package/components/Toggle.svelte +18 -6
- package/components/Toggle.svelte.d.ts +2 -0
- package/components/Tooltip.svelte +1 -1
- package/components/UserSettings.svelte +13 -3
- package/components/UserSettings.svelte.d.ts +2 -0
- package/components/VariableEditor.svelte +1 -1
- package/components/WhitelistIp.svelte +23 -0
- package/components/WhitelistIp.svelte.d.ts +14 -0
- package/components/apps/components/buttons/AppButton.svelte +79 -17
- package/components/apps/components/buttons/AppButton.svelte.d.ts +4 -0
- package/components/apps/components/{form → buttons}/AppForm.svelte +19 -7
- package/components/apps/components/{form → buttons}/AppForm.svelte.d.ts +3 -0
- package/components/apps/components/buttons/AppFormButton.svelte +145 -0
- package/components/apps/components/buttons/AppFormButton.svelte.d.ts +28 -0
- package/components/apps/components/buttons/index.d.ts +3 -0
- package/components/apps/components/buttons/index.js +3 -0
- package/components/apps/components/{dataDisplay → display}/AppBarChart.svelte +27 -8
- package/components/apps/components/{dataDisplay → display}/AppBarChart.svelte.d.ts +4 -0
- package/components/apps/components/display/AppDisplayComponent.svelte +36 -0
- package/components/apps/components/display/AppDisplayComponent.svelte.d.ts +24 -0
- package/components/apps/components/display/AppHtml.svelte +46 -0
- package/components/apps/components/{dataDisplay → display}/AppHtml.svelte.d.ts +4 -1
- package/components/apps/components/display/AppIcon.svelte +47 -0
- package/components/apps/components/display/AppIcon.svelte.d.ts +25 -0
- package/components/apps/components/display/AppImage.svelte +34 -0
- package/components/apps/components/display/AppImage.svelte.d.ts +25 -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/{dataDisplay → display}/AppPieChart.svelte +16 -7
- package/components/apps/components/{dataDisplay → display}/AppPieChart.svelte.d.ts +4 -0
- package/components/apps/components/{dataDisplay → display}/AppScatterChart.svelte +13 -4
- package/components/apps/components/{dataDisplay → display}/AppScatterChart.svelte.d.ts +4 -0
- package/components/apps/components/{dataDisplay → display}/AppText.svelte +42 -34
- package/components/apps/components/{dataDisplay → display}/AppText.svelte.d.ts +4 -0
- package/components/apps/components/{dataDisplay → display}/AppTimeseries.svelte +14 -5
- package/components/apps/components/{dataDisplay → display}/AppTimeseries.svelte.d.ts +4 -0
- package/components/apps/components/display/PlotlyHtml.svelte +32 -0
- package/components/apps/components/display/PlotlyHtml.svelte.d.ts +24 -0
- package/components/apps/components/{dataDisplay → display}/VegaLiteHtml.svelte +4 -10
- package/components/apps/components/{dataDisplay → display}/VegaLiteHtml.svelte.d.ts +2 -0
- package/components/apps/components/display/index.d.ts +15 -0
- package/components/apps/components/display/index.js +15 -0
- package/components/apps/components/display/table/AppAggridTable.svelte +92 -0
- package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +25 -0
- package/components/apps/components/{table → display/table}/AppTable.svelte +85 -29
- package/components/apps/components/{table → display/table}/AppTable.svelte.d.ts +6 -2
- package/components/apps/components/{table → display/table}/AppTableFooter.svelte +9 -2
- package/components/apps/components/{table → display/table}/AppTableFooter.svelte.d.ts +2 -0
- package/components/apps/components/helpers/AlignWrapper.svelte +29 -23
- package/components/apps/components/helpers/AlignWrapper.svelte.d.ts +6 -2
- package/components/apps/components/helpers/HiddenComponent.svelte +23 -0
- package/components/apps/components/helpers/HiddenComponent.svelte.d.ts +25 -0
- package/components/apps/components/helpers/InputDefaultValue.svelte +17 -0
- package/components/apps/components/helpers/InputDefaultValue.svelte.d.ts +17 -0
- package/components/apps/components/helpers/InputValue.svelte +39 -18
- package/components/apps/components/helpers/InputValue.svelte.d.ts +0 -1
- 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 +1 -1
- 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 +99 -102
- package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +5 -2
- package/components/apps/components/helpers/RunnableWrapper.svelte +16 -7
- package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +5 -2
- package/components/apps/components/helpers/index.d.ts +10 -0
- package/components/apps/components/helpers/index.js +10 -0
- package/components/apps/components/icon.d.ts +1 -0
- package/components/apps/components/icon.js +18 -0
- package/components/apps/components/index.d.ts +5 -0
- package/components/apps/components/index.js +5 -0
- package/components/apps/components/{selectInputs → inputs}/AppCheckbox.svelte +12 -4
- package/components/apps/components/{selectInputs → inputs}/AppCheckbox.svelte.d.ts +3 -0
- package/components/apps/components/inputs/AppDateInput.svelte +47 -0
- package/components/apps/components/{dateInputs → inputs}/AppDateInput.svelte.d.ts +6 -1
- package/components/apps/components/inputs/AppFileInput.svelte +42 -0
- package/components/apps/components/inputs/AppFileInput.svelte.d.ts +23 -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 +52 -0
- package/components/apps/components/{numberInputs → inputs}/AppNumberInput.svelte.d.ts +5 -0
- package/components/apps/components/inputs/AppRangeInput.svelte +85 -0
- package/components/apps/components/inputs/AppRangeInput.svelte.d.ts +26 -0
- package/components/apps/components/inputs/AppSelect.svelte +127 -0
- package/components/apps/components/{selectInputs → inputs}/AppSelect.svelte.d.ts +5 -0
- package/components/apps/components/inputs/AppSliderInputs.svelte +73 -0
- package/components/apps/components/{numberInputs → inputs}/AppSliderInputs.svelte.d.ts +3 -0
- package/components/apps/components/inputs/AppTextInput.svelte +71 -0
- package/components/apps/components/{textInputs → inputs}/AppTextInput.svelte.d.ts +6 -0
- package/components/apps/components/inputs/currency/AppCurrencyInput.svelte +59 -0
- package/components/apps/components/inputs/currency/AppCurrencyInput.svelte.d.ts +24 -0
- package/components/apps/components/inputs/currency/CurrencyInput.svelte +183 -0
- package/components/apps/components/inputs/currency/CurrencyInput.svelte.d.ts +33 -0
- package/components/apps/components/inputs/index.d.ts +9 -0
- package/components/apps/components/inputs/index.js +9 -0
- package/components/apps/components/layout/AppContainer.svelte +40 -0
- package/components/apps/components/layout/AppContainer.svelte.d.ts +24 -0
- package/components/apps/components/layout/AppDivider.svelte +40 -0
- package/components/apps/components/layout/AppDivider.svelte.d.ts +24 -0
- package/components/apps/components/layout/AppDrawer.svelte +89 -0
- package/components/apps/components/layout/AppDrawer.svelte.d.ts +24 -0
- package/components/apps/components/layout/AppSplitpanes.svelte +88 -0
- package/components/apps/components/layout/AppSplitpanes.svelte.d.ts +26 -0
- package/components/apps/components/layout/AppTabs.svelte +99 -0
- package/components/apps/components/layout/AppTabs.svelte.d.ts +27 -0
- package/components/apps/components/layout/index.d.ts +5 -0
- package/components/apps/components/layout/index.js +5 -0
- package/components/apps/editor/AppComponentInput.svelte +33 -0
- package/components/apps/editor/AppComponentInput.svelte.d.ts +18 -0
- package/components/apps/editor/AppComponentInputs.svelte +13 -0
- package/components/apps/editor/AppComponentInputs.svelte.d.ts +20 -0
- package/components/apps/editor/AppEditor.svelte +134 -35
- package/components/apps/editor/AppEditor.svelte.d.ts +4 -1
- package/components/apps/editor/AppEditorHeader.svelte +178 -47
- package/components/apps/editor/AppEditorHeader.svelte.d.ts +1 -0
- package/components/apps/editor/AppInputs.svelte +60 -0
- package/components/apps/editor/AppInputs.svelte.d.ts +14 -0
- package/components/apps/editor/AppPreview.svelte +30 -12
- package/components/apps/editor/ComponentHeader.svelte +52 -3
- package/components/apps/editor/ComponentHeader.svelte.d.ts +2 -1
- package/components/apps/editor/GridEditor.svelte +134 -77
- package/components/apps/editor/GridEditor.svelte.d.ts +2 -0
- package/components/apps/editor/GridPanel.svelte +29 -0
- package/components/apps/editor/GridPanel.svelte.d.ts +18 -0
- package/components/apps/editor/RecomputeAllComponents.svelte +8 -6
- package/components/apps/editor/SettingsPanel.svelte +26 -8
- package/components/apps/editor/SubGridEditor.svelte +139 -0
- package/components/apps/editor/SubGridEditor.svelte.d.ts +29 -0
- package/components/apps/editor/appUtils.d.ts +19 -0
- package/components/apps/editor/appUtils.js +241 -0
- package/components/apps/editor/component/Component.svelte +434 -0
- package/components/apps/editor/{ComponentEditor.svelte.d.ts → component/Component.svelte.d.ts} +7 -5
- package/components/apps/editor/component/ComponentNavigation.svelte +125 -0
- package/components/apps/editor/component/ComponentNavigation.svelte.d.ts +14 -0
- package/components/apps/editor/component/README.md +15 -0
- package/components/apps/editor/component/components.d.ts +77 -0
- package/components/apps/editor/component/components.js +1476 -0
- package/components/apps/editor/component/default-codes.d.ts +3 -0
- package/components/apps/editor/component/default-codes.js +322 -0
- package/components/apps/editor/component/index.d.ts +4 -0
- package/components/apps/editor/component/index.js +4 -0
- package/components/apps/editor/component/sets.d.ts +2 -0
- package/components/apps/editor/component/sets.js +55 -0
- package/components/apps/editor/componentsPanel/ComponentList.svelte +75 -108
- package/components/apps/editor/componentsPanel/CssProperty.svelte +67 -0
- package/components/apps/editor/componentsPanel/CssProperty.svelte.d.ts +21 -0
- package/components/apps/editor/componentsPanel/CssSettings.svelte +188 -0
- package/components/apps/editor/componentsPanel/CssSettings.svelte.d.ts +14 -0
- package/components/apps/editor/componentsPanel/ListItem.svelte +39 -0
- package/components/apps/editor/componentsPanel/ListItem.svelte.d.ts +20 -0
- package/components/apps/editor/componentsPanel/componentStaticValues.d.ts +5 -1
- package/components/apps/editor/componentsPanel/componentStaticValues.js +16 -1
- package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +1 -1
- package/components/apps/editor/contextPanel/ContextPanel.svelte +115 -67
- package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +109 -10
- package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte.d.ts +1 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +88 -41
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +5 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte +32 -6
- package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte.d.ts +1 -0
- package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +75 -8
- package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +128 -72
- package/components/apps/editor/inlineScriptsPanel/utils.d.ts +5 -5
- package/components/apps/editor/inlineScriptsPanel/utils.js +48 -7
- package/components/apps/editor/settingsPanel/AlignmentEditor.svelte +1 -1
- package/components/apps/editor/settingsPanel/AlignmentEditor.svelte.d.ts +1 -1
- package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +14 -10
- package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte.d.ts +68 -1
- package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +1 -1
- package/components/apps/editor/settingsPanel/ComponentPanel.svelte +130 -61
- package/components/apps/editor/settingsPanel/ComponentPanel.svelte.d.ts +6 -3
- 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 +73 -0
- package/components/apps/editor/settingsPanel/GridTab.svelte.d.ts +20 -0
- package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +5 -1
- package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +2 -2
- package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +93 -78
- package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +1 -0
- package/components/apps/editor/settingsPanel/MoveToOtherGrid.svelte +92 -0
- package/components/apps/editor/settingsPanel/MoveToOtherGrid.svelte.d.ts +18 -0
- package/components/apps/editor/settingsPanel/Recompute.svelte +5 -2
- package/components/apps/editor/settingsPanel/SelectedRunnable.svelte +1 -1
- package/components/apps/editor/settingsPanel/TableActions.svelte +45 -7
- package/components/apps/editor/settingsPanel/TableActions.svelte.d.ts +2 -1
- package/components/apps/editor/settingsPanel/common/PanelSection.svelte +6 -4
- 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 +1 -1
- package/components/apps/editor/settingsPanel/inputEditor/EvalInputEditor.svelte +1 -1
- package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte +107 -0
- package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte.d.ts +21 -0
- package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte +2 -2
- package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte.d.ts +2 -1
- package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +59 -6
- package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte.d.ts +3 -0
- package/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte +21 -0
- package/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte.d.ts +17 -0
- 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 +4 -21
- package/components/apps/gridUtils.d.ts +3 -1
- package/components/apps/gridUtils.js +5 -3
- package/components/apps/inputType.d.ts +34 -6
- package/components/apps/rx.js +2 -1
- package/components/apps/store.d.ts +6 -1
- package/components/apps/types.d.ts +47 -42
- package/components/apps/types.js +1 -1
- package/components/apps/utils.d.ts +6 -5
- package/components/apps/utils.js +63 -95
- package/components/common/button/Button.svelte +12 -5
- package/components/common/button/Button.svelte.d.ts +3 -1
- package/components/common/button/ButtonPopup.svelte +2 -0
- package/components/common/button/ButtonPopup.svelte.d.ts +2 -1
- package/components/common/button/UndoRedo.svelte +32 -0
- package/components/common/button/UndoRedo.svelte.d.ts +20 -0
- package/components/common/button/model.d.ts +2 -2
- package/components/common/button/model.js +21 -6
- package/components/common/confirmationModal/ConfirmationModal.svelte +8 -1
- package/components/common/confirmationModal/UnsavedConfirmationModal.svelte +4 -4
- package/components/common/drawer/Drawer.svelte +13 -5
- package/components/common/drawer/Drawer.svelte.d.ts +3 -1
- package/components/common/drawer/DrawerContent.svelte +0 -1
- package/components/common/fileInput/FileInput.svelte +138 -0
- package/components/common/fileInput/FileInput.svelte.d.ts +29 -0
- package/components/common/fileInput/model.d.ts +1 -0
- package/components/common/fileInput/model.js +1 -0
- package/components/common/index.d.ts +2 -0
- package/components/common/index.js +2 -0
- package/components/common/kbd/Kbd.svelte.d.ts +2 -2
- package/components/common/menu/Menu.svelte +3 -2
- package/components/common/menu/Menu.svelte.d.ts +2 -1
- package/components/common/modal/Modal.svelte +79 -0
- package/components/common/modal/Modal.svelte.d.ts +24 -0
- package/components/common/popup/Popup.svelte +34 -17
- package/components/common/popup/Popup.svelte.d.ts +11 -4
- package/components/common/table/AppRow.svelte +13 -4
- package/components/common/table/AppRow.svelte.d.ts +1 -0
- package/components/common/table/FlowRow.svelte +40 -8
- package/components/common/table/FlowRow.svelte.d.ts +1 -0
- package/components/common/table/LanguageBadge.svelte +10 -4
- package/components/common/table/Row.svelte +1 -1
- package/components/common/table/ScriptRow.svelte +44 -12
- package/components/common/table/ScriptRow.svelte.d.ts +1 -0
- package/components/common/tabs/Tab.svelte +12 -5
- package/components/common/tabs/Tab.svelte.d.ts +4 -1
- package/components/common/tabs/Tabs.svelte +12 -8
- package/components/common/tabs/Tabs.svelte.d.ts +6 -2
- package/components/flows/CreateActionsFlow.svelte +2 -3
- package/components/flows/FlowEditor.svelte +6 -4
- package/components/flows/common/FlowCardHeader.svelte +4 -1
- package/components/flows/content/BranchPredicateEditor.svelte +13 -12
- 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/FlowInputs.svelte +109 -99
- package/components/flows/content/FlowLoop.svelte +4 -5
- package/components/flows/content/FlowModuleComponent.svelte +26 -13
- 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/FlowRetries.svelte +8 -6
- package/components/flows/content/FlowSchedules.svelte +1 -2
- package/components/flows/content/FlowSettings.svelte +77 -51
- 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 -2
- package/components/flows/flowState.js +1 -3
- package/components/flows/flowStateUtils.d.ts +7 -6
- package/components/flows/flowStateUtils.js +9 -11
- package/components/flows/flowStore.d.ts +5 -3
- package/components/flows/flowStore.js +6 -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 +163 -130
- package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +1 -1
- package/components/flows/map/FlowSettingsItem.svelte +5 -4
- package/components/flows/map/InsertModuleButton.svelte +34 -18
- package/components/flows/map/InsertModuleButton.svelte.d.ts +2 -0
- package/components/flows/map/MapItem.svelte +176 -101
- 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/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 +17 -11
- package/components/graph/FlowGraph.svelte +247 -164
- package/components/graph/FlowGraph.svelte.d.ts +15 -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/README.md +3 -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/d3/controllers/d3Old.d.ts +1 -0
- package/components/graph/svelvet/d3/controllers/d3Old.js +43 -0
- package/components/graph/svelvet/docs/CHANGELOG.md +145 -0
- package/components/graph/svelvet/docs/DESIGN_PATTERNS.md +44 -0
- package/components/graph/svelvet/docs/DOCUMENTATION.md +5 -0
- package/components/graph/svelvet/docs/README.md +34 -0
- package/components/graph/svelvet/docs/TODO.md +14 -0
- package/components/graph/svelvet/docs/Tutorials.md +25 -0
- package/components/graph/svelvet/docs/images/css-background-after.png +0 -0
- package/components/graph/svelvet/docs/images/css-background-before.png +0 -0
- package/components/graph/svelvet/docs/images/custom-edges-after.png +0 -0
- package/components/graph/svelvet/docs/images/custom-edges-before.png +0 -0
- package/components/graph/svelvet/docs/images/custom-nodes-after.png +0 -0
- package/components/graph/svelvet/docs/images/custom-nodes-before.png +0 -0
- package/components/graph/svelvet/docs/images/custom-svelte-components-after.png +0 -0
- package/components/graph/svelvet/docs/images/custom-svelte-components-before.png +0 -0
- package/components/graph/svelvet/docs/images/html-docs-after.png +0 -0
- package/components/graph/svelvet/docs/images/html-docs-before.png +0 -0
- package/components/graph/svelvet/docs/images/minimap-after.png +0 -0
- package/components/graph/svelvet/docs/images/minimap-before.png +0 -0
- package/components/graph/svelvet/docs/images/node-classes-after.png +0 -0
- package/components/graph/svelvet/docs/images/node-classes-before.png +0 -0
- package/components/graph/svelvet/docs/images/node-create-after.png +0 -0
- package/components/graph/svelvet/docs/images/node-create-before.png +0 -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/icons/SquareIcon.svelte +9 -0
- package/components/icons/SquareIcon.svelte.d.ts +17 -0
- package/components/icons/index.d.ts +2 -0
- package/components/icons/index.js +2 -0
- package/components/jobs/JobDetail.svelte +40 -5
- package/components/propertyPicker/ObjectViewer.svelte +14 -9
- package/components/propertyPicker/ObjectViewer.svelte.d.ts +1 -0
- package/components/propertyPicker/PropPicker.svelte +8 -1
- package/components/propertyPicker/PropPickerResult.svelte +1 -1
- package/components/random_positive_adjetive.d.ts +1 -0
- package/components/random_positive_adjetive.js +961 -0
- package/components/scriptEditor/LogPanel.svelte +2 -1
- package/components/sidebar/SidebarContent.svelte +1 -1
- package/components/sidebar/UserMenu.svelte +46 -16
- package/components/sidebar/UserMenu.svelte.d.ts +0 -3
- package/components/sidebar/WorkspaceMenu.svelte +3 -1
- package/components/sidebar/settings.d.ts +2 -0
- package/components/sidebar/settings.js +2 -0
- package/consts.d.ts +1 -0
- package/consts.js +1 -0
- package/defaults.d.ts +4 -0
- package/defaults.js +4 -0
- package/gen/core/OpenAPI.js +1 -1
- package/gen/models/CompletedJob.d.ts +1 -0
- package/gen/models/FlowModule.d.ts +0 -1
- package/gen/models/QueuedJob.d.ts +1 -0
- package/gen/models/WorkerPing.d.ts +1 -1
- package/gen/services/FlowService.d.ts +9 -0
- package/gen/services/FlowService.js +15 -0
- package/gen/services/JobService.d.ts +97 -15
- package/gen/services/JobService.js +74 -15
- package/gen/services/ScriptService.d.ts +10 -1
- package/gen/services/ScriptService.js +16 -1
- package/gen/services/VariableService.d.ts +4 -2
- package/gen/services/VariableService.js +8 -2
- package/gen/services/WorkspaceService.d.ts +17 -0
- package/gen/services/WorkspaceService.js +16 -0
- package/history.d.ts +9 -0
- package/history.js +56 -0
- package/infer.js +3 -0
- package/init_scripts/python_failure_module.py +10 -0
- package/init_scripts/python_init_code.py +37 -0
- package/init_scripts/python_init_code_clear.py +5 -0
- package/init_scripts/python_init_code_trigger.py +14 -0
- package/logout.js +2 -1
- package/package.json +661 -522
- package/script_helpers.d.ts +6 -5
- package/script_helpers.js +8 -73
- package/scripts.d.ts +1 -1
- package/scripts.js +8 -1
- package/stores.d.ts +5 -1
- package/stores.js +8 -1
- package/user.d.ts +1 -1
- package/user.js +14 -8
- package/utils.d.ts +10 -5
- package/utils.js +51 -14
- package/components/apps/components/DisplayComponent.svelte +0 -16
- package/components/apps/components/DisplayComponent.svelte.d.ts +0 -20
- package/components/apps/components/dataDisplay/AppHtml.svelte +0 -31
- package/components/apps/components/dateInputs/AppDateInput.svelte +0 -34
- package/components/apps/components/numberInputs/AppNumberInput.svelte +0 -33
- package/components/apps/components/numberInputs/AppSliderInputs.svelte +0 -37
- package/components/apps/components/selectInputs/AppSelect.svelte +0 -47
- package/components/apps/components/textInputs/AppTextInput.svelte +0 -31
- package/components/apps/editor/ComponentEditor.svelte +0 -145
- package/components/apps/editor/TablePanel.svelte +0 -17
- package/components/apps/editor/TablePanel.svelte.d.ts +0 -17
- package/components/apps/editor/componentsPanel/data.d.ts +0 -3
- package/components/apps/editor/componentsPanel/data.js +0 -499
- package/components/apps/editorUtils.d.ts +0 -1
- package/components/apps/editorUtils.js +0 -292
- 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
- /package/components/apps/components/{table → display/table}/tableOptions.d.ts +0 -0
- /package/components/apps/components/{table → display/table}/tableOptions.js +0 -0
|
@@ -1,19 +1,23 @@
|
|
|
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';
|
|
13
|
+
import { page } from '$app/stores';
|
|
14
|
+
import { workspaceStore } from '../../../stores';
|
|
15
|
+
import { copyToClipboard } from '../../../utils';
|
|
16
|
+
import { Icon } from 'svelte-awesome';
|
|
17
|
+
import { faClipboard } from '@fortawesome/free-solid-svg-icons';
|
|
18
|
+
const { selectedId, flowStore } = getContext('FlowEditorContext');
|
|
15
19
|
export let initialPath;
|
|
16
|
-
|
|
20
|
+
$: url = `${$page.url.hostname}/api/w/${$workspaceStore}/jobs/run/f/${$flowStore?.path}`;
|
|
17
21
|
</script>
|
|
18
22
|
|
|
19
23
|
<div class="h-full overflow-hidden">
|
|
@@ -23,37 +27,79 @@ let topHeight = 0;
|
|
|
23
27
|
<Tab value="settings-metadata">Metadata</Tab>
|
|
24
28
|
<Tab value="settings-schedule">Schedule</Tab>
|
|
25
29
|
<Tab value="settings-same-worker">Shared Directory</Tab>
|
|
26
|
-
<Tab value="settings-graph">Graph</Tab>
|
|
27
30
|
|
|
28
31
|
<svelte:fragment slot="content">
|
|
29
|
-
<TabContent value="settings-metadata" class="p-4">
|
|
30
|
-
<
|
|
32
|
+
<TabContent value="settings-metadata" class="p-4 h-full">
|
|
33
|
+
<div class="overflow-auto h-full">
|
|
34
|
+
<Path bind:path={$flowStore.path} {initialPath} namePlaceholder="flow" kind="flow" />
|
|
31
35
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
type="text"
|
|
36
|
-
bind:value={$flowStore.summary}
|
|
37
|
-
placeholder="A short summary of the flow displayed when the flow is listed"
|
|
38
|
-
id="flow-summary"
|
|
39
|
-
/>
|
|
40
|
-
</label>
|
|
41
|
-
|
|
42
|
-
<label class="block my-4" for="inp">
|
|
43
|
-
<span class="text-gray-700 text-sm">
|
|
44
|
-
Description
|
|
45
|
-
<Required required={false} />
|
|
46
|
-
<textarea
|
|
47
|
-
use:autosize
|
|
36
|
+
<label class="block my-4">
|
|
37
|
+
<span class="text-gray-700 text-sm">Summary <Required required={false} /></span>
|
|
38
|
+
<input
|
|
48
39
|
type="text"
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
placeholder="A description to help users understand what this flow does and how to use it."
|
|
53
|
-
rows="3"
|
|
40
|
+
bind:value={$flowStore.summary}
|
|
41
|
+
placeholder="Short summary to be displayed when listed"
|
|
42
|
+
id="flow-summary"
|
|
54
43
|
/>
|
|
55
|
-
</
|
|
56
|
-
|
|
44
|
+
</label>
|
|
45
|
+
|
|
46
|
+
<label class="block my-4" for="inp">
|
|
47
|
+
<span class="text-gray-700 text-sm">
|
|
48
|
+
Description
|
|
49
|
+
<Required required={false} />
|
|
50
|
+
<textarea
|
|
51
|
+
use:autosize
|
|
52
|
+
type="text"
|
|
53
|
+
class="text-sm"
|
|
54
|
+
id="inp"
|
|
55
|
+
bind:value={$flowStore.description}
|
|
56
|
+
placeholder="What this flow does and how to use it."
|
|
57
|
+
rows="3"
|
|
58
|
+
/>
|
|
59
|
+
</span>
|
|
60
|
+
</label>
|
|
61
|
+
<Slider text="How to trigger from external events?">
|
|
62
|
+
<div class="text-sm text-gray-600 border p-4">
|
|
63
|
+
There are 2 ways to trigger a flow based on external events:
|
|
64
|
+
<ul class="pt-4">
|
|
65
|
+
<li
|
|
66
|
+
>1. Send a webhook after each event: <a
|
|
67
|
+
on:click={(e) => {
|
|
68
|
+
e.preventDefault()
|
|
69
|
+
copyToClipboard(url)
|
|
70
|
+
}}
|
|
71
|
+
href={$page.url.protocol + '//' + url}
|
|
72
|
+
class="whitespace-nowrap text-ellipsis overflow-hidden mr-1"
|
|
73
|
+
>
|
|
74
|
+
{url}
|
|
75
|
+
<span class="text-gray-700 ml-2">
|
|
76
|
+
<Icon data={faClipboard} />
|
|
77
|
+
</span>
|
|
78
|
+
</a>
|
|
79
|
+
</li>
|
|
80
|
+
<li class="mt-2">
|
|
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
|
+
</div>
|
|
98
|
+
</li></ul
|
|
99
|
+
>
|
|
100
|
+
</div>
|
|
101
|
+
</Slider>
|
|
102
|
+
</div>
|
|
57
103
|
</TabContent>
|
|
58
104
|
<TabContent value="settings-schedule" class="p-4">
|
|
59
105
|
<Alert type="info" title="Primary Schedule">
|
|
@@ -71,7 +117,7 @@ let topHeight = 0;
|
|
|
71
117
|
them to the next step. <br /><br />Beware that the `./shared` folder is not preserved
|
|
72
118
|
across suspends and sleeps.
|
|
73
119
|
</Alert>
|
|
74
|
-
<span class="my-2 text-sm font-bold">Shared
|
|
120
|
+
<span class="my-2 text-sm font-bold">Shared Directory</span>
|
|
75
121
|
<Toggle
|
|
76
122
|
bind:checked={$flowStore.value.same_worker}
|
|
77
123
|
options={{
|
|
@@ -79,26 +125,6 @@ let topHeight = 0;
|
|
|
79
125
|
}}
|
|
80
126
|
/>
|
|
81
127
|
</TabContent>
|
|
82
|
-
<TabContent value="settings-graph">
|
|
83
|
-
<div
|
|
84
|
-
bind:clientHeight={topHeight}
|
|
85
|
-
class="max-w-full w-full overflow-hidden h-screen bg-gray-50"
|
|
86
|
-
>
|
|
87
|
-
{#if $flowStore.value.modules}
|
|
88
|
-
<FlowGraph
|
|
89
|
-
on:click={(e) => {
|
|
90
|
-
if (e.detail.id) {
|
|
91
|
-
$selectedId = e.detail.id
|
|
92
|
-
}
|
|
93
|
-
}}
|
|
94
|
-
minHeight={topHeight}
|
|
95
|
-
modules={$flowStore.value.modules}
|
|
96
|
-
failureModule={$flowStore.value.failure_module}
|
|
97
|
-
notSelectable
|
|
98
|
-
/>
|
|
99
|
-
{/if}
|
|
100
|
-
</div>
|
|
101
|
-
</TabContent>
|
|
102
128
|
</svelte:fragment>
|
|
103
129
|
</Tabs>
|
|
104
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,5 +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 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,8 +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 async function initFlowState(flow) {
|
|
8
|
+
export async function initFlowState(flow, flowStateStore) {
|
|
11
9
|
const modulesState = {};
|
|
12
10
|
await mapFlowModules(flow.value.modules, modulesState);
|
|
13
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,14 +3,14 @@ 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) {
|
|
11
9
|
try {
|
|
12
10
|
const { input_transforms, schema } = await loadSchemaFromModule(flowModule);
|
|
13
|
-
if (flowModule.value.type == 'script' ||
|
|
11
|
+
if (flowModule.value.type == 'script' ||
|
|
12
|
+
flowModule.value.type == 'rawscript' ||
|
|
13
|
+
flowModule.value.type == 'flow') {
|
|
14
14
|
flowModule.value.input_transforms = input_transforms;
|
|
15
15
|
}
|
|
16
16
|
return { schema, previewResult: NEVER_TESTED_THIS_FAR };
|
|
@@ -34,8 +34,7 @@ export function getNextId(currentKeys) {
|
|
|
34
34
|
return numberToChars(max);
|
|
35
35
|
}
|
|
36
36
|
// Computes the next available id
|
|
37
|
-
export function nextId() {
|
|
38
|
-
const flowState = get(flowStateStore);
|
|
37
|
+
export function nextId(flowState) {
|
|
39
38
|
const max = Object.keys(flowState).reduce((acc, key) => {
|
|
40
39
|
if (key === 'failure' || key.includes('branch') || key.includes('loop')) {
|
|
41
40
|
return acc;
|
|
@@ -115,7 +114,7 @@ export async function createFlow(id) {
|
|
|
115
114
|
value: {
|
|
116
115
|
type: 'flow',
|
|
117
116
|
path: '',
|
|
118
|
-
input_transforms: {}
|
|
117
|
+
input_transforms: {}
|
|
119
118
|
},
|
|
120
119
|
summary: ''
|
|
121
120
|
};
|
|
@@ -143,14 +142,13 @@ async function createInlineScriptModuleFromPath(path, id) {
|
|
|
143
142
|
}
|
|
144
143
|
};
|
|
145
144
|
}
|
|
146
|
-
export function emptyModule(flow) {
|
|
145
|
+
export function emptyModule(flowState, flow) {
|
|
147
146
|
return {
|
|
148
|
-
id: nextId(),
|
|
147
|
+
id: nextId(flowState),
|
|
149
148
|
value: { type: 'identity', flow }
|
|
150
149
|
};
|
|
151
150
|
}
|
|
152
|
-
export async function createScriptFromInlineScript(flowModule, suffix, schema) {
|
|
153
|
-
const flow = get(flowStore);
|
|
151
|
+
export async function createScriptFromInlineScript(flowModule, suffix, schema, flow) {
|
|
154
152
|
const user = get(userStore);
|
|
155
153
|
if (flowModule.value.type != 'rawscript') {
|
|
156
154
|
throw new Error("Can't create script from non-inline script");
|
|
@@ -180,7 +178,7 @@ export async function createScriptFromInlineScript(flowModule, suffix, schema) {
|
|
|
180
178
|
});
|
|
181
179
|
return pickScript(availablePath, flowModule.summary ?? '', flowModule.id, hash);
|
|
182
180
|
}
|
|
183
|
-
export function deleteFlowStateById(id) {
|
|
181
|
+
export function deleteFlowStateById(id, flowStateStore) {
|
|
184
182
|
flowStateStore.update((fss) => {
|
|
185
183
|
delete fss[id];
|
|
186
184
|
return fss;
|
|
@@ -1,6 +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
|
|
5
|
+
export declare const importFlowStore: Writable<Flow | undefined>;
|
|
4
6
|
export declare function dfs<T>(modules: FlowModule[], f: (x: FlowModule) => T): T[];
|
|
5
|
-
export declare function initFlow(flow: Flow): Promise<void>;
|
|
6
|
-
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,16 +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
|
-
export const
|
|
6
|
-
summary: '',
|
|
7
|
-
value: { modules: [] },
|
|
8
|
-
path: '',
|
|
9
|
-
edited_at: '',
|
|
10
|
-
edited_by: '',
|
|
11
|
-
archived: false,
|
|
12
|
-
extra_perms: {}
|
|
13
|
-
});
|
|
4
|
+
export const importFlowStore = writable(undefined);
|
|
14
5
|
export function dfs(modules, f) {
|
|
15
6
|
let result = [];
|
|
16
7
|
for (const module of modules) {
|
|
@@ -32,7 +23,7 @@ export function dfs(modules, f) {
|
|
|
32
23
|
}
|
|
33
24
|
return result;
|
|
34
25
|
}
|
|
35
|
-
export async function initFlow(flow) {
|
|
26
|
+
export async function initFlow(flow, flowStore, flowStateStore) {
|
|
36
27
|
let counter = 0;
|
|
37
28
|
for (const mod of flow.value.modules) {
|
|
38
29
|
migrateFlowModule(mod);
|
|
@@ -46,7 +37,7 @@ export async function initFlow(flow) {
|
|
|
46
37
|
flowVal.modules.forEach(migrateFlowModule);
|
|
47
38
|
}
|
|
48
39
|
}
|
|
49
|
-
await initFlowState(flow);
|
|
40
|
+
await initFlowState(flow, flowStateStore);
|
|
50
41
|
flowStore.set(flow);
|
|
51
42
|
function migrateFlowModule(mod) {
|
|
52
43
|
if (mod.id == undefined) {
|
|
@@ -74,8 +65,7 @@ export async function initFlow(flow) {
|
|
|
74
65
|
}
|
|
75
66
|
}
|
|
76
67
|
}
|
|
77
|
-
export async function copyFirstStepSchema() {
|
|
78
|
-
const flowState = get(flowStateStore);
|
|
68
|
+
export async function copyFirstStepSchema(flowState, flowStore) {
|
|
79
69
|
flowStore.update((flow) => {
|
|
80
70
|
const firstModuleId = flow.value.modules[0]?.id;
|
|
81
71
|
if (flowState[firstModuleId] && firstModuleId) {
|
|
@@ -92,5 +82,4 @@ export async function copyFirstStepSchema() {
|
|
|
92
82
|
}
|
|
93
83
|
return flow;
|
|
94
84
|
});
|
|
95
|
-
sendUserToast('Copied first step schema as flow input schema');
|
|
96
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"
|