windmill-components 1.122.0 → 1.138.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package/assets/app.css +8 -0
- package/package/common.d.ts +1 -0
- package/package/common.js +8 -0
- package/package/components/AddUser.svelte +27 -5
- package/package/components/ApiConnectForm.svelte +14 -39
- package/package/components/AppConnect.svelte +25 -9
- package/package/components/ArgEnum.svelte +1 -0
- package/package/components/ArgInfo.svelte +2 -2
- package/package/components/ArgInput.svelte +16 -13
- package/package/components/ArgInput.svelte.d.ts +1 -0
- package/package/components/ArrayTypeNarrowing.svelte +1 -1
- package/package/components/Badge.svelte +1 -1
- package/package/components/CenteredModal.svelte +7 -13
- package/package/components/ChevronButton.svelte +1 -1
- package/package/components/CliHelpBox.svelte +4 -25
- package/package/components/CollapseLink.svelte +3 -2
- package/package/components/CollapseLink.svelte.d.ts +1 -0
- package/package/components/CronInput.svelte +5 -5
- package/package/components/DBSchemaExplorer.svelte +160 -0
- package/package/components/DBSchemaExplorer.svelte.d.ts +17 -0
- package/package/components/DarkModeObserver.svelte +18 -0
- package/package/components/DarkModeObserver.svelte.d.ts +16 -0
- package/package/components/DeployWorkspace.svelte +1 -1
- package/package/components/DiffDrawer.svelte +3 -1
- package/package/components/DiffEditor.svelte +69 -0
- package/package/components/DiffEditor.svelte.d.ts +35 -0
- package/package/components/DisplayResult.svelte +29 -13
- package/package/components/DisplayResult.svelte.d.ts +8 -0
- package/package/components/Dropdown.svelte +8 -8
- package/package/components/Editor.svelte +125 -17
- package/package/components/Editor.svelte.d.ts +11 -1
- package/package/components/EditorBar.svelte +149 -56
- package/package/components/EditorBar.svelte.d.ts +5 -1
- package/package/components/EditorTheme.svelte +194 -0
- package/package/components/EditorTheme.svelte.d.ts +14 -0
- package/package/components/FieldHeader.svelte +6 -6
- package/package/components/FlowBuilder.svelte +6 -2
- package/package/components/FlowGraphViewer.svelte +9 -11
- package/package/components/FlowJobResult.svelte +4 -3
- package/package/components/FlowJobResult.svelte.d.ts +1 -0
- package/package/components/FlowMetadata.svelte +16 -14
- package/package/components/FlowPreviewContent.svelte +4 -4
- package/package/components/FlowStatusViewer.svelte +20 -17
- package/package/components/FlowStatusWaitingForEvents.svelte +1 -1
- package/package/components/FlowViewer.svelte +8 -5
- package/package/components/FlowViewer.svelte.d.ts +1 -0
- package/package/components/FolderEditor.svelte +3 -3
- package/package/components/FolderInfo.svelte +2 -2
- package/package/components/FolderUsageInfo.svelte +1 -1
- package/package/components/GroupEditor.svelte +40 -13
- package/package/components/GroupInfo.svelte +2 -2
- package/package/components/HighlightCode.svelte +4 -0
- package/package/components/HighlightCode.svelte.d.ts +2 -1
- package/package/components/IconedResourceType.svelte +1 -1
- package/package/components/InlineCodeCopy.svelte +2 -1
- package/package/components/InputTransformForm.svelte +1 -5
- package/package/components/InputTransformSchemaForm.svelte +2 -2
- package/package/components/InputTransformsViewer.svelte +2 -2
- package/package/components/InviteGlobalUser.svelte +39 -28
- package/package/components/InviteUser.svelte +27 -5
- package/package/components/ItemPicker.svelte +13 -7
- package/package/components/JobArgs.svelte +4 -4
- package/package/components/LightweightArgInput.svelte +3 -3
- package/package/components/LogViewer.svelte +10 -5
- package/package/components/LoginPageHeader.svelte +16 -0
- package/package/components/LoginPageHeader.svelte.d.ts +23 -0
- package/package/components/Modal.svelte +2 -2
- package/package/components/ModulePreview.svelte +15 -5
- package/package/components/ModulePreview.svelte.d.ts +6 -1
- package/package/components/ModuleStatus.svelte +2 -2
- package/package/components/MoveDrawer.svelte +3 -3
- package/package/components/ObjectResourceInput.svelte +2 -0
- package/package/components/ObjectResourceInput.svelte.d.ts +1 -0
- package/package/components/Password.svelte +8 -3
- package/package/components/Password.svelte.d.ts +1 -0
- package/package/components/Path.svelte +31 -18
- package/package/components/Path.svelte.d.ts +4 -0
- package/package/components/RadioButton.svelte +3 -3
- package/package/components/Range.svelte.d.ts +0 -3
- package/package/components/Required.svelte +2 -2
- package/package/components/ResourceEditor.svelte +10 -9
- package/package/components/ResourcePicker.svelte +31 -6
- package/package/components/ResourcePicker.svelte.d.ts +1 -0
- package/package/components/ResultJobLoader.svelte.d.ts +2 -2
- package/package/components/RunForm.svelte +69 -59
- package/package/components/RunForm.svelte.d.ts +1 -0
- package/package/components/RunPageSchedules.svelte +169 -0
- package/package/components/RunPageSchedules.svelte.d.ts +18 -0
- package/package/components/SavedInputs.svelte +36 -18
- package/package/components/ScheduleEditor.svelte +23 -11
- package/package/components/SchemaEditor.svelte +16 -8
- package/package/components/SchemaForm.svelte +7 -9
- package/package/components/SchemaForm.svelte.d.ts +1 -0
- package/package/components/SchemaModal.svelte +41 -13
- package/package/components/SchemaModal.svelte.d.ts +2 -1
- package/package/components/SchemaViewer.svelte +1 -1
- package/package/components/ScriptBuilder.svelte +147 -76
- package/package/components/ScriptBuilder.svelte.d.ts +1 -1
- package/package/components/ScriptEditor.svelte +22 -2
- package/package/components/ScriptEditor.svelte.d.ts +6 -3
- package/package/components/ScriptPicker.svelte +84 -32
- package/package/components/ScriptPicker.svelte.d.ts +1 -0
- package/package/components/ScriptVersionHistory.svelte +20 -2
- package/package/components/ScriptVersionHistory.svelte.d.ts +3 -0
- package/package/components/SharedBadge.svelte +1 -1
- package/package/components/SimpleEditor.svelte +25 -10
- package/package/components/SimpleEditor.svelte.d.ts +9 -0
- package/package/components/Star.svelte +5 -1
- package/package/components/StringTypeNarrowing.svelte +2 -2
- package/package/components/SupabaseConnect.svelte +160 -0
- package/package/components/SupabaseConnect.svelte.d.ts +19 -0
- package/package/components/SuperadminSettings.svelte +9 -8
- package/package/components/TableCustom.svelte +2 -2
- package/package/components/TableSimple.svelte +5 -5
- package/package/components/TemplateEditor.svelte +0 -10
- package/package/components/TestConnection.svelte +72 -0
- package/package/components/TestConnection.svelte.d.ts +17 -0
- package/package/components/TestJobLoader.svelte.d.ts +4 -3
- package/package/components/Toast.svelte +7 -5
- package/package/components/Toggle.svelte +3 -3
- package/package/components/ToggleHubWorkspace.svelte +6 -9
- package/package/components/Tooltip.svelte +2 -2
- package/package/components/Uptodate.svelte +2 -2
- package/package/components/UserSettings.svelte +10 -10
- package/package/components/VariableEditor.svelte +21 -20
- package/package/components/Version.svelte +3 -1
- package/package/components/WhitelistIp.svelte +1 -1
- package/package/components/apps/components/buttons/AppButton.svelte +2 -2
- package/package/components/apps/components/buttons/AppForm.svelte +5 -4
- package/package/components/apps/components/buttons/AppFormButton.svelte +1 -1
- package/package/components/apps/components/buttons/AppSchemaForm.svelte +1 -1
- package/package/components/apps/components/display/AppBarChart.svelte +13 -1
- package/package/components/apps/components/display/AppFlowStatusComponent.svelte +1 -1
- package/package/components/apps/components/display/AppJobIdFlowStatus.svelte +64 -0
- package/package/components/apps/components/display/AppJobIdFlowStatus.svelte.d.ts +23 -0
- package/package/components/apps/components/display/AppJobIdLogComponent.svelte +72 -0
- package/package/components/apps/components/display/AppJobIdLogComponent.svelte.d.ts +23 -0
- package/package/components/apps/components/display/AppMap.svelte +4 -10
- package/package/components/apps/components/display/AppPdf.svelte +6 -6
- package/package/components/apps/components/display/AppText.svelte +19 -19
- package/package/components/apps/components/display/PlotlyHtml.svelte +16 -4
- package/package/components/apps/components/display/table/AppAggridTable.svelte +16 -12
- package/package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +1 -0
- package/package/components/apps/components/display/table/AppTable.svelte +149 -124
- package/package/components/apps/components/helpers/ComponentErrorHandler.svelte +2 -2
- package/package/components/apps/components/helpers/HiddenComponent.svelte +1 -1
- package/package/components/apps/components/helpers/InputValue.svelte +14 -4
- package/package/components/apps/components/helpers/InputValue.svelte.d.ts +2 -0
- package/package/components/apps/components/helpers/Loader.svelte +1 -1
- package/package/components/apps/components/helpers/MissingConnectionWarning.svelte +1 -1
- package/package/components/apps/components/helpers/RefreshButton.svelte +1 -1
- package/package/components/apps/components/helpers/RunnableComponent.svelte +57 -21
- package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -0
- package/package/components/apps/components/helpers/RunnableWrapper.svelte +52 -28
- package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +15 -2
- package/package/components/apps/components/helpers/eval.d.ts +2 -0
- package/package/components/apps/components/helpers/eval.js +6 -1
- package/package/components/apps/components/inputs/AppCheckbox.svelte +15 -17
- package/package/components/apps/components/inputs/AppDateInput.svelte +19 -1
- package/package/components/apps/components/inputs/AppMultiSelect.svelte +81 -22
- package/package/components/apps/components/inputs/AppMultiSelect.svelte.d.ts +2 -0
- package/package/components/apps/components/inputs/AppQuillEditor.svelte +29 -3
- package/package/components/apps/components/inputs/AppSelect.svelte +18 -7
- package/package/components/apps/components/inputs/AppSelectTab.svelte +3 -8
- package/package/components/apps/components/inputs/AppTextInput.svelte +4 -0
- package/package/components/apps/components/inputs/AppTextInput.svelte.d.ts +2 -0
- package/package/components/apps/components/layout/AppDrawer.svelte +1 -1
- package/package/components/apps/components/layout/AppList.svelte +54 -62
- package/package/components/apps/components/layout/AppModal.svelte +13 -5
- package/package/components/apps/components/layout/AppStepper.svelte +1 -1
- package/package/components/apps/components/layout/AppTabs.svelte +3 -3
- package/package/components/apps/components/layout/ListWrapper.svelte +0 -1
- package/package/components/apps/components/layout/RowWrapper.svelte +22 -0
- package/package/components/apps/components/layout/RowWrapper.svelte.d.ts +23 -0
- package/package/components/apps/editor/AppComponentInput.svelte +1 -1
- package/package/components/apps/editor/AppDeploymentHistory.svelte +34 -0
- package/package/components/apps/editor/AppDeploymentHistory.svelte.d.ts +17 -0
- package/package/components/apps/editor/AppEditor.svelte +13 -4
- package/package/components/apps/editor/AppEditorHeader.svelte +78 -41
- package/package/components/apps/editor/AppInputs.svelte +1 -1
- package/package/components/apps/editor/AppPreview.svelte +14 -5
- package/package/components/apps/editor/ComponentHeader.svelte +4 -4
- package/package/components/apps/editor/DeploymentHistory.svelte +8 -6
- package/package/components/apps/editor/GridEditor.svelte +4 -4
- package/package/components/apps/editor/RecomputeAllComponents.svelte +2 -2
- package/package/components/apps/editor/SettingsPanel.svelte +4 -5
- package/package/components/apps/editor/TabsDebug.svelte +1 -1
- package/package/components/apps/editor/component/Component.svelte +21 -1
- package/package/components/apps/editor/component/ComponentNavigation.svelte +15 -1
- package/package/components/apps/editor/component/components.d.ts +293 -58
- package/package/components/apps/editor/component/components.js +146 -4
- package/package/components/apps/editor/component/sets.js +2 -2
- package/package/components/apps/editor/componentsPanel/ComponentList.svelte +8 -8
- package/package/components/apps/editor/componentsPanel/CssProperty.svelte +4 -4
- package/package/components/apps/editor/componentsPanel/CssSettings.svelte +2 -2
- package/package/components/apps/editor/componentsPanel/ListItem.svelte +3 -3
- package/package/components/apps/editor/componentsPanel/QuickStyleMenu.svelte +2 -2
- package/package/components/apps/editor/componentsPanel/QuickStyleProperty.svelte +3 -3
- package/package/components/apps/editor/componentsPanel/quickStyleProperties.js +8 -0
- package/package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +3 -3
- package/package/components/apps/editor/contextPanel/ContextPanel.svelte +8 -6
- package/package/components/apps/editor/contextPanel/SubGridOutput.svelte +6 -3
- package/package/components/apps/editor/contextPanel/components/IdEditor.svelte +18 -24
- package/package/components/apps/editor/contextPanel/components/IdEditor.svelte.d.ts +1 -0
- package/package/components/apps/editor/contextPanel/components/OutputHeader.svelte +16 -9
- package/package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +16 -26
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +71 -51
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +2 -0
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte +1 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptHiddenRunnable.svelte +21 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptHiddenRunnable.svelte.d.ts +1 -0
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +1 -2
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +9 -3
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +33 -11
- package/package/components/apps/editor/settingsPanel/AlignmentEditor.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +24 -11
- package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte.d.ts +0 -1
- package/package/components/apps/editor/settingsPanel/GridCondition.svelte +2 -3
- package/package/components/apps/editor/settingsPanel/GridPane.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/GridTab.svelte +2 -2
- package/package/components/apps/editor/settingsPanel/GridTabDisabled.svelte +0 -1
- package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +4 -5
- package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +0 -1
- package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +1 -4
- package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +0 -1
- package/package/components/apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte +0 -2
- package/package/components/apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte.d.ts +0 -1
- package/package/components/apps/editor/settingsPanel/Recompute.svelte +5 -5
- package/package/components/apps/editor/settingsPanel/TableActions.svelte +12 -7
- package/package/components/apps/editor/settingsPanel/common/PanelSection.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/inputEditor/EvalInputEditor.svelte +2 -3
- package/package/components/apps/editor/settingsPanel/inputEditor/EvalInputEditor.svelte.d.ts +0 -1
- package/package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte +63 -74
- package/package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte +2 -2
- package/package/components/apps/editor/settingsPanel/inputEditor/TabSelectInput.svelte +3 -7
- package/package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte +5 -5
- package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +2 -1
- package/package/components/apps/editor/settingsPanel/mainInput/WorkspaceFlowList.svelte +3 -3
- package/package/components/apps/editor/settingsPanel/mainInput/WorkspaceScriptList.svelte +4 -4
- package/package/components/apps/editor/settingsPanel/script/BackgroundScriptSettings.svelte +2 -0
- package/package/components/apps/editor/settingsPanel/script/ComponentScriptSettings.svelte +2 -2
- package/package/components/apps/editor/settingsPanel/script/shared/ScriptSettingHeader.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/script/shared/ScriptTransformer.svelte +2 -2
- package/package/components/apps/editor/settingsPanel/script/shared/ScriptTransformer.svelte.d.ts +7 -4
- package/package/components/apps/editor/settingsPanel/script/shared/ScriptTriggers.svelte +2 -2
- package/package/components/apps/editor/settingsPanel/secondaryMenu/SecondaryMenu.svelte +2 -2
- package/package/components/apps/rx.d.ts +3 -3
- package/package/components/apps/rx.js +4 -5
- package/package/components/apps/svelte-select/lib/ChevronIcon.svelte +17 -0
- package/package/components/apps/svelte-select/lib/ChevronIcon.svelte.d.ts +23 -0
- package/package/components/apps/svelte-select/lib/ClearIcon.svelte +21 -0
- package/package/components/apps/svelte-select/lib/ClearIcon.svelte.d.ts +23 -0
- package/package/components/apps/svelte-select/lib/ConditionalPortal.svelte +12 -0
- package/package/components/apps/svelte-select/lib/ConditionalPortal.svelte.d.ts +18 -0
- package/package/components/apps/svelte-select/lib/ConditionalPortalGlobal.svelte +9 -0
- package/package/components/apps/svelte-select/lib/ConditionalPortalGlobal.svelte.d.ts +18 -0
- package/package/components/apps/svelte-select/lib/LoadingIcon.svelte +33 -0
- package/package/components/apps/svelte-select/lib/LoadingIcon.svelte.d.ts +23 -0
- package/package/components/apps/svelte-select/lib/Select.svelte +1129 -0
- package/package/components/apps/svelte-select/lib/Select.svelte.d.ts +205 -0
- package/package/components/apps/svelte-select/lib/filter.d.ts +13 -0
- package/package/components/apps/svelte-select/lib/filter.js +32 -0
- package/package/components/apps/svelte-select/lib/get-items.d.ts +11 -0
- package/package/components/apps/svelte-select/lib/get-items.js +30 -0
- package/package/components/apps/svelte-select/lib/index.d.ts +1 -0
- package/package/components/apps/svelte-select/lib/index.js +1 -0
- package/package/components/apps/svelte-select/lib/tailwind.css +130 -0
- package/package/components/apps/types.d.ts +6 -0
- package/package/components/apps/utils.d.ts +1 -5
- package/package/components/apps/utils.js +6 -34
- package/package/components/codeGen/ScriptFix.svelte +123 -0
- package/package/components/codeGen/ScriptFix.svelte.d.ts +22 -0
- package/package/components/codeGen/ScriptGen.svelte +218 -0
- package/package/components/codeGen/ScriptGen.svelte.d.ts +24 -0
- package/package/components/codeGen/index.d.ts +1 -0
- package/package/components/codeGen/index.js +1 -0
- package/package/components/codeGen/lib.d.ts +28 -0
- package/package/components/codeGen/lib.js +217 -0
- package/package/components/codeGen/prompts/edit.yaml +94 -0
- package/package/components/codeGen/prompts/fix.yaml +113 -0
- package/package/components/codeGen/prompts/gen.yaml +49 -0
- package/package/components/codeGen/prompts/index.d.ts +12 -0
- package/package/components/codeGen/prompts/index.js +7 -0
- package/package/components/codeGen/utils.d.ts +4 -0
- package/package/components/codeGen/utils.js +79 -0
- package/package/components/common/CloseButton.svelte +3 -3
- package/package/components/common/actionRow/ActionRow.svelte +1 -1
- package/package/components/common/alert/Alert.svelte +18 -18
- package/package/components/common/breadcrumb/Breadcrumb.svelte +1 -1
- package/package/components/common/button/Button.svelte +14 -14
- package/package/components/common/button/ButtonDropdown.svelte +2 -2
- package/package/components/common/calendarPicker/CalendarPicker.svelte +62 -0
- package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +19 -0
- package/package/components/common/confirmationModal/ConfirmationModal.svelte +7 -5
- package/package/components/common/drawer/Drawer.svelte +5 -3
- package/package/components/common/drawer/DrawerContent.svelte +3 -2
- package/package/components/common/drawer/DrawerContent.svelte.d.ts +1 -0
- package/package/components/common/fileInput/FileInput.svelte +3 -3
- package/package/components/common/kbd/Kbd.svelte +1 -1
- package/package/components/common/languageIcons/LanguageIcon.svelte +22 -1
- package/package/components/common/languageIcons/LanguageIcon.svelte.d.ts +1 -1
- package/package/components/common/menu/Menu.svelte +1 -1
- package/package/components/common/menu/MenuItem.svelte +1 -1
- package/package/components/common/modal/AlwaysMountedModal.svelte +4 -4
- package/package/components/common/modal/Modal.svelte +3 -3
- package/package/components/common/popup/Popup.svelte +33 -157
- package/package/components/common/popup/Popup.svelte.d.ts +6 -45
- package/package/components/common/skeleton/SkeletonElement.svelte +1 -1
- package/package/components/common/stepper/Stepper.svelte +3 -3
- package/package/components/common/table/AppRow.svelte +36 -24
- package/package/components/common/table/FlowRow.svelte +13 -39
- package/package/components/common/table/RawAppRow.svelte +1 -15
- package/package/components/common/table/Row.svelte +22 -23
- package/package/components/common/table/RowIcon.svelte +7 -7
- package/package/components/common/table/ScriptRow.svelte +17 -41
- package/package/components/common/table/Table.svelte +1 -1
- package/package/components/common/tabs/Tab.svelte +1 -1
- package/package/components/common/tabs/Tabs.svelte +1 -4
- package/package/components/common/toggleButton-v2/ToggleButton.svelte +9 -2
- package/package/components/common/toggleButton-v2/ToggleButton.svelte.d.ts +1 -0
- package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +1 -1
- package/package/components/details/ClipboardPanel.svelte +19 -0
- package/package/components/details/ClipboardPanel.svelte.d.ts +17 -0
- package/package/components/details/DetailPageDetailPanel.svelte +92 -0
- package/package/components/details/DetailPageDetailPanel.svelte.d.ts +23 -0
- package/package/components/details/DetailPageHeader.svelte +66 -0
- package/package/components/details/DetailPageHeader.svelte.d.ts +29 -0
- package/package/components/details/DetailPageLayout.svelte +51 -0
- package/package/components/details/DetailPageLayout.svelte.d.ts +35 -0
- package/package/components/details/Menu.svelte +53 -0
- package/package/components/details/Menu.svelte.d.ts +18 -0
- package/package/components/details/WebhooksPanel.svelte +236 -0
- package/package/components/details/WebhooksPanel.svelte.d.ts +29 -0
- package/package/components/details/createAppFromScript.d.ts +719 -0
- package/package/components/details/createAppFromScript.js +723 -0
- package/package/components/details/utils.d.ts +8 -0
- package/package/components/details/utils.js +50 -0
- package/package/components/flows/FlowEditor.svelte +1 -1
- package/package/components/flows/common/FlowCardHeader.svelte +4 -4
- package/package/components/flows/content/CapturePayload.svelte +2 -2
- package/package/components/flows/content/DynamicInputHelpBox.svelte +1 -1
- package/package/components/flows/content/FlowBranchesAllWrapper.svelte +1 -1
- package/package/components/flows/content/FlowBranchesOneWrapper.svelte +2 -2
- package/package/components/flows/content/FlowConstants.svelte +43 -3
- package/package/components/flows/content/FlowEditorPanel.svelte +1 -1
- package/package/components/flows/content/FlowInputs.svelte +85 -34
- package/package/components/flows/content/FlowInputsFlow.svelte +2 -2
- package/package/components/flows/content/FlowLoop.svelte +29 -29
- package/package/components/flows/content/FlowModuleComponent.svelte +61 -1
- package/package/components/flows/content/FlowModuleComponent.svelte.d.ts +2 -0
- package/package/components/flows/content/FlowModuleConcurrencyLimit.svelte +51 -0
- package/package/components/flows/content/FlowModuleConcurrencyLimit.svelte.d.ts +17 -0
- package/package/components/flows/content/FlowModuleEarlyStop.svelte +3 -1
- package/package/components/flows/content/FlowModuleHeader.svelte +57 -37
- package/package/components/flows/content/FlowModuleHeader.svelte.d.ts +1 -0
- package/package/components/flows/content/FlowModuleTimeout.svelte +43 -0
- package/package/components/flows/content/FlowModuleTimeout.svelte.d.ts +17 -0
- package/package/components/flows/content/FlowModuleWrapper.svelte +6 -0
- package/package/components/flows/content/FlowRetries.svelte +3 -3
- package/package/components/flows/content/FlowSchedules.svelte +1 -1
- package/package/components/flows/content/FlowSettings.svelte +102 -24
- package/package/components/flows/content/ScriptEditorDrawer.svelte +1 -1
- package/package/components/flows/flowStateUtils.js +1 -1
- package/package/components/flows/header/FlowPreviewButtons.svelte +1 -0
- package/package/components/flows/idUtils.js +1 -1
- package/package/components/flows/map/FlowConstantsItem.svelte +1 -1
- package/package/components/flows/map/FlowErrorHandlerItem.svelte +1 -1
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +24 -12
- package/package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +1 -0
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +2 -2
- package/package/components/flows/map/FlowSettingsItem.svelte +1 -1
- package/package/components/flows/map/InsertModuleButton.svelte +10 -10
- package/package/components/flows/map/MapItem.svelte +10 -6
- package/package/components/flows/map/VirtualItem.svelte +10 -8
- package/package/components/flows/map/VirtualItem.svelte.d.ts +1 -1
- package/package/components/flows/pickers/FlowScriptPicker.svelte +28 -21
- package/package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +1 -1
- package/package/components/flows/pickers/PickHubApp.svelte +3 -3
- package/package/components/flows/pickers/PickHubFlow.svelte +3 -3
- package/package/components/flows/pickers/PickHubScript.svelte +6 -6
- package/package/components/flows/pickers/WorkspaceScriptPicker.svelte +2 -2
- package/package/components/flows/utils.js +2 -1
- package/package/components/graph/FlowGraph.svelte +53 -34
- package/package/components/graph/svelvet/container/views/GraphView.svelte +12 -17
- package/package/components/graph/svelvet/container/views/Svelvet.svelte +2 -4
- package/package/components/graph/svelvet/edges/views/Edges/EdgeText.svelte.d.ts +2 -2
- package/package/components/home/ItemsList.svelte +13 -9
- package/package/components/home/ListFilters.svelte +2 -1
- package/package/components/home/ListFilters.svelte.d.ts +1 -0
- package/package/components/home/NoItemFound.svelte +1 -1
- package/package/components/icons/BigQueryIcon.svelte +36 -0
- package/package/components/icons/BigQueryIcon.svelte.d.ts +17 -0
- package/package/components/icons/PowershellIcon.svelte +56 -0
- package/package/components/icons/PowershellIcon.svelte.d.ts +17 -0
- package/package/components/icons/RestIcon.svelte +21 -0
- package/package/components/icons/RestIcon.svelte.d.ts +17 -0
- package/package/components/jobs/JobDetail.svelte +21 -21
- package/package/components/jobs/JobPreview.svelte +6 -6
- package/package/components/preview/FlowPreviewStatus.svelte +2 -2
- package/package/components/progressBar/ProgressBar.svelte +2 -2
- package/package/components/propertyPicker/ObjectViewer.svelte +13 -18
- package/package/components/propertyPicker/PropPicker.svelte +5 -2
- package/package/components/scriptEditor/LogPanel.svelte +13 -4
- package/package/components/scriptEditor/LogPanel.svelte.d.ts +4 -0
- package/package/components/sidebar/DarkModeToggle.svelte +30 -0
- package/package/components/sidebar/DarkModeToggle.svelte.d.ts +17 -0
- package/package/components/sidebar/FavoriteMenu.svelte +4 -3
- package/package/components/sidebar/MenuLink.svelte +3 -2
- package/package/components/sidebar/MultiplayerMenu.svelte +2 -2
- package/package/components/sidebar/SidebarContent.svelte +9 -1
- package/package/components/sidebar/UserMenu.svelte +11 -10
- package/package/components/sidebar/WorkspaceMenu.svelte +11 -10
- package/package/components/theme/nord.json +93 -0
- package/package/defaults.d.ts +1 -0
- package/package/defaults.js +2 -1
- package/package/editorUtils.js +2 -0
- package/package/gen/core/CancelablePromise.js +1 -0
- package/package/gen/core/OpenAPI.d.ts +5 -5
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/core/request.d.ts +17 -0
- package/package/gen/core/request.js +27 -16
- package/package/gen/index.d.ts +43 -1
- package/package/gen/index.js +2 -0
- package/package/gen/models/AccountId.d.ts +1 -0
- package/package/gen/models/{Postgresql.js → AccountId.js} +1 -0
- package/package/gen/models/ActionKind.d.ts +9 -0
- package/package/gen/models/ActionKind.js +14 -0
- package/package/gen/models/After.d.ts +4 -0
- package/package/gen/models/After.js +5 -0
- package/package/gen/models/AppWithLastVersion.js +1 -0
- package/package/gen/models/AppWithLastVersionWDraft.js +1 -0
- package/package/gen/models/ArgsFilter.d.ts +4 -0
- package/package/gen/models/ArgsFilter.js +5 -0
- package/package/gen/models/AuditLog.js +1 -0
- package/package/gen/models/Before.d.ts +4 -0
- package/package/gen/models/Before.js +5 -0
- package/package/gen/models/BranchAll.js +1 -0
- package/package/gen/models/BranchOne.js +1 -0
- package/package/gen/models/ClientName.d.ts +1 -0
- package/package/gen/models/ClientName.js +5 -0
- package/package/gen/models/CompletedJob.d.ts +8 -4
- package/package/gen/models/CompletedJob.js +7 -2
- package/package/gen/models/ContextualVariable.js +1 -0
- package/package/gen/models/CreateInput.js +1 -0
- package/package/gen/models/CreateResource.js +1 -0
- package/package/gen/models/CreateVariable.js +1 -0
- package/package/gen/models/CreateWorkspace.js +1 -0
- package/package/gen/models/CreatedBy.d.ts +4 -0
- package/package/gen/models/CreatedBy.js +5 -0
- package/package/gen/models/EditResource.js +1 -0
- package/package/gen/models/EditResourceType.js +1 -0
- package/package/gen/models/EditSchedule.js +1 -0
- package/package/gen/models/EditVariable.js +1 -0
- package/package/gen/models/EditWorkspaceUser.js +1 -0
- package/package/gen/models/Flow.js +1 -0
- package/package/gen/models/FlowMetadata.d.ts +1 -0
- package/package/gen/models/FlowMetadata.js +1 -0
- package/package/gen/models/FlowModule.d.ts +1 -0
- package/package/gen/models/FlowModule.js +1 -0
- package/package/gen/models/FlowModuleValue.d.ts +1 -2
- package/package/gen/models/FlowModuleValue.js +1 -0
- package/package/gen/models/FlowPreview.d.ts +1 -0
- package/package/gen/models/FlowPreview.js +1 -0
- package/package/gen/models/FlowStatus.js +1 -0
- package/package/gen/models/FlowStatusModule.js +1 -0
- package/package/gen/models/FlowValue.js +1 -0
- package/package/gen/models/Folder.js +1 -0
- package/package/gen/models/ForloopFlow.js +1 -0
- package/package/gen/models/GlobalUserInfo.js +1 -0
- package/package/gen/models/Graphql.js +1 -0
- package/package/gen/models/Group.js +1 -0
- package/package/gen/models/Http.js +1 -0
- package/package/gen/models/Identity.js +1 -0
- package/package/gen/models/IncludeHeader.d.ts +6 -0
- package/package/gen/models/IncludeHeader.js +5 -0
- package/package/gen/models/Input.d.ts +1 -0
- package/package/gen/models/Input.js +1 -0
- package/package/gen/models/InputId.d.ts +1 -0
- package/package/gen/models/InputId.js +5 -0
- package/package/gen/models/InputTransform.js +1 -0
- package/package/gen/models/InstanceGroup.d.ts +4 -0
- package/package/gen/models/InstanceGroup.js +5 -0
- package/package/gen/models/JavascriptTransform.js +1 -0
- package/package/gen/models/Job.js +1 -0
- package/package/gen/models/JobId.d.ts +1 -0
- package/package/gen/models/JobId.js +5 -0
- package/package/gen/models/JobKinds.d.ts +4 -0
- package/package/gen/models/JobKinds.js +5 -0
- package/package/gen/models/ListableApp.js +1 -0
- package/package/gen/models/ListableRawApp.js +1 -0
- package/package/gen/models/ListableResource.js +1 -0
- package/package/gen/models/ListableVariable.js +1 -0
- package/package/gen/models/Login.js +1 -0
- package/package/gen/models/MainArgSignature.js +1 -0
- package/package/gen/models/Name.d.ts +1 -0
- package/package/gen/models/Name.js +5 -0
- package/package/gen/models/NewJobId.d.ts +4 -0
- package/package/gen/models/NewJobId.js +5 -0
- package/package/gen/models/NewSchedule.js +1 -0
- package/package/gen/models/NewScript.d.ts +9 -1
- package/package/gen/models/NewScript.js +7 -0
- package/package/gen/models/NewScriptWithDraft.js +1 -0
- package/package/gen/models/NewToken.js +1 -0
- package/package/gen/models/NewTokenImpersonate.js +1 -0
- package/package/gen/models/NewUser.js +1 -0
- package/package/gen/models/OpenFlow.js +1 -0
- package/package/gen/models/OpenFlowWPath.d.ts +1 -0
- package/package/gen/models/OpenFlowWPath.js +1 -0
- package/package/gen/models/Operation.d.ts +4 -0
- package/package/gen/models/Operation.js +5 -0
- package/package/gen/models/OrderDesc.d.ts +4 -0
- package/package/gen/models/OrderDesc.js +5 -0
- package/package/gen/models/Page.d.ts +4 -0
- package/package/gen/models/Page.js +5 -0
- package/package/gen/models/ParentJob.d.ts +4 -0
- package/package/gen/models/ParentJob.js +5 -0
- package/package/gen/models/Path.d.ts +1 -0
- package/package/gen/models/Path.js +5 -0
- package/package/gen/models/PathFlow.js +1 -0
- package/package/gen/models/PathId.d.ts +1 -0
- package/package/gen/models/PathId.js +5 -0
- package/package/gen/models/PathScript.js +1 -0
- package/package/gen/models/Payload.d.ts +6 -0
- package/package/gen/models/Payload.js +5 -0
- package/package/gen/models/PerPage.d.ts +4 -0
- package/package/gen/models/PerPage.js +5 -0
- package/package/gen/models/Policy.js +1 -0
- package/package/gen/models/Preview.d.ts +7 -3
- package/package/gen/models/Preview.js +7 -2
- package/package/gen/models/QueueLimit.d.ts +5 -0
- package/package/gen/models/QueueLimit.js +5 -0
- package/package/gen/models/QueuedJob.d.ts +8 -4
- package/package/gen/models/QueuedJob.js +7 -2
- package/package/gen/models/RawScript.d.ts +8 -1
- package/package/gen/models/RawScript.js +6 -0
- package/package/gen/models/Resource.js +1 -0
- package/package/gen/models/ResourceName.d.ts +4 -0
- package/package/gen/models/ResourceName.js +5 -0
- package/package/gen/models/ResourceType.js +1 -0
- package/package/gen/models/ResultFilter.d.ts +4 -0
- package/package/gen/models/ResultFilter.js +5 -0
- package/package/gen/models/Retry.js +1 -0
- package/package/gen/models/RunnableId.d.ts +1 -0
- package/package/gen/models/RunnableId.js +5 -0
- package/package/gen/models/RunnableType.js +1 -0
- package/package/gen/models/RunnableTypeQuery.d.ts +2 -0
- package/package/gen/models/RunnableTypeQuery.js +5 -0
- package/package/gen/models/Running.d.ts +4 -0
- package/package/gen/models/Running.js +5 -0
- package/package/gen/models/Schedule.js +1 -0
- package/package/gen/models/SchedulePath.d.ts +4 -0
- package/package/gen/models/SchedulePath.js +5 -0
- package/package/gen/models/ScheduleWJobs.js +1 -0
- package/package/gen/models/Script.d.ts +9 -1
- package/package/gen/models/Script.js +7 -0
- package/package/gen/models/ScriptArgs.js +1 -0
- package/package/gen/models/ScriptExactHash.d.ts +4 -0
- package/package/gen/models/ScriptExactHash.js +5 -0
- package/package/gen/models/ScriptExactPath.d.ts +4 -0
- package/package/gen/models/ScriptExactPath.js +5 -0
- package/package/gen/models/ScriptHash.d.ts +1 -0
- package/package/gen/models/ScriptHash.js +5 -0
- package/package/gen/models/ScriptPath.d.ts +1 -0
- package/package/gen/models/ScriptPath.js +5 -0
- package/package/gen/models/ScriptStartPath.d.ts +4 -0
- package/package/gen/models/ScriptStartPath.js +5 -0
- package/package/gen/models/SlackToken.js +1 -0
- package/package/gen/models/StartedAfter.d.ts +4 -0
- package/package/gen/models/StartedAfter.js +5 -0
- package/package/gen/models/StartedBefore.d.ts +4 -0
- package/package/gen/models/StartedBefore.js +5 -0
- package/package/gen/models/StaticTransform.js +1 -0
- package/package/gen/models/Success.d.ts +4 -0
- package/package/gen/models/Success.js +5 -0
- package/package/gen/models/Suspended.d.ts +4 -0
- package/package/gen/models/Suspended.js +5 -0
- package/package/gen/models/Tag.d.ts +4 -0
- package/package/gen/models/Tag.js +5 -0
- package/package/gen/models/Token.d.ts +1 -0
- package/package/gen/models/Token.js +5 -0
- package/package/gen/models/TokenResponse.js +1 -0
- package/package/gen/models/TruncatedToken.js +1 -0
- package/package/gen/models/UpdateInput.js +1 -0
- package/package/gen/models/Usage.js +1 -0
- package/package/gen/models/User.js +1 -0
- package/package/gen/models/UserWorkspaceList.js +1 -0
- package/package/gen/models/Username.d.ts +4 -0
- package/package/gen/models/Username.js +5 -0
- package/package/gen/models/VersionId.d.ts +1 -0
- package/package/gen/models/VersionId.js +5 -0
- package/package/gen/models/WorkerPing.d.ts +1 -0
- package/package/gen/models/WorkerPing.js +1 -0
- package/package/gen/models/Workspace.js +1 -0
- package/package/gen/models/WorkspaceId.d.ts +1 -0
- package/package/gen/models/WorkspaceId.js +5 -0
- package/package/gen/models/WorkspaceInvite.js +1 -0
- package/package/gen/services/GroupService.d.ts +15 -0
- package/package/gen/services/GroupService.js +25 -0
- package/package/gen/services/JobService.d.ts +2 -2
- package/package/gen/services/JobService.js +2 -2
- package/package/gen/services/OauthService.d.ts +5 -2
- package/package/gen/services/OauthService.js +1 -1
- package/package/gen/services/ScheduleService.d.ts +6 -1
- package/package/gen/services/ScheduleService.js +3 -1
- package/package/gen/services/ScriptService.d.ts +1 -1
- package/package/gen/services/UserService.d.ts +8 -0
- package/package/gen/services/UserService.js +14 -0
- package/package/gen/services/WorkspaceService.d.ts +38 -0
- package/package/gen/services/WorkspaceService.js +46 -0
- package/package/infer.d.ts +6 -2
- package/package/infer.js +55 -2
- package/package/script_helpers.d.ts +9 -3
- package/package/script_helpers.js +77 -57
- package/package/scripts.d.ts +3 -1
- package/package/scripts.js +26 -2
- package/package/stores.d.ts +3 -0
- package/package/stores.js +3 -0
- package/package/utils.d.ts +5 -3
- package/package/utils.js +19 -7
- package/package.json +23 -19
- package/package/components/common/table/LanguageBadge.svelte +0 -40
- package/package/components/common/table/LanguageBadge.svelte.d.ts +0 -17
- package/package/gen/models/Postgresql.d.ts +0 -3
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
<script>import { defaultIfEmptyString, displayDaysAgo, emptyString, getToday, truncateHash } from '../utils';
|
|
2
|
-
import {
|
|
1
|
+
<script>import { defaultIfEmptyString, displayDaysAgo, emptyString, getModifierKey, getToday, truncateHash } from '../utils';
|
|
2
|
+
import { userStore } from '../stores';
|
|
3
3
|
import CliHelpBox from './CliHelpBox.svelte';
|
|
4
|
-
import { Badge, Button } from './common';
|
|
4
|
+
import { Badge, Button, Kbd } from './common';
|
|
5
5
|
import InlineCodeCopy from './InlineCodeCopy.svelte';
|
|
6
6
|
import SchemaForm from './SchemaForm.svelte';
|
|
7
7
|
import SharedBadge from './SharedBadge.svelte';
|
|
@@ -20,11 +20,9 @@ export let loading = false;
|
|
|
20
20
|
export let noVariablePicker = false;
|
|
21
21
|
export let viewCliRun = false;
|
|
22
22
|
export let isFlow;
|
|
23
|
+
export let viewKeybinding = false;
|
|
23
24
|
export let args = {};
|
|
24
|
-
|
|
25
|
-
args = $runFormStore;
|
|
26
|
-
$runFormStore = undefined;
|
|
27
|
-
}
|
|
25
|
+
let reloadArgs = 0;
|
|
28
26
|
export async function setArgs(nargs) {
|
|
29
27
|
args = nargs;
|
|
30
28
|
reloadArgs++;
|
|
@@ -36,7 +34,6 @@ export let isValid = true;
|
|
|
36
34
|
let scheduledForStr;
|
|
37
35
|
let invisible_to_owner;
|
|
38
36
|
$: cliCommand = `wmill ${isFlow ? 'flow' : 'script'} run ${runnable?.path} -d '${JSON.stringify(args)}'`;
|
|
39
|
-
let reloadArgs = 0;
|
|
40
37
|
</script>
|
|
41
38
|
|
|
42
39
|
<div class="max-w-3xl">
|
|
@@ -53,7 +50,7 @@ let reloadArgs = 0;
|
|
|
53
50
|
{/if}
|
|
54
51
|
|
|
55
52
|
<div class="flex items-center gap-2">
|
|
56
|
-
<span class="text-sm text-
|
|
53
|
+
<span class="text-sm text-tertiary">
|
|
57
54
|
{#if runnable}
|
|
58
55
|
Edited {displayDaysAgo(runnable.created_at || '')} by {runnable.created_by ||
|
|
59
56
|
'unknown'}
|
|
@@ -94,7 +91,7 @@ let reloadArgs = 0;
|
|
|
94
91
|
{#if runnable?.schema}
|
|
95
92
|
<div class="my-2" />
|
|
96
93
|
{#if !runnable.schema.properties || Object.keys(runnable.schema.properties).length === 0}
|
|
97
|
-
<div class="text-sm
|
|
94
|
+
<div class="text-sm py-4 italic">No arguments</div>
|
|
98
95
|
{:else}
|
|
99
96
|
{#key reloadArgs}
|
|
100
97
|
<SchemaForm
|
|
@@ -108,78 +105,91 @@ let reloadArgs = 0;
|
|
|
108
105
|
{/key}
|
|
109
106
|
{/if}
|
|
110
107
|
{:else}
|
|
111
|
-
<div class="text-xs text-
|
|
108
|
+
<div class="text-xs text-tertiary">No arguments</div>
|
|
112
109
|
{/if}
|
|
113
110
|
{#if schedulable}
|
|
114
111
|
<div class="mt-10" />
|
|
115
112
|
<div class="flex gap-2 items-start flex-wrap justify-between mt-2 md:mt-6 mb-6">
|
|
116
|
-
<div class="flex-row-reverse flex
|
|
113
|
+
<div class="flex-row-reverse flex-wrap flex w-full gap-4">
|
|
117
114
|
<Button
|
|
118
115
|
{loading}
|
|
119
116
|
color="dark"
|
|
120
|
-
btnClasses="!px-6 !py-1"
|
|
117
|
+
btnClasses="!px-6 !py-1 !h-8 inline-flex gap-2"
|
|
121
118
|
disabled={!isValid}
|
|
122
119
|
on:click={() => runAction(scheduledForStr, args, invisible_to_owner)}
|
|
123
120
|
>
|
|
124
|
-
{
|
|
121
|
+
{#if viewKeybinding}
|
|
122
|
+
<div class="inline-flex gap-0 items-center">
|
|
123
|
+
<Kbd small>{getModifierKey()}</Kbd><Kbd small>Enter</Kbd>
|
|
124
|
+
</div>{/if}
|
|
125
|
+
<div>
|
|
126
|
+
{scheduledForStr ? 'Schedule to run later' : buttonText}
|
|
127
|
+
</div>
|
|
125
128
|
</Button>
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
<div class="px-2 font-semibold text-sm">Schedule to run later</div>
|
|
129
|
+
<div>
|
|
130
|
+
<CollapseLink small text="Advanced" class="justify-end">
|
|
131
|
+
<div class="flex flex-col gap-4 mt-2 border p-2">
|
|
132
|
+
<div class="flex flex-col gap-2">
|
|
133
|
+
{#if SCRIPT_VIEW_SHOW_SCHEDULE_RUN_LATER}
|
|
134
|
+
<div class="border rounded-md p-3 pt-4">
|
|
135
|
+
<div class="px-2 font-semibold text-sm">Schedule to run later</div>
|
|
134
136
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
137
|
+
<div class="flex flex-row items-end">
|
|
138
|
+
<div class="w-max md:w-2/3 mt-2 mb-1">
|
|
139
|
+
<label for="run-time" />
|
|
140
|
+
<input
|
|
141
|
+
class="inline-block"
|
|
142
|
+
type="datetime-local"
|
|
143
|
+
id="run-time"
|
|
144
|
+
name="run-scheduled-time"
|
|
145
|
+
bind:value={scheduledForStr}
|
|
146
|
+
min={getToday().toISOString().slice(0, 16)}
|
|
147
|
+
/>
|
|
148
|
+
</div>
|
|
149
|
+
<Button
|
|
150
|
+
variant="border"
|
|
151
|
+
color="blue"
|
|
152
|
+
size="sm"
|
|
153
|
+
btnClasses="mx-2 mb-1"
|
|
154
|
+
on:click={() => {
|
|
155
|
+
scheduledForStr = undefined
|
|
156
|
+
}}
|
|
157
|
+
>
|
|
158
|
+
Clear
|
|
159
|
+
</Button>
|
|
160
|
+
</div>
|
|
161
|
+
</div>
|
|
162
|
+
{/if}
|
|
163
|
+
</div>
|
|
164
|
+
{#if runnable?.path?.startsWith(`u/${$userStore?.username}`) != true && (runnable?.path?.split('/')?.length ?? 0) > 2}
|
|
165
|
+
<div class="flex items-center gap-1">
|
|
166
|
+
<Toggle
|
|
167
|
+
options={{
|
|
168
|
+
right: `make run invisible to others`
|
|
169
|
+
}}
|
|
170
|
+
bind:checked={invisible_to_owner}
|
|
145
171
|
/>
|
|
172
|
+
<Tooltip
|
|
173
|
+
>By default, runs are visible to the owner(s) of the script or flow being
|
|
174
|
+
triggered</Tooltip
|
|
175
|
+
>
|
|
146
176
|
</div>
|
|
147
|
-
|
|
148
|
-
variant="border"
|
|
149
|
-
color="blue"
|
|
150
|
-
size="sm"
|
|
151
|
-
btnClasses="mx-2 mb-1"
|
|
152
|
-
on:click={() => {
|
|
153
|
-
scheduledForStr = undefined
|
|
154
|
-
}}
|
|
155
|
-
>
|
|
156
|
-
Clear
|
|
157
|
-
</Button>
|
|
158
|
-
</div>
|
|
177
|
+
{/if}
|
|
159
178
|
</div>
|
|
160
|
-
|
|
179
|
+
</CollapseLink>
|
|
161
180
|
</div>
|
|
162
|
-
{#if runnable?.path?.startsWith(`u/${$userStore?.username}`) != true && (runnable?.path?.split('/')?.length ?? 0) > 2}
|
|
163
|
-
<div class="flex items-center gap-1">
|
|
164
|
-
<Toggle
|
|
165
|
-
options={{
|
|
166
|
-
right: `make run invisible to others`
|
|
167
|
-
}}
|
|
168
|
-
bind:checked={invisible_to_owner}
|
|
169
|
-
/>
|
|
170
|
-
<Tooltip
|
|
171
|
-
>By default, runs are visible to the owner(s) of the script or flow being triggered</Tooltip
|
|
172
|
-
>
|
|
173
|
-
</div>
|
|
174
|
-
{/if}
|
|
175
181
|
</div>
|
|
176
|
-
</
|
|
182
|
+
</div>
|
|
177
183
|
{:else if !topButton}
|
|
178
184
|
<Button
|
|
179
185
|
btnClasses="!px-6 !py-1 w-full"
|
|
180
186
|
disabled={!isValid}
|
|
181
187
|
on:click={() => runAction(undefined, args, invisible_to_owner)}
|
|
182
188
|
>
|
|
189
|
+
{#if viewKeybinding}
|
|
190
|
+
<div>
|
|
191
|
+
<Kbd small>{getModifierKey()}</Kbd>+<Kbd small>Enter</Kbd>
|
|
192
|
+
</div>{/if}
|
|
183
193
|
{buttonText}
|
|
184
194
|
</Button>
|
|
185
195
|
{/if}
|
|
@@ -25,6 +25,7 @@ declare const __propDef: {
|
|
|
25
25
|
noVariablePicker?: boolean | undefined;
|
|
26
26
|
viewCliRun?: boolean | undefined;
|
|
27
27
|
isFlow: boolean;
|
|
28
|
+
viewKeybinding?: boolean | undefined;
|
|
28
29
|
args?: Record<string, any> | undefined;
|
|
29
30
|
setArgs?: ((nargs: Record<string, any>) => Promise<void>) | undefined;
|
|
30
31
|
run?: (() => void) | undefined;
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
<script>import { faCalendar } from '@fortawesome/free-solid-svg-icons';
|
|
2
|
+
import ScheduleEditor from './ScheduleEditor.svelte';
|
|
3
|
+
import { Badge, Button } from './common';
|
|
4
|
+
import { workspaceStore } from '../stores';
|
|
5
|
+
import { ScheduleService } from '../gen';
|
|
6
|
+
import { sendUserToast } from '../toast';
|
|
7
|
+
import Toggle from './Toggle.svelte';
|
|
8
|
+
import { ListOrdered, PenBox } from 'lucide-svelte';
|
|
9
|
+
import JobArgs from './JobArgs.svelte';
|
|
10
|
+
import Skeleton from './common/skeleton/Skeleton.svelte';
|
|
11
|
+
import Tooltip from './Tooltip.svelte';
|
|
12
|
+
export let isFlow;
|
|
13
|
+
export let path;
|
|
14
|
+
export let can_write;
|
|
15
|
+
let scheduleEditor;
|
|
16
|
+
let schedule = undefined;
|
|
17
|
+
let schedules = undefined;
|
|
18
|
+
$: path && loadSchedule();
|
|
19
|
+
$: path && loadSchedules();
|
|
20
|
+
async function loadSchedule() {
|
|
21
|
+
try {
|
|
22
|
+
let exists = await ScheduleService.existsSchedule({
|
|
23
|
+
workspace: $workspaceStore ?? '',
|
|
24
|
+
path
|
|
25
|
+
});
|
|
26
|
+
if (exists) {
|
|
27
|
+
schedule = await ScheduleService.getSchedule({
|
|
28
|
+
workspace: $workspaceStore ?? '',
|
|
29
|
+
path
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
schedule = false;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
catch (e) {
|
|
37
|
+
console.log('no primary schedule');
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
async function loadSchedules() {
|
|
41
|
+
try {
|
|
42
|
+
schedules = (await ScheduleService.listSchedules({
|
|
43
|
+
workspace: $workspaceStore ?? '',
|
|
44
|
+
path,
|
|
45
|
+
isFlow
|
|
46
|
+
})).filter((s) => s.path != path);
|
|
47
|
+
}
|
|
48
|
+
catch (e) {
|
|
49
|
+
console.error('impossible to load schedules');
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
async function setScheduleEnabled(path, enabled) {
|
|
53
|
+
try {
|
|
54
|
+
await ScheduleService.setScheduleEnabled({
|
|
55
|
+
path,
|
|
56
|
+
workspace: $workspaceStore,
|
|
57
|
+
requestBody: { enabled }
|
|
58
|
+
});
|
|
59
|
+
loadSchedule();
|
|
60
|
+
sendUserToast(`Schedule ${enabled ? 'enabled' : 'disabled'}`);
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
sendUserToast(`Cannot ` + (enabled ? 'disable' : 'enable') + ` schedule: ${err}`, true);
|
|
64
|
+
loadSchedule();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
</script>
|
|
68
|
+
|
|
69
|
+
<ScheduleEditor
|
|
70
|
+
on:update={() => {
|
|
71
|
+
loadSchedule()
|
|
72
|
+
loadSchedules()
|
|
73
|
+
}}
|
|
74
|
+
bind:this={scheduleEditor}
|
|
75
|
+
/>
|
|
76
|
+
|
|
77
|
+
<div class="p-2 flex flex-col">
|
|
78
|
+
<Button
|
|
79
|
+
on:click={() => scheduleEditor?.openNew(isFlow, path)}
|
|
80
|
+
variant="border"
|
|
81
|
+
color="light"
|
|
82
|
+
size="xs"
|
|
83
|
+
startIcon={{ icon: faCalendar }}
|
|
84
|
+
>
|
|
85
|
+
New Schedule
|
|
86
|
+
</Button>
|
|
87
|
+
</div>
|
|
88
|
+
|
|
89
|
+
{#if schedule}
|
|
90
|
+
<div class="p-2 flex flex-col gap-2">
|
|
91
|
+
<div class="flex flex-row justify-between h-8">
|
|
92
|
+
<div class="flex flex-row gap-2">
|
|
93
|
+
<input
|
|
94
|
+
class="inline-block !w-32"
|
|
95
|
+
type="text"
|
|
96
|
+
id="cron-schedule"
|
|
97
|
+
name="cron-schedule"
|
|
98
|
+
placeholder="*/30 * * * *"
|
|
99
|
+
value={schedule.schedule}
|
|
100
|
+
disabled={true}
|
|
101
|
+
/>
|
|
102
|
+
<Badge color="indigo" small
|
|
103
|
+
>Primary schedule <Tooltip
|
|
104
|
+
>Share the same path as the script or flow it is attached to and its path get renamed
|
|
105
|
+
whenever the source path is renamed</Tooltip
|
|
106
|
+
></Badge
|
|
107
|
+
>
|
|
108
|
+
</div>
|
|
109
|
+
<div class="flex flex-row gap-2">
|
|
110
|
+
<Toggle
|
|
111
|
+
checked={schedule.enabled}
|
|
112
|
+
on:change={(e) => {
|
|
113
|
+
if (can_write) {
|
|
114
|
+
setScheduleEnabled(path, e.detail)
|
|
115
|
+
} else {
|
|
116
|
+
sendUserToast('not enough permission', true)
|
|
117
|
+
}
|
|
118
|
+
}}
|
|
119
|
+
options={{
|
|
120
|
+
right: 'On'
|
|
121
|
+
}}
|
|
122
|
+
size="xs"
|
|
123
|
+
/>
|
|
124
|
+
<Button size="xs" variant="border" color="light" href={`/runs/${path}`}>
|
|
125
|
+
<div class="flex flex-row gap-2">
|
|
126
|
+
<ListOrdered size={14} />
|
|
127
|
+
Runs
|
|
128
|
+
</div>
|
|
129
|
+
</Button>
|
|
130
|
+
<Button
|
|
131
|
+
size="xs"
|
|
132
|
+
color="dark"
|
|
133
|
+
on:click={() => scheduleEditor?.openEdit(path ?? '', isFlow)}
|
|
134
|
+
>
|
|
135
|
+
<PenBox size={14} />
|
|
136
|
+
</Button>
|
|
137
|
+
</div>
|
|
138
|
+
</div>
|
|
139
|
+
{#if Object.keys(schedule?.args ?? {}).length > 0}
|
|
140
|
+
<div class="">
|
|
141
|
+
<JobArgs args={schedule.args ?? {}} />
|
|
142
|
+
</div>
|
|
143
|
+
{:else}
|
|
144
|
+
<div class="text-xs texg-gray-700"> No arguments </div>
|
|
145
|
+
{/if}
|
|
146
|
+
</div>
|
|
147
|
+
{:else if schedule == undefined}
|
|
148
|
+
<Skeleton layout={[[6]]} />
|
|
149
|
+
{/if}
|
|
150
|
+
|
|
151
|
+
<h3 class="px-2 pt-4">Other schedules</h3>
|
|
152
|
+
|
|
153
|
+
{#if schedules}
|
|
154
|
+
{#if schedules.length == 0}
|
|
155
|
+
<div class="text-xs text-secondary px-2"> No other schedules </div>
|
|
156
|
+
{:else}
|
|
157
|
+
<div class="flex flex-col divide-y px-2 pt-2">
|
|
158
|
+
{#each schedules as schedule}
|
|
159
|
+
<div class="grid grid-cols-6 text-2xs items-center py-2"
|
|
160
|
+
><div class="col-span-3 truncate">{schedule.path}</div><div>{schedule.schedule}</div>
|
|
161
|
+
<div>{schedule.enabled ? 'on' : 'off'}</div>
|
|
162
|
+
<button on:click={() => scheduleEditor?.openEdit(path, isFlow)}>edit</button>
|
|
163
|
+
</div>
|
|
164
|
+
{/each}
|
|
165
|
+
</div>
|
|
166
|
+
{/if}
|
|
167
|
+
{:else}
|
|
168
|
+
<Skeleton layout={[[8]]} />
|
|
169
|
+
{/if}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
isFlow: boolean;
|
|
5
|
+
path: string;
|
|
6
|
+
can_write: boolean;
|
|
7
|
+
};
|
|
8
|
+
events: {
|
|
9
|
+
[evt: string]: CustomEvent<any>;
|
|
10
|
+
};
|
|
11
|
+
slots: {};
|
|
12
|
+
};
|
|
13
|
+
export type RunPageSchedulesProps = typeof __propDef.props;
|
|
14
|
+
export type RunPageSchedulesEvents = typeof __propDef.events;
|
|
15
|
+
export type RunPageSchedulesSlots = typeof __propDef.slots;
|
|
16
|
+
export default class RunPageSchedules extends SvelteComponentTyped<RunPageSchedulesProps, RunPageSchedulesEvents, RunPageSchedulesSlots> {
|
|
17
|
+
}
|
|
18
|
+
export {};
|
|
@@ -6,7 +6,7 @@ import { faSave } from '@fortawesome/free-solid-svg-icons';
|
|
|
6
6
|
import { createEventDispatcher } from 'svelte';
|
|
7
7
|
import { Pane, Splitpanes } from 'svelte-splitpanes';
|
|
8
8
|
import ObjectViewer from './propertyPicker/ObjectViewer.svelte';
|
|
9
|
-
import { ArrowLeftIcon, Edit, X } from 'lucide-svelte';
|
|
9
|
+
import { ArrowLeftIcon, Edit, ExternalLink, X } from 'lucide-svelte';
|
|
10
10
|
import Toggle from './Toggle.svelte';
|
|
11
11
|
import Tooltip from './Tooltip.svelte';
|
|
12
12
|
export let scriptHash = null;
|
|
@@ -132,7 +132,7 @@ const selectArgs = (selected_args) => {
|
|
|
132
132
|
disabled={!isValid}
|
|
133
133
|
loading={savingInputs}
|
|
134
134
|
startIcon={{ icon: faSave }}
|
|
135
|
-
color="
|
|
135
|
+
color="light"
|
|
136
136
|
size="xs"
|
|
137
137
|
>
|
|
138
138
|
<span>Save Current Input</span>
|
|
@@ -144,8 +144,8 @@ const selectArgs = (selected_args) => {
|
|
|
144
144
|
{#each savedInputs as i}
|
|
145
145
|
<button
|
|
146
146
|
class={classNames(
|
|
147
|
-
`w-full flex items-center group justify-between gap-4 py-2 px-4 text-left border rounded-md hover:bg-
|
|
148
|
-
selectedInput === i ? 'border-blue-500 bg-blue-50' : ''
|
|
147
|
+
`w-full flex items-center group justify-between gap-4 py-2 px-4 text-left border rounded-md hover:bg-surface-hover transition-all`,
|
|
148
|
+
selectedInput === i ? 'border-blue-500 bg-blue-50 dark:bg-blue-900' : ''
|
|
149
149
|
)}
|
|
150
150
|
on:click={() => {
|
|
151
151
|
if (!i.isEditing) {
|
|
@@ -167,7 +167,7 @@ const selectArgs = (selected_args) => {
|
|
|
167
167
|
}}
|
|
168
168
|
class="w-full"
|
|
169
169
|
>
|
|
170
|
-
<input type="text" bind:value={i.name} class="text-
|
|
170
|
+
<input type="text" bind:value={i.name} class="text-secondary" />
|
|
171
171
|
</form>
|
|
172
172
|
{:else}
|
|
173
173
|
<small
|
|
@@ -193,7 +193,7 @@ const selectArgs = (selected_args) => {
|
|
|
193
193
|
|
|
194
194
|
<Button
|
|
195
195
|
loading={i.isSaving}
|
|
196
|
-
color="
|
|
196
|
+
color="light"
|
|
197
197
|
size="xs"
|
|
198
198
|
variant="border"
|
|
199
199
|
spacingSize="xs2"
|
|
@@ -221,13 +221,13 @@ const selectArgs = (selected_args) => {
|
|
|
221
221
|
</Button>
|
|
222
222
|
</div>
|
|
223
223
|
{:else}
|
|
224
|
-
<span class="text-xs text-
|
|
224
|
+
<span class="text-xs text-tertiary">By {i.created_by}</span>
|
|
225
225
|
{/if}
|
|
226
226
|
</div>
|
|
227
227
|
</button>
|
|
228
228
|
{/each}
|
|
229
229
|
{:else}
|
|
230
|
-
<div class="text-center text-
|
|
230
|
+
<div class="text-center text-tertiary">No saved Inputs</div>
|
|
231
231
|
{/if}
|
|
232
232
|
</div>
|
|
233
233
|
</div>
|
|
@@ -235,15 +235,15 @@ const selectArgs = (selected_args) => {
|
|
|
235
235
|
|
|
236
236
|
<Pane>
|
|
237
237
|
<div class="w-full flex flex-col gap-4 p-2">
|
|
238
|
-
<span class="text-sm font-extrabold">Previous
|
|
238
|
+
<span class="text-sm font-extrabold">Previous runs</span>
|
|
239
239
|
|
|
240
240
|
<div class="w-full flex flex-col gap-1 p-0 h-full overflow-y-auto">
|
|
241
241
|
{#if previousInputs.length > 0}
|
|
242
242
|
{#each previousInputs as i}
|
|
243
243
|
<button
|
|
244
244
|
class={classNames(
|
|
245
|
-
`w-full flex items-center justify-between gap-4 py-2 px-4 text-left border rounded-sm hover:bg-
|
|
246
|
-
selectedInput === i ? 'border-blue-500 bg-blue-50' : ''
|
|
245
|
+
`w-full flex items-center justify-between gap-4 py-2 px-4 text-left border rounded-sm hover:bg-surface-hover transition-a`,
|
|
246
|
+
selectedInput === i ? 'border-blue-500 bg-blue-50 dark:bg-blue-900' : ''
|
|
247
247
|
)}
|
|
248
248
|
on:click={() => {
|
|
249
249
|
if (selectedInput === i) {
|
|
@@ -253,17 +253,35 @@ const selectArgs = (selected_args) => {
|
|
|
253
253
|
}
|
|
254
254
|
}}
|
|
255
255
|
>
|
|
256
|
-
<div
|
|
257
|
-
|
|
258
|
-
|
|
256
|
+
<div
|
|
257
|
+
class="w-full h-full items-center text-xs font-normal grid grid-cols-8 gap-4 min-w-0"
|
|
258
|
+
>
|
|
259
|
+
<div class="">
|
|
260
|
+
<div class="rounded-full w-2 h-2 {i.success ? 'bg-green-400' : 'bg-red-400'}" />
|
|
261
|
+
</div>
|
|
262
|
+
<div class="col-span-2">
|
|
263
|
+
{i.created_by}
|
|
264
|
+
</div>
|
|
265
|
+
<div
|
|
266
|
+
class="whitespace-nowrap col-span-3 font-normal overflow-hidden text-ellipsis flex-shrink text-center"
|
|
259
267
|
>
|
|
260
|
-
{displayDaysAgo(i.created_at)}
|
|
261
|
-
</
|
|
268
|
+
{displayDaysAgo(i.created_at)}
|
|
269
|
+
</div>
|
|
270
|
+
<div class="col-span-2">
|
|
271
|
+
<a
|
|
272
|
+
target="_blank"
|
|
273
|
+
href="/runs/{i.id}"
|
|
274
|
+
class="text-right float-right text-secondary"
|
|
275
|
+
title="See run detail in a new tab"
|
|
276
|
+
>
|
|
277
|
+
<ExternalLink size={16} />
|
|
278
|
+
</a>
|
|
279
|
+
</div>
|
|
262
280
|
</div>
|
|
263
281
|
</button>
|
|
264
282
|
{/each}
|
|
265
283
|
{:else}
|
|
266
|
-
<div class="text-center text-
|
|
284
|
+
<div class="text-center text-tertiary">No previous Runs</div>
|
|
267
285
|
{/if}
|
|
268
286
|
</div>
|
|
269
287
|
</div>
|
|
@@ -280,7 +298,7 @@ const selectArgs = (selected_args) => {
|
|
|
280
298
|
<ObjectViewer json={selectedInput?.args} />
|
|
281
299
|
</div>
|
|
282
300
|
{:else}
|
|
283
|
-
<div class="text-center text-
|
|
301
|
+
<div class="text-center text-tertiary">
|
|
284
302
|
Select an Input to preview scripts arguments
|
|
285
303
|
</div>
|
|
286
304
|
{/if}
|
|
@@ -57,6 +57,11 @@ let pathError = '';
|
|
|
57
57
|
let validCRON = true;
|
|
58
58
|
$: allowSchedule = isValid && validCRON && script_path != '';
|
|
59
59
|
$: script_path != '' && loadScript(script_path);
|
|
60
|
+
// set isValid to true when a script/flow without any properties is selected
|
|
61
|
+
$: runnable?.schema &&
|
|
62
|
+
runnable.schema.properties &&
|
|
63
|
+
Object.keys(runnable.schema.properties).length === 0 &&
|
|
64
|
+
(isValid = true);
|
|
60
65
|
const dispatch = createEventDispatcher();
|
|
61
66
|
async function loadScript(p) {
|
|
62
67
|
if (p) {
|
|
@@ -207,7 +212,7 @@ let drawer;
|
|
|
207
212
|
|
|
208
213
|
<h2 class="border-b pb-1 mt-8 mb-2">Runnable</h2>
|
|
209
214
|
{#if !edit}
|
|
210
|
-
<p class="text-xs mb-1 text-
|
|
215
|
+
<p class="text-xs mb-1 text-tertiary">
|
|
211
216
|
Pick a script or flow to be triggered by the schedule<Required required={true} />
|
|
212
217
|
</p>
|
|
213
218
|
<ScriptPicker
|
|
@@ -233,8 +238,6 @@ let drawer;
|
|
|
233
238
|
/>
|
|
234
239
|
{/if}
|
|
235
240
|
<div class="mt-6">
|
|
236
|
-
<span class="font-semibold text-gray-700">Arguments</span>
|
|
237
|
-
|
|
238
241
|
{#if runnable}
|
|
239
242
|
{#if runnable?.schema && runnable.schema.properties && Object.keys(runnable.schema.properties).length > 0}
|
|
240
243
|
<SchemaForm disabled={!can_write} schema={runnable.schema} bind:isValid bind:args />
|
|
@@ -250,21 +253,30 @@ let drawer;
|
|
|
250
253
|
{/if}
|
|
251
254
|
</div>
|
|
252
255
|
<h2 class="border-b pb-1 mt-8 mb-2">Error Handler</h2>
|
|
256
|
+
|
|
253
257
|
<ScriptPicker
|
|
254
|
-
disabled={
|
|
258
|
+
disabled={!can_write}
|
|
255
259
|
initialPath={errorHandlerPath}
|
|
256
260
|
kind={Script.kind.SCRIPT}
|
|
257
261
|
allowFlow={true}
|
|
258
262
|
bind:scriptPath={errorHandlerPath}
|
|
259
263
|
bind:itemKind={errorHandleritemKind}
|
|
264
|
+
canRefresh
|
|
260
265
|
/>
|
|
261
|
-
<div class="
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
<
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
266
|
+
<div class="flex gap-20 items-start mt-3">
|
|
267
|
+
<div class="text-tertiary text-sm"
|
|
268
|
+
>The following args will be passed to the error handler:
|
|
269
|
+
<ul class="mt-1 ml-2">
|
|
270
|
+
<li><b>path</b>: The path of the script or flow that errored.</li>
|
|
271
|
+
<li><b>schedule_path</b>: The path of the schedule.</li>
|
|
272
|
+
<li><b>error</b>: The error details.</li>
|
|
273
|
+
</ul>
|
|
274
|
+
</div>
|
|
275
|
+
<Button
|
|
276
|
+
wrapperClasses="mt-6"
|
|
277
|
+
href="/scripts/add?hub=hub%2F1087%2Fwindmill%2Fschedule_error_handler_template"
|
|
278
|
+
target="_blank">Use template</Button
|
|
279
|
+
>
|
|
268
280
|
</div>
|
|
269
281
|
</div>
|
|
270
282
|
</DrawerContent>
|
|
@@ -25,6 +25,7 @@ let argError = '';
|
|
|
25
25
|
let editing = false;
|
|
26
26
|
let oldArgName; // when editing argument and changing name
|
|
27
27
|
let viewJsonSchema = false;
|
|
28
|
+
let jsonEditor;
|
|
28
29
|
// Binding is not enough because monaco Editor does not support two-way binding
|
|
29
30
|
export function getSchema() {
|
|
30
31
|
try {
|
|
@@ -50,7 +51,9 @@ function modalToSchema(schema) {
|
|
|
50
51
|
enum: schema.enum_,
|
|
51
52
|
items: schema.items,
|
|
52
53
|
contentEncoding: schema.contentEncoding,
|
|
53
|
-
format: schema.format
|
|
54
|
+
format: schema.format,
|
|
55
|
+
properties: schema.schema?.properties,
|
|
56
|
+
required: schema.schema?.required
|
|
54
57
|
};
|
|
55
58
|
}
|
|
56
59
|
function handleAddOrEditArgument(modalProperty) {
|
|
@@ -60,7 +63,8 @@ function handleAddOrEditArgument(modalProperty) {
|
|
|
60
63
|
if (modalProperty.name.length === 0) {
|
|
61
64
|
argError = 'Arguments need to have a name';
|
|
62
65
|
}
|
|
63
|
-
else if (Object.keys(schema.properties).includes(modalProperty.name) &&
|
|
66
|
+
else if (Object.keys(schema.properties).includes(modalProperty.name) &&
|
|
67
|
+
(!editing || (editing && oldArgName && oldArgName !== modalProperty.name))) {
|
|
64
68
|
argError = 'There is already an argument with this name';
|
|
65
69
|
}
|
|
66
70
|
else {
|
|
@@ -86,6 +90,7 @@ function handleAddOrEditArgument(modalProperty) {
|
|
|
86
90
|
}
|
|
87
91
|
schema = schema;
|
|
88
92
|
schemaString = JSON.stringify(schema, null, '\t');
|
|
93
|
+
jsonEditor?.setCode(schemaString);
|
|
89
94
|
dispatch('change', schema);
|
|
90
95
|
}
|
|
91
96
|
function handleStartEditEvent(event) {
|
|
@@ -224,9 +229,9 @@ function displayInfoKey(displayInfo) {
|
|
|
224
229
|
/>
|
|
225
230
|
<div class="ml-2">
|
|
226
231
|
<Tooltip
|
|
227
|
-
documentationLink="https://www.windmill.dev/docs/
|
|
232
|
+
documentationLink="https://www.windmill.dev/docs/core_concepts/json_schema_and_parsing#script-parameters-to-json-schema"
|
|
228
233
|
>
|
|
229
|
-
Arguments can be edited either using the wizard, or by editing their JSON Schema
|
|
234
|
+
Arguments can be edited either using the wizard, or by editing their JSON Schema.
|
|
230
235
|
</Tooltip>
|
|
231
236
|
</div>
|
|
232
237
|
</div>
|
|
@@ -265,15 +270,13 @@ function displayInfoKey(displayInfo) {
|
|
|
265
270
|
</tbody>
|
|
266
271
|
</TableCustom>
|
|
267
272
|
{:else}
|
|
268
|
-
<div class="text-
|
|
273
|
+
<div class="text-secondary text-xs italic mt-2">This schema has no arguments.</div>
|
|
269
274
|
{/if}
|
|
270
275
|
</div>
|
|
271
276
|
{:else}
|
|
272
|
-
{#if !emptyString(error)}<span class="text-red-400">{error}</span>{:else}<div
|
|
273
|
-
class="py-6"
|
|
274
|
-
/>{/if}
|
|
275
277
|
<div class="border rounded p-2">
|
|
276
278
|
<SimpleEditor
|
|
279
|
+
bind:this={jsonEditor}
|
|
277
280
|
fixedOverflowWidgets={false}
|
|
278
281
|
on:change={() => {
|
|
279
282
|
try {
|
|
@@ -288,6 +291,11 @@ function displayInfoKey(displayInfo) {
|
|
|
288
291
|
class="small-editor"
|
|
289
292
|
/>
|
|
290
293
|
</div>
|
|
294
|
+
{#if !emptyString(error)}
|
|
295
|
+
<div class="text-red-400">{error}</div>
|
|
296
|
+
{:else}
|
|
297
|
+
<div><br /></div>
|
|
298
|
+
{/if}
|
|
291
299
|
{/if}
|
|
292
300
|
</div>
|
|
293
301
|
</div>
|