windmill-components 1.52.0 → 1.55.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 +3 -3
- 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/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 -11
- 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 +8 -12
- 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 +6 -2
- 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 +120 -54
- package/components/graph/FlowGraph.svelte.d.ts +3 -2
- package/components/graph/model.d.ts +11 -0
- 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 +56 -17
- 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,7 +1,8 @@
|
|
|
1
1
|
<script>import { Menu } from '../../common';
|
|
2
|
-
import { faCode, faCodeBranch, faPlus,
|
|
2
|
+
import { faCode, faCodeBranch, faPlus, faBarsStaggered } from '@fortawesome/free-solid-svg-icons';
|
|
3
3
|
import { createEventDispatcher } from 'svelte';
|
|
4
4
|
import Icon from 'svelte-awesome';
|
|
5
|
+
import { Repeat } from 'lucide-svelte';
|
|
5
6
|
const dispatch = createEventDispatcher();
|
|
6
7
|
</script>
|
|
7
8
|
|
|
@@ -24,17 +25,20 @@ const dispatch = createEventDispatcher();
|
|
|
24
25
|
tabindex="-1"
|
|
25
26
|
>
|
|
26
27
|
<Icon data={faCode} scale={0.8} class="mr-1" />
|
|
27
|
-
Script
|
|
28
|
+
Script
|
|
28
29
|
</button>
|
|
29
30
|
<button
|
|
30
|
-
class="w-full text-left p-2 hover:bg-gray-100"
|
|
31
|
+
class="w-full inline-flex gap-1 text-left p-2 hover:bg-gray-100"
|
|
31
32
|
on:click={() => {
|
|
32
33
|
close()
|
|
33
34
|
dispatch('new', 'forloop')
|
|
34
35
|
}}
|
|
35
36
|
role="menuitem"
|
|
36
37
|
>
|
|
37
|
-
<
|
|
38
|
+
<span>
|
|
39
|
+
<Repeat size={14} />
|
|
40
|
+
</span>
|
|
41
|
+
|
|
38
42
|
For Loop
|
|
39
43
|
</button>
|
|
40
44
|
|
|
@@ -61,5 +65,17 @@ const dispatch = createEventDispatcher();
|
|
|
61
65
|
<Icon data={faCodeBranch} scale={0.8} class="mr-1" />
|
|
62
66
|
Branch to all
|
|
63
67
|
</button>
|
|
68
|
+
|
|
69
|
+
<button
|
|
70
|
+
class="w-full text-left p-2 hover:bg-gray-100"
|
|
71
|
+
on:click={() => {
|
|
72
|
+
close()
|
|
73
|
+
dispatch('new', 'flow')
|
|
74
|
+
}}
|
|
75
|
+
role="menuitem"
|
|
76
|
+
>
|
|
77
|
+
<Icon data={faBarsStaggered} scale={0.8} class="mr-1" />
|
|
78
|
+
Flow
|
|
79
|
+
</button>
|
|
64
80
|
</div>
|
|
65
81
|
</Menu>
|
|
@@ -4,10 +4,11 @@ import FlowModuleSchemaMap from './FlowModuleSchemaMap.svelte';
|
|
|
4
4
|
import InsertModuleButton from './InsertModuleButton.svelte';
|
|
5
5
|
import FlowBranchOneMap from './FlowBranchOneMap.svelte';
|
|
6
6
|
import FlowBranchAllMap from './FlowBranchAllMap.svelte';
|
|
7
|
-
import {
|
|
7
|
+
import { faCodeBranch, faLongArrowDown } from '@fortawesome/free-solid-svg-icons';
|
|
8
8
|
import Icon from 'svelte-awesome';
|
|
9
9
|
import IconedResourceType from '../../IconedResourceType.svelte';
|
|
10
10
|
import LanguageIcon from '../../common/languageIcons/LanguageIcon.svelte';
|
|
11
|
+
import { Building, Repeat } from 'lucide-svelte';
|
|
11
12
|
export let mod;
|
|
12
13
|
const { select, selectedId } = getContext('FlowEditorContext');
|
|
13
14
|
const dispatch = createEventDispatcher();
|
|
@@ -36,7 +37,7 @@ function onDelete(event) {
|
|
|
36
37
|
{...itemProps}
|
|
37
38
|
>
|
|
38
39
|
<div slot="icon">
|
|
39
|
-
<
|
|
40
|
+
<Repeat size={16} />
|
|
40
41
|
</div>
|
|
41
42
|
</FlowModuleSchemaItem>
|
|
42
43
|
<div class="flex flex-row w-full">
|
|
@@ -99,11 +100,16 @@ function onDelete(event) {
|
|
|
99
100
|
<Icon data={faLongArrowDown} scale={1.1} />
|
|
100
101
|
{:else if mod.value.type === 'script'}
|
|
101
102
|
{#if mod.value.path.startsWith('hub/')}
|
|
102
|
-
<div
|
|
103
|
-
<IconedResourceType
|
|
103
|
+
<div>
|
|
104
|
+
<IconedResourceType
|
|
105
|
+
width="20px"
|
|
106
|
+
height="20px"
|
|
107
|
+
name={mod.value.path.split('/')[2]}
|
|
108
|
+
silent={true}
|
|
109
|
+
/>
|
|
104
110
|
</div>
|
|
105
111
|
{:else}
|
|
106
|
-
<
|
|
112
|
+
<Building size={14} />
|
|
107
113
|
{/if}
|
|
108
114
|
{/if}
|
|
109
115
|
</div>
|
|
@@ -5,7 +5,7 @@ declare const __propDef: {
|
|
|
5
5
|
props: {
|
|
6
6
|
disabled?: boolean | undefined;
|
|
7
7
|
label: string;
|
|
8
|
-
lang?: SupportedLanguage | 'pgsql' | undefined;
|
|
8
|
+
lang?: SupportedLanguage | 'pgsql' | 'mysql' | undefined;
|
|
9
9
|
icon?: IconDefinition | undefined;
|
|
10
10
|
iconColor?: string | undefined;
|
|
11
11
|
};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
<script>import { createEventDispatcher, onMount } from 'svelte';
|
|
2
|
+
import { Badge, Skeleton } from '../../common';
|
|
3
|
+
import SearchItems from '../../SearchItems.svelte';
|
|
4
|
+
import { loadHubFlows } from '../../../utils';
|
|
5
|
+
import ListFilters from '../../home/ListFilters.svelte';
|
|
6
|
+
import NoItemFound from '../../home/NoItemFound.svelte';
|
|
7
|
+
import RowIcon from '../../common/table/RowIcon.svelte';
|
|
8
|
+
export let filter = '';
|
|
9
|
+
let hubFlows = undefined;
|
|
10
|
+
let filteredItems = [];
|
|
11
|
+
let appFilter = undefined;
|
|
12
|
+
$: prefilteredItems = appFilter
|
|
13
|
+
? (hubFlows ?? []).filter((i) => i.apps.includes(appFilter))
|
|
14
|
+
: hubFlows ?? [];
|
|
15
|
+
$: apps = Array.from(new Set(filteredItems?.flatMap((x) => x.apps) ?? [])).sort();
|
|
16
|
+
const dispatch = createEventDispatcher();
|
|
17
|
+
onMount(async () => {
|
|
18
|
+
hubFlows = await loadHubFlows();
|
|
19
|
+
});
|
|
20
|
+
</script>
|
|
21
|
+
|
|
22
|
+
<SearchItems
|
|
23
|
+
{filter}
|
|
24
|
+
items={prefilteredItems}
|
|
25
|
+
bind:filteredItems
|
|
26
|
+
f={(x) => x.summary + ' (' + x.apps.join(', ') + ')'}
|
|
27
|
+
/>
|
|
28
|
+
<div class="w-full flex mt-1 items-center gap-2">
|
|
29
|
+
<slot />
|
|
30
|
+
<input type="text" placeholder="Search Hub Scripts" bind:value={filter} class="text-2xl grow" />
|
|
31
|
+
</div>
|
|
32
|
+
<ListFilters filters={apps} bind:selectedFilter={appFilter} resourceType />
|
|
33
|
+
|
|
34
|
+
{#if hubFlows}
|
|
35
|
+
{#if filteredItems.length == 0}
|
|
36
|
+
<NoItemFound />
|
|
37
|
+
{:else}
|
|
38
|
+
<ul class="divide-y divide-gray-200 border rounded-md">
|
|
39
|
+
{#each filteredItems as item (item)}
|
|
40
|
+
<li class="flex flex-row w-full">
|
|
41
|
+
<button
|
|
42
|
+
class="p-4 gap-4 flex flex-row grow justify-between hover:bg-gray-50 bg-white transition-all items-center rounded-md"
|
|
43
|
+
on:click={() => dispatch('pick', item)}
|
|
44
|
+
>
|
|
45
|
+
<div class="flex items-center gap-4">
|
|
46
|
+
<RowIcon kind="flow" />
|
|
47
|
+
|
|
48
|
+
<div class="w-full text-left font-normal ">
|
|
49
|
+
<div class="text-gray-900 flex-wrap text-md font-semibold mb-1">
|
|
50
|
+
{#if item.marked}
|
|
51
|
+
{@html item.marked ?? ''}
|
|
52
|
+
{:else}
|
|
53
|
+
{item.summary ?? ''}
|
|
54
|
+
{/if}
|
|
55
|
+
</div>
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
58
|
+
<div class="min-w-1/3 gap-2 flex flex-wrap justify-end">
|
|
59
|
+
{#each item.apps as app}
|
|
60
|
+
<Badge color="gray" baseClass="border">{app}</Badge>
|
|
61
|
+
{/each}
|
|
62
|
+
</div>
|
|
63
|
+
</button>
|
|
64
|
+
</li>
|
|
65
|
+
{/each}
|
|
66
|
+
</ul>
|
|
67
|
+
{/if}
|
|
68
|
+
{:else}
|
|
69
|
+
{#each Array(10).fill(0) as _}
|
|
70
|
+
<Skeleton layout={[[4], 0.5]} />
|
|
71
|
+
{/each}
|
|
72
|
+
{/if}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
filter?: string | undefined;
|
|
5
|
+
};
|
|
6
|
+
events: {
|
|
7
|
+
pick: CustomEvent<any>;
|
|
8
|
+
} & {
|
|
9
|
+
[evt: string]: CustomEvent<any>;
|
|
10
|
+
};
|
|
11
|
+
slots: {
|
|
12
|
+
default: {};
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
export type PickHubFlowProps = typeof __propDef.props;
|
|
16
|
+
export type PickHubFlowEvents = typeof __propDef.events;
|
|
17
|
+
export type PickHubFlowSlots = typeof __propDef.slots;
|
|
18
|
+
export default class PickHubFlow extends SvelteComponentTyped<PickHubFlowProps, PickHubFlowEvents, PickHubFlowSlots> {
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
@@ -1,78 +1,87 @@
|
|
|
1
1
|
<script>import { hubScripts } from '../../../stores';
|
|
2
2
|
import { createEventDispatcher, onMount } from 'svelte';
|
|
3
|
-
import IconedResourceType from '../../IconedResourceType.svelte';
|
|
4
3
|
import { Badge, Skeleton } from '../../common';
|
|
5
4
|
import SearchItems from '../../SearchItems.svelte';
|
|
6
|
-
import { loadHubScripts } from '../../../utils';
|
|
5
|
+
import { capitalize, classNames, loadHubScripts } from '../../../utils';
|
|
6
|
+
import NoItemFound from '../../home/NoItemFound.svelte';
|
|
7
|
+
import { APP_TO_ICON_COMPONENT } from '../../icons';
|
|
8
|
+
import ListFilters from '../../home/ListFilters.svelte';
|
|
7
9
|
export let kind = 'script';
|
|
8
10
|
export let filter = '';
|
|
9
|
-
|
|
11
|
+
const dispatch = createEventDispatcher();
|
|
10
12
|
let filteredItems = [];
|
|
11
13
|
let appFilter = undefined;
|
|
14
|
+
$: items = ($hubScripts ?? []).filter((i) => i.kind === kind);
|
|
12
15
|
$: prefilteredItems = appFilter ? (items ?? []).filter((i) => i.app == appFilter) : items ?? [];
|
|
13
16
|
$: apps = Array.from(new Set(filteredItems?.map((x) => x.app) ?? [])).sort();
|
|
14
|
-
const dispatch = createEventDispatcher();
|
|
15
17
|
onMount(() => {
|
|
16
18
|
if (!$hubScripts) {
|
|
17
19
|
loadHubScripts();
|
|
18
20
|
}
|
|
19
21
|
});
|
|
22
|
+
const maxItems = 40;
|
|
20
23
|
</script>
|
|
21
24
|
|
|
22
25
|
<SearchItems {filter} items={prefilteredItems} bind:filteredItems f={(x) => x.summary} />
|
|
26
|
+
<div class="w-full flex mt-1 items-center gap-2">
|
|
27
|
+
<slot />
|
|
28
|
+
<input type="text" placeholder="Search Hub Scripts" bind:value={filter} class="text-2xl grow" />
|
|
29
|
+
</div>
|
|
30
|
+
<ListFilters filters={apps} bind:selectedFilter={appFilter} resourceType />
|
|
23
31
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
<
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
{#if filter.length > 0 && filteredItems.length == 0}
|
|
48
|
-
<p>No items found</p>
|
|
49
|
-
{/if}
|
|
50
|
-
{#each filteredItems as obj}
|
|
51
|
-
<li class="flex flex-row w-full">
|
|
52
|
-
<button
|
|
53
|
-
class="py-4 px-1 gap-1 flex flex-row grow hover:bg-blue-50 bg-white transition-all"
|
|
54
|
-
on:click={() => {
|
|
55
|
-
dispatch('pick', obj)
|
|
56
|
-
}}
|
|
57
|
-
>
|
|
58
|
-
<div class="mr-2 text-sm text-left truncate w-32 shrink-0">
|
|
59
|
-
<IconedResourceType after={true} silent={false} name={obj['app']} />
|
|
32
|
+
{#if $hubScripts}
|
|
33
|
+
{#if filteredItems.length == 0}
|
|
34
|
+
<NoItemFound />
|
|
35
|
+
{:else}
|
|
36
|
+
<ul class="divide-y divide-gray-200 border rounded-md">
|
|
37
|
+
{#each filteredItems.slice(0, maxItems) as item (item.path)}
|
|
38
|
+
<li class="flex flex-row w-full">
|
|
39
|
+
<button
|
|
40
|
+
class="p-4 gap-4 flex flex-row grow hover:bg-gray-50 bg-white transition-all items-center rounded-md"
|
|
41
|
+
on:click={() => dispatch('pick', item)}
|
|
42
|
+
>
|
|
43
|
+
<div class="flex items-center gap-4">
|
|
44
|
+
<div
|
|
45
|
+
class={classNames(
|
|
46
|
+
'rounded-md p-1 flex justify-center items-center border',
|
|
47
|
+
'bg-gray-50 border-gray-200'
|
|
48
|
+
)}
|
|
49
|
+
>
|
|
50
|
+
<svelte:component
|
|
51
|
+
this={APP_TO_ICON_COMPONENT[item['app']]}
|
|
52
|
+
height={18}
|
|
53
|
+
width={18}
|
|
54
|
+
/>
|
|
60
55
|
</div>
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
56
|
+
|
|
57
|
+
<div class="w-full text-left font-normal ">
|
|
58
|
+
<div class="text-gray-900 flex-wrap text-md font-semibold mb-1">
|
|
59
|
+
{#if item.marked}
|
|
60
|
+
{@html item.marked ?? ''}
|
|
61
|
+
{:else}
|
|
62
|
+
{item.summary ?? ''}
|
|
63
|
+
{/if}
|
|
64
|
+
</div>
|
|
65
|
+
<div class="text-gray-600 text-xs ">
|
|
66
|
+
{item.path}
|
|
67
|
+
</div>
|
|
67
68
|
</div>
|
|
68
|
-
</
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
{/if}
|
|
69
|
+
</div>
|
|
70
|
+
{#if kind !== 'script'}
|
|
71
|
+
<Badge color="gray" baseClass="border">{capitalize(kind)}</Badge>
|
|
72
|
+
{/if}
|
|
73
|
+
</button>
|
|
74
|
+
</li>
|
|
75
|
+
{/each}
|
|
76
76
|
</ul>
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
{/if}
|
|
78
|
+
{#if filteredItems.length > maxItems}
|
|
79
|
+
<div class="text-gray-500 text-sm py-4">
|
|
80
|
+
There are more items ({filteredItems.length}) than being displayed. Refine your search.
|
|
81
|
+
</div>
|
|
82
|
+
{/if}
|
|
83
|
+
{:else}
|
|
84
|
+
{#each Array(10).fill(0) as _}
|
|
85
|
+
<Skeleton layout={[[4], 0.5]} />
|
|
86
|
+
{/each}
|
|
87
|
+
{/if}
|
|
@@ -3,7 +3,7 @@ import { ScriptService } from '../../../gen';
|
|
|
3
3
|
import { workspaceStore } from '../../../stores';
|
|
4
4
|
import { createEventDispatcher } from 'svelte';
|
|
5
5
|
import Button from '../../common/button/Button.svelte';
|
|
6
|
-
import { Code } from 'svelte
|
|
6
|
+
import { Code } from 'lucide-svelte';
|
|
7
7
|
export let kind;
|
|
8
8
|
let itemPicker;
|
|
9
9
|
const dispatch = createEventDispatcher();
|
|
@@ -31,7 +31,7 @@ async function loadItems() {
|
|
|
31
31
|
color="light"
|
|
32
32
|
>
|
|
33
33
|
<div class="flex justify-center flex-col items-center gap-2">
|
|
34
|
-
<Code size=
|
|
34
|
+
<Code size={18} />
|
|
35
35
|
|
|
36
36
|
<span class="text-xs">Script</span>
|
|
37
37
|
</div>
|
|
@@ -1,53 +1,113 @@
|
|
|
1
1
|
<script>import { workspaceStore } from '../../../stores';
|
|
2
2
|
import { createEventDispatcher } from 'svelte';
|
|
3
|
-
import Fuse from 'fuse.js';
|
|
4
3
|
import { ScriptService } from '../../../gen';
|
|
4
|
+
import SearchItems from '../../SearchItems.svelte';
|
|
5
|
+
import { Badge, Skeleton } from '../../common';
|
|
6
|
+
import { fade } from 'svelte/transition';
|
|
7
|
+
import { flip } from 'svelte/animate';
|
|
8
|
+
import { emptyString, truncateHash } from '../../../utils';
|
|
9
|
+
import Toggle from '../../Toggle.svelte';
|
|
10
|
+
import NoItemFound from '../../home/NoItemFound.svelte';
|
|
5
11
|
export let kind = 'script';
|
|
6
|
-
let
|
|
7
|
-
let
|
|
12
|
+
export let isTemplate = undefined;
|
|
13
|
+
export let displayLock = false;
|
|
14
|
+
let items = undefined;
|
|
15
|
+
let filteredItems = undefined;
|
|
8
16
|
export let filter = '';
|
|
9
|
-
const fuseOptions = {
|
|
10
|
-
includeScore: false,
|
|
11
|
-
keys: ['path', 'summay']
|
|
12
|
-
};
|
|
13
|
-
const fuse = new Fuse(items, fuseOptions);
|
|
14
17
|
$: $workspaceStore && kind && loadItems();
|
|
15
|
-
$: filteredItems =
|
|
16
|
-
filter.length > 0 && items ? fuse.search(filter).map((value) => value.item) : items;
|
|
17
18
|
async function loadItems() {
|
|
18
|
-
items = await ScriptService.listScripts({ workspace: $workspaceStore, kind });
|
|
19
|
-
fuse.setCollection(items);
|
|
19
|
+
items = await ScriptService.listScripts({ workspace: $workspaceStore, kind, isTemplate });
|
|
20
20
|
}
|
|
21
|
+
let ownerFilter = undefined;
|
|
22
|
+
$: prefilteredItems = ownerFilter ? items?.filter((x) => x.path.startsWith(ownerFilter)) : items;
|
|
23
|
+
$: owners = Array.from(new Set(filteredItems?.map((x) => x.path.split('/').slice(0, 2).join('/')) ?? [])).sort();
|
|
21
24
|
const dispatch = createEventDispatcher();
|
|
25
|
+
let lockHash = displayLock;
|
|
22
26
|
</script>
|
|
23
27
|
|
|
28
|
+
<SearchItems
|
|
29
|
+
{filter}
|
|
30
|
+
items={prefilteredItems}
|
|
31
|
+
bind:filteredItems
|
|
32
|
+
f={(x) => (emptyString(x.summary) ? x.path : x.summary + ' (' + x.path + ')')}
|
|
33
|
+
/>
|
|
24
34
|
<div class="flex flex-col min-h-0">
|
|
25
|
-
<div class="w-
|
|
26
|
-
<
|
|
35
|
+
<div class="w-full flex mt-1 items-center gap-2 mb-3">
|
|
36
|
+
<slot />
|
|
37
|
+
|
|
38
|
+
<input
|
|
39
|
+
type="text"
|
|
40
|
+
placeholder="Search Workspace Scripts"
|
|
41
|
+
bind:value={filter}
|
|
42
|
+
class="text-2xl grow"
|
|
43
|
+
/>
|
|
27
44
|
</div>
|
|
28
45
|
|
|
29
46
|
{#if filteredItems}
|
|
47
|
+
{#if owners.length > 0}
|
|
48
|
+
<div class="gap-2 w-full flex flex-wrap my-2">
|
|
49
|
+
{#each owners as owner (owner)}
|
|
50
|
+
<div in:fade={{ duration: 50 }} animate:flip={{ duration: 100 }}>
|
|
51
|
+
<Badge
|
|
52
|
+
class="cursor-pointer hover:bg-gray-200"
|
|
53
|
+
on:click={() => {
|
|
54
|
+
ownerFilter = ownerFilter == owner ? undefined : owner
|
|
55
|
+
}}
|
|
56
|
+
color={owner === ownerFilter ? 'blue' : 'gray'}
|
|
57
|
+
baseClass={owner === ownerFilter ? 'border border-blue-500' : 'border'}
|
|
58
|
+
>
|
|
59
|
+
{owner}
|
|
60
|
+
{#if owner === ownerFilter}✗{/if}
|
|
61
|
+
</Badge>
|
|
62
|
+
</div>
|
|
63
|
+
{/each}
|
|
64
|
+
</div>
|
|
65
|
+
{/if}
|
|
66
|
+
{#if displayLock}
|
|
67
|
+
<div class="flex flex-row-reverse">
|
|
68
|
+
<Toggle
|
|
69
|
+
bind:checked={lockHash}
|
|
70
|
+
options={{ left: 'Latest version', right: 'Lock current hash permanently' }}
|
|
71
|
+
/>
|
|
72
|
+
</div>
|
|
73
|
+
{/if}
|
|
74
|
+
{#if filter.length > 0 && filteredItems.length == 0}
|
|
75
|
+
<NoItemFound />
|
|
76
|
+
{/if}
|
|
30
77
|
<ul class="divide-y divide-gray-200 overflow-auto">
|
|
31
|
-
{#each filteredItems as
|
|
78
|
+
{#each filteredItems as { path, hash, summary, description, marked }}
|
|
32
79
|
<li class="flex flex-row w-full">
|
|
33
80
|
<button
|
|
34
81
|
class="py-4 px-1 gap-1 flex flex-row grow hover:bg-blue-50 bg-white transition-all text-black"
|
|
35
82
|
on:click={() => {
|
|
36
|
-
dispatch('pick',
|
|
83
|
+
dispatch('pick', { path, hash: lockHash ? hash : undefined })
|
|
37
84
|
}}
|
|
38
85
|
>
|
|
39
86
|
<div class="flex flex-col">
|
|
40
87
|
<div class="text-sm font-semibold flex flex-col">
|
|
41
|
-
<span class="mr-2 text-left">
|
|
88
|
+
<span class="mr-2 text-left">
|
|
89
|
+
{#if marked}
|
|
90
|
+
{@html marked}
|
|
91
|
+
{:else}
|
|
92
|
+
{!summary || summary.length == 0 ? path : summary}
|
|
93
|
+
{/if}</span
|
|
94
|
+
>
|
|
42
95
|
<span class="font-normal text-xs text-left italic overflow-hidden"
|
|
43
|
-
>{
|
|
96
|
+
>{path ?? ''}</span
|
|
44
97
|
>
|
|
45
98
|
</div>
|
|
46
|
-
<div class="text-xs font-light italic text-left">{
|
|
99
|
+
<div class="text-xs font-light italic text-left">{description ?? ''}</div>
|
|
47
100
|
</div>
|
|
101
|
+
{#if lockHash}<Badge large baseClass="ml-4">{truncateHash(hash ?? '')}</Badge>{/if}
|
|
48
102
|
</button>
|
|
49
103
|
</li>
|
|
50
104
|
{/each}
|
|
51
105
|
</ul>
|
|
106
|
+
{:else}
|
|
107
|
+
<div class="mt-6" />
|
|
108
|
+
|
|
109
|
+
{#each new Array(6) as _}
|
|
110
|
+
<Skeleton layout={[[4], 0.7]} />
|
|
111
|
+
{/each}
|
|
52
112
|
{/if}
|
|
53
113
|
</div>
|
|
@@ -2,6 +2,8 @@ import { SvelteComponentTyped } from "svelte";
|
|
|
2
2
|
declare const __propDef: {
|
|
3
3
|
props: {
|
|
4
4
|
kind?: "script" | "failure" | "trigger" | "approval" | undefined;
|
|
5
|
+
isTemplate?: boolean | undefined;
|
|
6
|
+
displayLock?: boolean | undefined;
|
|
5
7
|
filter?: string | undefined;
|
|
6
8
|
};
|
|
7
9
|
events: {
|
|
@@ -9,7 +11,9 @@ declare const __propDef: {
|
|
|
9
11
|
} & {
|
|
10
12
|
[evt: string]: CustomEvent<any>;
|
|
11
13
|
};
|
|
12
|
-
slots: {
|
|
14
|
+
slots: {
|
|
15
|
+
default: {};
|
|
16
|
+
};
|
|
13
17
|
};
|
|
14
18
|
export type WorkspaceScriptPickerProps = typeof __propDef.props;
|
|
15
19
|
export type WorkspaceScriptPickerEvents = typeof __propDef.events;
|
|
@@ -76,7 +76,8 @@ export function getStepPropPicker(flowState, parentModule, previousModule, id, f
|
|
|
76
76
|
const pickableProperties = {
|
|
77
77
|
flow_input: flowInput,
|
|
78
78
|
priorIds: priorIds,
|
|
79
|
-
previousId: previousIds[0]
|
|
79
|
+
previousId: previousIds[0],
|
|
80
|
+
hasResume: previousModule?.suspend != undefined,
|
|
80
81
|
};
|
|
81
82
|
if (approvers && ((previousModule?.suspend?.required_events ?? 0) > 0)) {
|
|
82
83
|
pickableProperties["approvers"] = "The list of approvers";
|
|
@@ -34,7 +34,15 @@ setContext('PropPickerWrapper', {
|
|
|
34
34
|
</Pane>
|
|
35
35
|
<Pane minSize={20} size={40} class="py-2 relative !transition-none">
|
|
36
36
|
{#if result}
|
|
37
|
-
<PropPickerResult
|
|
37
|
+
<PropPickerResult
|
|
38
|
+
{result}
|
|
39
|
+
on:select={({ detail }) => {
|
|
40
|
+
dispatch('select', detail)
|
|
41
|
+
if ($propPickerConfig?.onSelect(detail)) {
|
|
42
|
+
propPickerConfig.set(undefined)
|
|
43
|
+
}
|
|
44
|
+
}}
|
|
45
|
+
/>
|
|
38
46
|
{:else if pickableProperties}
|
|
39
47
|
<PropPicker
|
|
40
48
|
{displayContext}
|
|
@@ -17,5 +17,4 @@ export declare const NEVER_TESTED_THIS_FAR = "never tested this far";
|
|
|
17
17
|
export declare function emptyFlowModuleState(): FlowModuleState;
|
|
18
18
|
export declare function numberToChars(n: number): any;
|
|
19
19
|
export declare function charsToNumber(n: string): number;
|
|
20
|
-
export declare function isEmptyFlowModule(flowModule: FlowModule): boolean;
|
|
21
20
|
export declare function findNextAvailablePath(path: string): Promise<string>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { JobService, ScriptService } from '../../gen';
|
|
2
2
|
import { inferArgs } from '../../infer';
|
|
3
|
-
import { loadSchema } from '../../scripts';
|
|
3
|
+
import { loadSchema, loadSchemaFlow } from '../../scripts';
|
|
4
4
|
import { workspaceStore } from '../../stores';
|
|
5
5
|
import { emptySchema } from '../../utils';
|
|
6
6
|
import { get } from 'svelte/store';
|
|
@@ -46,15 +46,18 @@ export function getTypeAsString(arg) {
|
|
|
46
46
|
}
|
|
47
47
|
export async function loadSchemaFromModule(module) {
|
|
48
48
|
const mod = module.value;
|
|
49
|
-
if (mod.type == 'rawscript' || mod.type === 'script') {
|
|
49
|
+
if (mod.type == 'rawscript' || mod.type === 'script' || mod.type === 'flow') {
|
|
50
50
|
let schema;
|
|
51
51
|
if (mod.type === 'rawscript') {
|
|
52
52
|
schema = emptySchema();
|
|
53
53
|
await inferArgs(mod.language, mod.content ?? '', schema);
|
|
54
54
|
}
|
|
55
|
-
else if (mod.path && mod.path != '') {
|
|
55
|
+
else if (mod.type == 'script' && mod.path && mod.path != '') {
|
|
56
56
|
schema = await loadSchema(mod.path);
|
|
57
57
|
}
|
|
58
|
+
else if (mod.type == 'flow' && mod.path && mod.path != '') {
|
|
59
|
+
schema = await loadSchemaFlow(mod.path);
|
|
60
|
+
}
|
|
58
61
|
else {
|
|
59
62
|
return {
|
|
60
63
|
input_transforms: {},
|
|
@@ -164,9 +167,6 @@ export function charsToNumber(n) {
|
|
|
164
167
|
}
|
|
165
168
|
return res - 1;
|
|
166
169
|
}
|
|
167
|
-
export function isEmptyFlowModule(flowModule) {
|
|
168
|
-
return flowModule.value.type === 'identity';
|
|
169
|
-
}
|
|
170
170
|
export async function findNextAvailablePath(path) {
|
|
171
171
|
try {
|
|
172
172
|
await ScriptService.getScriptByPath({
|