windmill-components 1.37.0 → 1.46.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (401) hide show
  1. package/common.d.ts +1 -0
  2. package/components/AppConnect.svelte +45 -49
  3. package/components/ArgInfo.svelte +37 -15
  4. package/components/ArgInput.svelte +33 -34
  5. package/components/ArgInput.svelte.d.ts +3 -1
  6. package/components/ButtonAndDropdown.svelte +1 -1
  7. package/components/CenteredPage.svelte +2 -2
  8. package/components/CronInput.svelte +24 -20
  9. package/components/CronInput.svelte.d.ts +1 -0
  10. package/components/DisplayResult.svelte +2 -2
  11. package/components/Dropdown.svelte +10 -13
  12. package/components/Dropdown.svelte.d.ts +4 -1
  13. package/components/Editor.svelte +27 -3
  14. package/components/Editor.svelte.d.ts +3 -1
  15. package/components/EditorBar.svelte +77 -30
  16. package/components/EditorBar.svelte.d.ts +3 -1
  17. package/components/FieldHeader.svelte +6 -5
  18. package/components/FlowBuilder.svelte +52 -55
  19. package/components/FlowBuilder.svelte.d.ts +2 -0
  20. package/components/FlowJobResult.svelte +11 -18
  21. package/components/FlowJobResult.svelte.d.ts +2 -2
  22. package/components/FlowMetadata.svelte +65 -0
  23. package/components/FlowMetadata.svelte.d.ts +17 -0
  24. package/components/FlowModulesViewer.svelte +18 -4
  25. package/components/FlowPreviewContent.svelte +88 -50
  26. package/components/FlowPreviewContent.svelte.d.ts +1 -0
  27. package/components/FlowStatusViewer.svelte +123 -61
  28. package/components/FlowStatusViewer.svelte.d.ts +8 -3
  29. package/components/FlowViewer.svelte +84 -9
  30. package/components/FlowViewer.svelte.d.ts +1 -0
  31. package/components/GroupModal.svelte +43 -44
  32. package/components/GroupModal.svelte.d.ts +2 -2
  33. package/components/HighlightCode.svelte +4 -1
  34. package/components/HighlightCode.svelte.d.ts +1 -1
  35. package/components/IconedResourceType.svelte +6 -4
  36. package/components/IconedResourceType.svelte.d.ts +1 -0
  37. package/components/InputTransformForm.svelte +38 -27
  38. package/components/InputTransformsViewer.svelte +2 -1
  39. package/components/InviteGlobalUser.svelte +6 -10
  40. package/components/InviteGlobalUser.svelte.d.ts +1 -4
  41. package/components/InviteUser.svelte +4 -8
  42. package/components/InviteUser.svelte.d.ts +1 -4
  43. package/components/ItemPicker.svelte +50 -43
  44. package/components/ItemPicker.svelte.d.ts +2 -2
  45. package/components/JobArgs.svelte +33 -0
  46. package/components/JobArgs.svelte.d.ts +16 -0
  47. package/components/JobStatus.svelte +21 -17
  48. package/components/LogViewer.svelte +11 -6
  49. package/components/Modal.svelte +5 -5
  50. package/components/Modal.svelte.d.ts +4 -4
  51. package/components/ModulePreview.svelte +47 -63
  52. package/components/ModulePreview.svelte.d.ts +0 -1
  53. package/components/PageHeader.svelte +6 -6
  54. package/components/Password.svelte +1 -1
  55. package/components/Path.svelte +28 -7
  56. package/components/Path.svelte.d.ts +3 -3
  57. package/components/Popover.svelte +61 -0
  58. package/components/Popover.svelte.d.ts +17 -0
  59. package/components/Required.svelte +4 -4
  60. package/components/Required.svelte.d.ts +1 -0
  61. package/components/ResourceEditor.svelte +105 -116
  62. package/components/ResourceEditor.svelte.d.ts +0 -1
  63. package/components/ResourcePicker.svelte +9 -6
  64. package/components/ResourceTypePicker.svelte +3 -1
  65. package/components/RunChart.svelte +102 -0
  66. package/components/RunChart.svelte.d.ts +20 -0
  67. package/components/RunForm.svelte +58 -40
  68. package/components/RunForm.svelte.d.ts +13 -0
  69. package/components/SchemaEditor.svelte +5 -5
  70. package/components/SchemaEditorProperty.svelte +1 -1
  71. package/components/SchemaForm.svelte +3 -1
  72. package/components/SchemaForm.svelte.d.ts +1 -0
  73. package/components/SchemaModal.svelte +113 -105
  74. package/components/SchemaModal.svelte.d.ts +4 -4
  75. package/components/SchemaViewer.svelte +7 -4
  76. package/components/ScriptBuilder.svelte +143 -163
  77. package/components/ScriptBuilder.svelte.d.ts +1 -0
  78. package/components/ScriptEditor.svelte +117 -114
  79. package/components/ScriptEditor.svelte.d.ts +1 -0
  80. package/components/ScriptPicker.svelte +16 -24
  81. package/components/ScriptSchema.svelte +33 -32
  82. package/components/ShareModal.svelte +74 -68
  83. package/components/ShareModal.svelte.d.ts +2 -2
  84. package/components/SimpleEditor.svelte +4 -2
  85. package/components/SuperadminSettings.svelte +134 -0
  86. package/components/SuperadminSettings.svelte.d.ts +19 -0
  87. package/components/TableCustom.svelte +1 -1
  88. package/components/TableSimple.svelte +1 -1
  89. package/components/TestJobLoader.svelte +14 -6
  90. package/components/TestJobLoader.svelte.d.ts +4 -2
  91. package/components/Toggle.svelte +5 -3
  92. package/components/Toggle.svelte.d.ts +2 -0
  93. package/components/Tooltip.svelte +9 -64
  94. package/components/UserSettings.svelte +241 -0
  95. package/components/UserSettings.svelte.d.ts +19 -0
  96. package/components/VariableEditor.svelte +80 -74
  97. package/components/common/actionRow/ActionRow.svelte +5 -4
  98. package/components/common/alert/Alert.svelte +1 -1
  99. package/components/common/alert/Alert.svelte.d.ts +1 -0
  100. package/components/common/badge/Badge.svelte +2 -2
  101. package/components/common/breadcrumb/Breadcrumb.svelte +24 -0
  102. package/components/common/breadcrumb/Breadcrumb.svelte.d.ts +22 -0
  103. package/components/common/button/Button.svelte +20 -8
  104. package/components/common/button/Button.svelte.d.ts +1 -0
  105. package/components/common/button/model.d.ts +1 -1
  106. package/components/common/confirmationModal/ConfirmationModal.svelte +1 -0
  107. package/components/common/drawer/Drawer.svelte +38 -7
  108. package/components/common/drawer/Drawer.svelte.d.ts +6 -0
  109. package/components/common/drawer/DrawerContent.svelte +21 -7
  110. package/components/common/drawer/DrawerContent.svelte.d.ts +4 -0
  111. package/components/common/index.d.ts +1 -0
  112. package/components/common/index.js +1 -0
  113. package/components/common/kbd/Kbd.svelte +1 -1
  114. package/components/common/languageIcons/Bash.svelte +18 -0
  115. package/components/common/languageIcons/Bash.svelte.d.ts +27 -0
  116. package/components/common/languageIcons/Go.svelte +34 -0
  117. package/components/common/languageIcons/Go.svelte.d.ts +27 -0
  118. package/components/common/languageIcons/LanguageIcon.svelte +19 -0
  119. package/components/common/languageIcons/LanguageIcon.svelte.d.ts +21 -0
  120. package/components/common/languageIcons/Python.svelte +51 -0
  121. package/components/common/languageIcons/Python.svelte.d.ts +27 -0
  122. package/components/common/languageIcons/TypeScript.svelte +31 -0
  123. package/components/common/languageIcons/TypeScript.svelte.d.ts +27 -0
  124. package/components/common/languageIcons/index.d.ts +5 -0
  125. package/components/common/languageIcons/index.js +5 -0
  126. package/components/common/menu/Menu.svelte +15 -19
  127. package/components/common/skeleton/Skeleton.svelte +1 -2
  128. package/components/common/skeleton/Skeleton.svelte.d.ts +0 -1
  129. package/components/common/skeleton/SkeletonElement.svelte +1 -1
  130. package/components/common/tabs/TabContent.svelte +2 -1
  131. package/components/common/tabs/TabContent.svelte.d.ts +1 -0
  132. package/components/common/tabs/Tabs.svelte +8 -6
  133. package/components/common/tabs/Tabs.svelte.d.ts +1 -0
  134. package/components/flows/FlowEditor.svelte +11 -20
  135. package/components/flows/FlowProgressBar.svelte +55 -0
  136. package/components/flows/FlowProgressBar.svelte.d.ts +21 -0
  137. package/components/flows/common/FlowCardHeader.svelte +5 -6
  138. package/components/flows/content/CapturePayload.svelte +112 -0
  139. package/components/flows/content/CapturePayload.svelte.d.ts +17 -0
  140. package/components/flows/content/DynamicInputHelpBox.svelte +6 -10
  141. package/components/flows/content/FlowBranchAllWrapper.svelte +21 -0
  142. package/components/flows/content/FlowBranchAllWrapper.svelte.d.ts +21 -0
  143. package/components/flows/content/FlowBranchOneWrapper.svelte +49 -0
  144. package/components/flows/content/FlowBranchOneWrapper.svelte.d.ts +23 -0
  145. package/components/flows/content/FlowBranchesWrapper.svelte +140 -0
  146. package/components/flows/content/FlowBranchesWrapper.svelte.d.ts +19 -0
  147. package/components/flows/content/FlowEditorPanel.svelte +8 -6
  148. package/components/flows/content/FlowFailureModule.svelte +4 -6
  149. package/components/flows/content/FlowInput.svelte +31 -5
  150. package/components/flows/content/FlowInputs.svelte +119 -50
  151. package/components/flows/content/FlowInputs.svelte.d.ts +5 -4
  152. package/components/flows/content/FlowLoop.svelte +85 -142
  153. package/components/flows/content/FlowLoop.svelte.d.ts +2 -1
  154. package/components/flows/content/FlowModuleComponent.svelte +231 -0
  155. package/components/flows/content/FlowModuleComponent.svelte.d.ts +20 -0
  156. package/components/flows/content/FlowModuleEarlyStop.svelte +45 -48
  157. package/components/flows/content/FlowModuleEarlyStop.svelte.d.ts +1 -0
  158. package/components/flows/content/FlowModuleHeader.svelte +11 -40
  159. package/components/flows/content/FlowModuleHeader.svelte.d.ts +0 -1
  160. package/components/flows/content/FlowModuleScript.svelte +7 -12
  161. package/components/flows/content/FlowModuleScript.svelte.d.ts +1 -2
  162. package/components/flows/content/FlowModuleSuspend.svelte +31 -15
  163. package/components/flows/content/FlowModuleSuspend.svelte.d.ts +1 -0
  164. package/components/flows/content/FlowModuleWrapper.svelte +138 -38
  165. package/components/flows/content/FlowModuleWrapper.svelte.d.ts +6 -1
  166. package/components/flows/content/FlowRetries.svelte +13 -2
  167. package/components/flows/content/FlowRetries.svelte.d.ts +1 -0
  168. package/components/flows/content/FlowSchedules.svelte +0 -2
  169. package/components/flows/content/FlowSettings.svelte +103 -72
  170. package/components/flows/flowState.d.ts +8 -8
  171. package/components/flows/flowState.js +32 -17
  172. package/components/flows/flowStateUtils.d.ts +21 -38
  173. package/components/flows/flowStateUtils.js +86 -158
  174. package/components/flows/flowStore.d.ts +3 -2
  175. package/components/flows/flowStore.js +60 -7
  176. package/components/flows/header/FlowImportExportMenu.svelte +12 -22
  177. package/components/flows/header/FlowPreviewButtons.svelte +11 -11
  178. package/components/flows/map/FlowBranchAllMap.svelte +90 -0
  179. package/components/flows/map/FlowBranchAllMap.svelte.d.ts +17 -0
  180. package/components/flows/map/FlowBranchOneMap.svelte +116 -0
  181. package/components/flows/map/FlowBranchOneMap.svelte.d.ts +17 -0
  182. package/components/flows/map/FlowErrorHandlerItem.svelte +14 -11
  183. package/components/flows/map/FlowInputsItem.svelte +19 -0
  184. package/components/flows/map/FlowInputsItem.svelte.d.ts +14 -0
  185. package/components/flows/map/FlowModuleSchemaItem.svelte +53 -36
  186. package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +5 -5
  187. package/components/flows/map/FlowModuleSchemaMap.svelte +73 -144
  188. package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +2 -3
  189. package/components/flows/map/FlowSettingsItem.svelte +29 -0
  190. package/components/flows/map/FlowSettingsItem.svelte.d.ts +14 -0
  191. package/components/flows/map/InsertModuleButton.svelte +11 -0
  192. package/components/flows/map/InsertModuleButton.svelte.d.ts +16 -0
  193. package/components/flows/map/MapItem.svelte +105 -0
  194. package/components/flows/map/MapItem.svelte.d.ts +22 -0
  195. package/components/flows/pickers/FlowScriptPicker.svelte +14 -4
  196. package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +1 -1
  197. package/components/flows/pickers/PickHubScript.svelte +5 -4
  198. package/components/flows/pickers/PickHubScript.svelte.d.ts +1 -0
  199. package/components/flows/pickers/PickScript.svelte +6 -5
  200. package/components/flows/pickers/PickScript.svelte.d.ts +1 -0
  201. package/components/flows/previousResults.d.ts +14 -0
  202. package/components/flows/previousResults.js +118 -0
  203. package/components/flows/propPicker/PropPickerWrapper.svelte +22 -15
  204. package/components/flows/propPicker/PropPickerWrapper.svelte.d.ts +6 -2
  205. package/components/flows/utils.d.ts +8 -5
  206. package/components/flows/utils.js +86 -56
  207. package/components/graph/FlowGraph.svelte +259 -0
  208. package/components/graph/FlowGraph.svelte.d.ts +20 -0
  209. package/components/graph/index.d.ts +3 -0
  210. package/components/graph/index.js +3 -0
  211. package/components/graph/model.d.ts +20 -0
  212. package/components/graph/model.js +9 -0
  213. package/components/graph/util.d.ts +9 -0
  214. package/components/graph/util.js +14 -0
  215. package/components/icons/WindmillIcon.svelte +85 -52
  216. package/components/icons/WindmillIcon.svelte.d.ts +2 -0
  217. package/components/jobs/JobDetail.svelte +40 -30
  218. package/components/landing/FlowGettingStarted.svelte +4 -3
  219. package/components/landing/FlowLandingBox.svelte +23 -53
  220. package/components/landing/RessourceGettingStarted.svelte +1 -1
  221. package/components/landing/ScriptBox.svelte +25 -27
  222. package/components/landing/ScriptGettingStarted.svelte +4 -3
  223. package/components/preview/FlowPreviewStatus.svelte +1 -1
  224. package/components/progressBar/ProgressBar.svelte +89 -0
  225. package/components/{ProgressBar.svelte.d.ts → progressBar/ProgressBar.svelte.d.ts} +5 -2
  226. package/components/progressBar/ProgressBarGeneralPart.svelte +22 -0
  227. package/components/progressBar/ProgressBarGeneralPart.svelte.d.ts +19 -0
  228. package/components/progressBar/ProgressBarLoopAccessor.svelte +14 -0
  229. package/components/progressBar/ProgressBarLoopAccessor.svelte.d.ts +19 -0
  230. package/components/progressBar/ProgressBarLoopPart.svelte +34 -0
  231. package/components/progressBar/ProgressBarLoopPart.svelte.d.ts +19 -0
  232. package/components/progressBar/index.d.ts +2 -0
  233. package/components/progressBar/index.js +2 -0
  234. package/components/progressBar/model.d.ts +32 -0
  235. package/components/progressBar/model.js +14 -0
  236. package/components/propertyPicker/ObjectViewer.svelte +18 -13
  237. package/components/propertyPicker/ObjectViewer.svelte.d.ts +1 -0
  238. package/components/propertyPicker/PropPicker.svelte +90 -44
  239. package/components/propertyPicker/PropPicker.svelte.d.ts +4 -1
  240. package/components/propertyPicker/PropPickerResult.svelte +12 -0
  241. package/components/propertyPicker/PropPickerResult.svelte.d.ts +18 -0
  242. package/components/propertyPicker/utils.d.ts +1 -1
  243. package/components/propertyPicker/utils.js +4 -1
  244. package/components/{script_editor → scriptEditor}/LogPanel.svelte +30 -20
  245. package/components/{script_editor → scriptEditor}/LogPanel.svelte.d.ts +0 -0
  246. package/components/scripts/CreateActions.svelte +2 -2
  247. package/components/sidebar/SidebarContent.svelte +1 -1
  248. package/components/sidebar/UserMenu.svelte +17 -1
  249. package/components/sidebar/UserMenu.svelte.d.ts +3 -0
  250. package/components/sidebar/WorkspaceMenu.svelte +16 -14
  251. package/components/splitPanes/SplitPanesWrapper.svelte +34 -0
  252. package/components/splitPanes/SplitPanesWrapper.svelte.d.ts +20 -0
  253. package/editorUtils.js +2 -0
  254. package/gen/core/OpenAPI.js +1 -1
  255. package/gen/index.d.ts +8 -1
  256. package/gen/index.js +5 -0
  257. package/gen/models/AppWithLastVersion.d.ts +21 -0
  258. package/gen/models/AppWithLastVersion.js +12 -0
  259. package/gen/models/BranchAll.d.ts +10 -0
  260. package/gen/models/{Branches.js → BranchAll.js} +0 -0
  261. package/gen/models/{Branches.d.ts → BranchOne.d.ts} +3 -5
  262. package/gen/models/BranchOne.js +4 -0
  263. package/gen/models/CompletedJob.d.ts +4 -2
  264. package/gen/models/CompletedJob.js +2 -0
  265. package/gen/models/FlowModule.d.ts +2 -1
  266. package/gen/models/FlowModuleValue.d.ts +4 -2
  267. package/gen/models/FlowStatusModule.d.ts +11 -2
  268. package/gen/models/ForloopFlow.d.ts +1 -0
  269. package/gen/models/Identity.d.ts +3 -0
  270. package/gen/models/Identity.js +4 -0
  271. package/gen/models/ListableApp.d.ts +16 -0
  272. package/gen/models/ListableApp.js +12 -0
  273. package/gen/models/ListableVariable.d.ts +1 -1
  274. package/gen/models/PathScript.d.ts +2 -0
  275. package/gen/models/Policy.d.ts +12 -0
  276. package/gen/models/Policy.js +12 -0
  277. package/gen/models/Preview.d.ts +2 -1
  278. package/gen/models/Preview.js +1 -0
  279. package/gen/models/QueuedJob.d.ts +4 -2
  280. package/gen/models/QueuedJob.js +2 -0
  281. package/gen/models/RawScript.d.ts +4 -1
  282. package/gen/models/RawScript.js +1 -0
  283. package/gen/models/Script.d.ts +4 -2
  284. package/gen/models/Script.js +2 -0
  285. package/gen/services/AppService.d.ts +31 -0
  286. package/gen/services/AppService.js +49 -0
  287. package/gen/services/CaptureService.d.ts +30 -0
  288. package/gen/services/CaptureService.js +52 -0
  289. package/gen/services/FlowService.d.ts +90 -0
  290. package/gen/services/FlowService.js +72 -0
  291. package/gen/services/JobService.d.ts +57 -8
  292. package/gen/services/JobService.js +78 -10
  293. package/gen/services/OauthService.d.ts +6 -15
  294. package/gen/services/OauthService.js +6 -19
  295. package/gen/services/ResourceService.d.ts +10 -1
  296. package/gen/services/ResourceService.js +16 -1
  297. package/gen/services/ScriptService.d.ts +28 -3
  298. package/gen/services/ScriptService.js +27 -0
  299. package/gen/services/UserService.d.ts +14 -6
  300. package/gen/services/UserService.js +25 -11
  301. package/infer.d.ts +1 -1
  302. package/infer.js +35 -18
  303. package/logout.d.ts +1 -1
  304. package/logout.js +7 -9
  305. package/package.json +74 -68
  306. package/script_helpers.d.ts +5 -3
  307. package/script_helpers.js +42 -12
  308. package/scripts.js +9 -4
  309. package/utils.d.ts +8 -9
  310. package/utils.js +42 -81
  311. package/components/AutosizedTextarea.svelte +0 -34
  312. package/components/AutosizedTextarea.svelte.d.ts +0 -19
  313. package/components/ProgressBar.svelte +0 -31
  314. package/components/ProgressBarPart.svelte +0 -20
  315. package/components/ProgressBarPart.svelte.d.ts +0 -20
  316. package/components/Switch.svelte +0 -61
  317. package/components/Switch.svelte.d.ts +0 -31
  318. package/components/flows/content/CopyFirstStepSchema.svelte +0 -13
  319. package/components/flows/content/CopyFirstStepSchema.svelte.d.ts +0 -14
  320. package/components/flows/content/FlowLoopWrapper.svelte +0 -9
  321. package/components/flows/content/FlowLoopWrapper.svelte.d.ts +0 -14
  322. package/components/flows/content/FlowModule.svelte +0 -217
  323. package/components/flows/content/FlowModule.svelte.d.ts +0 -29
  324. package/gen/schemas/$AuditLog.d.ts +0 -32
  325. package/gen/schemas/$AuditLog.js +0 -35
  326. package/gen/schemas/$CompletedJob.d.ts +0 -98
  327. package/gen/schemas/$CompletedJob.js +0 -103
  328. package/gen/schemas/$ContextualVariable.d.ts +0 -16
  329. package/gen/schemas/$ContextualVariable.js +0 -19
  330. package/gen/schemas/$CreateResource.d.ts +0 -22
  331. package/gen/schemas/$CreateResource.js +0 -25
  332. package/gen/schemas/$CreateVariable.d.ts +0 -26
  333. package/gen/schemas/$CreateVariable.js +0 -29
  334. package/gen/schemas/$CreateWorkspace.d.ts +0 -20
  335. package/gen/schemas/$CreateWorkspace.js +0 -23
  336. package/gen/schemas/$EditResource.d.ts +0 -13
  337. package/gen/schemas/$EditResource.js +0 -16
  338. package/gen/schemas/$EditResourceType.d.ts +0 -10
  339. package/gen/schemas/$EditResourceType.js +0 -13
  340. package/gen/schemas/$EditSchedule.d.ts +0 -20
  341. package/gen/schemas/$EditSchedule.js +0 -23
  342. package/gen/schemas/$EditVariable.d.ts +0 -16
  343. package/gen/schemas/$EditVariable.js +0 -19
  344. package/gen/schemas/$EditWorkspaceUser.d.ts +0 -7
  345. package/gen/schemas/$EditWorkspaceUser.js +0 -10
  346. package/gen/schemas/$Flow.d.ts +0 -23
  347. package/gen/schemas/$Flow.js +0 -26
  348. package/gen/schemas/$FlowMetadata.d.ts +0 -31
  349. package/gen/schemas/$FlowMetadata.js +0 -34
  350. package/gen/schemas/$FlowPreview.d.ts +0 -80
  351. package/gen/schemas/$FlowPreview.js +0 -83
  352. package/gen/schemas/$GlobalUserInfo.d.ts +0 -26
  353. package/gen/schemas/$GlobalUserInfo.js +0 -29
  354. package/gen/schemas/$Group.d.ts +0 -23
  355. package/gen/schemas/$Group.js +0 -26
  356. package/gen/schemas/$Job.d.ts +0 -17
  357. package/gen/schemas/$Job.js +0 -20
  358. package/gen/schemas/$ListableVariable.d.ts +0 -35
  359. package/gen/schemas/$ListableVariable.js +0 -38
  360. package/gen/schemas/$Login.d.ts +0 -12
  361. package/gen/schemas/$Login.js +0 -15
  362. package/gen/schemas/$MainArgSignature.d.ts +0 -50
  363. package/gen/schemas/$MainArgSignature.js +0 -53
  364. package/gen/schemas/$NewSchedule.d.ts +0 -30
  365. package/gen/schemas/$NewSchedule.js +0 -33
  366. package/gen/schemas/$NewToken.d.ts +0 -11
  367. package/gen/schemas/$NewToken.js +0 -14
  368. package/gen/schemas/$NewUser.d.ts +0 -16
  369. package/gen/schemas/$NewUser.js +0 -19
  370. package/gen/schemas/$Preview.d.ts +0 -19
  371. package/gen/schemas/$Preview.js +0 -22
  372. package/gen/schemas/$QueuedJob.d.ts +0 -139
  373. package/gen/schemas/$QueuedJob.js +0 -144
  374. package/gen/schemas/$Resource.d.ts +0 -31
  375. package/gen/schemas/$Resource.js +0 -34
  376. package/gen/schemas/$ResourceType.d.ts +0 -17
  377. package/gen/schemas/$ResourceType.js +0 -20
  378. package/gen/schemas/$Schedule.d.ts +0 -47
  379. package/gen/schemas/$Schedule.js +0 -50
  380. package/gen/schemas/$Script.d.ts +0 -77
  381. package/gen/schemas/$Script.js +0 -80
  382. package/gen/schemas/$ScriptArgs.d.ts +0 -6
  383. package/gen/schemas/$ScriptArgs.js +0 -9
  384. package/gen/schemas/$SlackToken.d.ts +0 -24
  385. package/gen/schemas/$SlackToken.js +0 -27
  386. package/gen/schemas/$TokenResponse.d.ts +0 -23
  387. package/gen/schemas/$TokenResponse.js +0 -26
  388. package/gen/schemas/$TruncatedToken.d.ts +0 -25
  389. package/gen/schemas/$TruncatedToken.js +0 -28
  390. package/gen/schemas/$Usage.d.ts +0 -13
  391. package/gen/schemas/$Usage.js +0 -16
  392. package/gen/schemas/$User.d.ts +0 -42
  393. package/gen/schemas/$User.js +0 -45
  394. package/gen/schemas/$UserWorkspaceList.d.ts +0 -28
  395. package/gen/schemas/$UserWorkspaceList.js +0 -31
  396. package/gen/schemas/$WorkerPing.d.ts +0 -31
  397. package/gen/schemas/$WorkerPing.js +0 -34
  398. package/gen/schemas/$Workspace.d.ts +0 -19
  399. package/gen/schemas/$Workspace.js +0 -22
  400. package/gen/schemas/$WorkspaceInvite.d.ts +0 -16
  401. package/gen/schemas/$WorkspaceInvite.js +0 -19
@@ -3,24 +3,22 @@ import FlowCard from '../common/FlowCard.svelte';
3
3
  import Toggle from '../../Toggle.svelte';
4
4
  import SimpleEditor from '../../SimpleEditor.svelte';
5
5
  import Tooltip from '../../Tooltip.svelte';
6
- import { flowStore } from '../flowStore';
7
- import { getStepPropPicker } from '../flowStateUtils';
8
- import { flowStateStore } from '../flowState';
9
6
  import PropPickerWrapper from '../propPicker/PropPickerWrapper.svelte';
10
- import { VSplitPane } from 'svelte-split-pane';
11
7
  import FlowModuleEarlyStop from './FlowModuleEarlyStop.svelte';
12
8
  import FlowModuleSuspend from './FlowModuleSuspend.svelte';
13
- import FlowRetries from './FlowRetries.svelte';
9
+ // import FlowRetries from './FlowRetries.svelte'
14
10
  import { Button, Tab, TabContent, Tabs } from '../../common';
11
+ import { Pane, Splitpanes } from 'svelte-splitpanes';
12
+ import { getStepPropPicker } from '../previousResults';
13
+ import { flowStateStore } from '../flowState';
14
+ import { flowStore } from '../flowStore';
15
15
  const { previewArgs } = getContext('FlowEditorContext');
16
16
  export let mod;
17
- export let index;
17
+ export let parentModule;
18
+ export let previousModule;
18
19
  let editor = undefined;
19
- let monacos = {};
20
- let selected = 'retries';
21
- let inputTransformName = '';
22
- $: mod = $flowStore.value.modules[index];
23
- $: pickableProperties = getStepPropPicker([Number(index)], $flowStore.schema, $flowStateStore, $previewArgs).pickableProperties;
20
+ let selected = 'early-stop';
21
+ $: pickableProperties = getStepPropPicker($flowStateStore, parentModule, previousModule, mod.id, $flowStore, previewArgs, false, true).pickableProperties;
24
22
  </script>
25
23
 
26
24
  <div class="h-full flex flex-col">
@@ -28,141 +26,86 @@ $: pickableProperties = getStepPropPicker([Number(index)], $flowStore.schema, $f
28
26
  <div slot="header" class="grow">
29
27
  <input bind:value={mod.summary} placeholder={'Summary'} />
30
28
  </div>
31
- <div class="overflow-hidden flex-grow">
32
- <VSplitPane topPanelSize="60%" downPanelSize="40%" minTopPaneSize="20%" minDownPaneSize="20%">
33
- <top slot="top" class="h-full">
34
- <div class="p-6 flex flex-col h-full overflow-clip">
35
- {#if mod.value.type === 'forloopflow'}
36
- <span class="mb-2 text-sm font-bold"
37
- >Iterator expression
38
- <Tooltip>
39
- List to iterate over. For more information see the
40
- <a href="https://docs.windmill.dev/docs/getting_started/flows#for-loops">docs.</a>
41
- </Tooltip>
42
- </span>
43
-
44
- {#if mod.value.iterator.type == 'javascript'}
45
- <div class="border w-full">
46
- <PropPickerWrapper
47
- {pickableProperties}
48
- on:select={({ detail }) => {
49
- editor?.insertAtCursor(detail)
50
- }}
51
- >
52
- <SimpleEditor
53
- bind:this={editor}
54
- lang="javascript"
55
- bind:code={mod.value.iterator.expr}
56
- class="small-editor"
57
- shouldBindKey={false}
58
- />
59
- </PropPickerWrapper>
60
- </div>
61
- {:else}
62
- <Button
63
- on:click={() => {
64
- if (mod.value.type === 'forloopflow') mod.value.iterator.type = 'javascript'
65
- }}
66
- />
67
- {/if}
68
-
69
- <span class="my-2 text-sm font-bold">Skip failures</span>
70
-
71
- <Toggle
72
- bind:checked={mod.value.skip_failures}
73
- options={{
74
- right: 'Skip failures'
29
+ <Splitpanes horizontal class="!max-h-[calc(100%-48px)]">
30
+ <Pane size={60} minSize={20} class="p-4">
31
+ {#if mod.value.type === 'forloopflow'}
32
+ <div class="mb-2 text-sm font-bold">
33
+ Iterator expression
34
+ <Tooltip>
35
+ List to iterate over. For more information see the
36
+ <a href="https://docs.windmill.dev/docs/getting_started/flows#for-loops">docs.</a>
37
+ </Tooltip>
38
+ </div>
39
+ {#if mod.value.iterator.type == 'javascript'}
40
+ <div class="border w-full">
41
+ <PropPickerWrapper
42
+ notSelectable
43
+ {pickableProperties}
44
+ on:select={({ detail }) => {
45
+ editor?.insertAtCursor(detail)
75
46
  }}
76
- />
77
- <span class="my-2 text-sm font-bold"
78
- >Pass specific flow context as loop flow input</span
79
- >
80
- <div class="flex flex-row mt-4 w-80 max-w-full"
81
- ><input
82
- bind:value={inputTransformName}
83
- placeholder="Argument name"
84
- type="text"
85
- class="w-20"
86
- /><Button
87
- disabled={inputTransformName == ''}
88
- btnClasses="ml-2"
89
- on:click={() =>
90
- (mod.input_transforms[inputTransformName] = { type: 'javascript', expr: '' })}
91
- >+</Button
92
- ></div
93
47
  >
48
+ <SimpleEditor
49
+ bind:this={editor}
50
+ lang="javascript"
51
+ bind:code={mod.value.iterator.expr}
52
+ class="small-editor"
53
+ shouldBindKey={false}
54
+ />
55
+ </PropPickerWrapper>
56
+ </div>
57
+ {:else}
58
+ <Button
59
+ on:click={() => {
60
+ if (mod.value.type === 'forloopflow') mod.value.iterator.type = 'javascript'
61
+ }}
62
+ />
63
+ {/if}
64
+ <div class="mt-6 mb-2 text-sm font-bold">Skip failures</div>
65
+ <Toggle
66
+ bind:checked={mod.value.skip_failures}
67
+ options={{
68
+ right: 'Skip failures'
69
+ }}
70
+ />
71
+ <div class="mt-6 mb-2 text-sm font-bold">Run in parallel</div>
72
+ <Toggle
73
+ bind:checked={mod.value.parallel}
74
+ options={{
75
+ right: 'All iterations run in parallel'
76
+ }}
77
+ />
78
+ {/if}
79
+ </Pane>
80
+ <Pane size={40} minSize={20} class="flex flex-col flex-1">
81
+ <Tabs bind:selected>
82
+ <!-- <Tab value="retries">Retries</Tab> -->
83
+ <Tab value="early-stop">Early Stop</Tab>
84
+ <Tab value="suspend">Sleep/Suspend</Tab>
94
85
 
95
- {#each Object.keys(mod.input_transforms) as key}
96
- <div class="flex flex-row my-2">
97
- <span class="my-2 text-sm font-bold">{key}</span>
98
-
99
- <Button
100
- btnClasses="ml-4"
101
- on:click={() => {
102
- delete mod.input_transforms[key]
103
- mod.input_transforms = mod.input_transforms
104
- }}>-</Button
105
- >
86
+ <svelte:fragment slot="content">
87
+ <div class="overflow-hidden bg-white" style="height:calc(100% - 32px);">
88
+ <!-- <TabContent value="retries" class="flex flex-col flex-1 h-full">
89
+ <div class="p-4 overflow-y-auto">
90
+ <FlowRetries bind:flowModule={mod} />
106
91
  </div>
107
- <div class="border w-full">
108
- {#if mod.input_transforms[key].type == 'javascript'}
109
- <PropPickerWrapper
110
- {pickableProperties}
111
- on:select={({ detail }) => {
112
- monacos[key]?.insertAtCursor(detail)
113
- }}
114
- >
115
- <SimpleEditor
116
- bind:this={monacos[key]}
117
- lang="javascript"
118
- bind:code={mod.input_transforms[key]['expr']}
119
- class="small-editor"
120
- shouldBindKey={false}
121
- />
122
- </PropPickerWrapper>
123
- {:else}
124
- <Button
125
- on:click={() => {
126
- mod.input_transforms[key].type = 'javascript'
127
- mod.input_transforms[key]['expr'] = ''
128
- }}
129
- />
130
- {/if}
131
- </div>
132
- {/each}
133
- {/if}
134
- </div></top
135
- >
136
- <down slot="down" class="flex flex-col flex-1 h-full">
137
- <Tabs bind:selected>
138
- <Tab value="retries">Retries</Tab>
139
- <Tab value="early-stop">Early Stop</Tab>
140
- <Tab value="suspend">Sleep/Suspend</Tab>
141
-
142
- <svelte:fragment slot="content">
143
- <div class="overflow-hidden bg-white" style="height:calc(100% - 32px);">
144
- <TabContent value="retries" class="flex flex-col flex-1 h-full">
145
- <div class="p-4 overflow-y-auto">
146
- <FlowRetries bind:flowModule={mod} />
147
- </div>
148
- </TabContent>
92
+ </TabContent> -->
149
93
 
150
- <TabContent value="early-stop" class="flex flex-col flex-1 h-full">
151
- <div class="p-4 overflow-y-auto">
152
- <FlowModuleEarlyStop bind:flowModule={mod} />
153
- </div>
154
- </TabContent>
94
+ <TabContent value="early-stop" class="flex flex-col flex-1 h-full">
95
+ <div class="p-4 overflow-y-auto">
96
+ <FlowModuleEarlyStop bind:flowModule={mod} />
97
+ </div>
98
+ </TabContent>
155
99
 
156
- <TabContent value="suspend" class="flex flex-col flex-1 h-full">
157
- <div class="p-4 overflow-y-auto">
158
- <FlowModuleSuspend bind:flowModule={mod} />
159
- </div>
160
- </TabContent>
161
- </div>
162
- </svelte:fragment>
163
- </Tabs>
164
- </down>
165
- </VSplitPane>
166
- </div></FlowCard
167
- >
100
+ <TabContent value="suspend" class="flex flex-col flex-1 h-full">
101
+ <div class="p-4 overflow-y-auto">
102
+ <FlowModuleSuspend previousModuleId={previousModule?.id} bind:flowModule={mod} />
103
+ </div>
104
+ </TabContent>
105
+ </div>
106
+ </svelte:fragment>
107
+ </Tabs>
108
+ </Pane>
109
+ </Splitpanes>
110
+ </FlowCard>
168
111
  </div>
@@ -3,7 +3,8 @@ import type { FlowModule } from '../../../gen/models/FlowModule';
3
3
  declare const __propDef: {
4
4
  props: {
5
5
  mod: FlowModule;
6
- index: number;
6
+ parentModule: FlowModule | undefined;
7
+ previousModule: FlowModule | undefined;
7
8
  };
8
9
  events: {
9
10
  [evt: string]: CustomEvent<any>;
@@ -0,0 +1,231 @@
1
+ <script>import { Pane, Splitpanes } from 'svelte-splitpanes';
2
+ import Tab from '../../common/tabs/Tab.svelte';
3
+ import Tabs from '../../common/tabs/Tabs.svelte';
4
+ import Editor from '../../Editor.svelte';
5
+ import EditorBar, { EDITOR_BAR_WIDTH_THRESHOLD } from '../../EditorBar.svelte';
6
+ import ModulePreview from '../../ModulePreview.svelte';
7
+ import { createScriptFromInlineScript, fork } from '../flowStateUtils';
8
+ import { flowStore } from '../flowStore';
9
+ import SchemaForm from '../../SchemaForm.svelte';
10
+ import { RawScript } from '../../../gen';
11
+ import FlowCard from '../common/FlowCard.svelte';
12
+ import FlowModuleHeader from './FlowModuleHeader.svelte';
13
+ import { flowStateStore } from '../flowState';
14
+ import { scriptLangToEditorLang } from '../../../utils';
15
+ import PropPickerWrapper from '../propPicker/PropPickerWrapper.svelte';
16
+ import { afterUpdate, getContext, setContext } from 'svelte';
17
+ import { loadSchemaFromModule } from '../utils';
18
+ import FlowModuleScript from './FlowModuleScript.svelte';
19
+ import FlowModuleEarlyStop from './FlowModuleEarlyStop.svelte';
20
+ import FlowModuleSuspend from './FlowModuleSuspend.svelte';
21
+ import FlowRetries from './FlowRetries.svelte';
22
+ import { getStepPropPicker } from '../previousResults';
23
+ import Tooltip from '../../Tooltip.svelte';
24
+ import { Kbd } from '../../common';
25
+ import Button from '../../common/button/Button.svelte';
26
+ import Alert from '../../common/alert/Alert.svelte';
27
+ const { selectedId, previewArgs } = getContext('FlowEditorContext');
28
+ export let flowModule;
29
+ export let failureModule = false;
30
+ export let parentModule = undefined;
31
+ export let previousModule;
32
+ let editor;
33
+ let modulePreview;
34
+ let websocketAlive = { pyright: false, black: false, deno: false, go: false };
35
+ let selected = 'inputs';
36
+ let wrapper;
37
+ let panes;
38
+ let totalTopGap = 0;
39
+ let validCode = true;
40
+ let width = 1200;
41
+ let inputTransforms = flowModule.value.type === 'rawscript' || flowModule.value.type === 'script'
42
+ ? flowModule.value.input_transforms
43
+ : {};
44
+ $: if (flowModule.value.type === 'rawscript' || flowModule.value.type === 'script') {
45
+ flowModule.value.input_transforms = inputTransforms;
46
+ }
47
+ $: stepPropPicker = failureModule
48
+ ? {
49
+ pickableProperties: {
50
+ flow_input: $flowStateStore.previewArgs,
51
+ priorIds: {},
52
+ previousId: undefined
53
+ },
54
+ extraLib: ''
55
+ }
56
+ : getStepPropPicker($flowStateStore, parentModule, previousModule, flowModule.id, $flowStore, previewArgs, false, true);
57
+ function onKeyDown(event) {
58
+ if ((event.ctrlKey || event.metaKey) && event.key == 'Enter') {
59
+ event.preventDefault();
60
+ selected = 'test';
61
+ modulePreview?.runTestWithStepArgs();
62
+ }
63
+ }
64
+ async function reload(flowModule) {
65
+ try {
66
+ const { input_transforms, schema } = await loadSchemaFromModule(flowModule);
67
+ validCode = true;
68
+ setTimeout(() => {
69
+ if ((flowModule.value.type == 'script' || flowModule.value.type == 'rawscript') &&
70
+ JSON.stringify(flowModule.value.input_transforms) !== JSON.stringify(input_transforms)) {
71
+ inputTransforms = input_transforms;
72
+ }
73
+ });
74
+ if (JSON.stringify(schema) !== JSON.stringify($flowStateStore[flowModule.id]?.schema)) {
75
+ if (!$flowStateStore[flowModule.id]) {
76
+ $flowStateStore[flowModule.id] = { schema };
77
+ }
78
+ else {
79
+ $flowStateStore[flowModule.id].schema = schema;
80
+ }
81
+ }
82
+ }
83
+ catch (e) {
84
+ validCode = false;
85
+ }
86
+ }
87
+ afterUpdate(() => {
88
+ totalTopGap = 0;
89
+ if (!(wrapper && panes))
90
+ return;
91
+ const wrapperTop = wrapper.getBoundingClientRect().top;
92
+ const panesTop = panes.getBoundingClientRect().top;
93
+ totalTopGap = panesTop - wrapperTop;
94
+ });
95
+ </script>
96
+
97
+ <svelte:window on:keydown={onKeyDown} />
98
+
99
+ {#if flowModule.value.type === 'rawscript' || flowModule.value.type === 'script'}
100
+ <div class="h-full" bind:this={wrapper} bind:clientWidth={width}>
101
+ <FlowCard bind:flowModule>
102
+ <svelte:fragment slot="header">
103
+ <FlowModuleHeader
104
+ bind:module={flowModule}
105
+ on:toggleSuspend={() => (selected = 'suspend')}
106
+ on:toggleRetry={() => (selected = 'retries')}
107
+ on:toggleStopAfterIf={() => (selected = 'early-stop')}
108
+ on:fork={async () => {
109
+ const [module, state] = await fork(flowModule)
110
+ flowModule = module
111
+ $flowStateStore[module.id] = state
112
+ }}
113
+ on:createScriptFromInlineScript={async () => {
114
+ const [module, state] = await createScriptFromInlineScript(
115
+ flowModule,
116
+ $selectedId,
117
+ $flowStateStore[flowModule.id].schema
118
+ )
119
+ flowModule = module
120
+ $flowStateStore[module.id] = state
121
+ }}
122
+ />
123
+ </svelte:fragment>
124
+
125
+ {#if flowModule.value.type === 'rawscript'}
126
+ <div class="border-b-2 shadow-sm p-1 mb-1">
127
+ <EditorBar
128
+ {validCode}
129
+ {editor}
130
+ lang={flowModule.value['language'] ?? 'deno'}
131
+ {websocketAlive}
132
+ iconOnly={width < 768}
133
+ />
134
+ </div>
135
+ {/if}
136
+
137
+ <div
138
+ bind:this={panes}
139
+ class="h-full"
140
+ style="max-height: calc(100% - {totalTopGap}px) !important;"
141
+ >
142
+ <Splitpanes horizontal>
143
+ <Pane size={50} minSize={20}>
144
+ {#if flowModule.value.type === 'rawscript'}
145
+ <div on:mouseleave={() => reload(flowModule)} class="h-full">
146
+ <Editor
147
+ bind:websocketAlive
148
+ bind:this={editor}
149
+ class="h-full px-2"
150
+ bind:code={flowModule.value.content}
151
+ deno={flowModule.value.language === RawScript.language.DENO}
152
+ lang={scriptLangToEditorLang(flowModule.value.language)}
153
+ automaticLayout={true}
154
+ cmdEnterAction={async () => {
155
+ selected = 'test'
156
+ await reload(flowModule)
157
+ modulePreview?.runTestWithStepArgs()
158
+ }}
159
+ formatAction={() => reload(flowModule)}
160
+ />
161
+ </div>
162
+ {:else if flowModule.value.type === 'script'}
163
+ <FlowModuleScript path={flowModule.value.path} />
164
+ {/if}
165
+ </Pane>
166
+ <Pane size={50} minSize={20}>
167
+ <Tabs bind:selected>
168
+ <Tab value="inputs"
169
+ ><Tooltip>
170
+ Move the focus outside of the text editor to recompute the inputs or press
171
+ <Kbd>Ctrl/Cmd</Kbd> + <Kbd>S</Kbd>
172
+ </Tooltip><span class="font-semibold">Step Input</span></Tab
173
+ >
174
+ <Tab value="test"><span class="font-semibold text-md">Test this step</span></Tab>
175
+ <Tab value="retries">Retries</Tab>
176
+ {#if !$selectedId.includes('failure')}
177
+ <Tab value="early-stop">Early Stop</Tab>
178
+ <Tab value="suspend">Sleep/Suspend</Tab>
179
+ <Tab value="same_worker">Same Worker/Shared dir</Tab>
180
+ {/if}
181
+ </Tabs>
182
+ <div class="h-[calc(100%-32px)]">
183
+ {#if selected === 'inputs'}
184
+ <div class="h-full overflow-auto">
185
+ <PropPickerWrapper pickableProperties={stepPropPicker.pickableProperties}>
186
+ <SchemaForm
187
+ schema={$flowStateStore[$selectedId]?.schema ?? {}}
188
+ inputTransform={true}
189
+ importPath={$selectedId}
190
+ bind:args={flowModule.value.input_transforms}
191
+ bind:extraLib={stepPropPicker.extraLib}
192
+ />
193
+ </PropPickerWrapper>
194
+ </div>
195
+ {:else if selected === 'test'}
196
+ <ModulePreview
197
+ bind:this={modulePreview}
198
+ mod={flowModule}
199
+ schema={$flowStateStore[$selectedId]?.schema ?? {}}
200
+ />
201
+ {:else if selected === 'retries'}
202
+ <FlowRetries bind:flowModule class="px-4 pb-4 h-full overflow-auto" />
203
+ {:else if selected === 'early-stop'}
204
+ <FlowModuleEarlyStop bind:flowModule class="px-4 pb-4 h-full overflow-auto" />
205
+ {:else if selected === 'suspend'}
206
+ <div class="px-4 pb-4 h-full overflow-auto">
207
+ <FlowModuleSuspend previousModuleId={previousModule?.id} bind:flowModule />
208
+ </div>
209
+ {:else if selected === 'same_worker'}
210
+ <div class="p-4 h-full overflow-auto">
211
+ <Alert type="info" title="Share a directory using same worker">
212
+ If same worker is set, all steps will be run on the same worker and will share
213
+ the folder `/shared` to pass data between each other.
214
+ </Alert>
215
+ <Button
216
+ btnClasses="mt-4"
217
+ on:click={() => {
218
+ $selectedId = 'settings-same-worker'
219
+ }}>Set same worker in the flow settings</Button
220
+ >
221
+ </div>
222
+ {/if}
223
+ </div>
224
+ </Pane>
225
+ </Splitpanes>
226
+ </div>
227
+ </FlowCard>
228
+ </div>
229
+ {:else}
230
+ Incorrect flow module type
231
+ {/if}
@@ -0,0 +1,20 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import { type FlowModule } from '../../../gen';
3
+ declare const __propDef: {
4
+ props: {
5
+ flowModule: FlowModule;
6
+ failureModule?: boolean | undefined;
7
+ parentModule?: FlowModule | undefined;
8
+ previousModule: FlowModule | undefined;
9
+ };
10
+ events: {
11
+ [evt: string]: CustomEvent<any>;
12
+ };
13
+ slots: {};
14
+ };
15
+ export declare type FlowModuleComponentProps = typeof __propDef.props;
16
+ export declare type FlowModuleComponentEvents = typeof __propDef.events;
17
+ export declare type FlowModuleComponentSlots = typeof __propDef.slots;
18
+ export default class FlowModuleComponent extends SvelteComponentTyped<FlowModuleComponentProps, FlowModuleComponentEvents, FlowModuleComponentSlots> {
19
+ }
20
+ export {};
@@ -1,33 +1,23 @@
1
1
  <script>import SimpleEditor from '../../SimpleEditor.svelte';
2
2
  import Toggle from '../../Toggle.svelte';
3
3
  import PropPickerWrapper from '../propPicker/PropPickerWrapper.svelte';
4
- import { getStepPropPicker } from '../flowStateUtils';
5
- import { flowStore } from '../flowStore';
6
4
  import { flowStateStore } from '../flowState';
7
- import { getContext } from 'svelte';
8
- import { selectedIdToIndexes } from '../utils';
9
- const { selectedId, previewArgs } = getContext('FlowEditorContext');
5
+ import Tooltip from '../../Tooltip.svelte';
6
+ import { NEVER_TESTED_THIS_FAR } from '../utils';
10
7
  export let flowModule;
11
8
  let editor = undefined;
12
9
  $: isStopAfterIfEnabled = Boolean(flowModule.stop_after_if);
13
- let pickableProperties = {};
14
- $: {
15
- let indices = selectedIdToIndexes($selectedId);
16
- if (indices[1]) {
17
- indices[1] += 1;
18
- }
19
- else {
20
- indices[0] += 1;
21
- }
22
- const props = getStepPropPicker(indices, $flowStore.schema, $flowStateStore, $previewArgs).pickableProperties;
23
- props['result'] = props['previous_result'];
24
- delete props['previous_result'];
25
- props.step = props.step?.slice(0, props.step.length - 1);
26
- pickableProperties = props;
27
- }
10
+ $: result = $flowStateStore[flowModule.id]?.previewResult ?? NEVER_TESTED_THIS_FAR;
28
11
  </script>
29
12
 
30
- <div class="flex flex-col items-start space-y-2">
13
+ <div class="flex flex-col items-start space-y-2 {$$props.class}">
14
+ <h2 class="mt-2"
15
+ >Early stop <Tooltip>
16
+ If defined, at the end of the step, the predicate expression will be evaluated to decide if
17
+ the flow should stop early. Skipped flows are just a label useful to not see them in the runs
18
+ page.</Tooltip
19
+ ></h2
20
+ >
31
21
  <Toggle
32
22
  checked={isStopAfterIfEnabled}
33
23
  on:change={() => {
@@ -45,32 +35,39 @@ $: {
45
35
  }}
46
36
  />
47
37
 
48
- {#if flowModule.stop_after_if}
49
- <span class="text-xs font-bold">Should skip if stopped</span>
50
-
51
- <input type="checkbox" bind:checked={flowModule.stop_after_if.skip_if_stopped} />
52
-
53
- <span class="text-xs font-bold">Stop condition expression</span>
54
-
55
- <div class="border w-full">
56
- <PropPickerWrapper
57
- {pickableProperties}
58
- on:select={({ detail }) => {
59
- editor?.insertAtCursor(detail)
38
+ <div class="w-full border p-2 flex flex-col {flowModule.stop_after_if ? '' : 'bg-gray-50'}">
39
+ {#if flowModule.stop_after_if}
40
+ <Toggle
41
+ bind:checked={flowModule.stop_after_if.skip_if_stopped}
42
+ options={{
43
+ right: 'Skip if stopped'
44
+ }}
45
+ />
46
+ <span class="text-xs font-bold">Stop condition expression</span>
47
+ <div class="border w-full">
48
+ <PropPickerWrapper
49
+ {result}
50
+ pickableProperties={undefined}
51
+ on:select={({ detail }) => {
52
+ editor?.insertAtCursor(detail)
53
+ }}
54
+ >
55
+ <SimpleEditor
56
+ bind:this={editor}
57
+ lang="javascript"
58
+ bind:code={flowModule.stop_after_if.expr}
59
+ class="small-editor"
60
+ />
61
+ </PropPickerWrapper>
62
+ </div>
63
+ {:else}
64
+ <Toggle
65
+ disabled
66
+ options={{
67
+ right: 'Skip if stopped'
60
68
  }}
61
- >
62
- <SimpleEditor
63
- bind:this={editor}
64
- lang="javascript"
65
- bind:code={flowModule.stop_after_if.expr}
66
- class="small-editor"
67
- />
68
- </PropPickerWrapper>
69
- </div>
70
- {:else}
71
- <span class="text-xs font-bold">Should skip if stopped</span>
72
- <input type="checkbox" disabled />
73
- <span class="text-xs font-bold">Stop condition expression</span>
74
- <textarea disabled rows="3" />
75
- {/if}
69
+ /> <span class="text-xs font-bold">Stop condition expression</span>
70
+ <textarea disabled rows="3" class="min-h-[80px]" />
71
+ {/if}
72
+ </div>
76
73
  </div>
@@ -2,6 +2,7 @@ import { SvelteComponentTyped } from "svelte";
2
2
  import type { FlowModule } from '../../../gen';
3
3
  declare const __propDef: {
4
4
  props: {
5
+ [x: string]: any;
5
6
  flowModule: FlowModule;
6
7
  };
7
8
  events: {