windmill-components 1.37.0 → 1.46.1
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/common.d.ts +1 -0
- package/components/AppConnect.svelte +45 -49
- package/components/ArgInfo.svelte +37 -15
- package/components/ArgInput.svelte +33 -34
- package/components/ArgInput.svelte.d.ts +3 -1
- package/components/ButtonAndDropdown.svelte +1 -1
- package/components/CenteredPage.svelte +2 -2
- package/components/CronInput.svelte +24 -20
- package/components/CronInput.svelte.d.ts +1 -0
- package/components/DisplayResult.svelte +2 -2
- package/components/Dropdown.svelte +10 -13
- package/components/Dropdown.svelte.d.ts +4 -1
- package/components/Editor.svelte +27 -3
- package/components/Editor.svelte.d.ts +3 -1
- package/components/EditorBar.svelte +77 -30
- package/components/EditorBar.svelte.d.ts +3 -1
- package/components/FieldHeader.svelte +6 -5
- package/components/FlowBuilder.svelte +52 -55
- package/components/FlowBuilder.svelte.d.ts +2 -0
- package/components/FlowJobResult.svelte +11 -18
- package/components/FlowJobResult.svelte.d.ts +2 -2
- package/components/FlowMetadata.svelte +65 -0
- package/components/FlowMetadata.svelte.d.ts +17 -0
- package/components/FlowModulesViewer.svelte +18 -4
- package/components/FlowPreviewContent.svelte +88 -50
- package/components/FlowPreviewContent.svelte.d.ts +1 -0
- package/components/FlowStatusViewer.svelte +123 -61
- package/components/FlowStatusViewer.svelte.d.ts +8 -3
- package/components/FlowViewer.svelte +84 -9
- package/components/FlowViewer.svelte.d.ts +1 -0
- package/components/GroupModal.svelte +43 -44
- package/components/GroupModal.svelte.d.ts +2 -2
- package/components/HighlightCode.svelte +4 -1
- package/components/HighlightCode.svelte.d.ts +1 -1
- package/components/IconedResourceType.svelte +6 -4
- package/components/IconedResourceType.svelte.d.ts +1 -0
- package/components/InputTransformForm.svelte +38 -27
- package/components/InputTransformsViewer.svelte +2 -1
- package/components/InviteGlobalUser.svelte +6 -10
- package/components/InviteGlobalUser.svelte.d.ts +1 -4
- package/components/InviteUser.svelte +4 -8
- package/components/InviteUser.svelte.d.ts +1 -4
- package/components/ItemPicker.svelte +50 -43
- package/components/ItemPicker.svelte.d.ts +2 -2
- package/components/JobArgs.svelte +33 -0
- package/components/JobArgs.svelte.d.ts +16 -0
- package/components/JobStatus.svelte +21 -17
- package/components/LogViewer.svelte +11 -6
- package/components/Modal.svelte +5 -5
- package/components/Modal.svelte.d.ts +4 -4
- package/components/ModulePreview.svelte +47 -63
- package/components/ModulePreview.svelte.d.ts +0 -1
- package/components/PageHeader.svelte +6 -6
- package/components/Password.svelte +1 -1
- package/components/Path.svelte +28 -7
- package/components/Path.svelte.d.ts +3 -3
- package/components/Popover.svelte +61 -0
- package/components/Popover.svelte.d.ts +17 -0
- package/components/Required.svelte +4 -4
- package/components/Required.svelte.d.ts +1 -0
- package/components/ResourceEditor.svelte +105 -116
- package/components/ResourceEditor.svelte.d.ts +0 -1
- package/components/ResourcePicker.svelte +9 -6
- package/components/ResourceTypePicker.svelte +3 -1
- package/components/RunChart.svelte +102 -0
- package/components/RunChart.svelte.d.ts +20 -0
- package/components/RunForm.svelte +58 -40
- package/components/RunForm.svelte.d.ts +13 -0
- package/components/SchemaEditor.svelte +5 -5
- package/components/SchemaEditorProperty.svelte +1 -1
- package/components/SchemaForm.svelte +3 -1
- package/components/SchemaForm.svelte.d.ts +1 -0
- package/components/SchemaModal.svelte +113 -105
- package/components/SchemaModal.svelte.d.ts +4 -4
- package/components/SchemaViewer.svelte +7 -4
- package/components/ScriptBuilder.svelte +143 -163
- package/components/ScriptBuilder.svelte.d.ts +1 -0
- package/components/ScriptEditor.svelte +117 -114
- package/components/ScriptEditor.svelte.d.ts +1 -0
- package/components/ScriptPicker.svelte +16 -24
- package/components/ScriptSchema.svelte +33 -32
- package/components/ShareModal.svelte +74 -68
- package/components/ShareModal.svelte.d.ts +2 -2
- package/components/SimpleEditor.svelte +4 -2
- package/components/SuperadminSettings.svelte +134 -0
- package/components/SuperadminSettings.svelte.d.ts +19 -0
- package/components/TableCustom.svelte +1 -1
- package/components/TableSimple.svelte +1 -1
- package/components/TestJobLoader.svelte +14 -6
- package/components/TestJobLoader.svelte.d.ts +4 -2
- package/components/Toggle.svelte +5 -3
- package/components/Toggle.svelte.d.ts +2 -0
- package/components/Tooltip.svelte +9 -64
- package/components/UserSettings.svelte +241 -0
- package/components/UserSettings.svelte.d.ts +19 -0
- package/components/VariableEditor.svelte +80 -74
- package/components/common/actionRow/ActionRow.svelte +5 -4
- package/components/common/alert/Alert.svelte +1 -1
- package/components/common/alert/Alert.svelte.d.ts +1 -0
- package/components/common/badge/Badge.svelte +2 -2
- package/components/common/breadcrumb/Breadcrumb.svelte +24 -0
- package/components/common/breadcrumb/Breadcrumb.svelte.d.ts +22 -0
- package/components/common/button/Button.svelte +20 -8
- package/components/common/button/Button.svelte.d.ts +1 -0
- package/components/common/button/model.d.ts +1 -1
- package/components/common/confirmationModal/ConfirmationModal.svelte +1 -0
- package/components/common/drawer/Drawer.svelte +38 -7
- package/components/common/drawer/Drawer.svelte.d.ts +6 -0
- package/components/common/drawer/DrawerContent.svelte +21 -7
- package/components/common/drawer/DrawerContent.svelte.d.ts +4 -0
- package/components/common/index.d.ts +1 -0
- package/components/common/index.js +1 -0
- package/components/common/kbd/Kbd.svelte +1 -1
- package/components/common/languageIcons/Bash.svelte +18 -0
- package/components/common/languageIcons/Bash.svelte.d.ts +27 -0
- package/components/common/languageIcons/Go.svelte +34 -0
- package/components/common/languageIcons/Go.svelte.d.ts +27 -0
- package/components/common/languageIcons/LanguageIcon.svelte +19 -0
- package/components/common/languageIcons/LanguageIcon.svelte.d.ts +21 -0
- package/components/common/languageIcons/Python.svelte +51 -0
- package/components/common/languageIcons/Python.svelte.d.ts +27 -0
- package/components/common/languageIcons/TypeScript.svelte +31 -0
- package/components/common/languageIcons/TypeScript.svelte.d.ts +27 -0
- package/components/common/languageIcons/index.d.ts +5 -0
- package/components/common/languageIcons/index.js +5 -0
- package/components/common/menu/Menu.svelte +15 -19
- package/components/common/skeleton/Skeleton.svelte +1 -2
- package/components/common/skeleton/Skeleton.svelte.d.ts +0 -1
- package/components/common/skeleton/SkeletonElement.svelte +1 -1
- package/components/common/tabs/TabContent.svelte +2 -1
- package/components/common/tabs/TabContent.svelte.d.ts +1 -0
- package/components/common/tabs/Tabs.svelte +8 -6
- package/components/common/tabs/Tabs.svelte.d.ts +1 -0
- package/components/flows/FlowEditor.svelte +11 -20
- package/components/flows/FlowProgressBar.svelte +55 -0
- package/components/flows/FlowProgressBar.svelte.d.ts +21 -0
- package/components/flows/common/FlowCardHeader.svelte +5 -6
- package/components/flows/content/CapturePayload.svelte +112 -0
- package/components/flows/content/CapturePayload.svelte.d.ts +17 -0
- package/components/flows/content/DynamicInputHelpBox.svelte +6 -10
- package/components/flows/content/FlowBranchAllWrapper.svelte +21 -0
- package/components/flows/content/FlowBranchAllWrapper.svelte.d.ts +21 -0
- package/components/flows/content/FlowBranchOneWrapper.svelte +49 -0
- package/components/flows/content/FlowBranchOneWrapper.svelte.d.ts +23 -0
- package/components/flows/content/FlowBranchesWrapper.svelte +140 -0
- package/components/flows/content/FlowBranchesWrapper.svelte.d.ts +19 -0
- package/components/flows/content/FlowEditorPanel.svelte +8 -6
- package/components/flows/content/FlowFailureModule.svelte +4 -6
- package/components/flows/content/FlowInput.svelte +31 -5
- package/components/flows/content/FlowInputs.svelte +119 -50
- package/components/flows/content/FlowInputs.svelte.d.ts +5 -4
- package/components/flows/content/FlowLoop.svelte +85 -142
- package/components/flows/content/FlowLoop.svelte.d.ts +2 -1
- package/components/flows/content/FlowModuleComponent.svelte +231 -0
- package/components/flows/content/FlowModuleComponent.svelte.d.ts +20 -0
- package/components/flows/content/FlowModuleEarlyStop.svelte +45 -48
- package/components/flows/content/FlowModuleEarlyStop.svelte.d.ts +1 -0
- package/components/flows/content/FlowModuleHeader.svelte +11 -40
- package/components/flows/content/FlowModuleHeader.svelte.d.ts +0 -1
- package/components/flows/content/FlowModuleScript.svelte +7 -12
- package/components/flows/content/FlowModuleScript.svelte.d.ts +1 -2
- package/components/flows/content/FlowModuleSuspend.svelte +31 -15
- package/components/flows/content/FlowModuleSuspend.svelte.d.ts +1 -0
- package/components/flows/content/FlowModuleWrapper.svelte +138 -38
- package/components/flows/content/FlowModuleWrapper.svelte.d.ts +6 -1
- package/components/flows/content/FlowRetries.svelte +13 -2
- package/components/flows/content/FlowRetries.svelte.d.ts +1 -0
- package/components/flows/content/FlowSchedules.svelte +0 -2
- package/components/flows/content/FlowSettings.svelte +103 -72
- package/components/flows/flowState.d.ts +8 -8
- package/components/flows/flowState.js +32 -17
- package/components/flows/flowStateUtils.d.ts +21 -38
- package/components/flows/flowStateUtils.js +86 -158
- package/components/flows/flowStore.d.ts +3 -2
- package/components/flows/flowStore.js +60 -7
- package/components/flows/header/FlowImportExportMenu.svelte +12 -22
- package/components/flows/header/FlowPreviewButtons.svelte +11 -11
- package/components/flows/map/FlowBranchAllMap.svelte +90 -0
- package/components/flows/map/FlowBranchAllMap.svelte.d.ts +17 -0
- package/components/flows/map/FlowBranchOneMap.svelte +116 -0
- package/components/flows/map/FlowBranchOneMap.svelte.d.ts +17 -0
- package/components/flows/map/FlowErrorHandlerItem.svelte +14 -11
- package/components/flows/map/FlowInputsItem.svelte +19 -0
- package/components/flows/map/FlowInputsItem.svelte.d.ts +14 -0
- package/components/flows/map/FlowModuleSchemaItem.svelte +53 -36
- package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +5 -5
- package/components/flows/map/FlowModuleSchemaMap.svelte +73 -144
- package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +2 -3
- package/components/flows/map/FlowSettingsItem.svelte +29 -0
- package/components/flows/map/FlowSettingsItem.svelte.d.ts +14 -0
- package/components/flows/map/InsertModuleButton.svelte +11 -0
- package/components/flows/map/InsertModuleButton.svelte.d.ts +16 -0
- package/components/flows/map/MapItem.svelte +105 -0
- package/components/flows/map/MapItem.svelte.d.ts +22 -0
- package/components/flows/pickers/FlowScriptPicker.svelte +14 -4
- package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +1 -1
- package/components/flows/pickers/PickHubScript.svelte +5 -4
- package/components/flows/pickers/PickHubScript.svelte.d.ts +1 -0
- package/components/flows/pickers/PickScript.svelte +6 -5
- package/components/flows/pickers/PickScript.svelte.d.ts +1 -0
- package/components/flows/previousResults.d.ts +14 -0
- package/components/flows/previousResults.js +118 -0
- package/components/flows/propPicker/PropPickerWrapper.svelte +22 -15
- package/components/flows/propPicker/PropPickerWrapper.svelte.d.ts +6 -2
- package/components/flows/utils.d.ts +8 -5
- package/components/flows/utils.js +86 -56
- package/components/graph/FlowGraph.svelte +259 -0
- package/components/graph/FlowGraph.svelte.d.ts +20 -0
- package/components/graph/index.d.ts +3 -0
- package/components/graph/index.js +3 -0
- package/components/graph/model.d.ts +20 -0
- package/components/graph/model.js +9 -0
- package/components/graph/util.d.ts +9 -0
- package/components/graph/util.js +14 -0
- package/components/icons/WindmillIcon.svelte +85 -52
- package/components/icons/WindmillIcon.svelte.d.ts +2 -0
- package/components/jobs/JobDetail.svelte +40 -30
- package/components/landing/FlowGettingStarted.svelte +4 -3
- package/components/landing/FlowLandingBox.svelte +23 -53
- package/components/landing/RessourceGettingStarted.svelte +1 -1
- package/components/landing/ScriptBox.svelte +25 -27
- package/components/landing/ScriptGettingStarted.svelte +4 -3
- package/components/preview/FlowPreviewStatus.svelte +1 -1
- package/components/progressBar/ProgressBar.svelte +89 -0
- package/components/{ProgressBar.svelte.d.ts → progressBar/ProgressBar.svelte.d.ts} +5 -2
- package/components/progressBar/ProgressBarGeneralPart.svelte +22 -0
- package/components/progressBar/ProgressBarGeneralPart.svelte.d.ts +19 -0
- package/components/progressBar/ProgressBarLoopAccessor.svelte +14 -0
- package/components/progressBar/ProgressBarLoopAccessor.svelte.d.ts +19 -0
- package/components/progressBar/ProgressBarLoopPart.svelte +34 -0
- package/components/progressBar/ProgressBarLoopPart.svelte.d.ts +19 -0
- package/components/progressBar/index.d.ts +2 -0
- package/components/progressBar/index.js +2 -0
- package/components/progressBar/model.d.ts +32 -0
- package/components/progressBar/model.js +14 -0
- package/components/propertyPicker/ObjectViewer.svelte +18 -13
- package/components/propertyPicker/ObjectViewer.svelte.d.ts +1 -0
- package/components/propertyPicker/PropPicker.svelte +90 -44
- package/components/propertyPicker/PropPicker.svelte.d.ts +4 -1
- package/components/propertyPicker/PropPickerResult.svelte +12 -0
- package/components/propertyPicker/PropPickerResult.svelte.d.ts +18 -0
- package/components/propertyPicker/utils.d.ts +1 -1
- package/components/propertyPicker/utils.js +4 -1
- package/components/{script_editor → scriptEditor}/LogPanel.svelte +30 -20
- package/components/{script_editor → scriptEditor}/LogPanel.svelte.d.ts +0 -0
- package/components/scripts/CreateActions.svelte +2 -2
- package/components/sidebar/SidebarContent.svelte +1 -1
- package/components/sidebar/UserMenu.svelte +17 -1
- package/components/sidebar/UserMenu.svelte.d.ts +3 -0
- package/components/sidebar/WorkspaceMenu.svelte +16 -14
- package/components/splitPanes/SplitPanesWrapper.svelte +34 -0
- package/components/splitPanes/SplitPanesWrapper.svelte.d.ts +20 -0
- package/editorUtils.js +2 -0
- package/gen/core/OpenAPI.js +1 -1
- package/gen/index.d.ts +8 -1
- package/gen/index.js +5 -0
- package/gen/models/AppWithLastVersion.d.ts +21 -0
- package/gen/models/AppWithLastVersion.js +12 -0
- package/gen/models/BranchAll.d.ts +10 -0
- package/gen/models/{Branches.js → BranchAll.js} +0 -0
- package/gen/models/{Branches.d.ts → BranchOne.d.ts} +3 -5
- package/gen/models/BranchOne.js +4 -0
- package/gen/models/CompletedJob.d.ts +4 -2
- package/gen/models/CompletedJob.js +2 -0
- package/gen/models/FlowModule.d.ts +2 -1
- package/gen/models/FlowModuleValue.d.ts +4 -2
- package/gen/models/FlowStatusModule.d.ts +11 -2
- package/gen/models/ForloopFlow.d.ts +1 -0
- package/gen/models/Identity.d.ts +3 -0
- package/gen/models/Identity.js +4 -0
- package/gen/models/ListableApp.d.ts +16 -0
- package/gen/models/ListableApp.js +12 -0
- package/gen/models/ListableVariable.d.ts +1 -1
- package/gen/models/PathScript.d.ts +2 -0
- package/gen/models/Policy.d.ts +12 -0
- package/gen/models/Policy.js +12 -0
- package/gen/models/Preview.d.ts +2 -1
- package/gen/models/Preview.js +1 -0
- package/gen/models/QueuedJob.d.ts +4 -2
- package/gen/models/QueuedJob.js +2 -0
- package/gen/models/RawScript.d.ts +4 -1
- package/gen/models/RawScript.js +1 -0
- package/gen/models/Script.d.ts +4 -2
- package/gen/models/Script.js +2 -0
- package/gen/services/AppService.d.ts +31 -0
- package/gen/services/AppService.js +49 -0
- package/gen/services/CaptureService.d.ts +30 -0
- package/gen/services/CaptureService.js +52 -0
- package/gen/services/FlowService.d.ts +90 -0
- package/gen/services/FlowService.js +72 -0
- package/gen/services/JobService.d.ts +57 -8
- package/gen/services/JobService.js +78 -10
- package/gen/services/OauthService.d.ts +6 -15
- package/gen/services/OauthService.js +6 -19
- package/gen/services/ResourceService.d.ts +10 -1
- package/gen/services/ResourceService.js +16 -1
- package/gen/services/ScriptService.d.ts +28 -3
- package/gen/services/ScriptService.js +27 -0
- package/gen/services/UserService.d.ts +14 -6
- package/gen/services/UserService.js +25 -11
- package/infer.d.ts +1 -1
- package/infer.js +35 -18
- package/logout.d.ts +1 -1
- package/logout.js +7 -9
- package/package.json +74 -68
- package/script_helpers.d.ts +5 -3
- package/script_helpers.js +42 -12
- package/scripts.js +9 -4
- package/utils.d.ts +8 -9
- package/utils.js +42 -81
- package/components/AutosizedTextarea.svelte +0 -34
- package/components/AutosizedTextarea.svelte.d.ts +0 -19
- package/components/ProgressBar.svelte +0 -31
- package/components/ProgressBarPart.svelte +0 -20
- package/components/ProgressBarPart.svelte.d.ts +0 -20
- package/components/Switch.svelte +0 -61
- package/components/Switch.svelte.d.ts +0 -31
- package/components/flows/content/CopyFirstStepSchema.svelte +0 -13
- package/components/flows/content/CopyFirstStepSchema.svelte.d.ts +0 -14
- package/components/flows/content/FlowLoopWrapper.svelte +0 -9
- package/components/flows/content/FlowLoopWrapper.svelte.d.ts +0 -14
- package/components/flows/content/FlowModule.svelte +0 -217
- package/components/flows/content/FlowModule.svelte.d.ts +0 -29
- package/gen/schemas/$AuditLog.d.ts +0 -32
- package/gen/schemas/$AuditLog.js +0 -35
- package/gen/schemas/$CompletedJob.d.ts +0 -98
- package/gen/schemas/$CompletedJob.js +0 -103
- package/gen/schemas/$ContextualVariable.d.ts +0 -16
- package/gen/schemas/$ContextualVariable.js +0 -19
- package/gen/schemas/$CreateResource.d.ts +0 -22
- package/gen/schemas/$CreateResource.js +0 -25
- package/gen/schemas/$CreateVariable.d.ts +0 -26
- package/gen/schemas/$CreateVariable.js +0 -29
- package/gen/schemas/$CreateWorkspace.d.ts +0 -20
- package/gen/schemas/$CreateWorkspace.js +0 -23
- package/gen/schemas/$EditResource.d.ts +0 -13
- package/gen/schemas/$EditResource.js +0 -16
- package/gen/schemas/$EditResourceType.d.ts +0 -10
- package/gen/schemas/$EditResourceType.js +0 -13
- package/gen/schemas/$EditSchedule.d.ts +0 -20
- package/gen/schemas/$EditSchedule.js +0 -23
- package/gen/schemas/$EditVariable.d.ts +0 -16
- package/gen/schemas/$EditVariable.js +0 -19
- package/gen/schemas/$EditWorkspaceUser.d.ts +0 -7
- package/gen/schemas/$EditWorkspaceUser.js +0 -10
- package/gen/schemas/$Flow.d.ts +0 -23
- package/gen/schemas/$Flow.js +0 -26
- package/gen/schemas/$FlowMetadata.d.ts +0 -31
- package/gen/schemas/$FlowMetadata.js +0 -34
- package/gen/schemas/$FlowPreview.d.ts +0 -80
- package/gen/schemas/$FlowPreview.js +0 -83
- package/gen/schemas/$GlobalUserInfo.d.ts +0 -26
- package/gen/schemas/$GlobalUserInfo.js +0 -29
- package/gen/schemas/$Group.d.ts +0 -23
- package/gen/schemas/$Group.js +0 -26
- package/gen/schemas/$Job.d.ts +0 -17
- package/gen/schemas/$Job.js +0 -20
- package/gen/schemas/$ListableVariable.d.ts +0 -35
- package/gen/schemas/$ListableVariable.js +0 -38
- package/gen/schemas/$Login.d.ts +0 -12
- package/gen/schemas/$Login.js +0 -15
- package/gen/schemas/$MainArgSignature.d.ts +0 -50
- package/gen/schemas/$MainArgSignature.js +0 -53
- package/gen/schemas/$NewSchedule.d.ts +0 -30
- package/gen/schemas/$NewSchedule.js +0 -33
- package/gen/schemas/$NewToken.d.ts +0 -11
- package/gen/schemas/$NewToken.js +0 -14
- package/gen/schemas/$NewUser.d.ts +0 -16
- package/gen/schemas/$NewUser.js +0 -19
- package/gen/schemas/$Preview.d.ts +0 -19
- package/gen/schemas/$Preview.js +0 -22
- package/gen/schemas/$QueuedJob.d.ts +0 -139
- package/gen/schemas/$QueuedJob.js +0 -144
- package/gen/schemas/$Resource.d.ts +0 -31
- package/gen/schemas/$Resource.js +0 -34
- package/gen/schemas/$ResourceType.d.ts +0 -17
- package/gen/schemas/$ResourceType.js +0 -20
- package/gen/schemas/$Schedule.d.ts +0 -47
- package/gen/schemas/$Schedule.js +0 -50
- package/gen/schemas/$Script.d.ts +0 -77
- package/gen/schemas/$Script.js +0 -80
- package/gen/schemas/$ScriptArgs.d.ts +0 -6
- package/gen/schemas/$ScriptArgs.js +0 -9
- package/gen/schemas/$SlackToken.d.ts +0 -24
- package/gen/schemas/$SlackToken.js +0 -27
- package/gen/schemas/$TokenResponse.d.ts +0 -23
- package/gen/schemas/$TokenResponse.js +0 -26
- package/gen/schemas/$TruncatedToken.d.ts +0 -25
- package/gen/schemas/$TruncatedToken.js +0 -28
- package/gen/schemas/$Usage.d.ts +0 -13
- package/gen/schemas/$Usage.js +0 -16
- package/gen/schemas/$User.d.ts +0 -42
- package/gen/schemas/$User.js +0 -45
- package/gen/schemas/$UserWorkspaceList.d.ts +0 -28
- package/gen/schemas/$UserWorkspaceList.js +0 -31
- package/gen/schemas/$WorkerPing.d.ts +0 -31
- package/gen/schemas/$WorkerPing.js +0 -34
- package/gen/schemas/$Workspace.d.ts +0 -19
- package/gen/schemas/$Workspace.js +0 -22
- package/gen/schemas/$WorkspaceInvite.d.ts +0 -16
- package/gen/schemas/$WorkspaceInvite.js +0 -19
|
@@ -5,22 +5,27 @@ import { inferArgs } from '../infer';
|
|
|
5
5
|
import { initialCode, isInitialCode } from '../script_helpers';
|
|
6
6
|
import { workspaceStore } from '../stores';
|
|
7
7
|
import { encodeState, sendUserToast, setQueryWithoutLoad } from '../utils';
|
|
8
|
-
import { Breadcrumb, BreadcrumbItem } from 'flowbite-svelte';
|
|
9
|
-
import SvelteMarkdown from 'svelte-markdown';
|
|
10
8
|
import Path from './Path.svelte';
|
|
11
9
|
import RadioButton from './RadioButton.svelte';
|
|
12
10
|
import Required from './Required.svelte';
|
|
13
11
|
import ScriptEditor from './ScriptEditor.svelte';
|
|
14
12
|
import ScriptSchema from './ScriptSchema.svelte';
|
|
15
13
|
import CenteredPage from './CenteredPage.svelte';
|
|
16
|
-
import Tooltip from './Tooltip.svelte';
|
|
17
14
|
import UnsavedConfirmationModal from './common/confirmationModal/UnsavedConfirmationModal.svelte';
|
|
18
15
|
import { dirtyStore } from './common/confirmationModal/dirtyStore';
|
|
19
16
|
import { Button } from './common';
|
|
17
|
+
import { faChevronDown, faChevronUp, faPen } from '@fortawesome/free-solid-svg-icons';
|
|
18
|
+
import Breadcrumb from './common/breadcrumb/Breadcrumb.svelte';
|
|
19
|
+
import Toggle from './Toggle.svelte';
|
|
20
20
|
export let script;
|
|
21
21
|
export let initialPath = '';
|
|
22
22
|
export let template = 'script';
|
|
23
|
+
export let initialArgs = {};
|
|
24
|
+
let viewScriptKind = script.kind !== Script.kind.SCRIPT;
|
|
25
|
+
let viewTemplate = script.kind !== Script.kind.SCRIPT && script.language == Script.language.DENO;
|
|
23
26
|
let pathError = '';
|
|
27
|
+
let summaryC = undefined;
|
|
28
|
+
let pathC = undefined;
|
|
24
29
|
$: setQueryWithoutLoad($page.url, 'state', encodeState(script));
|
|
25
30
|
$: step = Number($page.url.searchParams.get('step')) || 1;
|
|
26
31
|
if (script.content == '') {
|
|
@@ -68,38 +73,69 @@ async function changeStep(step) {
|
|
|
68
73
|
<div class="flex flex-col h-screen">
|
|
69
74
|
<!-- Nav between steps-->
|
|
70
75
|
<div class="flex flex-col w-full px-4 py-2 border-b shadow-sm">
|
|
71
|
-
<div class="justify-between flex flex-row
|
|
72
|
-
<div class="flex flex-row
|
|
73
|
-
<Breadcrumb
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
<
|
|
80
|
-
<button
|
|
81
|
-
on:click={() => changeStep(2)}
|
|
82
|
-
class={step === 2 ? 'font-bold' : null}
|
|
83
|
-
disabled={pathError != ''}
|
|
84
|
-
>
|
|
85
|
-
Code
|
|
86
|
-
</button>
|
|
87
|
-
</BreadcrumbItem>
|
|
88
|
-
<BreadcrumbItem>
|
|
89
|
-
<button
|
|
90
|
-
on:click={() => changeStep(3)}
|
|
91
|
-
class={step === 3 ? 'font-bold' : null}
|
|
92
|
-
disabled={pathError != ''}
|
|
93
|
-
>
|
|
94
|
-
UI customisation
|
|
95
|
-
</button>
|
|
96
|
-
</BreadcrumbItem>
|
|
76
|
+
<div class="justify-between flex flex-row w-full items-center overflow-x-auto scrollbar-hidden">
|
|
77
|
+
<div class="flex flex-row">
|
|
78
|
+
<Breadcrumb
|
|
79
|
+
items={['Metadata', 'Code', 'UI Customisation']}
|
|
80
|
+
selectedIndex={step}
|
|
81
|
+
on:select={(e) => changeStep(e.detail.index + 1)}
|
|
82
|
+
disabled={pathError != ''}
|
|
83
|
+
>
|
|
84
|
+
<svelte:fragment slot="separator">/</svelte:fragment>
|
|
97
85
|
</Breadcrumb>
|
|
98
86
|
</div>
|
|
99
|
-
|
|
100
|
-
|
|
87
|
+
|
|
88
|
+
<div class="gap-1 flex-row hidden md:flex shrink overflow-hidden">
|
|
89
|
+
<Button
|
|
90
|
+
btnClasses="hidden lg:inline-flex"
|
|
91
|
+
startIcon={{ icon: faPen }}
|
|
92
|
+
variant="contained"
|
|
93
|
+
color="light"
|
|
94
|
+
size="xs"
|
|
95
|
+
on:click={async () => {
|
|
96
|
+
await changeStep(1)
|
|
97
|
+
setTimeout(() => pathC?.focus(), 100)
|
|
98
|
+
}}
|
|
99
|
+
>
|
|
100
|
+
{script.path}
|
|
101
|
+
</Button>
|
|
102
|
+
|
|
103
|
+
<Button
|
|
104
|
+
startIcon={{ icon: faPen }}
|
|
105
|
+
variant="contained"
|
|
106
|
+
color="light"
|
|
107
|
+
size="xs"
|
|
108
|
+
on:click={async () => {
|
|
109
|
+
await changeStep(1)
|
|
110
|
+
setTimeout(() => summaryC?.focus(), 100)
|
|
111
|
+
}}
|
|
112
|
+
>
|
|
113
|
+
<div class="max-w-[10em] !truncate">
|
|
114
|
+
{script.summary == '' || !script.summary ? 'No summary' : script.summary}
|
|
115
|
+
</div>
|
|
116
|
+
</Button>
|
|
117
|
+
</div>
|
|
118
|
+
|
|
119
|
+
<div class="flex flex-row gap-x-2">
|
|
120
|
+
<Button
|
|
121
|
+
size="sm"
|
|
122
|
+
variant={step == 1 ? 'border' : 'contained'}
|
|
123
|
+
disabled={step === 1 && pathError !== ''}
|
|
124
|
+
btnClasses={step == 1 && initialPath == '' ? 'invisible' : ''}
|
|
125
|
+
on:click={editScript}>Save (commit)</Button
|
|
126
|
+
>
|
|
127
|
+
<Button
|
|
128
|
+
variant="border"
|
|
129
|
+
size="sm"
|
|
130
|
+
btnClasses={step == 1 ? 'invisible' : ''}
|
|
131
|
+
on:click={() => changeStep(step - 1)}
|
|
132
|
+
>
|
|
133
|
+
Back
|
|
134
|
+
</Button>
|
|
135
|
+
{#if step < 3}
|
|
101
136
|
<Button
|
|
102
137
|
size="sm"
|
|
138
|
+
btnClasses={step == 3 ? 'invisible' : ''}
|
|
103
139
|
disabled={step === 1 && pathError !== ''}
|
|
104
140
|
on:click={() => changeStep(step + 1)}
|
|
105
141
|
>
|
|
@@ -108,28 +144,6 @@ async function changeStep(step) {
|
|
|
108
144
|
{:else}
|
|
109
145
|
<Button size="sm" on:click={editScript}>Save</Button>
|
|
110
146
|
{/if}
|
|
111
|
-
{#if step > 1}
|
|
112
|
-
<Button
|
|
113
|
-
variant="border"
|
|
114
|
-
size="sm"
|
|
115
|
-
btnClasses="mr-2"
|
|
116
|
-
on:click={() => changeStep(step - 1)}
|
|
117
|
-
>
|
|
118
|
-
Back
|
|
119
|
-
</Button>
|
|
120
|
-
{/if}
|
|
121
|
-
{#if step == 2}
|
|
122
|
-
<Button
|
|
123
|
-
variant="border"
|
|
124
|
-
size="sm"
|
|
125
|
-
btnClasses="mr-2"
|
|
126
|
-
on:click={async () => {
|
|
127
|
-
editScript()
|
|
128
|
-
}}
|
|
129
|
-
>
|
|
130
|
-
Save (commit)
|
|
131
|
-
</Button>
|
|
132
|
-
{/if}
|
|
133
147
|
</div>
|
|
134
148
|
</div>
|
|
135
149
|
</div>
|
|
@@ -138,54 +152,79 @@ async function changeStep(step) {
|
|
|
138
152
|
{#if step === 1}
|
|
139
153
|
<CenteredPage>
|
|
140
154
|
<div class="space-y-6">
|
|
155
|
+
<h2 class="border-b pb-1 mt-4">Path & Summary</h2>
|
|
141
156
|
<Path
|
|
157
|
+
bind:this={pathC}
|
|
142
158
|
bind:error={pathError}
|
|
143
159
|
bind:path={script.path}
|
|
144
160
|
{initialPath}
|
|
145
161
|
on:enter={() => changeStep(2)}
|
|
146
162
|
namePlaceholder="my_script"
|
|
147
163
|
kind="script"
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
164
|
+
/>
|
|
165
|
+
<label class="block ">
|
|
166
|
+
<span class="text-gray-700 text-sm">Summary <Required required={false} /></span>
|
|
167
|
+
<input
|
|
168
|
+
type="text"
|
|
169
|
+
bind:this={summaryC}
|
|
170
|
+
bind:value={script.summary}
|
|
171
|
+
placeholder="A very short summary of the script displayed when the script is listed"
|
|
172
|
+
rows="1"
|
|
173
|
+
/>
|
|
174
|
+
</label>
|
|
175
|
+
<h2 class="border-b pb-1 mt-4">Language</h2>
|
|
157
176
|
<div class="max-w-md">
|
|
158
177
|
<RadioButton
|
|
159
178
|
label="Language"
|
|
160
179
|
options={[
|
|
161
180
|
['Typescript (Deno)', 'deno'],
|
|
162
181
|
['Python 3.10', 'python3'],
|
|
163
|
-
['Go', 'go']
|
|
182
|
+
['Go', 'go'],
|
|
183
|
+
['Bash', 'bash']
|
|
164
184
|
]}
|
|
165
185
|
on:change={(e) => initContent(e.detail, script.kind, template)}
|
|
166
186
|
bind:value={script.language}
|
|
167
187
|
/>
|
|
168
188
|
</div>
|
|
169
|
-
<
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
Command scripts are used when the workspace is associated with a slack workspace to be triggered
|
|
177
|
-
on command.</Tooltip
|
|
189
|
+
<h2 class="border-b pb-1 mt-4"> Metadata </h2>
|
|
190
|
+
<div>
|
|
191
|
+
<Button
|
|
192
|
+
color="light"
|
|
193
|
+
size="sm"
|
|
194
|
+
endIcon={{ icon: viewScriptKind ? faChevronUp : faChevronDown }}
|
|
195
|
+
on:click={() => (viewScriptKind = !viewScriptKind)}
|
|
178
196
|
>
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
197
|
+
Specialize the script as a specific module kind for flows
|
|
198
|
+
</Button>
|
|
199
|
+
</div>
|
|
200
|
+
{#if viewScriptKind}
|
|
182
201
|
<div class="max-w-lg">
|
|
183
202
|
<RadioButton
|
|
184
203
|
label="Script Type"
|
|
185
204
|
options={[
|
|
186
|
-
['
|
|
187
|
-
[
|
|
188
|
-
|
|
205
|
+
['Common Script', Script.kind.SCRIPT],
|
|
206
|
+
[
|
|
207
|
+
{
|
|
208
|
+
title: 'Trigger Script',
|
|
209
|
+
desc: `First module of flows to trigger them based on watching changes external periodically using an internal state`
|
|
210
|
+
},
|
|
211
|
+
Script.kind.TRIGGER
|
|
212
|
+
],
|
|
213
|
+
[
|
|
214
|
+
{
|
|
215
|
+
title: 'Error Handler',
|
|
216
|
+
desc: `Handle errors for flows after all retries attempts have been exhausted`
|
|
217
|
+
},
|
|
218
|
+
Script.kind.FAILURE
|
|
219
|
+
],
|
|
220
|
+
[
|
|
221
|
+
{
|
|
222
|
+
title: 'Approval Script',
|
|
223
|
+
desc: `Send notification externally to ask for approval to continue a flow`
|
|
224
|
+
},
|
|
225
|
+
Script.kind.APPROVAL
|
|
226
|
+
]
|
|
227
|
+
|
|
189
228
|
// ['Command Handler', Script.kind.COMMAND]
|
|
190
229
|
]}
|
|
191
230
|
on:change={(e) => {
|
|
@@ -197,97 +236,37 @@ async function changeStep(step) {
|
|
|
197
236
|
bind:value={script.kind}
|
|
198
237
|
/>
|
|
199
238
|
</div>
|
|
200
|
-
{:else}
|
|
201
|
-
<div class="max-w-lg">
|
|
202
|
-
<RadioButton
|
|
203
|
-
label="Script Type"
|
|
204
|
-
options={[['General Script', Script.kind.SCRIPT]]}
|
|
205
|
-
on:change={(e) => {
|
|
206
|
-
if (isInitialCode(script.content)) {
|
|
207
|
-
template = 'script'
|
|
208
|
-
initContent(script.language, e.detail, template)
|
|
209
|
-
}
|
|
210
|
-
}}
|
|
211
|
-
bind:value={script.kind}
|
|
212
|
-
/>
|
|
213
|
-
</div>
|
|
214
239
|
{/if}
|
|
215
|
-
|
|
216
240
|
{#if script.language == 'deno' && script.kind == Script.kind.SCRIPT}
|
|
217
|
-
<
|
|
218
|
-
|
|
219
|
-
|
|
241
|
+
<div
|
|
242
|
+
><Button
|
|
243
|
+
color="light"
|
|
244
|
+
size="sm"
|
|
245
|
+
endIcon={{ icon: viewTemplate ? faChevronUp : faChevronDown }}
|
|
246
|
+
on:click={() => (viewTemplate = !viewTemplate)}
|
|
220
247
|
>
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
<div class="max-w-md">
|
|
224
|
-
<RadioButton
|
|
225
|
-
label="Template"
|
|
226
|
-
options={[
|
|
227
|
-
['Standard', 'script'],
|
|
228
|
-
['PostgreSQL Prepared Statement', 'pgsql']
|
|
229
|
-
]}
|
|
230
|
-
on:change={(e) => initContent(script.language, script.kind, e.detail)}
|
|
231
|
-
bind:value={template}
|
|
232
|
-
/>
|
|
248
|
+
Use a predefined template specific to this language and script kind
|
|
249
|
+
</Button>
|
|
233
250
|
</div>
|
|
251
|
+
{#if viewTemplate}
|
|
252
|
+
<div class="max-w-lg">
|
|
253
|
+
<RadioButton
|
|
254
|
+
label="Template"
|
|
255
|
+
options={[
|
|
256
|
+
['Standard', 'script'],
|
|
257
|
+
['PostgreSQL Prepared Statement', 'pgsql']
|
|
258
|
+
]}
|
|
259
|
+
on:change={(e) => initContent(script.language, script.kind, e.detail)}
|
|
260
|
+
bind:value={template}
|
|
261
|
+
/>
|
|
262
|
+
</div>
|
|
263
|
+
{/if}
|
|
234
264
|
{/if}
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
bind:value={script.summary}
|
|
240
|
-
class="
|
|
241
|
-
mt-1
|
|
242
|
-
block
|
|
243
|
-
w-full
|
|
244
|
-
rounded-md
|
|
245
|
-
border-gray-300
|
|
246
|
-
shadow-sm
|
|
247
|
-
focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50
|
|
248
|
-
"
|
|
249
|
-
placeholder="A very short summary of the script displayed when the script is listed"
|
|
250
|
-
rows="1"
|
|
265
|
+
<div class="ml-3">
|
|
266
|
+
<Toggle
|
|
267
|
+
bind:checked={script.is_template}
|
|
268
|
+
options={{ right: 'Save as a workspace template' }}
|
|
251
269
|
/>
|
|
252
|
-
</label>
|
|
253
|
-
<label class="block" for="inp">
|
|
254
|
-
<span class="text-gray-700"
|
|
255
|
-
>Description<Required required={false} detail="accept markdown formatting" />
|
|
256
|
-
<textarea
|
|
257
|
-
id="inp"
|
|
258
|
-
bind:value={script.description}
|
|
259
|
-
class="
|
|
260
|
-
mt-1
|
|
261
|
-
block
|
|
262
|
-
w-full
|
|
263
|
-
rounded-md
|
|
264
|
-
border-gray-300
|
|
265
|
-
shadow-sm
|
|
266
|
-
focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50
|
|
267
|
-
"
|
|
268
|
-
placeholder="A description to help users understand what this script does and how to use it."
|
|
269
|
-
rows="3"
|
|
270
|
-
/>
|
|
271
|
-
</span>
|
|
272
|
-
</label>
|
|
273
|
-
|
|
274
|
-
<label class="block">
|
|
275
|
-
<span class="text-gray-700 mr-2"
|
|
276
|
-
>Save as workspace template <Tooltip
|
|
277
|
-
>Enable your teammates to use this script as a template to write new scripts.</Tooltip
|
|
278
|
-
>
|
|
279
|
-
</span>
|
|
280
|
-
<input type="checkbox" bind:checked={script.is_template} />
|
|
281
|
-
</label>
|
|
282
|
-
|
|
283
|
-
<div>
|
|
284
|
-
<h3 class="text-gray-700 ">Description rendered</h3>
|
|
285
|
-
<div
|
|
286
|
-
class="prose mt-5 text-xs shadow-inner shadow-blue p-4 overflow-auto"
|
|
287
|
-
style="max-height: 200px;"
|
|
288
|
-
>
|
|
289
|
-
<SvelteMarkdown source={script.description ?? ''} />
|
|
290
|
-
</div>
|
|
291
270
|
</div>
|
|
292
271
|
</div>
|
|
293
272
|
</CenteredPage>
|
|
@@ -297,6 +276,7 @@ async function changeStep(step) {
|
|
|
297
276
|
path={script.path}
|
|
298
277
|
bind:code={script.content}
|
|
299
278
|
lang={script.language}
|
|
279
|
+
{initialArgs}
|
|
300
280
|
/>
|
|
301
281
|
{:else if step === 3}
|
|
302
282
|
<CenteredPage>
|
|
@@ -4,31 +4,37 @@ import { emptySchema, scriptLangToEditorLang } from '../utils';
|
|
|
4
4
|
import { faPlay, faRotateRight } from '@fortawesome/free-solid-svg-icons';
|
|
5
5
|
import Editor from './Editor.svelte';
|
|
6
6
|
import { inferArgs } from '../infer';
|
|
7
|
+
import { Pane, Splitpanes } from 'svelte-splitpanes';
|
|
7
8
|
import SchemaForm from './SchemaForm.svelte';
|
|
8
|
-
import LogPanel from './
|
|
9
|
-
import { HSplitPane, VSplitPane } from 'svelte-split-pane';
|
|
9
|
+
import LogPanel from './scriptEditor/LogPanel.svelte';
|
|
10
10
|
import { faGithub } from '@fortawesome/free-brands-svg-icons';
|
|
11
|
-
import EditorBar from './EditorBar.svelte';
|
|
12
|
-
import Button from './common/button/Button.svelte';
|
|
11
|
+
import EditorBar, { EDITOR_BAR_WIDTH_THRESHOLD } from './EditorBar.svelte';
|
|
13
12
|
import TestJobLoader from './TestJobLoader.svelte';
|
|
14
13
|
import { onMount } from 'svelte';
|
|
14
|
+
import { Button, Kbd } from './common';
|
|
15
|
+
import SplitPanesWrapper from './splitPanes/SplitPanesWrapper.svelte';
|
|
16
|
+
import Tooltip from './Tooltip.svelte';
|
|
17
|
+
import WindmillIcon from './icons/WindmillIcon.svelte';
|
|
15
18
|
// Exported
|
|
16
19
|
export let schema = emptySchema();
|
|
17
20
|
export let code;
|
|
18
21
|
export let path;
|
|
19
22
|
export let lang;
|
|
23
|
+
export let initialArgs = {};
|
|
20
24
|
let websocketAlive = { pyright: false, black: false, deno: false, go: false };
|
|
25
|
+
let width = 1200;
|
|
21
26
|
// Internal state
|
|
22
27
|
let editor;
|
|
23
28
|
let testJobLoader;
|
|
24
29
|
// Test args input
|
|
25
|
-
let args =
|
|
30
|
+
let args = initialArgs;
|
|
26
31
|
let isValid = true;
|
|
27
32
|
// Test
|
|
28
33
|
let testIsLoading = false;
|
|
29
34
|
let testJob;
|
|
30
35
|
let pastPreviews = [];
|
|
31
36
|
let lastSave;
|
|
37
|
+
let validCode = true;
|
|
32
38
|
$: lastSave = localStorage.getItem(path ?? 'last_save');
|
|
33
39
|
function onKeyDown(event) {
|
|
34
40
|
if ((event.ctrlKey || event.metaKey) && event.key == 'Enter') {
|
|
@@ -54,7 +60,14 @@ async function inferSchema() {
|
|
|
54
60
|
isDefault.push(k);
|
|
55
61
|
}
|
|
56
62
|
});
|
|
57
|
-
|
|
63
|
+
try {
|
|
64
|
+
await inferArgs(lang, code, schema);
|
|
65
|
+
validCode = true;
|
|
66
|
+
}
|
|
67
|
+
catch (e) {
|
|
68
|
+
console.error("Couldn't infer args", e);
|
|
69
|
+
validCode = false;
|
|
70
|
+
}
|
|
58
71
|
schema = schema;
|
|
59
72
|
isDefault
|
|
60
73
|
.filter((key) => schema.properties[key] != undefined)
|
|
@@ -79,117 +92,107 @@ onMount(() => {
|
|
|
79
92
|
|
|
80
93
|
<svelte:window on:keydown={onKeyDown} />
|
|
81
94
|
|
|
82
|
-
<div class="border-b shadow-sm p-1 pr-4">
|
|
83
|
-
<div class="flex justify-between">
|
|
84
|
-
<EditorBar
|
|
95
|
+
<div class="border-b-2 shadow-sm p-1 pr-4" bind:clientWidth={width}>
|
|
96
|
+
<div class="flex justify-between space-x-2">
|
|
97
|
+
<EditorBar
|
|
98
|
+
{validCode}
|
|
99
|
+
iconOnly={width < EDITOR_BAR_WIDTH_THRESHOLD}
|
|
100
|
+
{editor}
|
|
101
|
+
{lang}
|
|
102
|
+
{websocketAlive}
|
|
103
|
+
/>
|
|
85
104
|
|
|
86
|
-
<
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
Sync from Github
|
|
99
|
-
</Button>
|
|
100
|
-
</div>
|
|
101
|
-
</div>
|
|
105
|
+
<Button
|
|
106
|
+
target="_blank"
|
|
107
|
+
href="https://github.com/windmill-labs/windmill-gh-action-deploy"
|
|
108
|
+
color="light"
|
|
109
|
+
size="sm"
|
|
110
|
+
btnClasses="mr-1 hidden md:block"
|
|
111
|
+
startIcon={{
|
|
112
|
+
icon: faGithub
|
|
113
|
+
}}
|
|
114
|
+
>
|
|
115
|
+
Sync from Github
|
|
116
|
+
</Button>
|
|
102
117
|
</div>
|
|
103
118
|
</div>
|
|
104
|
-
<
|
|
105
|
-
<
|
|
106
|
-
<
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
119
|
+
<SplitPanesWrapper>
|
|
120
|
+
<Pane size={60} minSize={10}>
|
|
121
|
+
<div
|
|
122
|
+
class="p-2 h-full"
|
|
123
|
+
on:mouseleave={() => {
|
|
124
|
+
inferSchema()
|
|
125
|
+
}}
|
|
126
|
+
>
|
|
127
|
+
<Editor
|
|
128
|
+
bind:code
|
|
129
|
+
bind:websocketAlive
|
|
130
|
+
bind:this={editor}
|
|
131
|
+
cmdEnterAction={async () => {
|
|
132
|
+
await inferSchema()
|
|
133
|
+
runTest()
|
|
134
|
+
}}
|
|
135
|
+
formatAction={async () => {
|
|
136
|
+
await inferSchema()
|
|
137
|
+
localStorage.setItem(path ?? 'last_save', code)
|
|
138
|
+
lastSave = code
|
|
139
|
+
}}
|
|
140
|
+
class="flex flex-1 h-full"
|
|
141
|
+
lang={scriptLangToEditorLang(lang)}
|
|
142
|
+
automaticLayout={true}
|
|
143
|
+
/>
|
|
144
|
+
</div>
|
|
145
|
+
</Pane>
|
|
146
|
+
<Pane size={40} minSize={10}>
|
|
147
|
+
<Splitpanes horizontal>
|
|
148
|
+
<Pane size={33}>
|
|
149
|
+
<div class="w-full bg-gray-100 px-2 text-sm"
|
|
150
|
+
>Preview <Tooltip>
|
|
151
|
+
To recompute the input schema press <Kbd>Ctrl/Cmd</Kbd> + <Kbd>S</Kbd> or move the focus
|
|
152
|
+
outside of the text editor
|
|
153
|
+
</Tooltip></div
|
|
113
154
|
>
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
bind:
|
|
117
|
-
|
|
118
|
-
cmdEnterAction={() => {
|
|
119
|
-
runTest()
|
|
120
|
-
}}
|
|
121
|
-
formatAction={async () => {
|
|
122
|
-
await inferSchema()
|
|
123
|
-
localStorage.setItem(path ?? 'last_save', code)
|
|
124
|
-
lastSave = code
|
|
125
|
-
}}
|
|
126
|
-
class="flex flex-1 h-full"
|
|
127
|
-
lang={scriptLangToEditorLang(lang)}
|
|
128
|
-
automaticLayout={true}
|
|
129
|
-
/>
|
|
155
|
+
<div class="px-2">
|
|
156
|
+
<div class="break-words relative font-sans">
|
|
157
|
+
<SchemaForm {schema} bind:args bind:isValid />
|
|
158
|
+
</div>
|
|
130
159
|
</div>
|
|
131
|
-
</
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
<p>
|
|
142
|
-
Move the focus outside of the text editor to recompute the input schema from
|
|
143
|
-
main signature or press Ctrl/Cmd+S
|
|
144
|
-
</p>
|
|
145
|
-
</div>
|
|
146
|
-
<SchemaForm {schema} bind:args bind:isValid />
|
|
147
|
-
</div>
|
|
148
|
-
</div>
|
|
149
|
-
</div>
|
|
150
|
-
</top>
|
|
151
|
-
<down slot="down">
|
|
152
|
-
<div class="h-full overflow-hidden">
|
|
153
|
-
<div class="px-2 py-1">
|
|
154
|
-
{#if testIsLoading}
|
|
155
|
-
<Button
|
|
156
|
-
on:click={testJobLoader?.cancelJob}
|
|
157
|
-
btnClasses="w-full"
|
|
158
|
-
color="red"
|
|
159
|
-
size="xs"
|
|
160
|
-
startIcon={{
|
|
161
|
-
icon: faRotateRight,
|
|
162
|
-
classes: 'animate-spin'
|
|
163
|
-
}}
|
|
164
|
-
>
|
|
165
|
-
'Cancel'
|
|
166
|
-
</Button>
|
|
167
|
-
{:else}
|
|
168
|
-
<Button
|
|
169
|
-
on:click={runTest}
|
|
170
|
-
btnClasses="w-full"
|
|
171
|
-
size="xs"
|
|
172
|
-
startIcon={{
|
|
173
|
-
icon: faPlay,
|
|
174
|
-
classes: 'animate-none'
|
|
175
|
-
}}
|
|
176
|
-
>
|
|
177
|
-
{testIsLoading ? 'Running' : 'Test (Ctrl+Enter)'}
|
|
178
|
-
</Button>
|
|
179
|
-
{/if}
|
|
180
|
-
</div>
|
|
181
|
-
<LogPanel
|
|
182
|
-
{path}
|
|
183
|
-
{lang}
|
|
184
|
-
previewJob={testJob}
|
|
185
|
-
{pastPreviews}
|
|
186
|
-
previewIsLoading={testIsLoading}
|
|
187
|
-
bind:lastSave
|
|
160
|
+
</Pane>
|
|
161
|
+
<Pane size={67}>
|
|
162
|
+
<div class="px-2 py-1 w-full">
|
|
163
|
+
{#if testIsLoading}
|
|
164
|
+
<Button on:click={testJobLoader?.cancelJob} btnClasses="w-full" color="red" size="xs">
|
|
165
|
+
<WindmillIcon
|
|
166
|
+
white={true}
|
|
167
|
+
class="animate-[spin_5s_linear_infinite] mr-2 text-white"
|
|
168
|
+
height="20px"
|
|
169
|
+
width="20px"
|
|
188
170
|
/>
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
171
|
+
Cancel
|
|
172
|
+
</Button>
|
|
173
|
+
{:else}
|
|
174
|
+
<Button
|
|
175
|
+
on:click={runTest}
|
|
176
|
+
btnClasses="w-full"
|
|
177
|
+
size="xs"
|
|
178
|
+
startIcon={{
|
|
179
|
+
icon: faPlay,
|
|
180
|
+
classes: 'animate-none'
|
|
181
|
+
}}
|
|
182
|
+
>
|
|
183
|
+
{testIsLoading ? 'Running' : 'Test (Ctrl+Enter)'}
|
|
184
|
+
</Button>
|
|
185
|
+
{/if}
|
|
186
|
+
</div>
|
|
187
|
+
<LogPanel
|
|
188
|
+
{path}
|
|
189
|
+
{lang}
|
|
190
|
+
previewJob={testJob}
|
|
191
|
+
{pastPreviews}
|
|
192
|
+
previewIsLoading={testIsLoading}
|
|
193
|
+
bind:lastSave
|
|
194
|
+
/>
|
|
195
|
+
</Pane>
|
|
196
|
+
</Splitpanes>
|
|
197
|
+
</Pane>
|
|
198
|
+
</SplitPanesWrapper>
|