windmill-components 1.60.4 → 1.75.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 (549) hide show
  1. package/assets/app.css +15 -1
  2. package/common.d.ts +5 -1
  3. package/components/ApiConnectForm.svelte +66 -5
  4. package/components/AppConnect.svelte +26 -10
  5. package/components/ArgInput.svelte +1 -1
  6. package/components/CliHelpBox.svelte +49 -0
  7. package/components/CliHelpBox.svelte.d.ts +14 -0
  8. package/components/DisplayResult.svelte +78 -10
  9. package/components/DisplayResult.svelte.d.ts +1 -0
  10. package/components/Editor.svelte +17 -7
  11. package/components/EditorBar.svelte +129 -111
  12. package/components/FieldHeader.svelte +12 -8
  13. package/components/FlowBuilder.svelte +107 -39
  14. package/components/FlowBuilder.svelte.d.ts +5 -0
  15. package/components/FlowGraphViewer.svelte +5 -4
  16. package/components/FlowJobResult.svelte +13 -5
  17. package/components/FlowJobResult.svelte.d.ts +1 -0
  18. package/components/FlowMetadata.svelte +24 -8
  19. package/components/FlowPreviewContent.svelte +5 -11
  20. package/components/FlowStatusViewer.svelte +62 -17
  21. package/components/FolderEditor.svelte +3 -2
  22. package/components/GroupEditor.svelte +8 -0
  23. package/components/HighlightCode.svelte +7 -1
  24. package/components/InlineCodeCopy.svelte +11 -0
  25. package/components/InlineCodeCopy.svelte.d.ts +16 -0
  26. package/components/InputTransformForm.svelte +22 -25
  27. package/components/InputTransformSchemaForm.svelte +103 -0
  28. package/components/InputTransformSchemaForm.svelte.d.ts +24 -0
  29. package/components/LogViewer.svelte +7 -1
  30. package/components/LogViewer.svelte.d.ts +1 -0
  31. package/components/ModulePreview.svelte +13 -3
  32. package/components/MoveDrawer.svelte +1 -1
  33. package/components/Multiselect.svelte +1 -1
  34. package/components/Multiselect.svelte.d.ts +2 -2
  35. package/components/ObjectResourceInput.svelte +6 -1
  36. package/components/Path.svelte +29 -16
  37. package/components/Popover.svelte +10 -15
  38. package/components/Popover.svelte.d.ts +1 -0
  39. package/components/Range.svelte.d.ts +2 -2
  40. package/components/ResourceEditor.svelte +39 -16
  41. package/components/ResourcePicker.svelte +33 -15
  42. package/components/RunChart.svelte +24 -5
  43. package/components/RunForm.svelte +26 -3
  44. package/components/RunForm.svelte.d.ts +2 -0
  45. package/components/ScheduleEditor.svelte +1 -1
  46. package/components/SchemaEditor.svelte +2 -2
  47. package/components/SchemaForm.svelte +72 -60
  48. package/components/SchemaForm.svelte.d.ts +1 -5
  49. package/components/ScriptBuilder.svelte +69 -30
  50. package/components/ScriptBuilder.svelte.d.ts +1 -0
  51. package/components/ScriptEditor.svelte +1 -0
  52. package/components/ScriptPicker.svelte +3 -0
  53. package/components/SharedBadge.svelte +5 -5
  54. package/components/SimpleEditor.svelte +4 -1
  55. package/components/SimpleEditor.svelte.d.ts +2 -0
  56. package/components/Slider.svelte +19 -0
  57. package/components/Slider.svelte.d.ts +20 -0
  58. package/components/StringTypeNarrowing.svelte +0 -1
  59. package/components/SuperadminSettings.svelte +11 -3
  60. package/components/SuperadminSettings.svelte.d.ts +2 -0
  61. package/components/TemplateEditor.svelte +1 -1
  62. package/components/TemplateEditor.svelte.d.ts +204 -0
  63. package/components/TestJobLoader.svelte +5 -5
  64. package/components/Toggle.svelte +18 -6
  65. package/components/Toggle.svelte.d.ts +2 -0
  66. package/components/Tooltip.svelte +1 -1
  67. package/components/UserSettings.svelte +13 -3
  68. package/components/UserSettings.svelte.d.ts +2 -0
  69. package/components/VariableEditor.svelte +1 -1
  70. package/components/WhitelistIp.svelte +23 -0
  71. package/components/WhitelistIp.svelte.d.ts +14 -0
  72. package/components/apps/components/buttons/AppButton.svelte +79 -17
  73. package/components/apps/components/buttons/AppButton.svelte.d.ts +4 -0
  74. package/components/apps/components/{form → buttons}/AppForm.svelte +19 -7
  75. package/components/apps/components/{form → buttons}/AppForm.svelte.d.ts +3 -0
  76. package/components/apps/components/buttons/AppFormButton.svelte +145 -0
  77. package/components/apps/components/buttons/AppFormButton.svelte.d.ts +28 -0
  78. package/components/apps/components/buttons/index.d.ts +3 -0
  79. package/components/apps/components/buttons/index.js +3 -0
  80. package/components/apps/components/{dataDisplay → display}/AppBarChart.svelte +27 -8
  81. package/components/apps/components/{dataDisplay → display}/AppBarChart.svelte.d.ts +4 -0
  82. package/components/apps/components/display/AppDisplayComponent.svelte +36 -0
  83. package/components/apps/components/display/AppDisplayComponent.svelte.d.ts +24 -0
  84. package/components/apps/components/display/AppHtml.svelte +46 -0
  85. package/components/apps/components/{dataDisplay → display}/AppHtml.svelte.d.ts +4 -1
  86. package/components/apps/components/display/AppIcon.svelte +47 -0
  87. package/components/apps/components/display/AppIcon.svelte.d.ts +25 -0
  88. package/components/apps/components/display/AppImage.svelte +34 -0
  89. package/components/apps/components/display/AppImage.svelte.d.ts +25 -0
  90. package/components/apps/components/display/AppMap.svelte +214 -0
  91. package/components/apps/components/display/AppMap.svelte.d.ts +23 -0
  92. package/components/apps/components/display/AppPdf.svelte +304 -0
  93. package/components/apps/components/display/AppPdf.svelte.d.ts +24 -0
  94. package/components/apps/components/{dataDisplay → display}/AppPieChart.svelte +16 -7
  95. package/components/apps/components/{dataDisplay → display}/AppPieChart.svelte.d.ts +4 -0
  96. package/components/apps/components/{dataDisplay → display}/AppScatterChart.svelte +13 -4
  97. package/components/apps/components/{dataDisplay → display}/AppScatterChart.svelte.d.ts +4 -0
  98. package/components/apps/components/{dataDisplay → display}/AppText.svelte +42 -34
  99. package/components/apps/components/{dataDisplay → display}/AppText.svelte.d.ts +4 -0
  100. package/components/apps/components/{dataDisplay → display}/AppTimeseries.svelte +14 -5
  101. package/components/apps/components/{dataDisplay → display}/AppTimeseries.svelte.d.ts +4 -0
  102. package/components/apps/components/display/PlotlyHtml.svelte +32 -0
  103. package/components/apps/components/display/PlotlyHtml.svelte.d.ts +24 -0
  104. package/components/apps/components/{dataDisplay → display}/VegaLiteHtml.svelte +4 -10
  105. package/components/apps/components/{dataDisplay → display}/VegaLiteHtml.svelte.d.ts +2 -0
  106. package/components/apps/components/display/index.d.ts +15 -0
  107. package/components/apps/components/display/index.js +15 -0
  108. package/components/apps/components/display/table/AppAggridTable.svelte +92 -0
  109. package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +25 -0
  110. package/components/apps/components/{table → display/table}/AppTable.svelte +85 -29
  111. package/components/apps/components/{table → display/table}/AppTable.svelte.d.ts +6 -2
  112. package/components/apps/components/{table → display/table}/AppTableFooter.svelte +9 -2
  113. package/components/apps/components/{table → display/table}/AppTableFooter.svelte.d.ts +2 -0
  114. package/components/apps/components/helpers/AlignWrapper.svelte +29 -23
  115. package/components/apps/components/helpers/AlignWrapper.svelte.d.ts +6 -2
  116. package/components/apps/components/helpers/HiddenComponent.svelte +23 -0
  117. package/components/apps/components/helpers/HiddenComponent.svelte.d.ts +25 -0
  118. package/components/apps/components/helpers/InputDefaultValue.svelte +17 -0
  119. package/components/apps/components/helpers/InputDefaultValue.svelte.d.ts +17 -0
  120. package/components/apps/components/helpers/InputValue.svelte +39 -18
  121. package/components/apps/components/helpers/InputValue.svelte.d.ts +0 -1
  122. package/components/apps/components/helpers/NonRunnableComponent.svelte +18 -3
  123. package/components/apps/components/helpers/NonRunnableComponent.svelte.d.ts +1 -0
  124. package/components/apps/components/helpers/RefreshButton.svelte +1 -1
  125. package/components/apps/components/helpers/ResizeWrapper.svelte +24 -0
  126. package/components/apps/components/helpers/ResizeWrapper.svelte.d.ts +19 -0
  127. package/components/apps/components/helpers/RunnableComponent.svelte +99 -102
  128. package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +5 -2
  129. package/components/apps/components/helpers/RunnableWrapper.svelte +16 -7
  130. package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +5 -2
  131. package/components/apps/components/helpers/index.d.ts +10 -0
  132. package/components/apps/components/helpers/index.js +10 -0
  133. package/components/apps/components/icon.d.ts +1 -0
  134. package/components/apps/components/icon.js +18 -0
  135. package/components/apps/components/index.d.ts +5 -0
  136. package/components/apps/components/index.js +5 -0
  137. package/components/apps/components/{selectInputs → inputs}/AppCheckbox.svelte +12 -4
  138. package/components/apps/components/{selectInputs → inputs}/AppCheckbox.svelte.d.ts +3 -0
  139. package/components/apps/components/inputs/AppDateInput.svelte +47 -0
  140. package/components/apps/components/{dateInputs → inputs}/AppDateInput.svelte.d.ts +6 -1
  141. package/components/apps/components/inputs/AppFileInput.svelte +42 -0
  142. package/components/apps/components/inputs/AppFileInput.svelte.d.ts +23 -0
  143. package/components/apps/components/inputs/AppMultiSelect.svelte +82 -0
  144. package/components/apps/components/inputs/AppMultiSelect.svelte.d.ts +27 -0
  145. package/components/apps/components/inputs/AppNumberInput.svelte +52 -0
  146. package/components/apps/components/{numberInputs → inputs}/AppNumberInput.svelte.d.ts +5 -0
  147. package/components/apps/components/inputs/AppRangeInput.svelte +85 -0
  148. package/components/apps/components/inputs/AppRangeInput.svelte.d.ts +26 -0
  149. package/components/apps/components/inputs/AppSelect.svelte +127 -0
  150. package/components/apps/components/{selectInputs → inputs}/AppSelect.svelte.d.ts +5 -0
  151. package/components/apps/components/inputs/AppSliderInputs.svelte +73 -0
  152. package/components/apps/components/{numberInputs → inputs}/AppSliderInputs.svelte.d.ts +3 -0
  153. package/components/apps/components/inputs/AppTextInput.svelte +71 -0
  154. package/components/apps/components/{textInputs → inputs}/AppTextInput.svelte.d.ts +6 -0
  155. package/components/apps/components/inputs/currency/AppCurrencyInput.svelte +59 -0
  156. package/components/apps/components/inputs/currency/AppCurrencyInput.svelte.d.ts +24 -0
  157. package/components/apps/components/inputs/currency/CurrencyInput.svelte +183 -0
  158. package/components/apps/components/inputs/currency/CurrencyInput.svelte.d.ts +33 -0
  159. package/components/apps/components/inputs/index.d.ts +9 -0
  160. package/components/apps/components/inputs/index.js +9 -0
  161. package/components/apps/components/layout/AppContainer.svelte +40 -0
  162. package/components/apps/components/layout/AppContainer.svelte.d.ts +24 -0
  163. package/components/apps/components/layout/AppDivider.svelte +40 -0
  164. package/components/apps/components/layout/AppDivider.svelte.d.ts +24 -0
  165. package/components/apps/components/layout/AppDrawer.svelte +89 -0
  166. package/components/apps/components/layout/AppDrawer.svelte.d.ts +24 -0
  167. package/components/apps/components/layout/AppSplitpanes.svelte +88 -0
  168. package/components/apps/components/layout/AppSplitpanes.svelte.d.ts +26 -0
  169. package/components/apps/components/layout/AppTabs.svelte +99 -0
  170. package/components/apps/components/layout/AppTabs.svelte.d.ts +27 -0
  171. package/components/apps/components/layout/index.d.ts +5 -0
  172. package/components/apps/components/layout/index.js +5 -0
  173. package/components/apps/editor/AppComponentInput.svelte +33 -0
  174. package/components/apps/editor/AppComponentInput.svelte.d.ts +18 -0
  175. package/components/apps/editor/AppComponentInputs.svelte +13 -0
  176. package/components/apps/editor/AppComponentInputs.svelte.d.ts +20 -0
  177. package/components/apps/editor/AppEditor.svelte +134 -35
  178. package/components/apps/editor/AppEditor.svelte.d.ts +4 -1
  179. package/components/apps/editor/AppEditorHeader.svelte +178 -47
  180. package/components/apps/editor/AppEditorHeader.svelte.d.ts +1 -0
  181. package/components/apps/editor/AppInputs.svelte +60 -0
  182. package/components/apps/editor/AppInputs.svelte.d.ts +14 -0
  183. package/components/apps/editor/AppPreview.svelte +30 -12
  184. package/components/apps/editor/ComponentHeader.svelte +52 -3
  185. package/components/apps/editor/ComponentHeader.svelte.d.ts +2 -1
  186. package/components/apps/editor/GridEditor.svelte +134 -77
  187. package/components/apps/editor/GridEditor.svelte.d.ts +2 -0
  188. package/components/apps/editor/GridPanel.svelte +29 -0
  189. package/components/apps/editor/GridPanel.svelte.d.ts +18 -0
  190. package/components/apps/editor/RecomputeAllComponents.svelte +8 -6
  191. package/components/apps/editor/SettingsPanel.svelte +26 -8
  192. package/components/apps/editor/SubGridEditor.svelte +139 -0
  193. package/components/apps/editor/SubGridEditor.svelte.d.ts +29 -0
  194. package/components/apps/editor/appUtils.d.ts +19 -0
  195. package/components/apps/editor/appUtils.js +241 -0
  196. package/components/apps/editor/component/Component.svelte +434 -0
  197. package/components/apps/editor/{ComponentEditor.svelte.d.ts → component/Component.svelte.d.ts} +7 -5
  198. package/components/apps/editor/component/ComponentNavigation.svelte +125 -0
  199. package/components/apps/editor/component/ComponentNavigation.svelte.d.ts +14 -0
  200. package/components/apps/editor/component/README.md +15 -0
  201. package/components/apps/editor/component/components.d.ts +77 -0
  202. package/components/apps/editor/component/components.js +1476 -0
  203. package/components/apps/editor/component/default-codes.d.ts +3 -0
  204. package/components/apps/editor/component/default-codes.js +322 -0
  205. package/components/apps/editor/component/index.d.ts +4 -0
  206. package/components/apps/editor/component/index.js +4 -0
  207. package/components/apps/editor/component/sets.d.ts +2 -0
  208. package/components/apps/editor/component/sets.js +55 -0
  209. package/components/apps/editor/componentsPanel/ComponentList.svelte +75 -108
  210. package/components/apps/editor/componentsPanel/CssProperty.svelte +67 -0
  211. package/components/apps/editor/componentsPanel/CssProperty.svelte.d.ts +21 -0
  212. package/components/apps/editor/componentsPanel/CssSettings.svelte +188 -0
  213. package/components/apps/editor/componentsPanel/CssSettings.svelte.d.ts +14 -0
  214. package/components/apps/editor/componentsPanel/ListItem.svelte +39 -0
  215. package/components/apps/editor/componentsPanel/ListItem.svelte.d.ts +20 -0
  216. package/components/apps/editor/componentsPanel/componentStaticValues.d.ts +5 -1
  217. package/components/apps/editor/componentsPanel/componentStaticValues.js +16 -1
  218. package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +1 -1
  219. package/components/apps/editor/contextPanel/ContextPanel.svelte +115 -67
  220. package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +109 -10
  221. package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte.d.ts +1 -0
  222. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +88 -41
  223. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +5 -0
  224. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte +32 -6
  225. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte.d.ts +1 -0
  226. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +75 -8
  227. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +128 -72
  228. package/components/apps/editor/inlineScriptsPanel/utils.d.ts +5 -5
  229. package/components/apps/editor/inlineScriptsPanel/utils.js +48 -7
  230. package/components/apps/editor/settingsPanel/AlignmentEditor.svelte +1 -1
  231. package/components/apps/editor/settingsPanel/AlignmentEditor.svelte.d.ts +1 -1
  232. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +14 -10
  233. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte.d.ts +68 -1
  234. package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +1 -1
  235. package/components/apps/editor/settingsPanel/ComponentPanel.svelte +130 -61
  236. package/components/apps/editor/settingsPanel/ComponentPanel.svelte.d.ts +6 -3
  237. package/components/apps/editor/settingsPanel/GridPane.svelte +75 -0
  238. package/components/apps/editor/settingsPanel/GridPane.svelte.d.ts +20 -0
  239. package/components/apps/editor/settingsPanel/GridTab.svelte +73 -0
  240. package/components/apps/editor/settingsPanel/GridTab.svelte.d.ts +20 -0
  241. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +5 -1
  242. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +2 -2
  243. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +93 -78
  244. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +1 -0
  245. package/components/apps/editor/settingsPanel/MoveToOtherGrid.svelte +92 -0
  246. package/components/apps/editor/settingsPanel/MoveToOtherGrid.svelte.d.ts +18 -0
  247. package/components/apps/editor/settingsPanel/Recompute.svelte +5 -2
  248. package/components/apps/editor/settingsPanel/SelectedRunnable.svelte +1 -1
  249. package/components/apps/editor/settingsPanel/TableActions.svelte +45 -7
  250. package/components/apps/editor/settingsPanel/TableActions.svelte.d.ts +2 -1
  251. package/components/apps/editor/settingsPanel/common/PanelSection.svelte +6 -4
  252. package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte +48 -0
  253. package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte.d.ts +19 -0
  254. package/components/apps/editor/settingsPanel/inputEditor/ConnectedInputEditor.svelte +1 -1
  255. package/components/apps/editor/settingsPanel/inputEditor/EvalInputEditor.svelte +1 -1
  256. package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte +107 -0
  257. package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte.d.ts +21 -0
  258. package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte +2 -2
  259. package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte.d.ts +2 -1
  260. package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +59 -6
  261. package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte.d.ts +3 -0
  262. package/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte +21 -0
  263. package/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte.d.ts +17 -0
  264. package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte +1 -0
  265. package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte.d.ts +1 -0
  266. package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +4 -21
  267. package/components/apps/gridUtils.d.ts +3 -1
  268. package/components/apps/gridUtils.js +5 -3
  269. package/components/apps/inputType.d.ts +34 -6
  270. package/components/apps/rx.js +2 -1
  271. package/components/apps/store.d.ts +6 -1
  272. package/components/apps/types.d.ts +47 -42
  273. package/components/apps/types.js +1 -1
  274. package/components/apps/utils.d.ts +6 -5
  275. package/components/apps/utils.js +63 -95
  276. package/components/common/button/Button.svelte +12 -5
  277. package/components/common/button/Button.svelte.d.ts +3 -1
  278. package/components/common/button/ButtonPopup.svelte +2 -0
  279. package/components/common/button/ButtonPopup.svelte.d.ts +2 -1
  280. package/components/common/button/UndoRedo.svelte +32 -0
  281. package/components/common/button/UndoRedo.svelte.d.ts +20 -0
  282. package/components/common/button/model.d.ts +2 -2
  283. package/components/common/button/model.js +21 -6
  284. package/components/common/confirmationModal/ConfirmationModal.svelte +8 -1
  285. package/components/common/confirmationModal/UnsavedConfirmationModal.svelte +4 -4
  286. package/components/common/drawer/Drawer.svelte +13 -5
  287. package/components/common/drawer/Drawer.svelte.d.ts +3 -1
  288. package/components/common/drawer/DrawerContent.svelte +0 -1
  289. package/components/common/fileInput/FileInput.svelte +138 -0
  290. package/components/common/fileInput/FileInput.svelte.d.ts +29 -0
  291. package/components/common/fileInput/model.d.ts +1 -0
  292. package/components/common/fileInput/model.js +1 -0
  293. package/components/common/index.d.ts +2 -0
  294. package/components/common/index.js +2 -0
  295. package/components/common/kbd/Kbd.svelte.d.ts +2 -2
  296. package/components/common/menu/Menu.svelte +3 -2
  297. package/components/common/menu/Menu.svelte.d.ts +2 -1
  298. package/components/common/modal/Modal.svelte +79 -0
  299. package/components/common/modal/Modal.svelte.d.ts +24 -0
  300. package/components/common/popup/Popup.svelte +34 -17
  301. package/components/common/popup/Popup.svelte.d.ts +11 -4
  302. package/components/common/table/AppRow.svelte +13 -4
  303. package/components/common/table/AppRow.svelte.d.ts +1 -0
  304. package/components/common/table/FlowRow.svelte +40 -8
  305. package/components/common/table/FlowRow.svelte.d.ts +1 -0
  306. package/components/common/table/LanguageBadge.svelte +10 -4
  307. package/components/common/table/Row.svelte +1 -1
  308. package/components/common/table/ScriptRow.svelte +44 -12
  309. package/components/common/table/ScriptRow.svelte.d.ts +1 -0
  310. package/components/common/tabs/Tab.svelte +12 -5
  311. package/components/common/tabs/Tab.svelte.d.ts +4 -1
  312. package/components/common/tabs/Tabs.svelte +12 -8
  313. package/components/common/tabs/Tabs.svelte.d.ts +6 -2
  314. package/components/flows/CreateActionsFlow.svelte +2 -3
  315. package/components/flows/FlowEditor.svelte +6 -4
  316. package/components/flows/common/FlowCardHeader.svelte +4 -1
  317. package/components/flows/content/BranchPredicateEditor.svelte +13 -12
  318. package/components/flows/content/CapturePayload.svelte +1 -2
  319. package/components/flows/content/FlowBranchesAllWrapper.svelte +1 -1
  320. package/components/flows/content/FlowConstants.svelte +7 -13
  321. package/components/flows/content/FlowEditorPanel.svelte +4 -3
  322. package/components/flows/content/FlowFailureModule.svelte +2 -1
  323. package/components/flows/content/FlowInput.svelte +4 -2
  324. package/components/flows/content/FlowInputs.svelte +109 -99
  325. package/components/flows/content/FlowLoop.svelte +4 -5
  326. package/components/flows/content/FlowModuleComponent.svelte +26 -13
  327. package/components/flows/content/FlowModuleEarlyStop.svelte +3 -1
  328. package/components/flows/content/FlowModuleHeader.svelte +26 -3
  329. package/components/flows/content/FlowModuleHeader.svelte.d.ts +1 -0
  330. package/components/flows/content/FlowModuleSleep.svelte +2 -2
  331. package/components/flows/content/FlowModuleWrapper.svelte +2 -8
  332. package/components/flows/content/FlowRetries.svelte +8 -6
  333. package/components/flows/content/FlowSchedules.svelte +1 -2
  334. package/components/flows/content/FlowSettings.svelte +77 -51
  335. package/components/flows/content/ScriptEditorDrawer.svelte +98 -0
  336. package/components/flows/content/ScriptEditorDrawer.svelte.d.ts +19 -0
  337. package/components/flows/flowState.d.ts +2 -2
  338. package/components/flows/flowState.js +1 -3
  339. package/components/flows/flowStateUtils.d.ts +7 -6
  340. package/components/flows/flowStateUtils.js +9 -11
  341. package/components/flows/flowStore.d.ts +5 -3
  342. package/components/flows/flowStore.js +6 -17
  343. package/components/flows/header/FlowImportExportMenu.svelte +2 -1
  344. package/components/flows/map/FlowConstantsItem.svelte +2 -2
  345. package/components/flows/map/FlowErrorHandlerItem.svelte +12 -13
  346. package/components/flows/map/FlowInputsItem.svelte +2 -3
  347. package/components/flows/map/FlowModuleSchemaItem.svelte +88 -91
  348. package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +3 -3
  349. package/components/flows/map/FlowModuleSchemaMap.svelte +163 -130
  350. package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +1 -1
  351. package/components/flows/map/FlowSettingsItem.svelte +5 -4
  352. package/components/flows/map/InsertModuleButton.svelte +34 -18
  353. package/components/flows/map/InsertModuleButton.svelte.d.ts +2 -0
  354. package/components/flows/map/MapItem.svelte +176 -101
  355. package/components/flows/map/MapItem.svelte.d.ts +20 -2
  356. package/components/flows/map/VirtualItem.svelte +129 -0
  357. package/components/flows/map/VirtualItem.svelte.d.ts +44 -0
  358. package/components/flows/pickers/WorkspaceScriptPicker.svelte +1 -1
  359. package/components/flows/previousResults.d.ts +1 -1
  360. package/components/flows/previousResults.js +32 -17
  361. package/components/flows/types.d.ts +13 -1
  362. package/components/flows/utils.js +17 -11
  363. package/components/graph/FlowGraph.svelte +247 -164
  364. package/components/graph/FlowGraph.svelte.d.ts +15 -1
  365. package/components/graph/model.d.ts +6 -36
  366. package/components/graph/model.js +1 -1
  367. package/components/graph/svelvet/LICENSE +21 -0
  368. package/components/graph/svelvet/collapsible/controllers/util.d.ts +15 -0
  369. package/components/graph/svelvet/collapsible/controllers/util.js +144 -0
  370. package/components/graph/svelvet/collapsible/models/Collapsible.d.ts +17 -0
  371. package/components/graph/svelvet/collapsible/models/Collapsible.js +25 -0
  372. package/components/graph/svelvet/collapsible/types/types.d.ts +8 -0
  373. package/components/graph/svelvet/collapsible/types/types.js +1 -0
  374. package/components/graph/svelvet/container/README.md +7 -0
  375. package/components/graph/svelvet/container/controllers/middleware.d.ts +18 -0
  376. package/components/graph/svelvet/container/controllers/middleware.js +101 -0
  377. package/components/graph/svelvet/container/views/GraphView.svelte +252 -0
  378. package/components/graph/svelvet/container/views/GraphView.svelte.d.ts +25 -0
  379. package/components/graph/svelvet/container/views/Svelvet.svelte +131 -0
  380. package/components/graph/svelvet/container/views/Svelvet.svelte.d.ts +41 -0
  381. package/components/graph/svelvet/customCss/controllers/getCss.d.ts +2 -0
  382. package/components/graph/svelvet/customCss/controllers/getCss.js +57 -0
  383. package/components/graph/svelvet/d3/controllers/README.md +3 -0
  384. package/components/graph/svelvet/d3/controllers/d3.d.ts +5 -0
  385. package/components/graph/svelvet/d3/controllers/d3.js +59 -0
  386. package/components/graph/svelvet/d3/controllers/d3Old.d.ts +1 -0
  387. package/components/graph/svelvet/d3/controllers/d3Old.js +43 -0
  388. package/components/graph/svelvet/docs/CHANGELOG.md +145 -0
  389. package/components/graph/svelvet/docs/DESIGN_PATTERNS.md +44 -0
  390. package/components/graph/svelvet/docs/DOCUMENTATION.md +5 -0
  391. package/components/graph/svelvet/docs/README.md +34 -0
  392. package/components/graph/svelvet/docs/TODO.md +14 -0
  393. package/components/graph/svelvet/docs/Tutorials.md +25 -0
  394. package/components/graph/svelvet/docs/images/css-background-after.png +0 -0
  395. package/components/graph/svelvet/docs/images/css-background-before.png +0 -0
  396. package/components/graph/svelvet/docs/images/custom-edges-after.png +0 -0
  397. package/components/graph/svelvet/docs/images/custom-edges-before.png +0 -0
  398. package/components/graph/svelvet/docs/images/custom-nodes-after.png +0 -0
  399. package/components/graph/svelvet/docs/images/custom-nodes-before.png +0 -0
  400. package/components/graph/svelvet/docs/images/custom-svelte-components-after.png +0 -0
  401. package/components/graph/svelvet/docs/images/custom-svelte-components-before.png +0 -0
  402. package/components/graph/svelvet/docs/images/html-docs-after.png +0 -0
  403. package/components/graph/svelvet/docs/images/html-docs-before.png +0 -0
  404. package/components/graph/svelvet/docs/images/minimap-after.png +0 -0
  405. package/components/graph/svelvet/docs/images/minimap-before.png +0 -0
  406. package/components/graph/svelvet/docs/images/node-classes-after.png +0 -0
  407. package/components/graph/svelvet/docs/images/node-classes-before.png +0 -0
  408. package/components/graph/svelvet/docs/images/node-create-after.png +0 -0
  409. package/components/graph/svelvet/docs/images/node-create-before.png +0 -0
  410. package/components/graph/svelvet/edges/controllers/anchorCbDev.d.ts +4 -0
  411. package/components/graph/svelvet/edges/controllers/anchorCbDev.js +92 -0
  412. package/components/graph/svelvet/edges/controllers/anchorCbUser.d.ts +57 -0
  413. package/components/graph/svelvet/edges/controllers/anchorCbUser.js +73 -0
  414. package/components/graph/svelvet/edges/controllers/util.d.ts +37 -0
  415. package/components/graph/svelvet/edges/controllers/util.js +72 -0
  416. package/components/graph/svelvet/edges/models/Anchor.d.ts +48 -0
  417. package/components/graph/svelvet/edges/models/Anchor.js +122 -0
  418. package/components/graph/svelvet/edges/models/Edge.d.ts +47 -0
  419. package/components/graph/svelvet/edges/models/Edge.js +107 -0
  420. package/components/graph/svelvet/edges/types/types.d.ts +18 -0
  421. package/components/graph/svelvet/edges/types/types.js +1 -0
  422. package/components/graph/svelvet/edges/views/Edges/BaseEdge.svelte +105 -0
  423. package/components/graph/svelvet/edges/views/Edges/BaseEdge.svelte.d.ts +18 -0
  424. package/components/graph/svelvet/edges/views/Edges/EdgeAnchor.svelte +12 -0
  425. package/components/graph/svelvet/edges/views/Edges/EdgeAnchor.svelte.d.ts +17 -0
  426. package/components/graph/svelvet/edges/views/Edges/EdgeText.svelte +43 -0
  427. package/components/graph/svelvet/edges/views/Edges/EdgeText.svelte.d.ts +17 -0
  428. package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte +137 -0
  429. package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte.d.ts +17 -0
  430. package/components/graph/svelvet/edges/views/Edges/SmoothStepEdge.svelte +176 -0
  431. package/components/graph/svelvet/edges/views/Edges/SmoothStepEdge.svelte.d.ts +60 -0
  432. package/components/graph/svelvet/edges/views/Edges/StepEdge.svelte +8 -0
  433. package/components/graph/svelvet/edges/views/Edges/StepEdge.svelte.d.ts +25 -0
  434. package/components/graph/svelvet/edges/views/Edges/types.d.ts +52 -0
  435. package/components/graph/svelvet/edges/views/Edges/types.js +1 -0
  436. package/components/graph/svelvet/edges/views/Edges/utils.d.ts +33 -0
  437. package/components/graph/svelvet/edges/views/Edges/utils.js +31 -0
  438. package/components/graph/svelvet/editEdges/views/EditEdge.svelte +151 -0
  439. package/components/graph/svelvet/editEdges/views/EditEdge.svelte.d.ts +20 -0
  440. package/components/graph/svelvet/nodes/controllers/util.d.ts +9 -0
  441. package/components/graph/svelvet/nodes/controllers/util.js +13 -0
  442. package/components/graph/svelvet/nodes/models/Node.d.ts +78 -0
  443. package/components/graph/svelvet/nodes/models/Node.js +195 -0
  444. package/components/graph/svelvet/nodes/views/EditNode.svelte +147 -0
  445. package/components/graph/svelvet/nodes/views/EditNode.svelte.d.ts +33 -0
  446. package/components/graph/svelvet/nodes/views/Node.svelte +85 -0
  447. package/components/graph/svelvet/nodes/views/Node.svelte.d.ts +22 -0
  448. package/components/graph/svelvet/resizableNodes/controllers/util.d.ts +11 -0
  449. package/components/graph/svelvet/resizableNodes/controllers/util.js +24 -0
  450. package/components/graph/svelvet/resizableNodes/models/ResizeNode.d.ts +33 -0
  451. package/components/graph/svelvet/resizableNodes/models/ResizeNode.js +71 -0
  452. package/components/graph/svelvet/resizableNodes/views/ResizeNode.svelte +81 -0
  453. package/components/graph/svelvet/resizableNodes/views/ResizeNode.svelte.d.ts +20 -0
  454. package/components/graph/svelvet/store/controllers/storeApi.d.ts +32 -0
  455. package/components/graph/svelvet/store/controllers/storeApi.js +111 -0
  456. package/components/graph/svelvet/store/controllers/userApi.d.ts +3 -0
  457. package/components/graph/svelvet/store/controllers/userApi.js +18 -0
  458. package/components/graph/svelvet/store/controllers/util.d.ts +31 -0
  459. package/components/graph/svelvet/store/controllers/util.js +180 -0
  460. package/components/graph/svelvet/store/models/store.d.ts +12 -0
  461. package/components/graph/svelvet/store/models/store.js +9 -0
  462. package/components/graph/svelvet/store/types/types.d.ts +134 -0
  463. package/components/graph/svelvet/store/types/types.js +1 -0
  464. package/components/graph/svelvet/types/README.md +3 -0
  465. package/components/graph/svelvet/types/index.d.ts +2 -0
  466. package/components/graph/svelvet/types/index.js +1 -0
  467. package/components/graph/svelvet/types/types.d.ts +49 -0
  468. package/components/graph/svelvet/types/types.js +18 -0
  469. package/components/graph/util.js +2 -2
  470. package/components/home/ItemsList.svelte +53 -5
  471. package/components/home/ItemsList.svelte.d.ts +1 -0
  472. package/components/home/ListFilters.svelte +7 -2
  473. package/components/icons/SquareIcon.svelte +9 -0
  474. package/components/icons/SquareIcon.svelte.d.ts +17 -0
  475. package/components/icons/index.d.ts +2 -0
  476. package/components/icons/index.js +2 -0
  477. package/components/jobs/JobDetail.svelte +40 -5
  478. package/components/propertyPicker/ObjectViewer.svelte +14 -9
  479. package/components/propertyPicker/ObjectViewer.svelte.d.ts +1 -0
  480. package/components/propertyPicker/PropPicker.svelte +8 -1
  481. package/components/propertyPicker/PropPickerResult.svelte +1 -1
  482. package/components/random_positive_adjetive.d.ts +1 -0
  483. package/components/random_positive_adjetive.js +961 -0
  484. package/components/scriptEditor/LogPanel.svelte +2 -1
  485. package/components/sidebar/SidebarContent.svelte +1 -1
  486. package/components/sidebar/UserMenu.svelte +46 -16
  487. package/components/sidebar/UserMenu.svelte.d.ts +0 -3
  488. package/components/sidebar/WorkspaceMenu.svelte +3 -1
  489. package/components/sidebar/settings.d.ts +2 -0
  490. package/components/sidebar/settings.js +2 -0
  491. package/consts.d.ts +1 -0
  492. package/consts.js +1 -0
  493. package/defaults.d.ts +4 -0
  494. package/defaults.js +4 -0
  495. package/gen/core/OpenAPI.js +1 -1
  496. package/gen/models/CompletedJob.d.ts +1 -0
  497. package/gen/models/FlowModule.d.ts +0 -1
  498. package/gen/models/QueuedJob.d.ts +1 -0
  499. package/gen/models/WorkerPing.d.ts +1 -1
  500. package/gen/services/FlowService.d.ts +9 -0
  501. package/gen/services/FlowService.js +15 -0
  502. package/gen/services/JobService.d.ts +97 -15
  503. package/gen/services/JobService.js +74 -15
  504. package/gen/services/ScriptService.d.ts +10 -1
  505. package/gen/services/ScriptService.js +16 -1
  506. package/gen/services/VariableService.d.ts +4 -2
  507. package/gen/services/VariableService.js +8 -2
  508. package/gen/services/WorkspaceService.d.ts +17 -0
  509. package/gen/services/WorkspaceService.js +16 -0
  510. package/history.d.ts +9 -0
  511. package/history.js +56 -0
  512. package/infer.js +3 -0
  513. package/init_scripts/python_failure_module.py +10 -0
  514. package/init_scripts/python_init_code.py +37 -0
  515. package/init_scripts/python_init_code_clear.py +5 -0
  516. package/init_scripts/python_init_code_trigger.py +14 -0
  517. package/logout.js +2 -1
  518. package/package.json +661 -522
  519. package/script_helpers.d.ts +6 -5
  520. package/script_helpers.js +8 -73
  521. package/scripts.d.ts +1 -1
  522. package/scripts.js +8 -1
  523. package/stores.d.ts +5 -1
  524. package/stores.js +8 -1
  525. package/user.d.ts +1 -1
  526. package/user.js +14 -8
  527. package/utils.d.ts +10 -5
  528. package/utils.js +51 -14
  529. package/components/apps/components/DisplayComponent.svelte +0 -16
  530. package/components/apps/components/DisplayComponent.svelte.d.ts +0 -20
  531. package/components/apps/components/dataDisplay/AppHtml.svelte +0 -31
  532. package/components/apps/components/dateInputs/AppDateInput.svelte +0 -34
  533. package/components/apps/components/numberInputs/AppNumberInput.svelte +0 -33
  534. package/components/apps/components/numberInputs/AppSliderInputs.svelte +0 -37
  535. package/components/apps/components/selectInputs/AppSelect.svelte +0 -47
  536. package/components/apps/components/textInputs/AppTextInput.svelte +0 -31
  537. package/components/apps/editor/ComponentEditor.svelte +0 -145
  538. package/components/apps/editor/TablePanel.svelte +0 -17
  539. package/components/apps/editor/TablePanel.svelte.d.ts +0 -17
  540. package/components/apps/editor/componentsPanel/data.d.ts +0 -3
  541. package/components/apps/editor/componentsPanel/data.js +0 -499
  542. package/components/apps/editorUtils.d.ts +0 -1
  543. package/components/apps/editorUtils.js +0 -292
  544. package/components/flows/map/FlowBranchAllMap.svelte +0 -100
  545. package/components/flows/map/FlowBranchAllMap.svelte.d.ts +0 -17
  546. package/components/flows/map/FlowBranchOneMap.svelte +0 -124
  547. package/components/flows/map/FlowBranchOneMap.svelte.d.ts +0 -17
  548. /package/components/apps/components/{table → display/table}/tableOptions.d.ts +0 -0
  549. /package/components/apps/components/{table → display/table}/tableOptions.js +0 -0
@@ -23,133 +23,143 @@ let filter = '';
23
23
  </script>
24
24
 
25
25
  <div class="p-4 h-full flex flex-col">
26
- {#if !failureModule}
27
- <div class="center-center">
28
- <div class="max-w-min">
29
- <ToggleButtonGroup bind:selected={kind}>
30
- <ToggleButton position="left" value="script" size="sm" startIcon={{ icon: faCode }}>
31
- Action &nbsp;<Tooltip>
32
- An action script is simply a script that is neither a trigger nor an approval script.
33
- Those are the majority of the scripts.
34
- </Tooltip>
35
- </ToggleButton>
36
- {#if !shouldDisableTriggerScripts}
37
- <ToggleButton position="center" value="trigger" size="sm" startIcon={{ icon: faBolt }}>
38
- Trigger &nbsp;<Tooltip>
39
- Used as a first step most commonly with a state and a schedule to watch for changes
40
- on an external system, compute the diff since last time, set the new state. The
41
- diffs are then treated one by one with a for-loop.
26
+ {#if summary == 'Terminate flow'}
27
+ <Alert role="info" title="The flow stops here"
28
+ >This is an identity step with an early stop that has 'true' for expression</Alert
29
+ >
30
+ {:else}{#if !failureModule}
31
+ <div class="center-center">
32
+ <div class="max-w-min">
33
+ <ToggleButtonGroup bind:selected={kind}>
34
+ <ToggleButton position="left" value="script" size="sm" startIcon={{ icon: faCode }}>
35
+ Action &nbsp;<Tooltip>
36
+ An action script is simply a script that is neither a trigger nor an approval
37
+ script. Those are the majority of the scripts.
42
38
  </Tooltip>
43
39
  </ToggleButton>
44
- {/if}
45
- <ToggleButton position="right" value="approval" size="sm" startIcon={{ icon: faCheck }}>
46
- Approval &nbsp;<Tooltip>
47
- An approval step will suspend the execution of a flow until it has been approved
48
- through the resume endpoints or the approval page by and solely by the recipients of
49
- those secret urls. Use `wmill.getResumeUrls()` in Typescript or
50
- `wmill.get_resume_urls()` in Python from the wmill client to generate those URLs.
51
- </Tooltip>
52
- </ToggleButton>
53
- </ToggleButtonGroup>
40
+ {#if !shouldDisableTriggerScripts}
41
+ <ToggleButton
42
+ position="center"
43
+ value="trigger"
44
+ size="sm"
45
+ startIcon={{ icon: faBolt }}
46
+ >
47
+ Trigger &nbsp;<Tooltip>
48
+ Used as a first step most commonly with a state and a schedule to watch for
49
+ changes on an external system, compute the diff since last time, set the new
50
+ state. The diffs are then treated one by one with a for-loop.
51
+ </Tooltip>
52
+ </ToggleButton>
53
+ {/if}
54
+ <ToggleButton position="right" value="approval" size="sm" startIcon={{ icon: faCheck }}>
55
+ Approval &nbsp;<Tooltip>
56
+ An approval step will suspend the execution of a flow until it has been approved
57
+ through the resume endpoints or the approval page by and solely by the recipients of
58
+ those secret urls. Use `wmill.getResumeUrls()` in Typescript or
59
+ `wmill.get_resume_urls()` in Python from the wmill client to generate those URLs.
60
+ </Tooltip>
61
+ </ToggleButton>
62
+ </ToggleButtonGroup>
63
+ </div>
54
64
  </div>
55
- </div>
56
- {/if}
57
- {#if kind == 'trigger'}
58
- <div class="mt-2" />
59
- <Alert title="Trigger script automatic schedule" role="info">
60
- A schedule will be automatically attached to this flow to run every 15 minutes. Adjust
61
- frequency in 'Settings -> Schedule'</Alert
62
- >
63
- {/if}
64
- <h3 class="pb-2 pt-4">
65
- Inline new <span class="text-blue-500">{kind == 'script' ? 'action' : kind}</span> script
66
- <Tooltip>
67
- Embed a script directly inside a flow instead of saving the script into your workspace for
68
- reuse. You can always save an inline script to your workspace later.
69
- </Tooltip>
70
- </h3>
71
- <div class="flex flex-row">
72
- <div class="flex flex-row flex-wrap gap-2">
73
- <FlowScriptPicker
74
- label="Typescript"
75
- lang={Script.language.DENO}
76
- on:click={() => {
77
- dispatch('new', {
78
- language: RawScript.language.DENO,
79
- kind,
80
- subkind: 'flow'
81
- })
82
- }}
83
- />
84
-
85
- <FlowScriptPicker
86
- label="Python"
87
- lang={Script.language.PYTHON3}
88
- on:click={() => {
89
- dispatch('new', {
90
- language: RawScript.language.PYTHON3,
91
- kind,
92
- subkind: 'flow'
93
- })
94
- }}
95
- />
96
-
97
- {#if kind != 'approval'}
65
+ {/if}
66
+ {#if kind == 'trigger'}
67
+ <div class="mt-2" />
68
+ <Alert title="Trigger script automatic schedule" role="info">
69
+ A schedule will be automatically attached to this flow to run every 15 minutes. Adjust
70
+ frequency in 'Settings -> Schedule'</Alert
71
+ >
72
+ {/if}
73
+ <h3 class="pb-2 pt-4">
74
+ Inline new <span class="text-blue-500">{kind == 'script' ? 'action' : kind}</span> script
75
+ <Tooltip>
76
+ Embed a script directly inside a flow instead of saving the script into your workspace for
77
+ reuse. You can always save an inline script to your workspace later.
78
+ </Tooltip>
79
+ </h3>
80
+ <div class="flex flex-row">
81
+ <div class="flex flex-row flex-wrap gap-2">
98
82
  <FlowScriptPicker
99
- label="Go"
100
- lang={Script.language.GO}
83
+ label="Typescript"
84
+ lang={Script.language.DENO}
101
85
  on:click={() => {
102
86
  dispatch('new', {
103
- language: RawScript.language.GO,
87
+ language: RawScript.language.DENO,
104
88
  kind,
105
89
  subkind: 'flow'
106
90
  })
107
91
  }}
108
92
  />
109
- {/if}
110
93
 
111
- {#if kind == 'script'}
112
94
  <FlowScriptPicker
113
- label="Bash"
114
- lang={Script.language.BASH}
95
+ label="Python"
96
+ lang={Script.language.PYTHON3}
115
97
  on:click={() => {
116
98
  dispatch('new', {
117
- language: RawScript.language.BASH,
99
+ language: RawScript.language.PYTHON3,
118
100
  kind,
119
101
  subkind: 'flow'
120
102
  })
121
103
  }}
122
104
  />
123
105
 
124
- {#if !failureModule}
106
+ {#if kind != 'approval'}
125
107
  <FlowScriptPicker
126
- label={`PostgreSQL`}
127
- lang="pgsql"
128
- on:click={() =>
129
- dispatch('new', { language: RawScript.language.DENO, kind, subkind: 'pgsql' })}
108
+ label="Go"
109
+ lang={Script.language.GO}
110
+ on:click={() => {
111
+ dispatch('new', {
112
+ language: RawScript.language.GO,
113
+ kind,
114
+ subkind: 'flow'
115
+ })
116
+ }}
130
117
  />
118
+ {/if}
131
119
 
120
+ {#if kind == 'script'}
132
121
  <FlowScriptPicker
133
- label={`MySQL`}
134
- lang="mysql"
135
- on:click={() =>
136
- dispatch('new', { language: RawScript.language.DENO, kind, subkind: 'mysql' })}
122
+ label="Bash"
123
+ lang={Script.language.BASH}
124
+ on:click={() => {
125
+ dispatch('new', {
126
+ language: RawScript.language.BASH,
127
+ kind,
128
+ subkind: 'flow'
129
+ })
130
+ }}
137
131
  />
132
+
133
+ {#if !failureModule}
134
+ <FlowScriptPicker
135
+ label={`PostgreSQL`}
136
+ lang="pgsql"
137
+ on:click={() =>
138
+ dispatch('new', { language: RawScript.language.DENO, kind, subkind: 'pgsql' })}
139
+ />
140
+
141
+ <!-- <FlowScriptPicker
142
+ label={`MySQL`}
143
+ lang="mysql"
144
+ on:click={() =>
145
+ dispatch('new', { language: RawScript.language.DENO, kind, subkind: 'mysql' })}
146
+ /> -->
147
+ {/if}
138
148
  {/if}
139
- {/if}
149
+ </div>
140
150
  </div>
141
- </div>
142
151
 
143
- <h3 class="mb-2 mt-6"
144
- >Use pre-made <span class="text-blue-500">{kind == 'script' ? 'action' : kind}</span> script</h3
145
- >
146
- {#if pick_existing == 'hub'}
147
- <PickHubScript bind:filter {kind} on:pick>
148
- <ToggleHubWorkspace bind:selected={pick_existing} />
149
- </PickHubScript>
150
- {:else}
151
- <WorkspaceScriptPicker displayLock bind:filter {kind} on:pick>
152
- <ToggleHubWorkspace bind:selected={pick_existing} />
153
- </WorkspaceScriptPicker>
152
+ <h3 class="mb-2 mt-6"
153
+ >Use pre-made <span class="text-blue-500">{kind == 'script' ? 'action' : kind}</span> script</h3
154
+ >
155
+ {#if pick_existing == 'hub'}
156
+ <PickHubScript bind:filter {kind} on:pick>
157
+ <ToggleHubWorkspace bind:selected={pick_existing} />
158
+ </PickHubScript>
159
+ {:else}
160
+ <WorkspaceScriptPicker displayLock bind:filter {kind} on:pick>
161
+ <ToggleHubWorkspace bind:selected={pick_existing} />
162
+ </WorkspaceScriptPicker>
163
+ {/if}
154
164
  {/if}
155
165
  </div>
@@ -10,16 +10,14 @@ import FlowModuleSuspend from './FlowModuleSuspend.svelte';
10
10
  import { Button, Tab, TabContent, Tabs } from '../../common';
11
11
  import { Pane, Splitpanes } from 'svelte-splitpanes';
12
12
  import { getStepPropPicker } from '../previousResults';
13
- import { flowStateStore } from '../flowState';
14
- import { flowStore } from '../flowStore';
15
13
  import FlowModuleSleep from './FlowModuleSleep.svelte';
16
- const { previewArgs } = getContext('FlowEditorContext');
14
+ const { previewArgs, flowStateStore, flowStore } = getContext('FlowEditorContext');
17
15
  export let mod;
18
16
  export let parentModule;
19
17
  export let previousModule;
20
18
  let editor = undefined;
21
19
  let selected = 'early-stop';
22
- $: stepPropPicker = getStepPropPicker($flowStateStore, parentModule, previousModule, mod.id, $flowStore, $previewArgs, false, true);
20
+ $: stepPropPicker = getStepPropPicker($flowStateStore, parentModule, previousModule, mod.id, $flowStore, $previewArgs, false);
23
21
  </script>
24
22
 
25
23
  <div class="h-full flex flex-col">
@@ -34,7 +32,7 @@ $: stepPropPicker = getStepPropPicker($flowStateStore, parentModule, previousMod
34
32
  Iterator expression
35
33
  <Tooltip>
36
34
  List to iterate over. For more information see the
37
- <a href="https://docs.windmill.dev/docs/getting_started/flows#for-loops">docs.</a>
35
+ <a href="https://docs.windmill.dev/docs/getting_started/flows_quickstart">docs.</a>
38
36
  </Tooltip>
39
37
  </div>
40
38
  {#if mod.value.iterator.type == 'javascript'}
@@ -44,6 +42,7 @@ $: stepPropPicker = getStepPropPicker($flowStateStore, parentModule, previousMod
44
42
  pickableProperties={stepPropPicker.pickableProperties}
45
43
  on:select={({ detail }) => {
46
44
  editor?.insertAtCursor(detail)
45
+ editor?.focus()
47
46
  }}
48
47
  >
49
48
  <SimpleEditor
@@ -5,13 +5,10 @@ import Editor from '../../Editor.svelte';
5
5
  import EditorBar from '../../EditorBar.svelte';
6
6
  import ModulePreview from '../../ModulePreview.svelte';
7
7
  import { createScriptFromInlineScript, fork } from '../flowStateUtils';
8
- import { flowStore } from '../flowStore';
9
- import SchemaForm from '../../SchemaForm.svelte';
10
8
  import { RawScript } from '../../../gen';
11
9
  import FlowCard from '../common/FlowCard.svelte';
12
10
  import FlowModuleHeader from './FlowModuleHeader.svelte';
13
- import { flowStateStore } from '../flowState';
14
- import { schemaToObject, scriptLangToEditorLang } from '../../../utils';
11
+ import { getLatestHashForScript, schemaToObject, scriptLangToEditorLang } from '../../../utils';
15
12
  import PropPickerWrapper from '../propPicker/PropPickerWrapper.svelte';
16
13
  import { afterUpdate, getContext } from 'svelte';
17
14
  import { loadSchemaFromModule } from '../utils';
@@ -20,11 +17,13 @@ import FlowModuleEarlyStop from './FlowModuleEarlyStop.svelte';
20
17
  import FlowModuleSuspend from './FlowModuleSuspend.svelte';
21
18
  import FlowRetries from './FlowRetries.svelte';
22
19
  import { getStepPropPicker } from '../previousResults';
20
+ import { deepEqual } from 'fast-equals';
23
21
  import Button from '../../common/button/Button.svelte';
24
22
  import Alert from '../../common/alert/Alert.svelte';
25
23
  import FlowModuleSleep from './FlowModuleSleep.svelte';
26
24
  import FlowPathViewer from './FlowPathViewer.svelte';
27
- const { selectedId, previewArgs } = getContext('FlowEditorContext');
25
+ import InputTransformSchemaForm from '../../InputTransformSchemaForm.svelte';
26
+ const { selectedId, previewArgs, flowStateStore, flowStore } = getContext('FlowEditorContext');
28
27
  export let flowModule;
29
28
  export let failureModule = false;
30
29
  export let parentModule = undefined;
@@ -52,7 +51,7 @@ $: stepPropPicker = failureModule
52
51
  },
53
52
  extraLib: ''
54
53
  }
55
- : getStepPropPicker($flowStateStore, parentModule, previousModule, flowModule.id, $flowStore, $previewArgs, false, true);
54
+ : getStepPropPicker($flowStateStore, parentModule, previousModule, flowModule.id, $flowStore, $previewArgs, false);
56
55
  function onKeyDown(event) {
57
56
  if ((event.ctrlKey || event.metaKey) && event.key == 'Enter') {
58
57
  event.preventDefault();
@@ -65,11 +64,11 @@ async function reload(flowModule) {
65
64
  const { input_transforms, schema } = await loadSchemaFromModule(flowModule);
66
65
  validCode = true;
67
66
  setTimeout(() => {
68
- if (JSON.stringify(value.input_transforms) !== JSON.stringify(input_transforms)) {
67
+ if (!deepEqual(value.input_transforms, input_transforms)) {
69
68
  inputTransforms = input_transforms;
70
69
  }
71
70
  });
72
- if (JSON.stringify(schema) !== JSON.stringify($flowStateStore[flowModule.id]?.schema)) {
71
+ if (!deepEqual(schema, $flowStateStore[flowModule.id]?.schema)) {
73
72
  if (!$flowStateStore[flowModule.id]) {
74
73
  $flowStateStore[flowModule.id] = { schema };
75
74
  }
@@ -92,6 +91,7 @@ afterUpdate(() => {
92
91
  });
93
92
  let isScript = true;
94
93
  $: isScript != (value.type === 'script') && (isScript = value.type === 'script');
94
+ let forceReload = 0;
95
95
  </script>
96
96
 
97
97
  <svelte:window on:keydown={onKeyDown} />
@@ -111,11 +111,22 @@ $: isScript != (value.type === 'script') && (isScript = value.type === 'script')
111
111
  flowModule = module
112
112
  $flowStateStore[module.id] = state
113
113
  }}
114
+ on:reload={async () => {
115
+ if (flowModule.value.type == 'script') {
116
+ console.log('reload')
117
+ if (flowModule.value.hash != undefined) {
118
+ flowModule.value.hash = await getLatestHashForScript(flowModule.value.path)
119
+ }
120
+ forceReload++
121
+ await reload(flowModule)
122
+ }
123
+ }}
114
124
  on:createScriptFromInlineScript={async () => {
115
125
  const [module, state] = await createScriptFromInlineScript(
116
126
  flowModule,
117
127
  $selectedId,
118
- $flowStateStore[flowModule.id].schema
128
+ $flowStateStore[flowModule.id].schema,
129
+ $flowStore
119
130
  )
120
131
  flowModule = module
121
132
  $flowStateStore[module.id] = state
@@ -130,7 +141,7 @@ $: isScript != (value.type === 'script') && (isScript = value.type === 'script')
130
141
  {editor}
131
142
  lang={value['language'] ?? 'deno'}
132
143
  {websocketAlive}
133
- iconOnly={width < 768}
144
+ iconOnly={width < 850}
134
145
  />
135
146
  </div>
136
147
  {/if}
@@ -167,10 +178,13 @@ $: isScript != (value.type === 'script') && (isScript = value.type === 'script')
167
178
  await reload(flowModule)
168
179
  }}
169
180
  formatAction={() => reload(flowModule)}
181
+ fixedOverflowWidgets
170
182
  />
171
183
  </div>
172
184
  {:else if value.type === 'script'}
173
- <FlowModuleScript path={value.path} hash={value.hash} />
185
+ {#key forceReload}
186
+ <FlowModuleScript path={value.path} hash={value.hash} />
187
+ {/key}
174
188
  {:else if value.type === 'flow'}
175
189
  <FlowPathViewer path={value.path} />
176
190
  {/if}
@@ -188,9 +202,8 @@ $: isScript != (value.type === 'script') && (isScript = value.type === 'script')
188
202
  pickableProperties={stepPropPicker.pickableProperties}
189
203
  error={failureModule}
190
204
  >
191
- <SchemaForm
205
+ <InputTransformSchemaForm
192
206
  schema={$flowStateStore[$selectedId]?.schema ?? {}}
193
- inputTransform={true}
194
207
  previousModuleId={previousModule?.id}
195
208
  bind:args={value.input_transforms}
196
209
  bind:extraLib={stepPropPicker.extraLib}
@@ -1,9 +1,10 @@
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 { flowStateStore } from '../flowState';
5
4
  import Tooltip from '../../Tooltip.svelte';
6
5
  import { NEVER_TESTED_THIS_FAR } from '../utils';
6
+ import { getContext } from 'svelte';
7
+ const { flowStateStore } = getContext('FlowEditorContext');
7
8
  export let flowModule;
8
9
  let editor = undefined;
9
10
  $: isStopAfterIfEnabled = Boolean(flowModule.stop_after_if);
@@ -51,6 +52,7 @@ $: result = $flowStateStore[flowModule.id]?.previewResult ?? NEVER_TESTED_THIS_F
51
52
  pickableProperties={undefined}
52
53
  on:select={({ detail }) => {
53
54
  editor?.insertAtCursor(detail)
55
+ editor?.focus()
54
56
  }}
55
57
  >
56
58
  <SimpleEditor
@@ -1,15 +1,17 @@
1
1
  <script>import Button from '../../common/button/Button.svelte';
2
- import { faCodeBranch, faSave } from '@fortawesome/free-solid-svg-icons';
3
- import { createEventDispatcher } from 'svelte';
2
+ import { faCodeBranch, faPen, faSave } from '@fortawesome/free-solid-svg-icons';
3
+ import { createEventDispatcher, getContext } from 'svelte';
4
4
  import { Bed, PhoneIncoming, Repeat, Square } from 'lucide-svelte';
5
5
  import Popover from '../../Popover.svelte';
6
+ import { getLatestHashForScript, sendUserToast } from '../../../utils';
6
7
  export let module;
8
+ const { scriptEditorDrawer } = getContext('FlowEditorContext');
7
9
  const dispatch = createEventDispatcher();
8
10
  $: moduleRetry = module.retry?.constant || module.retry?.exponential;
9
11
  </script>
10
12
 
11
13
  <div class="flex flex-row space-x-2">
12
- {#if module.value.type === 'script' || module.value.type === 'rawscript'}
14
+ {#if module.value.type === 'script' || module.value.type === 'rawscript' || module.value.type == 'flow'}
13
15
  <Popover
14
16
  placement="bottom"
15
17
  class="center-center rounded border p-2
@@ -57,6 +59,27 @@ $: moduleRetry = module.retry?.constant || module.retry?.exponential;
57
59
  {/if}
58
60
  {#if module.value.type === 'script'}
59
61
  <div class="w-2" />
62
+ {#if !module.value.path.startsWith('hub/')}
63
+ <Button
64
+ size="xs"
65
+ color="light"
66
+ variant="border"
67
+ on:click={async () => {
68
+ if (module.value.type == 'script') {
69
+ const hash = module.value.hash ?? (await getLatestHashForScript(module.value.path))
70
+ $scriptEditorDrawer?.openDrawer(hash, () => {
71
+ dispatch('reload')
72
+ sendUserToast('Script has been updated')
73
+ })
74
+ }
75
+ }}
76
+ startIcon={{ icon: faPen }}
77
+ iconOnly={false}
78
+ disabled={module.value.hash != undefined}
79
+ >
80
+ Edit {#if module.value.hash != undefined} (locked hash){/if}
81
+ </Button>
82
+ {/if}
60
83
  <Button
61
84
  size="xs"
62
85
  color="light"
@@ -9,6 +9,7 @@ declare const __propDef: {
9
9
  toggleStopAfterIf: CustomEvent<any>;
10
10
  toggleSuspend: CustomEvent<any>;
11
11
  toggleSleep: CustomEvent<any>;
12
+ reload: CustomEvent<any>;
12
13
  fork: CustomEvent<any>;
13
14
  createScriptFromInlineScript: CustomEvent<any>;
14
15
  } & {
@@ -3,11 +3,10 @@ import Toggle from '../../Toggle.svelte';
3
3
  import Tooltip from '../../Tooltip.svelte';
4
4
  import { emptySchema } from '../../../utils';
5
5
  import { getContext } from 'svelte';
6
- import { flowStateStore } from '../flowState';
7
6
  import PropPickerWrapper from '../propPicker/PropPickerWrapper.svelte';
8
7
  export let flowModule;
9
8
  export let previousModuleId;
10
- const { selectedId } = getContext('FlowEditorContext');
9
+ const { selectedId, flowStateStore } = getContext('FlowEditorContext');
11
10
  let schema = emptySchema();
12
11
  schema.properties['sleep'] = {
13
12
  type: 'number',
@@ -53,6 +52,7 @@ $: isSleepEnabled = Boolean(flowModule.sleep);
53
52
  pickableProperties={undefined}
54
53
  on:select={({ detail }) => {
55
54
  editor?.insertAtCursor(detail)
55
+ editor?.focus()
56
56
  }}
57
57
  >
58
58
  <InputTransformForm
@@ -6,12 +6,11 @@ import FlowBranchAllWrapper from './FlowBranchAllWrapper.svelte';
6
6
  import FlowBranchOneWrapper from './FlowBranchOneWrapper.svelte';
7
7
  import { createInlineScriptModule, pickFlow, pickScript } from '../flowStateUtils';
8
8
  import FlowInputs from './FlowInputs.svelte';
9
- import { flowStateStore } from '../flowState';
10
9
  import { Alert } from '../../common';
11
10
  import FlowInputsFlow from './FlowInputsFlow.svelte';
12
11
  import FlowBranchesAllWrapper from './FlowBranchesAllWrapper.svelte';
13
12
  import FlowBranchesOneWrapper from './FlowBranchesOneWrapper.svelte';
14
- const { selectedId, schedule } = getContext('FlowEditorContext');
13
+ const { selectedId, schedule, flowStateStore } = getContext('FlowEditorContext');
15
14
  export let flowModule;
16
15
  // These pointers are used to easily access previewArgs of parent module, and previous module
17
16
  // Pointer to parent module, only defined within Branches or Loops.
@@ -30,12 +29,7 @@ export let previousModule = undefined;
30
29
  {:else if flowModule.value.type === 'identity'}
31
30
  {#if $selectedId == 'failure'}
32
31
  <Alert type="info" title="Error handlers are triggered upon non recovered errors">
33
- If defined, the error handler will take as input, the result of the step that errored (which
34
- has its error in the 'error field').
35
- <br />
36
- <br />
37
- Steps are retried until they succeed, or until the maximum number of retries defined for that
38
- spec is reached, at which point the error handler is called.
32
+ If defined, the error handler will take the error as input.
39
33
  </Alert>
40
34
  {/if}
41
35
 
@@ -29,9 +29,8 @@ $: isExponentialRetryEnabled = Boolean(flowModule.retry?.exponential);
29
29
  <h2 class="mt-2"
30
30
  >Retries <Tooltip>
31
31
  If defined, upon error this step will be retried with a delay and a maximum number of attempts
32
- as defined below. If none of the retries succeed, the step job is a failure and the error will
33
- propagate up in the case of a branch, and the error handler will be called ultimately if not
34
- handled prior.</Tooltip
32
+ as defined below. If both static and exponential delay is defined, the static delay attempts
33
+ are tried before the exponential ones.</Tooltip
35
34
  ></h2
36
35
  >
37
36
 
@@ -70,22 +69,25 @@ $: isExponentialRetryEnabled = Boolean(flowModule.retry?.exponential);
70
69
  }
71
70
  }}
72
71
  options={{
73
- right: 'Exponential retry enabled'
72
+ right: 'Exponential backoff enabled'
74
73
  }}
75
74
  />
76
75
  {#if flowModule.retry?.exponential}
77
76
  <span class="text-xs font-bold">Attempts</span>
78
77
  <input bind:value={flowModule.retry.exponential.attempts} type="number" />
79
78
  <span class="text-xs font-bold">Mulitplier</span>
79
+ <span class="text-xs text-gray-500">additional delay = multiplier * base ^ (# attempts)</span>
80
80
  <input bind:value={flowModule.retry.exponential.multiplier} type="number" />
81
- <span class="text-xs font-bold">Initial delay (seconds)</span>
81
+ <span class="text-xs font-bold">Base</span>
82
82
  <input bind:value={flowModule.retry.exponential.seconds} type="number" />
83
83
  {:else}
84
84
  <span class="text-xs font-bold">Attempts</span>
85
85
  <input type="number" disabled />
86
86
  <span class="text-xs font-bold">Mulitplier</span>
87
+ <span class="text-xs text-gray-500">additional delay = multiplier * seconds ^ (# attempts)</span
88
+ >
87
89
  <input type="number" disabled />
88
- <span class="text-xs font-bold">Initial delay (seconds)</span>
90
+ <span class="text-xs font-bold">Base</span>
89
91
  <input type="number" disabled />
90
92
  {/if}
91
93
  </div>
@@ -3,8 +3,7 @@ import SchemaForm from '../../SchemaForm.svelte';
3
3
  import Toggle from '../../Toggle.svelte';
4
4
  import { emptyString } from '../../../utils';
5
5
  import { getContext } from 'svelte';
6
- import { flowStore } from '../flowStore';
7
- const { schedule } = getContext('FlowEditorContext');
6
+ const { schedule, flowStore } = getContext('FlowEditorContext');
8
7
  </script>
9
8
 
10
9
  <CronInput bind:schedule={$schedule.cron} />