windmill-components 1.70.0 → 1.77.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 (441) hide show
  1. package/assets/app.css +12 -1
  2. package/components/AppConnect.svelte +4 -3
  3. package/components/DisplayResult.svelte +28 -10
  4. package/components/Dropdown.svelte +14 -4
  5. package/components/FieldHeader.svelte +12 -8
  6. package/components/FlowBuilder.svelte +107 -39
  7. package/components/FlowBuilder.svelte.d.ts +5 -0
  8. package/components/FlowGraphViewer.svelte +6 -5
  9. package/components/FlowJobResult.svelte +3 -3
  10. package/components/FlowPreviewContent.svelte +3 -8
  11. package/components/FlowStatusViewer.svelte +21 -8
  12. package/components/FolderUsageInfo.svelte +16 -6
  13. package/components/FolderUsageInfo.svelte.d.ts +2 -0
  14. package/components/GroupEditor.svelte +8 -0
  15. package/components/InputTransformForm.svelte +13 -20
  16. package/components/InputTransformSchemaForm.svelte +103 -0
  17. package/components/InputTransformSchemaForm.svelte.d.ts +24 -0
  18. package/components/LogViewer.svelte +1 -1
  19. package/components/ModulePreview.svelte +3 -2
  20. package/components/Multiselect.svelte +1 -1
  21. package/components/PageHeader.svelte +1 -1
  22. package/components/Path.svelte +35 -12
  23. package/components/Popover.svelte +2 -13
  24. package/components/ResourcePicker.svelte +33 -14
  25. package/components/RunChart.svelte +24 -5
  26. package/components/RunForm.svelte +5 -6
  27. package/components/RunForm.svelte.d.ts +1 -0
  28. package/components/SchemaForm.svelte +59 -57
  29. package/components/SchemaForm.svelte.d.ts +0 -5
  30. package/components/ScriptBuilder.svelte +151 -135
  31. package/components/ScriptPicker.svelte +3 -0
  32. package/components/SettingSection.svelte +44 -0
  33. package/components/SettingSection.svelte.d.ts +21 -0
  34. package/components/SimpleEditor.svelte +4 -1
  35. package/components/SimpleEditor.svelte.d.ts +2 -0
  36. package/components/Slider.svelte +6 -1
  37. package/components/Slider.svelte.d.ts +1 -0
  38. package/components/TemplateEditor.svelte +1 -1
  39. package/components/TestJobLoader.svelte +2 -2
  40. package/components/Toggle.svelte +17 -4
  41. package/components/Toggle.svelte.d.ts +2 -0
  42. package/components/Tooltip.svelte +4 -2
  43. package/components/UserSettings.svelte +2 -0
  44. package/components/WhitelistIp.svelte +1 -3
  45. package/components/apps/components/buttons/AppButton.svelte +45 -23
  46. package/components/apps/components/buttons/AppButton.svelte.d.ts +2 -0
  47. package/components/apps/components/buttons/AppForm.svelte +18 -12
  48. package/components/apps/components/buttons/AppForm.svelte.d.ts +3 -0
  49. package/components/apps/components/buttons/AppFormButton.svelte +14 -10
  50. package/components/apps/components/buttons/AppFormButton.svelte.d.ts +3 -0
  51. package/components/apps/components/display/AppBarChart.svelte +15 -7
  52. package/components/apps/components/display/AppBarChart.svelte.d.ts +3 -0
  53. package/components/apps/components/display/AppDisplayComponent.svelte +17 -12
  54. package/components/apps/components/display/AppDisplayComponent.svelte.d.ts +1 -0
  55. package/components/apps/components/display/AppHtml.svelte +18 -4
  56. package/components/apps/components/display/AppHtml.svelte.d.ts +3 -0
  57. package/components/apps/components/display/AppIcon.svelte +20 -8
  58. package/components/apps/components/display/AppIcon.svelte.d.ts +3 -0
  59. package/components/apps/components/display/AppImage.svelte +17 -10
  60. package/components/apps/components/display/AppImage.svelte.d.ts +3 -0
  61. package/components/apps/components/display/AppMap.svelte +214 -0
  62. package/components/apps/components/display/AppMap.svelte.d.ts +23 -0
  63. package/components/apps/components/display/AppPdf.svelte +304 -0
  64. package/components/apps/components/display/AppPdf.svelte.d.ts +24 -0
  65. package/components/apps/components/display/AppPieChart.svelte +15 -7
  66. package/components/apps/components/display/AppPieChart.svelte.d.ts +3 -0
  67. package/components/apps/components/display/AppScatterChart.svelte +12 -4
  68. package/components/apps/components/display/AppScatterChart.svelte.d.ts +3 -0
  69. package/components/apps/components/display/AppText.svelte +38 -32
  70. package/components/apps/components/display/AppText.svelte.d.ts +1 -0
  71. package/components/apps/components/display/AppTimeseries.svelte +12 -4
  72. package/components/apps/components/display/AppTimeseries.svelte.d.ts +3 -0
  73. package/components/apps/components/display/PlotlyHtml.svelte +8 -14
  74. package/components/apps/components/display/PlotlyHtml.svelte.d.ts +1 -1
  75. package/components/apps/components/display/VegaLiteHtml.svelte +3 -8
  76. package/components/apps/components/display/VegaLiteHtml.svelte.d.ts +1 -0
  77. package/components/apps/components/display/index.d.ts +3 -0
  78. package/components/apps/components/display/index.js +3 -0
  79. package/components/apps/components/display/table/AppAggridTable.svelte +20 -8
  80. package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +1 -0
  81. package/components/apps/components/display/table/AppTable.svelte +69 -21
  82. package/components/apps/components/display/table/AppTable.svelte.d.ts +3 -1
  83. package/components/apps/components/display/table/AppTableFooter.svelte +8 -1
  84. package/components/apps/components/display/table/AppTableFooter.svelte.d.ts +2 -0
  85. package/components/apps/components/helpers/AlignWrapper.svelte +13 -7
  86. package/components/apps/components/helpers/AlignWrapper.svelte.d.ts +3 -1
  87. package/components/apps/components/helpers/HiddenComponent.svelte +5 -1
  88. package/components/apps/components/helpers/HiddenComponent.svelte.d.ts +1 -0
  89. package/components/apps/components/helpers/InputValue.svelte +58 -52
  90. package/components/apps/components/helpers/InputValue.svelte.d.ts +4 -3
  91. package/components/apps/components/helpers/NonRunnableComponent.svelte +18 -3
  92. package/components/apps/components/helpers/NonRunnableComponent.svelte.d.ts +1 -0
  93. package/components/apps/components/helpers/RefreshButton.svelte +3 -4
  94. package/components/apps/components/helpers/ResizeWrapper.svelte +24 -0
  95. package/components/apps/components/helpers/ResizeWrapper.svelte.d.ts +19 -0
  96. package/components/apps/components/helpers/RunnableComponent.svelte +126 -91
  97. package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +5 -1
  98. package/components/apps/components/helpers/RunnableWrapper.svelte +11 -5
  99. package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +4 -1
  100. package/components/apps/components/helpers/eval.d.ts +5 -0
  101. package/components/apps/components/helpers/eval.js +57 -0
  102. package/components/apps/components/inputs/AppCheckbox.svelte +8 -2
  103. package/components/apps/components/inputs/AppCheckbox.svelte.d.ts +3 -0
  104. package/components/apps/components/inputs/AppDateInput.svelte +25 -18
  105. package/components/apps/components/inputs/AppDateInput.svelte.d.ts +6 -1
  106. package/components/apps/components/inputs/AppFileInput.svelte +22 -14
  107. package/components/apps/components/inputs/AppFileInput.svelte.d.ts +3 -0
  108. package/components/apps/components/inputs/AppMultiSelect.svelte +82 -0
  109. package/components/apps/components/inputs/AppMultiSelect.svelte.d.ts +27 -0
  110. package/components/apps/components/inputs/AppNumberInput.svelte +20 -16
  111. package/components/apps/components/inputs/AppNumberInput.svelte.d.ts +5 -0
  112. package/components/apps/components/inputs/AppRangeInput.svelte +55 -14
  113. package/components/apps/components/inputs/AppRangeInput.svelte.d.ts +3 -0
  114. package/components/apps/components/inputs/AppSelect.svelte +58 -21
  115. package/components/apps/components/inputs/AppSelect.svelte.d.ts +3 -0
  116. package/components/apps/components/inputs/AppSliderInputs.svelte +41 -9
  117. package/components/apps/components/inputs/AppSliderInputs.svelte.d.ts +3 -0
  118. package/components/apps/components/inputs/AppTextInput.svelte +53 -19
  119. package/components/apps/components/inputs/AppTextInput.svelte.d.ts +6 -0
  120. package/components/apps/components/inputs/currency/AppCurrencyInput.svelte +13 -3
  121. package/components/apps/components/inputs/currency/AppCurrencyInput.svelte.d.ts +3 -0
  122. package/components/apps/components/inputs/currency/CurrencyInput.svelte +2 -0
  123. package/components/apps/components/inputs/currency/CurrencyInput.svelte.d.ts +1 -0
  124. package/components/apps/components/layout/AppContainer.svelte +20 -17
  125. package/components/apps/components/layout/AppContainer.svelte.d.ts +3 -0
  126. package/components/apps/components/layout/AppDivider.svelte +24 -4
  127. package/components/apps/components/layout/AppDivider.svelte.d.ts +3 -1
  128. package/components/apps/components/layout/AppDrawer.svelte +86 -0
  129. package/components/apps/components/layout/AppDrawer.svelte.d.ts +24 -0
  130. package/components/apps/components/layout/AppSplitpanes.svelte +83 -0
  131. package/components/apps/components/layout/AppSplitpanes.svelte.d.ts +26 -0
  132. package/components/apps/components/layout/AppTabs.svelte +112 -40
  133. package/components/apps/components/layout/AppTabs.svelte.d.ts +4 -0
  134. package/components/apps/components/layout/index.d.ts +2 -0
  135. package/components/apps/components/layout/index.js +2 -0
  136. package/components/apps/editor/AppEditor.svelte +201 -132
  137. package/components/apps/editor/AppEditor.svelte.d.ts +3 -1
  138. package/components/apps/editor/AppEditorHeader.svelte +149 -66
  139. package/components/apps/editor/AppInputs.svelte +3 -3
  140. package/components/apps/editor/AppPreview.svelte +21 -7
  141. package/components/apps/editor/ComponentHeader.svelte +17 -4
  142. package/components/apps/editor/ComponentHeader.svelte.d.ts +2 -0
  143. package/components/apps/editor/GridEditor.svelte +86 -70
  144. package/components/apps/editor/GridPanel.svelte +29 -0
  145. package/components/apps/editor/GridPanel.svelte.d.ts +18 -0
  146. package/components/apps/editor/RecomputeAllComponents.svelte +14 -6
  147. package/components/apps/editor/SettingsPanel.svelte +30 -27
  148. package/components/apps/editor/SubGridEditor.svelte +82 -50
  149. package/components/apps/editor/SubGridEditor.svelte.d.ts +8 -4
  150. package/components/apps/editor/appUtils.d.ts +22 -3
  151. package/components/apps/editor/appUtils.js +221 -47
  152. package/components/apps/editor/component/Component.svelte +281 -61
  153. package/components/apps/editor/component/Component.svelte.d.ts +3 -1
  154. package/components/apps/editor/component/ComponentNavigation.svelte +170 -0
  155. package/components/apps/editor/component/ComponentNavigation.svelte.d.ts +14 -0
  156. package/components/apps/editor/component/components.d.ts +15 -3
  157. package/components/apps/editor/component/components.js +409 -54
  158. package/components/apps/editor/component/default-codes.js +6 -6
  159. package/components/apps/editor/component/sets.js +11 -3
  160. package/components/apps/editor/componentsPanel/ComponentList.svelte +72 -29
  161. package/components/apps/editor/componentsPanel/CssProperty.svelte +59 -23
  162. package/components/apps/editor/componentsPanel/CssProperty.svelte.d.ts +2 -1
  163. package/components/apps/editor/componentsPanel/CssSettings.svelte +56 -9
  164. package/components/apps/editor/componentsPanel/ListItem.svelte +23 -12
  165. package/components/apps/editor/componentsPanel/componentStaticValues.d.ts +2 -0
  166. package/components/apps/editor/componentsPanel/componentStaticValues.js +15 -2
  167. package/components/apps/editor/contextPanel/ComponentOutput.svelte +77 -0
  168. package/components/apps/editor/contextPanel/ComponentOutput.svelte.d.ts +21 -0
  169. package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +10 -6
  170. package/components/apps/editor/contextPanel/ContextPanel.svelte +81 -91
  171. package/components/apps/editor/contextPanel/SubGridOutput.svelte +71 -0
  172. package/components/apps/editor/contextPanel/SubGridOutput.svelte.d.ts +19 -0
  173. package/components/apps/editor/contextPanel/components/BackgroundScriptOutput.svelte +38 -0
  174. package/components/apps/editor/contextPanel/components/BackgroundScriptOutput.svelte.d.ts +19 -0
  175. package/components/apps/editor/contextPanel/components/BackgroundScriptsOutput.svelte +10 -0
  176. package/components/apps/editor/contextPanel/components/BackgroundScriptsOutput.svelte.d.ts +16 -0
  177. package/components/apps/editor/contextPanel/components/MinMaxButton.svelte +25 -0
  178. package/components/apps/editor/contextPanel/components/MinMaxButton.svelte.d.ts +16 -0
  179. package/components/apps/editor/contextPanel/components/OutputHeader.svelte +78 -0
  180. package/components/apps/editor/contextPanel/components/OutputHeader.svelte.d.ts +26 -0
  181. package/components/apps/editor/contextPanel/components/TableActionOutput.svelte +19 -0
  182. package/components/apps/editor/contextPanel/components/TableActionOutput.svelte.d.ts +18 -0
  183. package/components/apps/editor/contextPanel/components/TableActionsOutput.svelte +14 -0
  184. package/components/apps/editor/contextPanel/components/TableActionsOutput.svelte.d.ts +18 -0
  185. package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +55 -13
  186. package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte.d.ts +1 -0
  187. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +126 -62
  188. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +5 -0
  189. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte +1 -1
  190. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte +11 -5
  191. package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte.d.ts +1 -0
  192. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +26 -17
  193. package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelList.svelte +95 -85
  194. package/components/apps/editor/inlineScriptsPanel/utils.d.ts +5 -9
  195. package/components/apps/editor/inlineScriptsPanel/utils.js +19 -8
  196. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +10 -9
  197. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte.d.ts +21 -12
  198. package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +1 -1
  199. package/components/apps/editor/settingsPanel/ComponentPanel.svelte +119 -79
  200. package/components/apps/editor/settingsPanel/ComponentPanel.svelte.d.ts +1 -0
  201. package/components/apps/editor/settingsPanel/GridPane.svelte +75 -0
  202. package/components/apps/editor/settingsPanel/GridPane.svelte.d.ts +20 -0
  203. package/components/apps/editor/settingsPanel/GridTab.svelte +9 -17
  204. package/components/apps/editor/settingsPanel/GridTab.svelte.d.ts +2 -0
  205. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +2 -1
  206. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +1 -1
  207. package/components/apps/editor/settingsPanel/Recompute.svelte +2 -1
  208. package/components/apps/editor/settingsPanel/SelectedRunnable.svelte +7 -1
  209. package/components/apps/editor/settingsPanel/TableActions.svelte +30 -2
  210. package/components/apps/editor/settingsPanel/common/PanelSection.svelte +2 -2
  211. package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte +48 -0
  212. package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte.d.ts +19 -0
  213. package/components/apps/editor/settingsPanel/inputEditor/ConnectedInputEditor.svelte +2 -8
  214. package/components/apps/editor/settingsPanel/inputEditor/EvalInputEditor.svelte +2 -2
  215. package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte +77 -41
  216. package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte.d.ts +2 -0
  217. package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte +3 -3
  218. package/components/apps/editor/settingsPanel/inputEditor/JsonEditor.svelte.d.ts +4 -1
  219. package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +54 -6
  220. package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte.d.ts +1 -0
  221. package/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte +7 -9
  222. package/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte.d.ts +1 -1
  223. package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte +1 -0
  224. package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte.d.ts +1 -0
  225. package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +1 -1
  226. package/components/apps/inputType.d.ts +6 -5
  227. package/components/apps/rx.d.ts +6 -4
  228. package/components/apps/rx.js +36 -15
  229. package/components/apps/store.d.ts +6 -1
  230. package/components/apps/svelte-grid/Grid.svelte +171 -0
  231. package/components/apps/svelte-grid/Grid.svelte.d.ts +47 -0
  232. package/components/apps/svelte-grid/LICENSE +23 -0
  233. package/components/apps/svelte-grid/MoveResize.svelte +328 -0
  234. package/components/apps/svelte-grid/MoveResize.svelte.d.ts +46 -0
  235. package/components/apps/svelte-grid/types.d.ts +25 -0
  236. package/components/apps/svelte-grid/utils/container.d.ts +1 -0
  237. package/components/apps/svelte-grid/utils/container.js +4 -0
  238. package/components/apps/svelte-grid/utils/helper.d.ts +14 -0
  239. package/components/apps/svelte-grid/utils/helper.js +36 -0
  240. package/components/apps/svelte-grid/utils/item.d.ts +14 -0
  241. package/components/apps/svelte-grid/utils/item.js +192 -0
  242. package/components/apps/svelte-grid/utils/matrix.d.ts +6 -0
  243. package/components/apps/svelte-grid/utils/matrix.js +53 -0
  244. package/components/apps/svelte-grid/utils/other.d.ts +3 -0
  245. package/components/apps/svelte-grid/utils/other.js +30 -0
  246. package/components/apps/types.d.ts +21 -8
  247. package/components/apps/utils.d.ts +3 -3
  248. package/components/apps/utils.js +34 -56
  249. package/components/common/CloseButton.svelte +18 -0
  250. package/components/common/CloseButton.svelte.d.ts +27 -0
  251. package/components/common/badge/Badge.svelte +6 -1
  252. package/components/common/badge/Badge.svelte.d.ts +1 -0
  253. package/components/common/button/ButtonPopup.svelte +2 -0
  254. package/components/common/button/ButtonPopup.svelte.d.ts +1 -0
  255. package/components/common/button/UndoRedo.svelte +32 -0
  256. package/components/common/button/UndoRedo.svelte.d.ts +20 -0
  257. package/components/common/drawer/Drawer.svelte +10 -4
  258. package/components/common/drawer/Drawer.svelte.d.ts +3 -1
  259. package/components/common/drawer/DrawerContent.svelte +2 -7
  260. package/components/common/fileInput/FileInput.svelte +47 -21
  261. package/components/common/fileInput/FileInput.svelte.d.ts +3 -1
  262. package/components/common/fileInput/model.d.ts +1 -0
  263. package/components/common/fileInput/model.js +1 -0
  264. package/components/common/index.d.ts +1 -0
  265. package/components/common/index.js +1 -0
  266. package/components/common/languageIcons/JavaScript.svelte +11 -0
  267. package/components/common/languageIcons/JavaScript.svelte.d.ts +25 -0
  268. package/components/common/languageIcons/LanguageIcon.svelte +3 -1
  269. package/components/common/languageIcons/LanguageIcon.svelte.d.ts +1 -1
  270. package/components/common/menu/Menu.svelte +3 -2
  271. package/components/common/menu/Menu.svelte.d.ts +2 -1
  272. package/components/common/modal/Modal.svelte +9 -4
  273. package/components/common/modal/Modal.svelte.d.ts +2 -0
  274. package/components/common/popup/Popup.svelte +2 -1
  275. package/components/common/popup/Popup.svelte.d.ts +9 -0
  276. package/components/common/table/AppRow.svelte +14 -8
  277. package/components/common/table/AppRow.svelte.d.ts +1 -0
  278. package/components/common/table/FlowRow.svelte +22 -12
  279. package/components/common/table/FlowRow.svelte.d.ts +1 -0
  280. package/components/common/table/ScriptRow.svelte +43 -14
  281. package/components/common/table/ScriptRow.svelte.d.ts +1 -0
  282. package/components/common/tabs/Tab.svelte +13 -5
  283. package/components/common/tabs/Tab.svelte.d.ts +6 -1
  284. package/components/common/tabs/Tabs.svelte +8 -6
  285. package/components/common/tabs/Tabs.svelte.d.ts +3 -1
  286. package/components/flows/FlowEditor.svelte +6 -4
  287. package/components/flows/common/FlowCardHeader.svelte +4 -1
  288. package/components/flows/content/BranchPredicateEditor.svelte +3 -4
  289. package/components/flows/content/CapturePayload.svelte +1 -2
  290. package/components/flows/content/FlowBranchesAllWrapper.svelte +1 -1
  291. package/components/flows/content/FlowConstants.svelte +7 -13
  292. package/components/flows/content/FlowEditorPanel.svelte +4 -3
  293. package/components/flows/content/FlowFailureModule.svelte +2 -1
  294. package/components/flows/content/FlowInput.svelte +4 -2
  295. package/components/flows/content/FlowLoop.svelte +3 -4
  296. package/components/flows/content/FlowModuleComponent.svelte +23 -11
  297. package/components/flows/content/FlowModuleEarlyStop.svelte +3 -1
  298. package/components/flows/content/FlowModuleHeader.svelte +26 -3
  299. package/components/flows/content/FlowModuleHeader.svelte.d.ts +1 -0
  300. package/components/flows/content/FlowModuleSleep.svelte +2 -2
  301. package/components/flows/content/FlowModuleWrapper.svelte +2 -8
  302. package/components/flows/content/FlowSchedules.svelte +1 -2
  303. package/components/flows/content/FlowSettings.svelte +17 -37
  304. package/components/flows/content/ScriptEditorDrawer.svelte +98 -0
  305. package/components/flows/content/ScriptEditorDrawer.svelte.d.ts +19 -0
  306. package/components/flows/flowState.d.ts +2 -3
  307. package/components/flows/flowState.js +1 -4
  308. package/components/flows/flowStateUtils.d.ts +7 -6
  309. package/components/flows/flowStateUtils.js +5 -9
  310. package/components/flows/flowStore.d.ts +5 -4
  311. package/components/flows/flowStore.js +5 -17
  312. package/components/flows/header/FlowImportExportMenu.svelte +2 -1
  313. package/components/flows/map/FlowConstantsItem.svelte +2 -2
  314. package/components/flows/map/FlowErrorHandlerItem.svelte +12 -13
  315. package/components/flows/map/FlowInputsItem.svelte +2 -3
  316. package/components/flows/map/FlowModuleSchemaItem.svelte +88 -91
  317. package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +3 -3
  318. package/components/flows/map/FlowModuleSchemaMap.svelte +164 -138
  319. package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +1 -2
  320. package/components/flows/map/FlowSettingsItem.svelte +5 -4
  321. package/components/flows/map/InsertModuleButton.svelte +12 -10
  322. package/components/flows/map/InsertModuleButton.svelte.d.ts +1 -0
  323. package/components/flows/map/MapItem.svelte +176 -103
  324. package/components/flows/map/MapItem.svelte.d.ts +20 -2
  325. package/components/flows/map/VirtualItem.svelte +129 -0
  326. package/components/flows/map/VirtualItem.svelte.d.ts +44 -0
  327. package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +1 -1
  328. package/components/flows/pickers/WorkspaceScriptPicker.svelte +1 -1
  329. package/components/flows/previousResults.d.ts +1 -1
  330. package/components/flows/previousResults.js +32 -17
  331. package/components/flows/types.d.ts +13 -1
  332. package/components/flows/utils.js +1 -1
  333. package/components/graph/FlowGraph.svelte +227 -167
  334. package/components/graph/FlowGraph.svelte.d.ts +14 -1
  335. package/components/graph/model.d.ts +6 -36
  336. package/components/graph/model.js +1 -1
  337. package/components/graph/svelvet/LICENSE +21 -0
  338. package/components/graph/svelvet/collapsible/controllers/util.d.ts +15 -0
  339. package/components/graph/svelvet/collapsible/controllers/util.js +144 -0
  340. package/components/graph/svelvet/collapsible/models/Collapsible.d.ts +17 -0
  341. package/components/graph/svelvet/collapsible/models/Collapsible.js +25 -0
  342. package/components/graph/svelvet/collapsible/types/types.d.ts +8 -0
  343. package/components/graph/svelvet/collapsible/types/types.js +1 -0
  344. package/components/graph/svelvet/container/README.md +7 -0
  345. package/components/graph/svelvet/container/controllers/middleware.d.ts +18 -0
  346. package/components/graph/svelvet/container/controllers/middleware.js +101 -0
  347. package/components/graph/svelvet/container/views/GraphView.svelte +252 -0
  348. package/components/graph/svelvet/container/views/GraphView.svelte.d.ts +25 -0
  349. package/components/graph/svelvet/container/views/Svelvet.svelte +131 -0
  350. package/components/graph/svelvet/container/views/Svelvet.svelte.d.ts +41 -0
  351. package/components/graph/svelvet/customCss/controllers/getCss.d.ts +2 -0
  352. package/components/graph/svelvet/customCss/controllers/getCss.js +57 -0
  353. package/components/graph/svelvet/d3/controllers/d3.d.ts +5 -0
  354. package/components/graph/svelvet/d3/controllers/d3.js +59 -0
  355. package/components/graph/svelvet/edges/controllers/anchorCbDev.d.ts +4 -0
  356. package/components/graph/svelvet/edges/controllers/anchorCbDev.js +92 -0
  357. package/components/graph/svelvet/edges/controllers/anchorCbUser.d.ts +57 -0
  358. package/components/graph/svelvet/edges/controllers/anchorCbUser.js +73 -0
  359. package/components/graph/svelvet/edges/controllers/util.d.ts +37 -0
  360. package/components/graph/svelvet/edges/controllers/util.js +72 -0
  361. package/components/graph/svelvet/edges/models/Anchor.d.ts +48 -0
  362. package/components/graph/svelvet/edges/models/Anchor.js +122 -0
  363. package/components/graph/svelvet/edges/models/Edge.d.ts +47 -0
  364. package/components/graph/svelvet/edges/models/Edge.js +107 -0
  365. package/components/graph/svelvet/edges/types/types.d.ts +18 -0
  366. package/components/graph/svelvet/edges/types/types.js +1 -0
  367. package/components/graph/svelvet/edges/views/Edges/BaseEdge.svelte +105 -0
  368. package/components/graph/svelvet/edges/views/Edges/BaseEdge.svelte.d.ts +18 -0
  369. package/components/graph/svelvet/edges/views/Edges/EdgeAnchor.svelte +12 -0
  370. package/components/graph/svelvet/edges/views/Edges/EdgeAnchor.svelte.d.ts +17 -0
  371. package/components/graph/svelvet/edges/views/Edges/EdgeText.svelte +43 -0
  372. package/components/graph/svelvet/edges/views/Edges/EdgeText.svelte.d.ts +17 -0
  373. package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte +137 -0
  374. package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte.d.ts +17 -0
  375. package/components/graph/svelvet/edges/views/Edges/SmoothStepEdge.svelte +176 -0
  376. package/components/graph/svelvet/edges/views/Edges/SmoothStepEdge.svelte.d.ts +60 -0
  377. package/components/graph/svelvet/edges/views/Edges/StepEdge.svelte +8 -0
  378. package/components/graph/svelvet/edges/views/Edges/StepEdge.svelte.d.ts +25 -0
  379. package/components/graph/svelvet/edges/views/Edges/types.d.ts +52 -0
  380. package/components/graph/svelvet/edges/views/Edges/types.js +1 -0
  381. package/components/graph/svelvet/edges/views/Edges/utils.d.ts +33 -0
  382. package/components/graph/svelvet/edges/views/Edges/utils.js +31 -0
  383. package/components/graph/svelvet/editEdges/views/EditEdge.svelte +151 -0
  384. package/components/graph/svelvet/editEdges/views/EditEdge.svelte.d.ts +20 -0
  385. package/components/graph/svelvet/nodes/controllers/util.d.ts +9 -0
  386. package/components/graph/svelvet/nodes/controllers/util.js +13 -0
  387. package/components/graph/svelvet/nodes/models/Node.d.ts +78 -0
  388. package/components/graph/svelvet/nodes/models/Node.js +195 -0
  389. package/components/graph/svelvet/nodes/views/EditNode.svelte +147 -0
  390. package/components/graph/svelvet/nodes/views/EditNode.svelte.d.ts +33 -0
  391. package/components/graph/svelvet/nodes/views/Node.svelte +85 -0
  392. package/components/graph/svelvet/nodes/views/Node.svelte.d.ts +22 -0
  393. package/components/graph/svelvet/resizableNodes/controllers/util.d.ts +11 -0
  394. package/components/graph/svelvet/resizableNodes/controllers/util.js +24 -0
  395. package/components/graph/svelvet/resizableNodes/models/ResizeNode.d.ts +33 -0
  396. package/components/graph/svelvet/resizableNodes/models/ResizeNode.js +71 -0
  397. package/components/graph/svelvet/resizableNodes/views/ResizeNode.svelte +81 -0
  398. package/components/graph/svelvet/resizableNodes/views/ResizeNode.svelte.d.ts +20 -0
  399. package/components/graph/svelvet/store/controllers/storeApi.d.ts +32 -0
  400. package/components/graph/svelvet/store/controllers/storeApi.js +111 -0
  401. package/components/graph/svelvet/store/controllers/userApi.d.ts +3 -0
  402. package/components/graph/svelvet/store/controllers/userApi.js +18 -0
  403. package/components/graph/svelvet/store/controllers/util.d.ts +31 -0
  404. package/components/graph/svelvet/store/controllers/util.js +180 -0
  405. package/components/graph/svelvet/store/models/store.d.ts +12 -0
  406. package/components/graph/svelvet/store/models/store.js +9 -0
  407. package/components/graph/svelvet/store/types/types.d.ts +134 -0
  408. package/components/graph/svelvet/store/types/types.js +1 -0
  409. package/components/graph/svelvet/types/README.md +3 -0
  410. package/components/graph/svelvet/types/index.d.ts +2 -0
  411. package/components/graph/svelvet/types/index.js +1 -0
  412. package/components/graph/svelvet/types/types.d.ts +49 -0
  413. package/components/graph/svelvet/types/types.js +18 -0
  414. package/components/graph/util.js +2 -2
  415. package/components/home/ItemsList.svelte +53 -5
  416. package/components/home/ItemsList.svelte.d.ts +1 -0
  417. package/components/home/ListFilters.svelte +7 -2
  418. package/components/jobs/JobDetail.svelte +12 -1
  419. package/components/propertyPicker/ObjectViewer.svelte +6 -4
  420. package/components/sidebar/SidebarContent.svelte +2 -2
  421. package/consts.d.ts +1 -0
  422. package/consts.js +1 -0
  423. package/defaults.d.ts +4 -0
  424. package/defaults.js +4 -0
  425. package/history.d.ts +9 -0
  426. package/history.js +63 -0
  427. package/package.json +87 -9
  428. package/script_helpers.d.ts +1 -1
  429. package/script_helpers.js +1 -0
  430. package/scripts.d.ts +1 -1
  431. package/scripts.js +8 -1
  432. package/utils.d.ts +9 -4
  433. package/utils.js +43 -8
  434. package/components/apps/editor/TablePanel.svelte +0 -19
  435. package/components/apps/editor/TablePanel.svelte.d.ts +0 -17
  436. package/components/apps/editor/settingsPanel/MoveToOtherGrid.svelte +0 -85
  437. package/components/apps/editor/settingsPanel/MoveToOtherGrid.svelte.d.ts +0 -18
  438. package/components/flows/map/FlowBranchAllMap.svelte +0 -100
  439. package/components/flows/map/FlowBranchAllMap.svelte.d.ts +0 -17
  440. package/components/flows/map/FlowBranchOneMap.svelte +0 -124
  441. package/components/flows/map/FlowBranchOneMap.svelte.d.ts +0 -17
@@ -5,7 +5,7 @@ import SharedBadge from '../../SharedBadge.svelte';
5
5
  import { ScriptService } from '../../../gen';
6
6
  import { userStore, workspaceStore } from '../../../stores';
7
7
  import { capitalize, sendUserToast } from '../../../utils';
8
- import { faArchive, faCalendarAlt, faCodeFork, faEdit, faEye, faFileExport, faList, faPlay, faShare } from '@fortawesome/free-solid-svg-icons';
8
+ import { faArchive, faCalendarAlt, faCodeFork, faEdit, faEye, faFileExport, faList, faPlay, faShare, faTrashAlt } from '@fortawesome/free-solid-svg-icons';
9
9
  import { MoreVertical } from 'lucide-svelte';
10
10
  import { createEventDispatcher } from 'svelte';
11
11
  import Badge from '../badge/Badge.svelte';
@@ -17,14 +17,21 @@ export let marked;
17
17
  export let starred;
18
18
  export let shareModal;
19
19
  export let moveDrawer;
20
- let { summary, path, hash, language, extra_perms, canWrite, lock_error_logs, kind, workspace_id } = script;
20
+ export let deleteConfirmedCallback;
21
+ let { summary, path, hash, language, extra_perms, canWrite, lock_error_logs, kind, workspace_id, archived } = script;
21
22
  const dispatch = createEventDispatcher();
22
23
  async function archiveScript(path) {
23
24
  await ScriptService.archiveScriptByPath({ workspace: $workspaceStore, path });
24
25
  dispatch('change');
25
26
  sendUserToast(`Archived script ${path}`);
26
27
  }
28
+ async function deleteScript(path) {
29
+ await ScriptService.deleteScriptByPath({ workspace: $workspaceStore, path });
30
+ dispatch('change');
31
+ sendUserToast(`Delete script ${path}`);
32
+ }
27
33
  let scheduleEditor;
34
+ const dlt = 'delete';
28
35
  </script>
29
36
 
30
37
  <ScheduleEditor on:update={() => goto('/schedules')} bind:this={scheduleEditor} />
@@ -48,13 +55,17 @@ let scheduleEditor;
48
55
  <Badge color="gray" baseClass="border">{capitalize(kind)}</Badge>
49
56
  {/if}
50
57
 
58
+ {#if archived}
59
+ <Badge color="red" baseClass="border">archived</Badge>
60
+ {/if}
61
+
51
62
  <LanguageBadge {language} />
52
63
  </svelte:fragment>
53
64
 
54
65
  <svelte:fragment slot="actions">
55
66
  <span class="hidden md:inline-flex gap-x-1">
56
67
  {#if !$userStore?.operator}
57
- {#if canWrite}
68
+ {#if canWrite && !archived}
58
69
  <div>
59
70
  <Button
60
71
  color="light"
@@ -103,7 +114,6 @@ let scheduleEditor;
103
114
  </span>
104
115
  <Dropdown
105
116
  placement="bottom-end"
106
- btnClasses="!text-gray-700 !bg-transparent hover:!bg-gray-400/20 !p-[6px]"
107
117
  dropdownItems={[
108
118
  {
109
119
  displayName: 'View script',
@@ -115,13 +125,13 @@ let scheduleEditor;
115
125
  displayName: 'Edit',
116
126
  icon: faEdit,
117
127
  href: `/scripts/edit/${hash}`,
118
- disabled: !canWrite
128
+ disabled: !canWrite || archived
119
129
  },
120
130
  {
121
131
  displayName: 'Edit code',
122
132
  icon: faEdit,
123
133
  href: `/scripts/edit/${hash}?step=2`,
124
- disabled: !canWrite
134
+ disabled: !canWrite || archived
125
135
  },
126
136
  {
127
137
  displayName: 'Use as template',
@@ -134,7 +144,7 @@ let scheduleEditor;
134
144
  action: () => {
135
145
  moveDrawer.openDrawer(path, summary, 'script')
136
146
  },
137
- disabled: !canWrite
147
+ disabled: !canWrite || archived
138
148
  },
139
149
  {
140
150
  displayName: 'View runs',
@@ -146,14 +156,16 @@ let scheduleEditor;
146
156
  icon: faCalendarAlt,
147
157
  action: () => {
148
158
  scheduleEditor.openNew(false, path)
149
- }
159
+ },
160
+ disabled: archived
150
161
  },
151
162
  {
152
163
  displayName: canWrite ? 'Share' : 'See Permissions',
153
164
  icon: faShare,
154
165
  action: () => {
155
166
  shareModal.openDrawer && shareModal.openDrawer(path, 'script')
156
- }
167
+ },
168
+ disabled: archived
157
169
  },
158
170
  {
159
171
  displayName: 'Archive',
@@ -162,11 +174,28 @@ let scheduleEditor;
162
174
  path ? archiveScript(path) : null
163
175
  },
164
176
  type: 'delete',
165
- disabled: !canWrite
166
- }
177
+ disabled: !canWrite || archived
178
+ },
179
+ ...($userStore?.is_admin || $userStore?.is_super_admin
180
+ ? []
181
+ : [
182
+ {
183
+ displayName: 'Delete',
184
+ icon: faTrashAlt,
185
+ action: (event) => {
186
+ if (event?.shiftKey) {
187
+ deleteScript(path)
188
+ } else {
189
+ deleteConfirmedCallback = () => {
190
+ deleteScript(path)
191
+ }
192
+ }
193
+ },
194
+ type: dlt,
195
+ disabled: !canWrite
196
+ }
197
+ ])
167
198
  ]}
168
- >
169
- <MoreVertical size={20} />
170
- </Dropdown>
199
+ />
171
200
  </svelte:fragment>
172
201
  </Row>
@@ -11,6 +11,7 @@ declare const __propDef: {
11
11
  starred: boolean;
12
12
  shareModal: ShareModal;
13
13
  moveDrawer: MoveDrawer;
14
+ deleteConfirmedCallback: (() => void) | undefined;
14
15
  };
15
16
  events: {
16
17
  change: CustomEvent<any>;
@@ -1,7 +1,12 @@
1
- <script>import { classNames } from '../../../utils';
2
- import { getContext } from 'svelte';
1
+ <script>import { getContext } from 'svelte';
2
+ import { twMerge } from 'tailwind-merge';
3
3
  export let value;
4
4
  export let size = 'sm';
5
+ let c = '';
6
+ export { c as class };
7
+ export let style = '';
8
+ export let selectedClass = '';
9
+ export let selectedStyle = '';
5
10
  const fontSizeClasses = {
6
11
  xs: 'text-xs',
7
12
  sm: 'text-sm',
@@ -14,15 +19,18 @@ const { selected, update } = getContext('Tabs');
14
19
 
15
20
  <!-- svelte-ignore a11y-click-events-have-key-events -->
16
21
  <div
17
- class={classNames(
22
+ class={twMerge(
23
+ 'border-b-2 py-1 px-4 cursor-pointer transition-all z-10 ease-linear font-medium',
18
24
  $selected?.startsWith(value)
19
25
  ? 'border-gray-600 text-gray-800 '
20
26
  : 'border-gray-300 border-opacity-0 hover:border-opacity-100 text-gray-600',
21
- 'border-b-2 py-1 px-4 cursor-pointer transition-all ease-linear font-medium',
22
27
  fontSizeClasses[size],
23
- $$props.class
28
+ c,
29
+ $selected?.startsWith(value) ? selectedClass : ''
24
30
  )}
31
+ style={`${style} ${$selected?.startsWith(value) ? selectedStyle : ''}`}
25
32
  on:click={() => update(value)}
33
+ on:pointerdown|stopPropagation
26
34
  >
27
35
  <slot />
28
36
  </div>
@@ -1,11 +1,16 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
- [x: string]: any;
5
4
  value: string;
6
5
  size?: "xs" | "sm" | "md" | "lg" | "xl" | undefined;
6
+ class?: string | undefined;
7
+ style?: string | undefined;
8
+ selectedClass?: string | undefined;
9
+ selectedStyle?: string | undefined;
7
10
  };
8
11
  events: {
12
+ pointerdown: PointerEvent;
13
+ } & {
9
14
  [evt: string]: CustomEvent<any>;
10
15
  };
11
16
  slots: {
@@ -4,9 +4,13 @@
4
4
  <script>import { setContext } from 'svelte';
5
5
  import { writable } from 'svelte/store';
6
6
  import { createEventDispatcher } from 'svelte';
7
- import { classNames } from '../../../utils';
7
+ import { twMerge } from 'tailwind-merge';
8
8
  const dispatch = createEventDispatcher();
9
9
  export let selected;
10
+ let c = '';
11
+ export { c as class };
12
+ export let wrapperClass = '';
13
+ export let style = '';
10
14
  $: selected && updateSelected();
11
15
  const selectedStore = writable(selected);
12
16
  $: $selectedStore && dispatch('selected', $selectedStore);
@@ -22,12 +26,10 @@ function updateSelected() {
22
26
  }
23
27
  </script>
24
28
 
25
- <div class="overflow-x-auto">
29
+ <div class="overflow-x-auto {wrapperClass}">
26
30
  <div
27
- class={classNames(
28
- 'border-b border-gray-200 flex flex-row whitespace-nowrap scrollbar-hidden',
29
- $$props.class
30
- )}
31
+ class={twMerge('border-b border-gray-200 flex flex-row whitespace-nowrap scrollbar-hidden', c)}
32
+ {style}
31
33
  >
32
34
  <slot {selected} />
33
35
  </div>
@@ -6,8 +6,10 @@ export type TabsContext = {
6
6
  import { type Writable } from 'svelte/store';
7
7
  declare const __propDef: {
8
8
  props: {
9
- [x: string]: any;
10
9
  selected: string;
10
+ class?: string | undefined;
11
+ wrapperClass?: string | undefined;
12
+ style?: string | undefined;
11
13
  };
12
14
  events: {
13
15
  selected: CustomEvent<any>;
@@ -1,16 +1,18 @@
1
1
  <script>import { Pane, Splitpanes } from 'svelte-splitpanes';
2
2
  import FlowEditorPanel from './content/FlowEditorPanel.svelte';
3
3
  import FlowModuleSchemaMap from './map/FlowModuleSchemaMap.svelte';
4
- import { flowStore } from './flowStore';
5
4
  import WindmillIcon from '../icons/WindmillIcon.svelte';
6
5
  import { Skeleton } from '../common';
6
+ import { getContext } from 'svelte';
7
7
  export let initialPath;
8
8
  export let loading;
9
+ const { flowStore } = getContext('FlowEditorContext');
10
+ let size = 50;
9
11
  </script>
10
12
 
11
13
  <div class="h-full overflow-hidden border-t">
12
14
  <Splitpanes>
13
- <Pane size={20} minSize={15} class="h-full">
15
+ <Pane {size} minSize={15} class="h-full">
14
16
  <div class="grow overflow-auto bg-gray h-full bg-gray-50 relative">
15
17
  {#if loading}
16
18
  <div class="p-2 pt-10">
@@ -19,11 +21,11 @@ export let loading;
19
21
  {/each}
20
22
  </div>
21
23
  {:else if $flowStore.value.modules}
22
- <FlowModuleSchemaMap bind:modules={$flowStore.value.modules} root />
24
+ <FlowModuleSchemaMap bind:modules={$flowStore.value.modules} />
23
25
  {/if}
24
26
  </div>
25
27
  </Pane>
26
- <Pane size={80} minSize={40}>
28
+ <Pane class="drop-shadow-2xl" size={100 - size} minSize={40}>
27
29
  {#if loading}
28
30
  <div class="w-full h-full ">
29
31
  <div class="block m-auto mt-40 w-10">
@@ -28,7 +28,7 @@ $: $workspaceStore &&
28
28
  </script>
29
29
 
30
30
  <div
31
- class="flex items-center justify-between py-2 px-4 border-b border-gray-300 space-x-2 h-full max-h-12 flex-nowrap"
31
+ class="overflow-x-auto scrollbar-hidden flex items-center justify-between py-2 px-4 border-b border-gray-300 space-x-2 h-full max-h-12 flex-nowrap"
32
32
  >
33
33
  {#if flowModule}
34
34
  <span class="text-sm w-full mr-4">
@@ -55,6 +55,9 @@ $: $workspaceStore &&
55
55
  >
56
56
  {/if}
57
57
  <input bind:value={flowModule.summary} placeholder="Summary" class="w-full grow" />
58
+ {:else if flowModule?.value.type === 'flow'}
59
+ <Badge color="indigo" capitalize>flow</Badge>
60
+ <input bind:value={flowModule.summary} placeholder="Summary" class="w-full grow" />
58
61
  {/if}
59
62
  </div>
60
63
  </span>
@@ -1,15 +1,13 @@
1
1
  <script>import { getContext } from 'svelte';
2
- import { flowStore } from '../flowStore';
3
2
  import PropPickerWrapper from '../propPicker/PropPickerWrapper.svelte';
4
3
  import SimpleEditor from '../../SimpleEditor.svelte';
5
- import { flowStateStore } from '../flowState';
6
4
  import { getStepPropPicker } from '../previousResults';
7
5
  export let branch;
8
6
  export let parentModule;
9
7
  export let previousModule;
10
- const { previewArgs } = getContext('FlowEditorContext');
8
+ const { previewArgs, flowStateStore, flowStore } = getContext('FlowEditorContext');
11
9
  let editor = undefined;
12
- $: stepPropPicker = getStepPropPicker($flowStateStore, parentModule, previousModule, parentModule.id, $flowStore, $previewArgs, false, true);
10
+ $: stepPropPicker = getStepPropPicker($flowStateStore, parentModule, previousModule, parentModule.id, $flowStore, $previewArgs, false);
13
11
  </script>
14
12
 
15
13
  <PropPickerWrapper
@@ -17,6 +15,7 @@ $: stepPropPicker = getStepPropPicker($flowStateStore, parentModule, previousMod
17
15
  pickableProperties={stepPropPicker.pickableProperties}
18
16
  on:select={({ detail }) => {
19
17
  editor?.insertAtCursor(detail)
18
+ editor?.focus()
20
19
  }}
21
20
  >
22
21
  <div class="border border-gray-400">
@@ -6,7 +6,6 @@ import WindmillIcon from '../../icons/WindmillIcon.svelte';
6
6
  import ObjectViewer from '../../propertyPicker/ObjectViewer.svelte';
7
7
  import { CaptureService } from '../../../gen';
8
8
  import { workspaceStore } from '../../../stores';
9
- import { flowStore } from '../flowStore';
10
9
  import { convert } from '@redocly/json-to-json-schema';
11
10
  import SchemaViewer from '../../SchemaViewer.svelte';
12
11
  import { getContext } from 'svelte';
@@ -14,7 +13,7 @@ import { copyToClipboard, sendUserToast } from '../../../utils';
14
13
  import Icon from 'svelte-awesome';
15
14
  import { faClipboard } from '@fortawesome/free-solid-svg-icons';
16
15
  import SchemaForm from '../../SchemaForm.svelte';
17
- const { previewArgs } = getContext('FlowEditorContext');
16
+ const { previewArgs, flowStore } = getContext('FlowEditorContext');
18
17
  let drawer;
19
18
  let interval = undefined;
20
19
  let captureInput = undefined;
@@ -27,7 +27,7 @@ let selected = 'early-stop';
27
27
  >
28
28
  <div class="flex flex-col gap-y-4 py-2 w-full max-w-xl">
29
29
  {#each value.branches as branch, i}
30
- <div class="flex flex-row gap-x-4 w-full">
30
+ <div class="flex flex-row gap-x-4 w-full items-center">
31
31
  <div class="grow">
32
32
  <input type="text" bind:value={branch.summary} placeholder="Summary" />
33
33
  </div>
@@ -1,13 +1,12 @@
1
- <script>import { dfs, flowStore } from '../flowStore';
1
+ <script>import { dfs } from '../flowStore';
2
2
  import FlowCard from '../common/FlowCard.svelte';
3
3
  import { Alert, Badge } from '../../common';
4
- import SchemaForm from '../../SchemaForm.svelte';
5
- import { flowStateStore } from '../flowState';
6
- import { setContext } from 'svelte';
4
+ import { getContext, setContext } from 'svelte';
7
5
  import { writable } from 'svelte/store';
8
- import { slide } from 'svelte/transition';
9
6
  import Toggle from '../../Toggle.svelte';
7
+ import InputTransformSchemaForm from '../../InputTransformSchemaForm.svelte';
10
8
  let hideOptional = false;
9
+ const { flowStateStore, flowStore } = getContext('FlowEditorContext');
11
10
  $: steps = dfs($flowStore.value.modules, (x) => x)
12
11
  .map((x) => [x.value, x])
13
12
  .filter((x) => x[0].type == 'script' || x[0].type == 'rawscript')
@@ -33,11 +32,7 @@ setContext('PropPickerWrapper', {
33
32
 
34
33
  <div class="min-h-full">
35
34
  <FlowCard title="All Static Inputs">
36
- <Toggle
37
- slot="header"
38
- bind:checked={hideOptional}
39
- options={{left: 'Hide optional inputs'}}
40
- />
35
+ <Toggle slot="header" bind:checked={hideOptional} options={{ left: 'Hide optional inputs' }} />
41
36
  <div class="min-h-full flex-1">
42
37
  <Alert type="info" title="Static Inputs" class="m-4"
43
38
  >This page centralizes the static inputs of every steps. It is akin to a file containing all
@@ -60,15 +55,14 @@ setContext('PropPickerWrapper', {
60
55
  {/if}
61
56
  {#each steps as [args, filter, m] (m.id)}
62
57
  {#if filter.length > 0}
63
- <div transition:slide class="relative h-full border-t p-4">
58
+ <div class="relative h-full border-t p-4">
64
59
  <h2 class="sticky w-full top-0 z-10 inline-flex items-center bg-white py-2">
65
60
  <span class="mr-4">{m.summary || m.value['path'] || 'Inline script'}</span>
66
61
  <Badge large color="indigo">{m.id}</Badge>
67
62
  </h2>
68
63
 
69
- <SchemaForm
64
+ <InputTransformSchemaForm
70
65
  noDynamicToggle
71
- inputTransform
72
66
  {filter}
73
67
  class="mt-2"
74
68
  schema={$flowStateStore[m.id]?.schema ?? {}}
@@ -3,16 +3,17 @@ import FlowModuleWrapper from './FlowModuleWrapper.svelte';
3
3
  import FlowSettings from './FlowSettings.svelte';
4
4
  import FlowInput from './FlowInput.svelte';
5
5
  import FlowFailureModule from './FlowFailureModule.svelte';
6
- import { flowStore } from '../flowStore';
7
6
  import FlowConstants from './FlowConstants.svelte';
8
7
  export let initialPath;
9
- const { selectedId } = getContext('FlowEditorContext');
8
+ const { selectedId, flowStore } = getContext('FlowEditorContext');
10
9
  </script>
11
10
 
12
11
  {#if $selectedId?.startsWith('settings')}
13
12
  <FlowSettings {initialPath} />
14
- {:else if $selectedId === 'inputs'}
13
+ {:else if $selectedId === 'Input'}
15
14
  <FlowInput />
15
+ {:else if $selectedId === 'Result'}
16
+ <p class="p-4 text-gray-600">Nothing to show about the result node. Happy flow building!</p>
16
17
  {:else if $selectedId === 'constants'}
17
18
  <FlowConstants />
18
19
  {:else if $selectedId === 'failure'}
@@ -1,5 +1,6 @@
1
- <script>import { flowStore } from '../flowStore';
1
+ <script>import { getContext } from 'svelte';
2
2
  import FlowModuleWrapper from './FlowModuleWrapper.svelte';
3
+ const { flowStore } = getContext('FlowEditorContext');
3
4
  </script>
4
5
 
5
6
  {#if $flowStore.value.failure_module}
@@ -1,9 +1,11 @@
1
1
  <script>import { Button } from '../../common';
2
2
  import SchemaEditor from '../../SchemaEditor.svelte';
3
3
  import SchemaForm from '../../SchemaForm.svelte';
4
+ import { getContext } from 'svelte';
4
5
  import FlowCard from '../common/FlowCard.svelte';
5
- import { copyFirstStepSchema, flowStore } from '../flowStore';
6
+ import { copyFirstStepSchema } from '../flowStore';
6
7
  import CapturePayload from './CapturePayload.svelte';
8
+ const { flowStore, flowStateStore } = getContext('FlowEditorContext');
7
9
  let capturePayload;
8
10
  </script>
9
11
 
@@ -26,7 +28,7 @@ let capturePayload;
26
28
  size="sm"
27
29
  disabled={$flowStore.value.modules.length === 0 ||
28
30
  $flowStore.value.modules[0].value.type == 'identity'}
29
- on:click={copyFirstStepSchema}
31
+ on:click={() => copyFirstStepSchema($flowStateStore, flowStore)}
30
32
  >
31
33
  First step's inputs
32
34
  </Button>
@@ -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">
@@ -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';
@@ -25,7 +22,8 @@ import Button from '../../common/button/Button.svelte';
25
22
  import Alert from '../../common/alert/Alert.svelte';
26
23
  import FlowModuleSleep from './FlowModuleSleep.svelte';
27
24
  import FlowPathViewer from './FlowPathViewer.svelte';
28
- const { selectedId, previewArgs } = getContext('FlowEditorContext');
25
+ import InputTransformSchemaForm from '../../InputTransformSchemaForm.svelte';
26
+ const { selectedId, previewArgs, flowStateStore, flowStore } = getContext('FlowEditorContext');
29
27
  export let flowModule;
30
28
  export let failureModule = false;
31
29
  export let parentModule = undefined;
@@ -53,7 +51,7 @@ $: stepPropPicker = failureModule
53
51
  },
54
52
  extraLib: ''
55
53
  }
56
- : getStepPropPicker($flowStateStore, parentModule, previousModule, flowModule.id, $flowStore, $previewArgs, false, true);
54
+ : getStepPropPicker($flowStateStore, parentModule, previousModule, flowModule.id, $flowStore, $previewArgs, false);
57
55
  function onKeyDown(event) {
58
56
  if ((event.ctrlKey || event.metaKey) && event.key == 'Enter') {
59
57
  event.preventDefault();
@@ -93,6 +91,7 @@ afterUpdate(() => {
93
91
  });
94
92
  let isScript = true;
95
93
  $: isScript != (value.type === 'script') && (isScript = value.type === 'script');
94
+ let forceReload = 0;
96
95
  </script>
97
96
 
98
97
  <svelte:window on:keydown={onKeyDown} />
@@ -112,11 +111,22 @@ $: isScript != (value.type === 'script') && (isScript = value.type === 'script')
112
111
  flowModule = module
113
112
  $flowStateStore[module.id] = state
114
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
+ }}
115
124
  on:createScriptFromInlineScript={async () => {
116
125
  const [module, state] = await createScriptFromInlineScript(
117
126
  flowModule,
118
127
  $selectedId,
119
- $flowStateStore[flowModule.id].schema
128
+ $flowStateStore[flowModule.id].schema,
129
+ $flowStore
120
130
  )
121
131
  flowModule = module
122
132
  $flowStateStore[module.id] = state
@@ -131,7 +141,7 @@ $: isScript != (value.type === 'script') && (isScript = value.type === 'script')
131
141
  {editor}
132
142
  lang={value['language'] ?? 'deno'}
133
143
  {websocketAlive}
134
- iconOnly={width < 768}
144
+ iconOnly={width < 850}
135
145
  />
136
146
  </div>
137
147
  {/if}
@@ -168,10 +178,13 @@ $: isScript != (value.type === 'script') && (isScript = value.type === 'script')
168
178
  await reload(flowModule)
169
179
  }}
170
180
  formatAction={() => reload(flowModule)}
181
+ fixedOverflowWidgets
171
182
  />
172
183
  </div>
173
184
  {:else if value.type === 'script'}
174
- <FlowModuleScript path={value.path} hash={value.hash} />
185
+ {#key forceReload}
186
+ <FlowModuleScript path={value.path} hash={value.hash} />
187
+ {/key}
175
188
  {:else if value.type === 'flow'}
176
189
  <FlowPathViewer path={value.path} />
177
190
  {/if}
@@ -189,9 +202,8 @@ $: isScript != (value.type === 'script') && (isScript = value.type === 'script')
189
202
  pickableProperties={stepPropPicker.pickableProperties}
190
203
  error={failureModule}
191
204
  >
192
- <SchemaForm
205
+ <InputTransformSchemaForm
193
206
  schema={$flowStateStore[$selectedId]?.schema ?? {}}
194
- inputTransform={true}
195
207
  previousModuleId={previousModule?.id}
196
208
  bind:args={value.input_transforms}
197
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
  } & {