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.
Files changed (349) hide show
  1. package/components/ApiConnectForm.svelte +42 -7
  2. package/components/ApiConnectForm.svelte.d.ts +2 -1
  3. package/components/AppConnect.svelte +19 -11
  4. package/components/ArgInfo.svelte +6 -2
  5. package/components/ArgInput.svelte +9 -3
  6. package/components/ArgInput.svelte.d.ts +1 -0
  7. package/components/CenteredPage.svelte +1 -1
  8. package/components/CenteredPage.svelte.d.ts +6 -2
  9. package/components/CronInput.svelte +1 -1
  10. package/components/DisplayResult.svelte +39 -2
  11. package/components/Dropdown.svelte +73 -100
  12. package/components/Dropdown.svelte.d.ts +1 -3
  13. package/components/Editor.svelte +16 -5
  14. package/components/EditorBar.svelte +69 -63
  15. package/components/EditorBar.svelte.d.ts +1 -0
  16. package/components/FlowBuilder.svelte +74 -68
  17. package/components/FlowGraphViewer.svelte +136 -34
  18. package/components/FlowGraphViewer.svelte.d.ts +1 -0
  19. package/components/FlowJobResult.svelte +6 -1
  20. package/components/FlowJobResult.svelte.d.ts +2 -0
  21. package/components/FlowMetadata.svelte +4 -2
  22. package/components/FlowPreviewContent.svelte +10 -23
  23. package/components/FlowPreviewContent.svelte.d.ts +3 -0
  24. package/components/FlowStatusViewer.svelte +155 -30
  25. package/components/FlowStatusViewer.svelte.d.ts +4 -2
  26. package/components/FlowViewer.svelte +3 -3
  27. package/components/FlowViewer.svelte.d.ts +1 -0
  28. package/components/HighlightCode.svelte +1 -1
  29. package/components/HighlightCode.svelte.d.ts +1 -0
  30. package/components/IconedPath.svelte +16 -6
  31. package/components/IconedPath.svelte.d.ts +2 -0
  32. package/components/IconedResourceType.svelte +5 -2
  33. package/components/InputTransformForm.svelte +92 -73
  34. package/components/InviteGlobalUser.svelte +2 -2
  35. package/components/InviteGlobalUser.svelte.d.ts +1 -1
  36. package/components/InviteUser.svelte +20 -6
  37. package/components/InviteUser.svelte.d.ts +1 -1
  38. package/components/ItemPicker.svelte +38 -27
  39. package/components/ItemPicker.svelte.d.ts +2 -1
  40. package/components/JobStatus.svelte +19 -13
  41. package/components/LogViewer.svelte +11 -3
  42. package/components/LogViewer.svelte.d.ts +1 -0
  43. package/components/ModuleStatus.svelte +38 -0
  44. package/components/ModuleStatus.svelte.d.ts +18 -0
  45. package/components/ObjectResourceInput.svelte +8 -52
  46. package/components/ObjectResourceInput.svelte.d.ts +0 -1
  47. package/components/Path.svelte +2 -2
  48. package/components/Path.svelte.d.ts +1 -1
  49. package/components/Popover.svelte +7 -1
  50. package/components/Popover.svelte.d.ts +3 -1
  51. package/components/ResourceEditor.svelte +57 -29
  52. package/components/ResourcePicker.svelte +12 -2
  53. package/components/SchemaEditor.svelte +2 -1
  54. package/components/SchemaForm.svelte +2 -1
  55. package/components/SchemaForm.svelte.d.ts +1 -0
  56. package/components/SchemaModal.svelte +11 -10
  57. package/components/ScriptBuilder.svelte +207 -192
  58. package/components/ScriptBuilder.svelte.d.ts +1 -1
  59. package/components/ScriptEditor.svelte +49 -45
  60. package/components/ScriptEditor.svelte.d.ts +1 -0
  61. package/components/ScriptPicker.svelte.d.ts +1 -1
  62. package/components/ScriptSchema.svelte +11 -30
  63. package/components/ScriptSchema.svelte.d.ts +0 -1
  64. package/components/SharedBadge.svelte +2 -3
  65. package/components/SimpleEditor.svelte +6 -7
  66. package/components/SimpleEditor.svelte.d.ts +1 -0
  67. package/components/Star.svelte +2 -2
  68. package/components/SuperadminSettings.svelte +9 -38
  69. package/components/TableSimple.svelte +1 -1
  70. package/components/TestJobLoader.svelte +20 -8
  71. package/components/ToggleHubWorkspace.svelte +16 -0
  72. package/components/ToggleHubWorkspace.svelte.d.ts +16 -0
  73. package/components/Tooltip.svelte.d.ts +1 -1
  74. package/components/VariableEditor.svelte +22 -9
  75. package/components/apps/CreateApp.svelte +5 -2
  76. package/components/apps/CreateApp.svelte.d.ts +1 -1
  77. package/components/apps/components/DisplayComponent.svelte +7 -14
  78. package/components/apps/components/DisplayComponent.svelte.d.ts +3 -2
  79. package/components/apps/components/buttons/AppButton.svelte +34 -27
  80. package/components/apps/components/buttons/AppButton.svelte.d.ts +6 -6
  81. package/components/apps/components/dataDisplay/AppBarChart.svelte +33 -9
  82. package/components/apps/components/dataDisplay/AppBarChart.svelte.d.ts +3 -5
  83. package/components/apps/components/dataDisplay/AppPieChart.svelte +33 -12
  84. package/components/apps/components/dataDisplay/AppPieChart.svelte.d.ts +3 -5
  85. package/components/apps/components/dataDisplay/AppTable.svelte +27 -30
  86. package/components/apps/components/dataDisplay/AppTable.svelte.d.ts +4 -8
  87. package/components/apps/components/dataDisplay/AppText.svelte +16 -9
  88. package/components/apps/components/dataDisplay/AppText.svelte.d.ts +3 -2
  89. package/components/apps/components/dataDisplay/app.md +49 -0
  90. package/components/apps/components/form/AppForm.svelte +50 -0
  91. package/components/apps/components/form/AppForm.svelte.d.ts +25 -0
  92. package/components/apps/components/helpers/AlignWrapper.svelte +2 -1
  93. package/components/apps/components/helpers/AlignWrapper.svelte.d.ts +1 -0
  94. package/components/apps/components/helpers/DebouncedInput.svelte +9 -1
  95. package/components/apps/components/helpers/DebouncedInput.svelte.d.ts +2 -1
  96. package/components/apps/components/helpers/InputValue.svelte +15 -6
  97. package/components/apps/components/helpers/InputValue.svelte.d.ts +2 -2
  98. package/components/apps/components/helpers/NonRunnableComponent.svelte +20 -0
  99. package/components/apps/components/helpers/NonRunnableComponent.svelte.d.ts +21 -0
  100. package/components/apps/components/helpers/RunnableComponent.svelte +36 -30
  101. package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +6 -7
  102. package/components/apps/components/helpers/RunnableWrapper.svelte +32 -0
  103. package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +26 -0
  104. package/components/apps/components/numberInputs/AppNumberInput.svelte +36 -0
  105. package/components/apps/components/numberInputs/AppNumberInput.svelte.d.ts +20 -0
  106. package/components/apps/components/selectInputs/AppCheckbox.svelte +4 -2
  107. package/components/apps/components/selectInputs/AppCheckbox.svelte.d.ts +2 -2
  108. package/components/apps/components/textInputs/AppTextInput.svelte +21 -0
  109. package/components/apps/components/textInputs/AppTextInput.svelte.d.ts +20 -0
  110. package/components/apps/editor/AppEditor.svelte +66 -55
  111. package/components/apps/editor/AppEditorHeader.svelte +4 -4
  112. package/components/apps/editor/AppPreview.svelte +42 -0
  113. package/components/apps/editor/AppPreview.svelte.d.ts +17 -0
  114. package/components/apps/editor/ComponentEditor.svelte +41 -20
  115. package/components/apps/editor/ComponentEditor.svelte.d.ts +2 -0
  116. package/components/apps/editor/ComponentHeader.svelte +28 -0
  117. package/components/apps/editor/ComponentHeader.svelte.d.ts +20 -0
  118. package/components/apps/editor/GridEditor.svelte +54 -5
  119. package/components/apps/editor/GridEditor.svelte.d.ts +1 -1
  120. package/components/apps/editor/RecomputeAllComponents.svelte +28 -0
  121. package/components/apps/editor/RecomputeAllComponents.svelte.d.ts +14 -0
  122. package/components/apps/editor/componentsPanel/ComponentList.svelte +94 -26
  123. package/components/apps/editor/componentsPanel/ComponentList.svelte.d.ts +1 -1
  124. package/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +2 -6
  125. package/components/apps/editor/componentsPanel/componentDefaultProps.js +1 -5
  126. package/components/apps/editor/componentsPanel/componentStaticValues.d.ts +2 -0
  127. package/components/apps/editor/componentsPanel/componentStaticValues.js +3 -1
  128. package/components/apps/editor/componentsPanel/data.js +191 -76
  129. package/components/apps/editor/contextPanel/ContextPanel.svelte +56 -48
  130. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +67 -0
  131. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte.d.ts +55 -0
  132. package/components/apps/editor/settingsPanel/ComponentPanel.svelte +154 -129
  133. package/components/apps/editor/settingsPanel/ConnectedInputEditor.svelte +70 -0
  134. package/components/apps/editor/settingsPanel/ConnectedInputEditor.svelte.d.ts +17 -0
  135. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +6 -6
  136. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +2 -2
  137. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +55 -87
  138. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +3 -4
  139. package/components/apps/editor/settingsPanel/PickFlow.svelte +3 -2
  140. package/components/apps/editor/settingsPanel/PickFlow.svelte.d.ts +1 -1
  141. package/components/apps/editor/settingsPanel/PickInlineScript.svelte +3 -3
  142. package/components/apps/editor/settingsPanel/Recompute.svelte +46 -0
  143. package/components/apps/editor/settingsPanel/Recompute.svelte.d.ts +17 -0
  144. package/components/apps/editor/settingsPanel/StaticInputEditor.svelte +31 -14
  145. package/components/apps/editor/settingsPanel/StaticInputEditor.svelte.d.ts +3 -3
  146. package/components/apps/editor/settingsPanel/SubTypeEditor.svelte +17 -0
  147. package/components/apps/editor/settingsPanel/SubTypeEditor.svelte.d.ts +19 -0
  148. package/components/apps/editor/settingsPanel/TableActionLabel.svelte +10 -0
  149. package/components/apps/editor/settingsPanel/TableActionLabel.svelte.d.ts +17 -0
  150. package/components/apps/editor/settingsPanel/TableActions.svelte +13 -9
  151. package/components/apps/editor/settingsPanel/UserInputEditor.svelte.d.ts +1 -1
  152. package/components/apps/editor/settingsPanel/common/PanelSection.svelte +3 -2
  153. package/components/apps/editor/settingsPanel/common/PanelSection.svelte.d.ts +1 -0
  154. package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte +53 -0
  155. package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte.d.ts +21 -0
  156. package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +98 -0
  157. package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte.d.ts +18 -0
  158. package/components/apps/editor/settingsPanel/mainInput/WorkspaceFlowList.svelte +81 -0
  159. package/components/apps/editor/settingsPanel/mainInput/WorkspaceFlowList.svelte.d.ts +20 -0
  160. package/components/apps/editor/settingsPanel/mainInput/WorkspaceScriptList.svelte +81 -0
  161. package/components/apps/editor/settingsPanel/mainInput/WorkspaceScriptList.svelte.d.ts +20 -0
  162. package/components/apps/inputType.d.ts +62 -0
  163. package/components/apps/inputType.js +1 -0
  164. package/components/apps/rx.d.ts +4 -4
  165. package/components/apps/rx.js +16 -4
  166. package/components/apps/types.d.ts +20 -54
  167. package/components/apps/utils.d.ts +11 -34
  168. package/components/apps/utils.js +54 -18
  169. package/components/common/alert/Alert.svelte +2 -1
  170. package/components/common/alert/Alert.svelte.d.ts +1 -0
  171. package/components/common/button/Button.svelte +1 -1
  172. package/components/common/confirmationModal/UnsavedConfirmationModal.svelte.d.ts +1 -1
  173. package/components/common/drawer/DrawerContent.svelte +23 -22
  174. package/components/common/drawer/DrawerContent.svelte.d.ts +1 -3
  175. package/components/common/kbd/Kbd.svelte.d.ts +2 -2
  176. package/components/common/languageIcons/LanguageIcon.svelte +4 -2
  177. package/components/common/languageIcons/LanguageIcon.svelte.d.ts +1 -1
  178. package/components/common/menu/Menu.svelte +0 -1
  179. package/components/common/menu/MenuItem.svelte.d.ts +6 -2
  180. package/components/common/popup/Popup.svelte +0 -11
  181. package/components/common/table/AppRow.svelte +42 -26
  182. package/components/common/table/AppRow.svelte.d.ts +1 -1
  183. package/components/common/table/FlowRow.svelte +54 -49
  184. package/components/common/table/LanguageBadge.svelte +1 -1
  185. package/components/common/table/Row.svelte +27 -16
  186. package/components/common/table/Row.svelte.d.ts +2 -1
  187. package/components/common/table/RowIcon.svelte +13 -8
  188. package/components/common/table/ScriptRow.svelte +65 -57
  189. package/components/common/table/Table.svelte.d.ts +6 -2
  190. package/components/flows/CreateActionsFlow.svelte +14 -41
  191. package/components/flows/CreateActionsFlow.svelte.d.ts +1 -1
  192. package/components/flows/common/FlowCardHeader.svelte +7 -8
  193. package/components/flows/content/BranchPredicateEditor.svelte +30 -0
  194. package/components/flows/content/BranchPredicateEditor.svelte.d.ts +23 -0
  195. package/components/flows/content/CapturePayload.svelte +12 -8
  196. package/components/flows/content/DynamicInputHelpBox.svelte.d.ts +1 -1
  197. package/components/flows/content/FlowBranchAllWrapper.svelte +2 -2
  198. package/components/flows/content/FlowBranchOneWrapper.svelte +4 -36
  199. package/components/flows/content/FlowBranchesAllWrapper.svelte +91 -0
  200. package/components/flows/content/FlowBranchesAllWrapper.svelte.d.ts +18 -0
  201. package/components/flows/content/FlowBranchesOneWrapper.svelte +88 -0
  202. package/components/flows/content/FlowBranchesOneWrapper.svelte.d.ts +18 -0
  203. package/components/flows/content/FlowFailureModule.svelte.d.ts +1 -1
  204. package/components/flows/content/FlowInput.svelte +1 -2
  205. package/components/flows/content/FlowInput.svelte.d.ts +1 -1
  206. package/components/flows/content/FlowInputs.svelte +28 -26
  207. package/components/flows/content/FlowInputsFlow.svelte +101 -0
  208. package/components/flows/content/FlowInputsFlow.svelte.d.ts +20 -0
  209. package/components/flows/content/FlowLoop.svelte +10 -3
  210. package/components/flows/content/FlowModuleComponent.svelte +46 -35
  211. package/components/flows/content/FlowModuleEarlyStop.svelte +4 -3
  212. package/components/flows/content/FlowModuleHeader.svelte +22 -21
  213. package/components/flows/content/FlowModuleHeader.svelte.d.ts +1 -0
  214. package/components/flows/content/FlowModuleSleep.svelte +69 -0
  215. package/components/flows/content/FlowModuleSleep.svelte.d.ts +18 -0
  216. package/components/flows/content/FlowModuleSuspend.svelte +5 -63
  217. package/components/flows/content/FlowModuleSuspend.svelte.d.ts +0 -1
  218. package/components/flows/content/FlowModuleWrapper.svelte +59 -35
  219. package/components/flows/content/FlowPathViewer.svelte +20 -0
  220. package/components/flows/content/FlowPathViewer.svelte.d.ts +17 -0
  221. package/components/flows/content/FlowSchedules.svelte.d.ts +1 -1
  222. package/components/flows/content/FlowSettings.svelte +8 -12
  223. package/components/flows/flowState.js +2 -2
  224. package/components/flows/flowStateUtils.d.ts +7 -3
  225. package/components/flows/flowStateUtils.js +29 -8
  226. package/components/flows/header/FlowImportExportMenu.svelte.d.ts +1 -1
  227. package/components/flows/header/FlowPreviewButtons.svelte +6 -2
  228. package/components/flows/header/FlowPreviewButtons.svelte.d.ts +1 -1
  229. package/components/flows/map/FlowErrorHandlerItem.svelte +5 -5
  230. package/components/flows/map/FlowErrorHandlerItem.svelte.d.ts +1 -1
  231. package/components/flows/map/FlowInputsItem.svelte.d.ts +1 -1
  232. package/components/flows/map/FlowModuleSchemaItem.svelte +30 -11
  233. package/components/flows/map/FlowModuleSchemaMap.svelte +26 -20
  234. package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +1 -1
  235. package/components/flows/map/FlowSettingsItem.svelte +1 -1
  236. package/components/flows/map/FlowSettingsItem.svelte.d.ts +1 -1
  237. package/components/flows/map/InsertModuleButton.svelte +20 -4
  238. package/components/flows/map/InsertModuleButton.svelte.d.ts +1 -1
  239. package/components/flows/map/MapItem.svelte +11 -5
  240. package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +1 -1
  241. package/components/flows/pickers/PickHubFlow.svelte +72 -0
  242. package/components/flows/pickers/PickHubFlow.svelte.d.ts +20 -0
  243. package/components/flows/pickers/PickHubScript.svelte +65 -56
  244. package/components/flows/pickers/PickHubScript.svelte.d.ts +3 -1
  245. package/components/flows/pickers/PickScript.svelte +2 -2
  246. package/components/flows/pickers/WorkspaceScriptPicker.svelte +79 -19
  247. package/components/flows/pickers/WorkspaceScriptPicker.svelte.d.ts +5 -1
  248. package/components/flows/previousResults.d.ts +1 -0
  249. package/components/flows/previousResults.js +2 -1
  250. package/components/flows/propPicker/PropPickerWrapper.svelte +9 -1
  251. package/components/flows/utils.d.ts +0 -1
  252. package/components/flows/utils.js +6 -6
  253. package/components/graph/FlowGraph.svelte +120 -54
  254. package/components/graph/FlowGraph.svelte.d.ts +3 -2
  255. package/components/graph/model.d.ts +11 -0
  256. package/components/home/ItemsList.svelte +265 -0
  257. package/components/home/ItemsList.svelte.d.ts +16 -0
  258. package/components/home/ListFilters.svelte +37 -0
  259. package/components/home/ListFilters.svelte.d.ts +18 -0
  260. package/components/home/NoItemFound.svelte +6 -0
  261. package/components/home/NoItemFound.svelte.d.ts +23 -0
  262. package/components/icons/DatadogIcon.svelte +48 -0
  263. package/components/icons/DatadogIcon.svelte.d.ts +17 -0
  264. package/components/icons/FunkwhaleIcon.svelte +90 -0
  265. package/components/icons/FunkwhaleIcon.svelte.d.ts +17 -0
  266. package/components/icons/GdocsIcon.svelte +9 -0
  267. package/components/icons/GdocsIcon.svelte.d.ts +17 -0
  268. package/components/icons/HubspotIcon.svelte +9 -0
  269. package/components/icons/HubspotIcon.svelte.d.ts +17 -0
  270. package/components/icons/LinkedinIcon.svelte +9 -0
  271. package/components/icons/LinkedinIcon.svelte.d.ts +17 -0
  272. package/components/icons/Mail.svelte +9 -53
  273. package/components/icons/Mysql.svelte +8 -8
  274. package/components/icons/NextcloudIcon.svelte +9 -0
  275. package/components/icons/NextcloudIcon.svelte.d.ts +17 -0
  276. package/components/icons/QRCodeIcon.svelte +5 -0
  277. package/components/icons/QRCodeIcon.svelte.d.ts +16 -0
  278. package/components/icons/SendflakeIcon.svelte +15 -0
  279. package/components/icons/SendflakeIcon.svelte.d.ts +17 -0
  280. package/components/icons/StripeIcon.svelte +9 -0
  281. package/components/icons/StripeIcon.svelte.d.ts +17 -0
  282. package/components/icons/TelegramIcon.svelte +9 -0
  283. package/components/icons/TelegramIcon.svelte.d.ts +17 -0
  284. package/components/icons/WindmillIcon.svelte +3 -3
  285. package/components/icons/index.d.ts +23 -1
  286. package/components/icons/index.js +23 -1
  287. package/components/jobs/JobDetail.svelte +2 -2
  288. package/components/preview/FlowPreviewStatus.svelte +12 -23
  289. package/components/propertyPicker/PropPicker.svelte +16 -0
  290. package/components/propertyPicker/PropPickerResult.svelte +2 -3
  291. package/components/propertyPicker/WarningMessage.svelte.d.ts +6 -2
  292. package/components/scriptEditor/LogPanel.svelte +11 -4
  293. package/components/scripts/CreateActionsScript.svelte +13 -59
  294. package/components/scripts/CreateActionsScript.svelte.d.ts +1 -1
  295. package/components/sidebar/FavoriteMenu.svelte +52 -0
  296. package/components/sidebar/FavoriteMenu.svelte.d.ts +21 -0
  297. package/components/sidebar/SidebarContent.svelte +10 -19
  298. package/components/sidebar/SidebarContent.svelte.d.ts +0 -4
  299. package/components/sidebar/UserMenu.svelte +21 -4
  300. package/components/sidebar/WorkspaceMenu.svelte +6 -7
  301. package/editorUtils.d.ts +2 -0
  302. package/editorUtils.js +3 -1
  303. package/gen/core/OpenAPI.js +1 -1
  304. package/gen/index.d.ts +1 -0
  305. package/gen/models/CompletedJob.d.ts +1 -0
  306. package/gen/models/CreateWorkspace.d.ts +0 -1
  307. package/gen/models/EditWorkspaceUser.d.ts +2 -0
  308. package/gen/models/FlowModuleValue.d.ts +2 -1
  309. package/gen/models/FlowStatus.d.ts +3 -1
  310. package/gen/models/FlowStatusModule.d.ts +1 -1
  311. package/gen/models/FlowStatusModule.js +1 -1
  312. package/gen/models/Identity.d.ts +1 -0
  313. package/gen/models/ListableResource.d.ts +1 -0
  314. package/gen/models/ListableVariable.d.ts +1 -0
  315. package/gen/models/PathFlow.d.ts +6 -0
  316. package/gen/models/PathFlow.js +4 -0
  317. package/gen/models/PathScript.d.ts +1 -0
  318. package/gen/models/QueuedJob.d.ts +1 -0
  319. package/gen/models/Schedule.d.ts +2 -0
  320. package/gen/models/Usage.d.ts +1 -3
  321. package/gen/models/WorkspaceInvite.d.ts +1 -0
  322. package/gen/services/AppService.d.ts +7 -1
  323. package/gen/services/AppService.js +2 -1
  324. package/gen/services/JobService.d.ts +35 -5
  325. package/gen/services/JobService.js +14 -5
  326. package/gen/services/OauthService.d.ts +1 -1
  327. package/gen/services/ResourceService.d.ts +6 -2
  328. package/gen/services/ResourceService.js +2 -1
  329. package/gen/services/UserService.d.ts +6 -0
  330. package/gen/services/UserService.js +11 -0
  331. package/gen/services/WorkspaceService.d.ts +35 -0
  332. package/gen/services/WorkspaceService.js +41 -0
  333. package/package.json +56 -17
  334. package/script_helpers.d.ts +2 -1
  335. package/script_helpers.js +20 -3
  336. package/scripts.d.ts +1 -0
  337. package/scripts.js +8 -1
  338. package/stores.d.ts +11 -2
  339. package/stores.js +24 -6
  340. package/utils.d.ts +3 -1
  341. package/utils.js +11 -4
  342. package/components/ButtonAndDropdown.svelte +0 -25
  343. package/components/ButtonAndDropdown.svelte.d.ts +0 -23
  344. package/components/apps/components/index.d.ts +0 -22
  345. package/components/apps/components/index.js +0 -42
  346. package/components/apps/editor/settingsPanel/DynamicInputEditor.svelte +0 -64
  347. package/components/apps/editor/settingsPanel/DynamicInputEditor.svelte.d.ts +0 -17
  348. package/components/flows/content/FlowBranchesWrapper.svelte +0 -140
  349. 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, faRepeat } from '@fortawesome/free-solid-svg-icons';
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 or Module
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
- <Icon data={faRepeat} scale={0.8} class="mr-1" />
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>
@@ -1,6 +1,6 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
- props: {};
3
+ props: Record<string, never>;
4
4
  events: {
5
5
  new: CustomEvent<any>;
6
6
  } & {
@@ -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 { faArrowRotateForward, faBuilding, faCode, faCodeBranch, faLongArrowDown, faRepeat } from '@fortawesome/free-solid-svg-icons';
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
- <Icon data={faArrowRotateForward} scale={1.1} />
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 class="w-5">
103
- <IconedResourceType name={mod.value.path.split('/')[2]} silent={true} />
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
- <Icon data={faBuilding} scale={1.1} />
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
- $: items = ($hubScripts ?? []).filter((i) => i.kind === kind);
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
- <div class="flex flex-col min-h-0">
25
- <div class="w-12/12 pb-2 flex flex-row my-1 gap-1">
26
- <input type="text" placeholder="Search Hub Scripts" bind:value={filter} class="text-2xl grow" />
27
- </div>
28
-
29
- <div class="gap-2 w-full flex flex-wrap pb-2">
30
- {#each apps as app}
31
- <Badge
32
- class="cursor-pointer hover:bg-gray-200"
33
- on:click={() => {
34
- appFilter = appFilter == app ? undefined : app
35
- }}
36
- capitalize
37
- color={app === appFilter ? 'blue' : 'gray'}
38
- >
39
- {app}
40
- {#if app === appFilter}&cross;{/if}
41
- </Badge>
42
- {/each}
43
- </div>
44
- <div class="overflow-auto">
45
- <ul class="divide-y divide-gray-200">
46
- {#if $hubScripts}
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
- <div class="mr-2 text-left">
62
- {#if obj.marked}
63
- {@html obj.marked ?? ''}
64
- {:else}
65
- {obj.summary ?? ''}
66
- {/if}
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
- </button>
69
- </li>
70
- {/each}
71
- {:else}
72
- {#each Array(10).fill(0) as sk}
73
- <Skeleton layout={[[4], 0.5]} />
74
- {/each}
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
- </div>
78
- </div>
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}
@@ -9,7 +9,9 @@ declare const __propDef: {
9
9
  } & {
10
10
  [evt: string]: CustomEvent<any>;
11
11
  };
12
- slots: {};
12
+ slots: {
13
+ default: {};
14
+ };
13
15
  };
14
16
  export type PickHubScriptProps = typeof __propDef.props;
15
17
  export type PickHubScriptEvents = typeof __propDef.events;
@@ -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-lucide';
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="18px" />
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 items = [];
7
- let filteredItems = [];
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-12/12 pb-4 mt-1">
26
- <input type="text" placeholder="Search script" bind:value={filter} class="text-2xl grow" />
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}&cross;{/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 obj}
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', obj)
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">{obj['summary'] ?? ''}</span>
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
- >{obj['path'] ?? ''}</span
96
+ >{path ?? ''}</span
44
97
  >
45
98
  </div>
46
- <div class="text-xs font-light italic text-left">{obj['description'] ?? ''}</div>
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;
@@ -4,6 +4,7 @@ export type PickableProperties = {
4
4
  flow_input: Object;
5
5
  priorIds: Record<string, any>;
6
6
  previousId: string | undefined;
7
+ hasResume: boolean;
7
8
  };
8
9
  type StepPropPicker = {
9
10
  pickableProperties: PickableProperties;
@@ -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 {result} />
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({