windmill-components 1.52.0 → 1.55.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/components/ApiConnectForm.svelte +42 -7
- package/components/ApiConnectForm.svelte.d.ts +2 -1
- package/components/AppConnect.svelte +19 -11
- package/components/ArgInfo.svelte +6 -2
- package/components/ArgInput.svelte +9 -3
- package/components/ArgInput.svelte.d.ts +1 -0
- package/components/CenteredPage.svelte +1 -1
- package/components/CenteredPage.svelte.d.ts +6 -2
- package/components/CronInput.svelte +1 -1
- package/components/DisplayResult.svelte +39 -2
- package/components/Dropdown.svelte +73 -100
- package/components/Dropdown.svelte.d.ts +1 -3
- package/components/Editor.svelte +16 -5
- package/components/EditorBar.svelte +69 -63
- package/components/EditorBar.svelte.d.ts +1 -0
- package/components/FlowBuilder.svelte +74 -68
- package/components/FlowGraphViewer.svelte +136 -34
- package/components/FlowGraphViewer.svelte.d.ts +1 -0
- package/components/FlowJobResult.svelte +6 -1
- package/components/FlowJobResult.svelte.d.ts +2 -0
- package/components/FlowMetadata.svelte +4 -2
- package/components/FlowPreviewContent.svelte +10 -23
- package/components/FlowPreviewContent.svelte.d.ts +3 -0
- package/components/FlowStatusViewer.svelte +155 -30
- package/components/FlowStatusViewer.svelte.d.ts +4 -2
- package/components/FlowViewer.svelte +5 -5
- package/components/FlowViewer.svelte.d.ts +1 -0
- package/components/HighlightCode.svelte +1 -1
- package/components/HighlightCode.svelte.d.ts +1 -0
- package/components/IconedPath.svelte +16 -6
- package/components/IconedPath.svelte.d.ts +2 -0
- package/components/IconedResourceType.svelte +5 -2
- package/components/InputTransformForm.svelte +92 -73
- package/components/InviteGlobalUser.svelte +2 -2
- package/components/InviteGlobalUser.svelte.d.ts +1 -1
- package/components/InviteUser.svelte +20 -6
- package/components/InviteUser.svelte.d.ts +1 -1
- package/components/ItemPicker.svelte +38 -27
- package/components/ItemPicker.svelte.d.ts +2 -1
- package/components/JobStatus.svelte +19 -13
- package/components/LogViewer.svelte +11 -3
- package/components/LogViewer.svelte.d.ts +1 -0
- package/components/ModuleStatus.svelte +38 -0
- package/components/ModuleStatus.svelte.d.ts +18 -0
- package/components/ObjectResourceInput.svelte +8 -52
- package/components/ObjectResourceInput.svelte.d.ts +0 -1
- package/components/Path.svelte +2 -2
- package/components/Path.svelte.d.ts +1 -1
- package/components/Popover.svelte +7 -1
- package/components/Popover.svelte.d.ts +3 -1
- package/components/ResourceEditor.svelte +57 -29
- package/components/ResourcePicker.svelte +12 -2
- package/components/RunForm.svelte +1 -1
- package/components/SchemaEditor.svelte +2 -1
- package/components/SchemaForm.svelte +2 -1
- package/components/SchemaForm.svelte.d.ts +1 -0
- package/components/SchemaModal.svelte +11 -10
- package/components/ScriptBuilder.svelte +207 -192
- package/components/ScriptBuilder.svelte.d.ts +1 -1
- package/components/ScriptEditor.svelte +49 -45
- package/components/ScriptEditor.svelte.d.ts +1 -0
- package/components/ScriptPicker.svelte.d.ts +1 -1
- package/components/ScriptSchema.svelte +11 -30
- package/components/ScriptSchema.svelte.d.ts +0 -1
- package/components/SharedBadge.svelte +2 -3
- package/components/SimpleEditor.svelte +6 -7
- package/components/SimpleEditor.svelte.d.ts +1 -0
- package/components/Star.svelte +2 -2
- package/components/SuperadminSettings.svelte +9 -38
- package/components/TableSimple.svelte +1 -1
- package/components/TestJobLoader.svelte +20 -8
- package/components/ToggleHubWorkspace.svelte +16 -0
- package/components/ToggleHubWorkspace.svelte.d.ts +16 -0
- package/components/Tooltip.svelte.d.ts +1 -1
- package/components/VariableEditor.svelte +22 -9
- package/components/apps/CreateApp.svelte +5 -2
- package/components/apps/CreateApp.svelte.d.ts +1 -1
- package/components/apps/components/DisplayComponent.svelte +7 -14
- package/components/apps/components/DisplayComponent.svelte.d.ts +3 -2
- package/components/apps/components/buttons/AppButton.svelte +34 -27
- package/components/apps/components/buttons/AppButton.svelte.d.ts +6 -6
- package/components/apps/components/dataDisplay/AppBarChart.svelte +33 -9
- package/components/apps/components/dataDisplay/AppBarChart.svelte.d.ts +3 -5
- package/components/apps/components/dataDisplay/AppPieChart.svelte +33 -12
- package/components/apps/components/dataDisplay/AppPieChart.svelte.d.ts +3 -5
- package/components/apps/components/dataDisplay/AppTable.svelte +27 -30
- package/components/apps/components/dataDisplay/AppTable.svelte.d.ts +4 -8
- package/components/apps/components/dataDisplay/AppText.svelte +16 -9
- package/components/apps/components/dataDisplay/AppText.svelte.d.ts +3 -2
- package/components/apps/components/dataDisplay/app.md +49 -0
- package/components/apps/components/form/AppForm.svelte +50 -0
- package/components/apps/components/form/AppForm.svelte.d.ts +25 -0
- package/components/apps/components/helpers/AlignWrapper.svelte +2 -1
- package/components/apps/components/helpers/AlignWrapper.svelte.d.ts +1 -0
- package/components/apps/components/helpers/DebouncedInput.svelte +9 -1
- package/components/apps/components/helpers/DebouncedInput.svelte.d.ts +2 -1
- package/components/apps/components/helpers/InputValue.svelte +15 -6
- package/components/apps/components/helpers/InputValue.svelte.d.ts +2 -2
- package/components/apps/components/helpers/NonRunnableComponent.svelte +20 -0
- package/components/apps/components/helpers/NonRunnableComponent.svelte.d.ts +21 -0
- package/components/apps/components/helpers/RunnableComponent.svelte +36 -30
- package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +6 -7
- package/components/apps/components/helpers/RunnableWrapper.svelte +32 -0
- package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +26 -0
- package/components/apps/components/numberInputs/AppNumberInput.svelte +36 -0
- package/components/apps/components/numberInputs/AppNumberInput.svelte.d.ts +20 -0
- package/components/apps/components/selectInputs/AppCheckbox.svelte +4 -2
- package/components/apps/components/selectInputs/AppCheckbox.svelte.d.ts +2 -2
- package/components/apps/components/textInputs/AppTextInput.svelte +21 -0
- package/components/apps/components/textInputs/AppTextInput.svelte.d.ts +20 -0
- package/components/apps/editor/AppEditor.svelte +66 -55
- package/components/apps/editor/AppEditorHeader.svelte +4 -4
- package/components/apps/editor/AppPreview.svelte +42 -0
- package/components/apps/editor/AppPreview.svelte.d.ts +17 -0
- package/components/apps/editor/ComponentEditor.svelte +41 -20
- package/components/apps/editor/ComponentEditor.svelte.d.ts +2 -0
- package/components/apps/editor/ComponentHeader.svelte +28 -0
- package/components/apps/editor/ComponentHeader.svelte.d.ts +20 -0
- package/components/apps/editor/GridEditor.svelte +54 -5
- package/components/apps/editor/GridEditor.svelte.d.ts +1 -1
- package/components/apps/editor/RecomputeAllComponents.svelte +28 -0
- package/components/apps/editor/RecomputeAllComponents.svelte.d.ts +14 -0
- package/components/apps/editor/componentsPanel/ComponentList.svelte +94 -26
- package/components/apps/editor/componentsPanel/ComponentList.svelte.d.ts +1 -1
- package/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +2 -6
- package/components/apps/editor/componentsPanel/componentDefaultProps.js +1 -5
- package/components/apps/editor/componentsPanel/componentStaticValues.d.ts +2 -0
- package/components/apps/editor/componentsPanel/componentStaticValues.js +3 -1
- package/components/apps/editor/componentsPanel/data.js +191 -76
- package/components/apps/editor/contextPanel/ContextPanel.svelte +56 -48
- package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +67 -0
- package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte.d.ts +55 -0
- package/components/apps/editor/settingsPanel/ComponentPanel.svelte +154 -129
- package/components/apps/editor/settingsPanel/ConnectedInputEditor.svelte +70 -0
- package/components/apps/editor/settingsPanel/ConnectedInputEditor.svelte.d.ts +17 -0
- package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +6 -6
- package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +2 -2
- package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +55 -87
- package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +3 -4
- package/components/apps/editor/settingsPanel/PickFlow.svelte +3 -2
- package/components/apps/editor/settingsPanel/PickFlow.svelte.d.ts +1 -1
- package/components/apps/editor/settingsPanel/PickInlineScript.svelte +3 -3
- package/components/apps/editor/settingsPanel/Recompute.svelte +46 -0
- package/components/apps/editor/settingsPanel/Recompute.svelte.d.ts +17 -0
- package/components/apps/editor/settingsPanel/StaticInputEditor.svelte +31 -14
- package/components/apps/editor/settingsPanel/StaticInputEditor.svelte.d.ts +3 -3
- package/components/apps/editor/settingsPanel/SubTypeEditor.svelte +17 -0
- package/components/apps/editor/settingsPanel/SubTypeEditor.svelte.d.ts +19 -0
- package/components/apps/editor/settingsPanel/TableActionLabel.svelte +10 -0
- package/components/apps/editor/settingsPanel/TableActionLabel.svelte.d.ts +17 -0
- package/components/apps/editor/settingsPanel/TableActions.svelte +13 -9
- package/components/apps/editor/settingsPanel/UserInputEditor.svelte.d.ts +1 -1
- package/components/apps/editor/settingsPanel/common/PanelSection.svelte +3 -2
- package/components/apps/editor/settingsPanel/common/PanelSection.svelte.d.ts +1 -0
- package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte +53 -0
- package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte.d.ts +21 -0
- package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +98 -0
- package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte.d.ts +18 -0
- package/components/apps/editor/settingsPanel/mainInput/WorkspaceFlowList.svelte +81 -0
- package/components/apps/editor/settingsPanel/mainInput/WorkspaceFlowList.svelte.d.ts +20 -0
- package/components/apps/editor/settingsPanel/mainInput/WorkspaceScriptList.svelte +81 -0
- package/components/apps/editor/settingsPanel/mainInput/WorkspaceScriptList.svelte.d.ts +20 -0
- package/components/apps/inputType.d.ts +62 -0
- package/components/apps/inputType.js +1 -0
- package/components/apps/rx.d.ts +4 -4
- package/components/apps/rx.js +16 -4
- package/components/apps/types.d.ts +20 -54
- package/components/apps/utils.d.ts +11 -34
- package/components/apps/utils.js +54 -18
- package/components/common/alert/Alert.svelte +2 -1
- package/components/common/alert/Alert.svelte.d.ts +1 -0
- package/components/common/button/Button.svelte +1 -1
- package/components/common/confirmationModal/UnsavedConfirmationModal.svelte.d.ts +1 -1
- package/components/common/drawer/DrawerContent.svelte +23 -22
- package/components/common/drawer/DrawerContent.svelte.d.ts +1 -3
- package/components/common/kbd/Kbd.svelte.d.ts +2 -2
- package/components/common/languageIcons/LanguageIcon.svelte +4 -2
- package/components/common/languageIcons/LanguageIcon.svelte.d.ts +1 -1
- package/components/common/menu/Menu.svelte +0 -1
- package/components/common/menu/MenuItem.svelte.d.ts +6 -2
- package/components/common/popup/Popup.svelte +0 -13
- package/components/common/popup/Popup.svelte.d.ts +0 -4
- package/components/common/table/AppRow.svelte +42 -26
- package/components/common/table/AppRow.svelte.d.ts +1 -1
- package/components/common/table/FlowRow.svelte +54 -49
- package/components/common/table/LanguageBadge.svelte +1 -1
- package/components/common/table/Row.svelte +27 -16
- package/components/common/table/Row.svelte.d.ts +2 -1
- package/components/common/table/RowIcon.svelte +13 -8
- package/components/common/table/ScriptRow.svelte +65 -57
- package/components/common/table/Table.svelte.d.ts +6 -2
- package/components/flows/CreateActionsFlow.svelte +14 -41
- package/components/flows/CreateActionsFlow.svelte.d.ts +1 -1
- package/components/flows/common/FlowCardHeader.svelte +7 -8
- package/components/flows/content/BranchPredicateEditor.svelte +30 -0
- package/components/flows/content/BranchPredicateEditor.svelte.d.ts +23 -0
- package/components/flows/content/CapturePayload.svelte +12 -8
- package/components/flows/content/DynamicInputHelpBox.svelte.d.ts +1 -1
- package/components/flows/content/FlowBranchAllWrapper.svelte +2 -2
- package/components/flows/content/FlowBranchOneWrapper.svelte +4 -36
- package/components/flows/content/FlowBranchesAllWrapper.svelte +91 -0
- package/components/flows/content/FlowBranchesAllWrapper.svelte.d.ts +18 -0
- package/components/flows/content/FlowBranchesOneWrapper.svelte +88 -0
- package/components/flows/content/FlowBranchesOneWrapper.svelte.d.ts +18 -0
- package/components/flows/content/FlowFailureModule.svelte.d.ts +1 -1
- package/components/flows/content/FlowInput.svelte +1 -2
- package/components/flows/content/FlowInput.svelte.d.ts +1 -1
- package/components/flows/content/FlowInputs.svelte +28 -26
- package/components/flows/content/FlowInputsFlow.svelte +101 -0
- package/components/flows/content/FlowInputsFlow.svelte.d.ts +20 -0
- package/components/flows/content/FlowLoop.svelte +10 -3
- package/components/flows/content/FlowModuleComponent.svelte +46 -35
- package/components/flows/content/FlowModuleEarlyStop.svelte +4 -3
- package/components/flows/content/FlowModuleHeader.svelte +22 -21
- package/components/flows/content/FlowModuleHeader.svelte.d.ts +1 -0
- package/components/flows/content/FlowModuleSleep.svelte +69 -0
- package/components/flows/content/FlowModuleSleep.svelte.d.ts +18 -0
- package/components/flows/content/FlowModuleSuspend.svelte +5 -63
- package/components/flows/content/FlowModuleSuspend.svelte.d.ts +0 -1
- package/components/flows/content/FlowModuleWrapper.svelte +59 -35
- package/components/flows/content/FlowPathViewer.svelte +20 -0
- package/components/flows/content/FlowPathViewer.svelte.d.ts +17 -0
- package/components/flows/content/FlowSchedules.svelte.d.ts +1 -1
- package/components/flows/content/FlowSettings.svelte +11 -13
- package/components/flows/flowState.js +2 -2
- package/components/flows/flowStateUtils.d.ts +7 -3
- package/components/flows/flowStateUtils.js +29 -8
- package/components/flows/header/FlowImportExportMenu.svelte.d.ts +1 -1
- package/components/flows/header/FlowPreviewButtons.svelte +17 -11
- package/components/flows/header/FlowPreviewButtons.svelte.d.ts +1 -1
- package/components/flows/map/FlowErrorHandlerItem.svelte +5 -5
- package/components/flows/map/FlowErrorHandlerItem.svelte.d.ts +1 -1
- package/components/flows/map/FlowInputsItem.svelte.d.ts +1 -1
- package/components/flows/map/FlowModuleSchemaItem.svelte +30 -11
- package/components/flows/map/FlowModuleSchemaMap.svelte +26 -20
- package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +1 -1
- package/components/flows/map/FlowSettingsItem.svelte +1 -1
- package/components/flows/map/FlowSettingsItem.svelte.d.ts +1 -1
- package/components/flows/map/InsertModuleButton.svelte +20 -4
- package/components/flows/map/InsertModuleButton.svelte.d.ts +1 -1
- package/components/flows/map/MapItem.svelte +11 -5
- package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +1 -1
- package/components/flows/pickers/PickHubFlow.svelte +72 -0
- package/components/flows/pickers/PickHubFlow.svelte.d.ts +20 -0
- package/components/flows/pickers/PickHubScript.svelte +65 -56
- package/components/flows/pickers/PickHubScript.svelte.d.ts +3 -1
- package/components/flows/pickers/PickScript.svelte +2 -2
- package/components/flows/pickers/WorkspaceScriptPicker.svelte +79 -19
- package/components/flows/pickers/WorkspaceScriptPicker.svelte.d.ts +5 -1
- package/components/flows/previousResults.d.ts +1 -0
- package/components/flows/previousResults.js +2 -1
- package/components/flows/propPicker/PropPickerWrapper.svelte +9 -1
- package/components/flows/utils.d.ts +0 -1
- package/components/flows/utils.js +6 -6
- package/components/graph/FlowGraph.svelte +121 -55
- package/components/graph/FlowGraph.svelte.d.ts +3 -2
- package/components/graph/model.d.ts +46 -1
- package/components/home/ItemsList.svelte +265 -0
- package/components/home/ItemsList.svelte.d.ts +16 -0
- package/components/home/ListFilters.svelte +37 -0
- package/components/home/ListFilters.svelte.d.ts +18 -0
- package/components/home/NoItemFound.svelte +6 -0
- package/components/home/NoItemFound.svelte.d.ts +23 -0
- package/components/icons/DatadogIcon.svelte +48 -0
- package/components/icons/DatadogIcon.svelte.d.ts +17 -0
- package/components/icons/FunkwhaleIcon.svelte +90 -0
- package/components/icons/FunkwhaleIcon.svelte.d.ts +17 -0
- package/components/icons/GdocsIcon.svelte +9 -0
- package/components/icons/GdocsIcon.svelte.d.ts +17 -0
- package/components/icons/HubspotIcon.svelte +9 -0
- package/components/icons/HubspotIcon.svelte.d.ts +17 -0
- package/components/icons/LinkedinIcon.svelte +9 -0
- package/components/icons/LinkedinIcon.svelte.d.ts +17 -0
- package/components/icons/Mail.svelte +9 -53
- package/components/icons/Mysql.svelte +8 -8
- package/components/icons/NextcloudIcon.svelte +9 -0
- package/components/icons/NextcloudIcon.svelte.d.ts +17 -0
- package/components/icons/QRCodeIcon.svelte +5 -0
- package/components/icons/QRCodeIcon.svelte.d.ts +16 -0
- package/components/icons/SendflakeIcon.svelte +15 -0
- package/components/icons/SendflakeIcon.svelte.d.ts +17 -0
- package/components/icons/StripeIcon.svelte +9 -0
- package/components/icons/StripeIcon.svelte.d.ts +17 -0
- package/components/icons/TelegramIcon.svelte +9 -0
- package/components/icons/TelegramIcon.svelte.d.ts +17 -0
- package/components/icons/WindmillIcon.svelte +3 -3
- package/components/icons/index.d.ts +23 -1
- package/components/icons/index.js +23 -1
- package/components/jobs/JobDetail.svelte +2 -2
- package/components/preview/FlowPreviewStatus.svelte +12 -23
- package/components/propertyPicker/PropPicker.svelte +16 -0
- package/components/propertyPicker/PropPickerResult.svelte +2 -3
- package/components/propertyPicker/WarningMessage.svelte.d.ts +6 -2
- package/components/scriptEditor/LogPanel.svelte +11 -4
- package/components/scripts/CreateActionsScript.svelte +13 -59
- package/components/scripts/CreateActionsScript.svelte.d.ts +1 -1
- package/components/sidebar/FavoriteMenu.svelte +52 -0
- package/components/sidebar/FavoriteMenu.svelte.d.ts +21 -0
- package/components/sidebar/SidebarContent.svelte +10 -19
- package/components/sidebar/SidebarContent.svelte.d.ts +0 -4
- package/components/sidebar/UserMenu.svelte +21 -4
- package/components/sidebar/WorkspaceMenu.svelte +6 -7
- package/editorUtils.d.ts +2 -0
- package/editorUtils.js +3 -1
- package/gen/core/OpenAPI.js +1 -1
- package/gen/index.d.ts +1 -0
- package/gen/models/CompletedJob.d.ts +1 -0
- package/gen/models/CreateWorkspace.d.ts +0 -1
- package/gen/models/EditWorkspaceUser.d.ts +2 -0
- package/gen/models/FlowModuleValue.d.ts +2 -1
- package/gen/models/FlowStatus.d.ts +3 -1
- package/gen/models/FlowStatusModule.d.ts +1 -1
- package/gen/models/FlowStatusModule.js +1 -1
- package/gen/models/Identity.d.ts +1 -0
- package/gen/models/ListableResource.d.ts +1 -0
- package/gen/models/ListableVariable.d.ts +1 -0
- package/gen/models/PathFlow.d.ts +6 -0
- package/gen/models/PathFlow.js +4 -0
- package/gen/models/PathScript.d.ts +1 -0
- package/gen/models/QueuedJob.d.ts +1 -0
- package/gen/models/Schedule.d.ts +2 -0
- package/gen/models/Usage.d.ts +1 -3
- package/gen/models/WorkspaceInvite.d.ts +1 -0
- package/gen/services/AppService.d.ts +7 -1
- package/gen/services/AppService.js +2 -1
- package/gen/services/JobService.d.ts +35 -5
- package/gen/services/JobService.js +14 -5
- package/gen/services/OauthService.d.ts +1 -1
- package/gen/services/ResourceService.d.ts +6 -2
- package/gen/services/ResourceService.js +2 -1
- package/gen/services/UserService.d.ts +6 -0
- package/gen/services/UserService.js +11 -0
- package/gen/services/WorkspaceService.d.ts +35 -0
- package/gen/services/WorkspaceService.js +41 -0
- package/package.json +461 -422
- package/script_helpers.d.ts +2 -1
- package/script_helpers.js +20 -3
- package/scripts.d.ts +1 -0
- package/scripts.js +8 -1
- package/stores.d.ts +11 -2
- package/stores.js +24 -6
- package/utils.d.ts +3 -1
- package/utils.js +11 -4
- package/components/ButtonAndDropdown.svelte +0 -25
- package/components/ButtonAndDropdown.svelte.d.ts +0 -23
- package/components/apps/components/index.d.ts +0 -22
- package/components/apps/components/index.js +0 -42
- package/components/apps/editor/settingsPanel/DynamicInputEditor.svelte +0 -64
- package/components/apps/editor/settingsPanel/DynamicInputEditor.svelte.d.ts +0 -17
- package/components/flows/content/FlowBranchesWrapper.svelte +0 -140
- package/components/flows/content/FlowBranchesWrapper.svelte.d.ts +0 -19
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<script context="module">export const EDITOR_BAR_WIDTH_THRESHOLD = 1044;
|
|
2
2
|
</script>
|
|
3
3
|
|
|
4
|
-
<script>import { ResourceService,
|
|
5
|
-
import { getScriptByPath,
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
4
|
+
<script>import { ResourceService, VariableService } from '../gen';
|
|
5
|
+
import { getScriptByPath, sendUserToast } from '../utils';
|
|
6
|
+
import { faCube, faDollarSign, faEye, faRotate, faRotateLeft } from '@fortawesome/free-solid-svg-icons';
|
|
7
|
+
import { workspaceStore } from '../stores';
|
|
8
8
|
import ItemPicker from './ItemPicker.svelte';
|
|
9
9
|
import ResourceEditor from './ResourceEditor.svelte';
|
|
10
10
|
import VariableEditor from './VariableEditor.svelte';
|
|
@@ -12,20 +12,23 @@ import Button from './common/button/Button.svelte';
|
|
|
12
12
|
import HighlightCode from './HighlightCode.svelte';
|
|
13
13
|
import DrawerContent from './common/drawer/DrawerContent.svelte';
|
|
14
14
|
import { Badge, Drawer } from './common';
|
|
15
|
+
import WorkspaceScriptPicker from './flows/pickers/WorkspaceScriptPicker.svelte';
|
|
16
|
+
import PickHubScript from './flows/pickers/PickHubScript.svelte';
|
|
17
|
+
import ToggleHubWorkspace from './ToggleHubWorkspace.svelte';
|
|
18
|
+
import Skeleton from './common/skeleton/Skeleton.svelte';
|
|
15
19
|
export let lang;
|
|
16
20
|
export let editor;
|
|
17
21
|
export let websocketAlive;
|
|
18
22
|
export let iconOnly = false;
|
|
19
23
|
export let validCode = true;
|
|
24
|
+
export let kind = 'script';
|
|
20
25
|
let contextualVariablePicker;
|
|
21
26
|
let variablePicker;
|
|
22
27
|
let resourcePicker;
|
|
23
|
-
let scriptPicker;
|
|
24
28
|
let variableEditor;
|
|
25
29
|
let resourceEditor;
|
|
26
30
|
let codeViewer;
|
|
27
|
-
let
|
|
28
|
-
let codeContent = '';
|
|
31
|
+
let codeObj = undefined;
|
|
29
32
|
function addEditorActions() {
|
|
30
33
|
editor.addAction('insert-variable', 'Windmill: Insert variable', () => {
|
|
31
34
|
variablePicker.openDrawer();
|
|
@@ -43,35 +46,37 @@ async function loadContextualVariables() {
|
|
|
43
46
|
workspace: $workspaceStore ?? 'NO_W'
|
|
44
47
|
});
|
|
45
48
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
const hubScripts_ = $hubScripts ?? [];
|
|
54
|
-
return workspaceScripts.concat(hubScripts_);
|
|
49
|
+
let scriptPicker;
|
|
50
|
+
let pick_existing = 'hub';
|
|
51
|
+
let filter = '';
|
|
52
|
+
async function onScriptPick(e) {
|
|
53
|
+
codeObj = undefined;
|
|
54
|
+
codeViewer?.openDrawer?.();
|
|
55
|
+
codeObj = await getScriptByPath(e.detail.path ?? '');
|
|
55
56
|
}
|
|
56
57
|
</script>
|
|
57
58
|
|
|
58
|
-
<
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
59
|
+
<Drawer bind:this={scriptPicker} size="900px">
|
|
60
|
+
<DrawerContent title="Code" on:close={scriptPicker.closeDrawer}>
|
|
61
|
+
{#if pick_existing == 'hub'}
|
|
62
|
+
<PickHubScript bind:filter {kind} on:pick={onScriptPick}>
|
|
63
|
+
<ToggleHubWorkspace bind:selected={pick_existing} />
|
|
64
|
+
</PickHubScript>
|
|
65
|
+
{:else}
|
|
66
|
+
<WorkspaceScriptPicker bind:filter {kind} on:pick={onScriptPick}>
|
|
67
|
+
<ToggleHubWorkspace bind:selected={pick_existing} />
|
|
68
|
+
</WorkspaceScriptPicker>
|
|
69
|
+
{/if}
|
|
70
|
+
</DrawerContent>
|
|
71
|
+
</Drawer>
|
|
71
72
|
|
|
72
73
|
<Drawer bind:this={codeViewer} size="600px">
|
|
73
74
|
<DrawerContent title="Code" on:close={codeViewer.closeDrawer}>
|
|
74
|
-
|
|
75
|
+
{#if codeObj}
|
|
76
|
+
<HighlightCode language={codeObj?.language} code={codeObj?.content} />
|
|
77
|
+
{:else}
|
|
78
|
+
<Skeleton layout={[[40]]} />
|
|
79
|
+
{/if}
|
|
75
80
|
</DrawerContent>
|
|
76
81
|
</Drawer>
|
|
77
82
|
|
|
@@ -176,6 +181,7 @@ async function loadScripts() {
|
|
|
176
181
|
itemName="Resource"
|
|
177
182
|
buttons={{ 'Edit/View': (x) => resourceEditor.initEdit(x) }}
|
|
178
183
|
extraField="description"
|
|
184
|
+
extraField2="resource_type"
|
|
179
185
|
loadItems={async () =>
|
|
180
186
|
await ResourceService.listResource({ workspace: $workspaceStore ?? 'NO_W' })}
|
|
181
187
|
>
|
|
@@ -224,7 +230,7 @@ async function loadScripts() {
|
|
|
224
230
|
on:click={variablePicker.openDrawer}
|
|
225
231
|
size="xs"
|
|
226
232
|
spacingSize="md"
|
|
227
|
-
startIcon={{ icon:
|
|
233
|
+
startIcon={{ icon: faDollarSign }}
|
|
228
234
|
{iconOnly}
|
|
229
235
|
>
|
|
230
236
|
+Variable
|
|
@@ -243,59 +249,59 @@ async function loadScripts() {
|
|
|
243
249
|
+Resource
|
|
244
250
|
</Button>
|
|
245
251
|
</div>
|
|
246
|
-
|
|
247
252
|
<div>
|
|
248
253
|
<Button
|
|
249
254
|
btnClasses="mx-1 !font-medium"
|
|
250
255
|
size="xs"
|
|
251
256
|
spacingSize="md"
|
|
252
257
|
color="light"
|
|
253
|
-
on:click={
|
|
258
|
+
on:click={editor.clearContent}
|
|
254
259
|
{iconOnly}
|
|
255
|
-
startIcon={{ icon:
|
|
260
|
+
startIcon={{ icon: faRotateLeft }}
|
|
256
261
|
>
|
|
257
|
-
|
|
262
|
+
Reset
|
|
258
263
|
</Button>
|
|
259
264
|
</div>
|
|
260
|
-
|
|
265
|
+
<div>
|
|
266
|
+
<Button
|
|
267
|
+
btnClasses="!font-medium"
|
|
268
|
+
size="xs"
|
|
269
|
+
spacingSize="md"
|
|
270
|
+
color="light"
|
|
271
|
+
on:click={editor.reloadWebsocket}
|
|
272
|
+
startIcon={{ icon: faRotate }}
|
|
273
|
+
>
|
|
274
|
+
{#if !iconOnly}
|
|
275
|
+
Assistant
|
|
276
|
+
{/if}
|
|
277
|
+
<span class="ml-1 -my-1">
|
|
278
|
+
{#if lang == 'deno'}
|
|
279
|
+
(<span class={websocketAlive.deno ? 'green' : 'text-red-700'}>Deno</span>)
|
|
280
|
+
{:else if lang == 'go'}
|
|
281
|
+
(<span class={websocketAlive.go ? 'green' : 'text-red-700'}>Go</span>)
|
|
282
|
+
{:else if lang == 'python3'}
|
|
283
|
+
(<span class={websocketAlive.pyright ? 'green' : 'text-red-700'}>Pyright</span>
|
|
284
|
+
<span class={websocketAlive.black ? 'green' : 'text-red-700'}>Black</span>)
|
|
285
|
+
{/if}
|
|
286
|
+
</span>
|
|
287
|
+
</Button></div
|
|
288
|
+
>
|
|
289
|
+
</div>
|
|
290
|
+
<div class="py-1">
|
|
261
291
|
<div>
|
|
262
292
|
<Button
|
|
263
293
|
btnClasses="mx-1 !font-medium"
|
|
264
294
|
size="xs"
|
|
265
295
|
spacingSize="md"
|
|
266
296
|
color="light"
|
|
267
|
-
on:click={
|
|
297
|
+
on:click={scriptPicker.openDrawer}
|
|
268
298
|
{iconOnly}
|
|
269
|
-
startIcon={{ icon:
|
|
299
|
+
startIcon={{ icon: faEye }}
|
|
270
300
|
>
|
|
271
|
-
|
|
301
|
+
Script
|
|
272
302
|
</Button>
|
|
273
303
|
</div>
|
|
274
304
|
</div>
|
|
275
|
-
<div class="py-1">
|
|
276
|
-
<Button
|
|
277
|
-
btnClasses="!font-medium"
|
|
278
|
-
size="xs"
|
|
279
|
-
spacingSize="md"
|
|
280
|
-
color="light"
|
|
281
|
-
on:click={editor.reloadWebsocket}
|
|
282
|
-
startIcon={{ icon: faRotate }}
|
|
283
|
-
>
|
|
284
|
-
{#if !iconOnly}
|
|
285
|
-
Assistant
|
|
286
|
-
{/if}
|
|
287
|
-
<span class="ml-1 -my-1">
|
|
288
|
-
{#if lang == 'deno'}
|
|
289
|
-
(<span class={websocketAlive.deno ? 'green' : 'text-red-700'}>Deno</span>)
|
|
290
|
-
{:else if lang == 'go'}
|
|
291
|
-
(<span class={websocketAlive.go ? 'green' : 'text-red-700'}>Go</span>)
|
|
292
|
-
{:else if lang == 'python3'}
|
|
293
|
-
(<span class={websocketAlive.pyright ? 'green' : 'text-red-700'}>Pyright</span>
|
|
294
|
-
<span class={websocketAlive.black ? 'green' : 'text-red-700'}>Black</span>)
|
|
295
|
-
{/if}
|
|
296
|
-
</span>
|
|
297
|
-
</Button>
|
|
298
|
-
</div>
|
|
299
305
|
</div>
|
|
300
306
|
|
|
301
307
|
<style>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script>import { goto } from '$app/navigation';
|
|
2
2
|
import { page } from '$app/stores';
|
|
3
3
|
import { FlowService, ScheduleService } from '../gen';
|
|
4
|
-
import { workspaceStore } from '../stores';
|
|
4
|
+
import { userStore, workspaceStore } from '../stores';
|
|
5
5
|
import { encodeState, formatCron, loadHubScripts, sendUserToast, setQueryWithoutLoad } from '../utils';
|
|
6
6
|
import { faEye, faPen, faSave } from '@fortawesome/free-solid-svg-icons';
|
|
7
7
|
import { setContext } from 'svelte';
|
|
@@ -152,78 +152,84 @@ loadHubScripts();
|
|
|
152
152
|
let flowViewer;
|
|
153
153
|
</script>
|
|
154
154
|
|
|
155
|
-
|
|
155
|
+
{#if !$userStore?.operator}
|
|
156
|
+
<UnsavedConfirmationModal />
|
|
156
157
|
|
|
157
|
-
<Drawer bind:this={flowViewer} size="
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
</
|
|
158
|
+
<Drawer bind:this={flowViewer} size="75%">
|
|
159
|
+
<DrawerContent title="View Graph" on:close={flowViewer.closeDrawer} noPadding>
|
|
160
|
+
<div class="overflow-hidden h-full w-full">
|
|
161
|
+
<FlowGraphViewer flow={$flowStore} />
|
|
162
|
+
</div>
|
|
163
|
+
</DrawerContent>
|
|
164
|
+
</Drawer>
|
|
162
165
|
|
|
163
|
-
<div class="flex flex-col flex-1 h-screen">
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
<Button
|
|
171
|
-
btnClasses="inline-flex"
|
|
172
|
-
startIcon={{ icon: faEye }}
|
|
173
|
-
variant="border"
|
|
174
|
-
color="light"
|
|
175
|
-
size="sm"
|
|
176
|
-
on:click={flowViewer.openDrawer}
|
|
177
|
-
>
|
|
178
|
-
View Graph
|
|
179
|
-
</Button>
|
|
180
|
-
</div>
|
|
181
|
-
<div class="gap-1 flex-row hidden md:flex shrink overflow-hidden">
|
|
182
|
-
<Button
|
|
183
|
-
btnClasses="hidden lg:inline-flex"
|
|
184
|
-
startIcon={{ icon: faPen }}
|
|
185
|
-
variant="contained"
|
|
186
|
-
color="light"
|
|
187
|
-
size="xs"
|
|
188
|
-
on:click={async () => {
|
|
189
|
-
select('settings')
|
|
190
|
-
document.getElementById('path')?.focus()
|
|
191
|
-
}}
|
|
192
|
-
>
|
|
193
|
-
{$flowStore.path && $flowStore.path != '' ? $flowStore.path : 'Choose a path'}
|
|
194
|
-
</Button>
|
|
195
|
-
<Button
|
|
196
|
-
startIcon={{ icon: faPen }}
|
|
197
|
-
variant="contained"
|
|
198
|
-
color="light"
|
|
199
|
-
size="xs"
|
|
200
|
-
on:click={async () => {
|
|
201
|
-
select('settings')
|
|
202
|
-
document.getElementById('flow-summary')?.focus()
|
|
203
|
-
}}
|
|
204
|
-
>
|
|
205
|
-
<div class="max-w-[10em] !truncate">
|
|
206
|
-
{$flowStore.summary == '' || !$flowStore.summary ? 'No summary' : $flowStore.summary}
|
|
207
|
-
</div>
|
|
208
|
-
</Button>
|
|
209
|
-
</div>
|
|
210
|
-
<div class="flex flex-row space-x-2">
|
|
211
|
-
<FlowPreviewButtons />
|
|
212
|
-
<div class="center-center">
|
|
166
|
+
<div class="flex flex-col flex-1 h-screen">
|
|
167
|
+
<!-- Nav between steps-->
|
|
168
|
+
<div
|
|
169
|
+
class="justify-between flex flex-row w-full items-center pl-2.5 pr-6 space-x-4 overflow-x-auto scrollbar-hidden max-h-12 h-full"
|
|
170
|
+
>
|
|
171
|
+
<div class="flex flex-row">
|
|
172
|
+
<FlowImportExportMenu />
|
|
213
173
|
<Button
|
|
214
|
-
|
|
215
|
-
startIcon={{ icon:
|
|
174
|
+
btnClasses="inline-flex"
|
|
175
|
+
startIcon={{ icon: faEye }}
|
|
176
|
+
variant="border"
|
|
177
|
+
color="light"
|
|
216
178
|
size="sm"
|
|
217
|
-
on:click={
|
|
179
|
+
on:click={flowViewer.openDrawer}
|
|
218
180
|
>
|
|
181
|
+
View Graph
|
|
182
|
+
</Button>
|
|
183
|
+
</div>
|
|
184
|
+
<div class="gap-1 flex-row hidden md:flex shrink overflow-hidden">
|
|
185
|
+
<Button
|
|
186
|
+
btnClasses="hidden lg:inline-flex"
|
|
187
|
+
startIcon={{ icon: faPen }}
|
|
188
|
+
variant="contained"
|
|
189
|
+
color="light"
|
|
190
|
+
size="xs"
|
|
191
|
+
on:click={async () => {
|
|
192
|
+
select('settings')
|
|
193
|
+
document.getElementById('path')?.focus()
|
|
194
|
+
}}
|
|
195
|
+
>
|
|
196
|
+
{$flowStore.path && $flowStore.path != '' ? $flowStore.path : 'Choose a path'}
|
|
197
|
+
</Button>
|
|
198
|
+
<Button
|
|
199
|
+
startIcon={{ icon: faPen }}
|
|
200
|
+
variant="contained"
|
|
201
|
+
color="light"
|
|
202
|
+
size="xs"
|
|
203
|
+
on:click={async () => {
|
|
204
|
+
select('settings')
|
|
205
|
+
document.getElementById('flow-summary')?.focus()
|
|
206
|
+
}}
|
|
207
|
+
>
|
|
208
|
+
<div class="max-w-[10em] !truncate">
|
|
209
|
+
{$flowStore.summary == '' || !$flowStore.summary ? 'No summary' : $flowStore.summary}
|
|
210
|
+
</div>
|
|
211
|
+
</Button>
|
|
212
|
+
</div>
|
|
213
|
+
<div class="flex flex-row space-x-2">
|
|
214
|
+
<FlowPreviewButtons />
|
|
215
|
+
<div class="center-center">
|
|
216
|
+
<Button
|
|
217
|
+
disabled={pathError != ''}
|
|
218
|
+
startIcon={{ icon: faSave }}
|
|
219
|
+
size="sm"
|
|
220
|
+
on:click={saveFlow}>Save</Button
|
|
221
|
+
>
|
|
222
|
+
</div>
|
|
219
223
|
</div>
|
|
220
224
|
</div>
|
|
221
|
-
</div>
|
|
222
225
|
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
</div>
|
|
226
|
+
<!-- metadata -->
|
|
227
|
+
{#if $flowStateStore}
|
|
228
|
+
<FlowEditor {initialPath} {loading} />
|
|
229
|
+
{:else}
|
|
230
|
+
<CenteredPage>Loading...</CenteredPage>
|
|
231
|
+
{/if}
|
|
232
|
+
</div>
|
|
233
|
+
{:else}
|
|
234
|
+
Flow Builder not available to operators
|
|
235
|
+
{/if}
|
|
@@ -3,44 +3,25 @@ import HighlightCode from './HighlightCode.svelte';
|
|
|
3
3
|
import InputTransformsViewer from './InputTransformsViewer.svelte';
|
|
4
4
|
import IconedPath from './IconedPath.svelte';
|
|
5
5
|
import { scriptPathToHref } from '../utils';
|
|
6
|
+
import { Drawer, DrawerContent } from './common';
|
|
7
|
+
import { Highlight } from 'svelte-highlight';
|
|
8
|
+
import ObjectViewer from './propertyPicker/ObjectViewer.svelte';
|
|
9
|
+
import typescript from 'svelte-highlight/languages/typescript';
|
|
10
|
+
import { cleanExpr } from './flows/utils';
|
|
11
|
+
import FlowPathViewer from './flows/content/FlowPathViewer.svelte';
|
|
12
|
+
import SchemaViewer from './SchemaViewer.svelte';
|
|
6
13
|
export let flow;
|
|
7
14
|
export let overflowAuto = false;
|
|
15
|
+
export let noSide = false;
|
|
8
16
|
let stepDetail = undefined;
|
|
17
|
+
let codeViewer;
|
|
18
|
+
let topHeight = 0;
|
|
9
19
|
</script>
|
|
10
20
|
|
|
11
|
-
<
|
|
12
|
-
<
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
failureModule={flow?.value?.failure_module}
|
|
16
|
-
on:click={(e) => (stepDetail = e.detail)}
|
|
17
|
-
/>
|
|
18
|
-
</div>
|
|
19
|
-
<div class="w-full border-l border-r border-b border-gray-700 min-h-[150px] p-2">
|
|
20
|
-
{#if stepDetail == undefined}
|
|
21
|
-
<span class="font-black text-lg w-full my-4">
|
|
22
|
-
<span>Click on a step to see its details</span>
|
|
23
|
-
</span>
|
|
24
|
-
{:else}
|
|
25
|
-
<div class="font-black text-lg w-full mb-2 "
|
|
26
|
-
>Step {stepDetail.id ?? ''}<span class="ml-2 font-normal">{stepDetail.summary || ''}</span
|
|
27
|
-
></div
|
|
28
|
-
>
|
|
29
|
-
{#if stepDetail.value.type == 'identity'}
|
|
30
|
-
<div> An identity step return as output its input </div>
|
|
31
|
-
{:else if stepDetail.value.type == 'rawscript'}
|
|
32
|
-
<div class="text-2xs mb-4">
|
|
33
|
-
<h3>Step Inputs</h3>
|
|
34
|
-
<InputTransformsViewer
|
|
35
|
-
inputTransforms={stepDetail?.value?.input_transforms ??
|
|
36
|
-
stepDetail?.input_transforms ??
|
|
37
|
-
{}}
|
|
38
|
-
/>
|
|
39
|
-
</div>
|
|
40
|
-
|
|
41
|
-
<h3>Code</h3>
|
|
42
|
-
<HighlightCode language={stepDetail.value.language} code={stepDetail.value.content} />
|
|
43
|
-
{:else if stepDetail.value.type == 'script'}
|
|
21
|
+
<Drawer bind:this={codeViewer} size="900px">
|
|
22
|
+
<DrawerContent title={'Expanded Code'} on:close={codeViewer.closeDrawer}>
|
|
23
|
+
{#if stepDetail && typeof stepDetail != 'string'}
|
|
24
|
+
{#if stepDetail.value.type == 'script'}
|
|
44
25
|
<div class="mb-4">
|
|
45
26
|
<a
|
|
46
27
|
rel="noreferrer"
|
|
@@ -52,7 +33,7 @@ let stepDetail = undefined;
|
|
|
52
33
|
</a>
|
|
53
34
|
</div>
|
|
54
35
|
<div class="text-2xs mb-4">
|
|
55
|
-
<h3>Step Inputs</h3>
|
|
36
|
+
<h3 class="mb-2">Step Inputs</h3>
|
|
56
37
|
<InputTransformsViewer
|
|
57
38
|
inputTransforms={stepDetail?.value?.input_transforms ??
|
|
58
39
|
stepDetail?.input_transforms ??
|
|
@@ -70,7 +51,128 @@ let stepDetail = undefined;
|
|
|
70
51
|
/>
|
|
71
52
|
</div>
|
|
72
53
|
{/if}
|
|
54
|
+
{:else if stepDetail.value.type == 'rawscript'}
|
|
55
|
+
<div class="text-2xs mb-4">
|
|
56
|
+
<h3 class="mb-2">Step Inputs</h3>
|
|
57
|
+
<InputTransformsViewer
|
|
58
|
+
inputTransforms={stepDetail?.value?.input_transforms ??
|
|
59
|
+
stepDetail?.input_transforms ??
|
|
60
|
+
{}}
|
|
61
|
+
/>
|
|
62
|
+
</div>
|
|
63
|
+
|
|
64
|
+
<h3 class="mb-2">Code</h3>
|
|
65
|
+
<span class="!text-xs">
|
|
66
|
+
<HighlightCode language={stepDetail.value.language} code={stepDetail.value.content} />
|
|
67
|
+
</span>
|
|
73
68
|
{/if}
|
|
74
69
|
{/if}
|
|
70
|
+
</DrawerContent>
|
|
71
|
+
</Drawer>
|
|
72
|
+
<div class="grid grid-cols-3 w-full">
|
|
73
|
+
<div
|
|
74
|
+
bind:clientHeight={topHeight}
|
|
75
|
+
class="{noSide ? 'col-span-3' : 'col-span-2'} w-full border border-gray-400 h-screen"
|
|
76
|
+
class:overflow-auto={overflowAuto}
|
|
77
|
+
>
|
|
78
|
+
<FlowGraph
|
|
79
|
+
minHeight={topHeight}
|
|
80
|
+
modules={flow?.value?.modules}
|
|
81
|
+
failureModule={flow?.value?.failure_module}
|
|
82
|
+
on:click={(e) => (stepDetail = e.detail)}
|
|
83
|
+
/>
|
|
75
84
|
</div>
|
|
85
|
+
{#if !noSide}
|
|
86
|
+
<div class="w-full border-r border-b border-t border-gray-400 min-h-[150px] p-2 overflow-auto">
|
|
87
|
+
{#if stepDetail == undefined}
|
|
88
|
+
<span class="font-black text-lg w-full my-4">
|
|
89
|
+
<span>Click on a step to see its details</span>
|
|
90
|
+
</span>
|
|
91
|
+
{:else if stepDetail == 'Input'}
|
|
92
|
+
<SchemaViewer schema={flow?.schema} />
|
|
93
|
+
{:else if stepDetail == 'Result'}
|
|
94
|
+
End of the flow
|
|
95
|
+
{:else if typeof stepDetail != 'string' && stepDetail.value}
|
|
96
|
+
<div class="font-black text-lg w-full mb-6"
|
|
97
|
+
>Step {stepDetail.id ?? ''}<span class="ml-2 font-normal">{stepDetail.summary || ''}</span
|
|
98
|
+
></div
|
|
99
|
+
>
|
|
100
|
+
{#if stepDetail.value.type == 'identity'}
|
|
101
|
+
<div> An identity step return as output its input </div>
|
|
102
|
+
{:else if stepDetail.value.type == 'rawscript'}
|
|
103
|
+
<div class="text-2xs mb-4">
|
|
104
|
+
<h3 class="mb-2">Step Inputs</h3>
|
|
105
|
+
<InputTransformsViewer
|
|
106
|
+
inputTransforms={stepDetail?.value?.input_transforms ??
|
|
107
|
+
stepDetail?.input_transforms ??
|
|
108
|
+
{}}
|
|
109
|
+
/>
|
|
110
|
+
</div>
|
|
111
|
+
|
|
112
|
+
<h3 class="mb-2"
|
|
113
|
+
>Code <button class="text-gray-600 text-xs" on:click={codeViewer.openDrawer}
|
|
114
|
+
>Expand</button
|
|
115
|
+
>
|
|
116
|
+
</h3>
|
|
117
|
+
<span class="!text-xs">
|
|
118
|
+
<HighlightCode language={stepDetail.value.language} code={stepDetail.value.content} />
|
|
119
|
+
</span>
|
|
120
|
+
{:else if stepDetail.value.type == 'script'}
|
|
121
|
+
<div class="mb-4">
|
|
122
|
+
<a
|
|
123
|
+
rel="noreferrer"
|
|
124
|
+
target="_blank"
|
|
125
|
+
href={scriptPathToHref(stepDetail?.value?.path ?? '')}
|
|
126
|
+
class=""
|
|
127
|
+
>
|
|
128
|
+
<IconedPath path={stepDetail?.value?.path ?? ''} />
|
|
129
|
+
</a>
|
|
130
|
+
</div>
|
|
131
|
+
<div class="text-2xs mb-4">
|
|
132
|
+
<h3 class="mb-2">Step Inputs</h3>
|
|
133
|
+
<InputTransformsViewer
|
|
134
|
+
inputTransforms={stepDetail?.value?.input_transforms ??
|
|
135
|
+
stepDetail?.input_transforms ??
|
|
136
|
+
{}}
|
|
137
|
+
/>
|
|
138
|
+
</div>
|
|
139
|
+
{#if stepDetail.value.path.startsWith('hub/')}
|
|
140
|
+
<div class="mt-6">
|
|
141
|
+
<h3
|
|
142
|
+
>Code <button class="text-gray-600 text-xs" on:click={codeViewer.openDrawer}
|
|
143
|
+
>Expand</button
|
|
144
|
+
>
|
|
145
|
+
</h3>
|
|
146
|
+
<iframe
|
|
147
|
+
class="w-full h-full text-sm"
|
|
148
|
+
title="embedded script from hub"
|
|
149
|
+
frameborder="0"
|
|
150
|
+
src="https://hub.windmill.dev/embed/script/{stepDetail.value?.path?.substring(4)}"
|
|
151
|
+
/>
|
|
152
|
+
</div>
|
|
153
|
+
{/if}
|
|
154
|
+
{:else if stepDetail.value.type == 'forloopflow'}
|
|
155
|
+
<p
|
|
156
|
+
>For loop with iterator: {#if stepDetail.value.iterator.type == 'static'}<ObjectViewer
|
|
157
|
+
json={stepDetail.value.iterator.value}
|
|
158
|
+
/>{:else}
|
|
159
|
+
<span class="text-xs">
|
|
160
|
+
<Highlight
|
|
161
|
+
offsetTop={0}
|
|
162
|
+
language={typescript}
|
|
163
|
+
code={cleanExpr(stepDetail.value.iterator.expr)}
|
|
164
|
+
/>
|
|
165
|
+
</span>
|
|
166
|
+
{/if}</p
|
|
167
|
+
>
|
|
168
|
+
{:else if stepDetail.value.type == 'branchall'}
|
|
169
|
+
<p>Run all branches</p>
|
|
170
|
+
{:else if stepDetail.value.type == 'branchone'}
|
|
171
|
+
<p>Run one branch based on a predicate</p>
|
|
172
|
+
{:else if stepDetail.value.type == 'flow'}
|
|
173
|
+
<FlowPathViewer noSide path={stepDetail.value.path} />
|
|
174
|
+
{/if}
|
|
175
|
+
{/if}
|
|
176
|
+
</div>
|
|
177
|
+
{/if}
|
|
76
178
|
</div>
|
|
@@ -2,9 +2,14 @@
|
|
|
2
2
|
import LogViewer from './LogViewer.svelte';
|
|
3
3
|
export let result;
|
|
4
4
|
export let logs;
|
|
5
|
+
export let col = false;
|
|
6
|
+
export let noBorder = false;
|
|
5
7
|
</script>
|
|
6
8
|
|
|
7
|
-
<div
|
|
9
|
+
<div
|
|
10
|
+
class:border={!noBorder}
|
|
11
|
+
class="grid {!col ? 'grid-cols-2' : 'grid-rows-2'} shadow border-gray-400 h-full"
|
|
12
|
+
>
|
|
8
13
|
<div class="bg-white max-h-80 h-full p-1 overflow-auto relative">
|
|
9
14
|
<span class="text-gray-500">Result</span>
|
|
10
15
|
<DisplayResult {result} />
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script>import JobStatus from './JobStatus.svelte';
|
|
2
2
|
import Icon from 'svelte-awesome';
|
|
3
3
|
import { displayDaysAgo } from '../utils';
|
|
4
|
-
import { faCalendar, faClock, faRobot, faScroll, faUser,
|
|
4
|
+
import { faCalendar, faClock, faRobot, faScroll, faUser, faBarsStaggered } from '@fortawesome/free-solid-svg-icons';
|
|
5
5
|
export let job;
|
|
6
6
|
const SMALL_ICON_SCALE = 0.7;
|
|
7
7
|
</script>
|
|
@@ -23,7 +23,9 @@ const SMALL_ICON_SCALE = 0.7;
|
|
|
23
23
|
<div>
|
|
24
24
|
{#if job && job.parent_job}
|
|
25
25
|
{#if job.is_flow_step}
|
|
26
|
-
<Icon class="text-gray-700" data={
|
|
26
|
+
<Icon class="text-gray-700" data={faBarsStaggered} scale={SMALL_ICON_SCALE} /><span
|
|
27
|
+
class="mx-2"
|
|
28
|
+
>
|
|
27
29
|
Step of flow <a href={`/run/${job.parent_job}`}>{job.parent_job}</a></span
|
|
28
30
|
>
|
|
29
31
|
{:else}
|