windmill-components 1.52.0 → 1.55.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (351) hide show
  1. package/components/ApiConnectForm.svelte +42 -7
  2. package/components/ApiConnectForm.svelte.d.ts +2 -1
  3. package/components/AppConnect.svelte +19 -11
  4. package/components/ArgInfo.svelte +6 -2
  5. package/components/ArgInput.svelte +9 -3
  6. package/components/ArgInput.svelte.d.ts +1 -0
  7. package/components/CenteredPage.svelte +1 -1
  8. package/components/CenteredPage.svelte.d.ts +6 -2
  9. package/components/CronInput.svelte +1 -1
  10. package/components/DisplayResult.svelte +39 -2
  11. package/components/Dropdown.svelte +73 -100
  12. package/components/Dropdown.svelte.d.ts +1 -3
  13. package/components/Editor.svelte +16 -5
  14. package/components/EditorBar.svelte +69 -63
  15. package/components/EditorBar.svelte.d.ts +1 -0
  16. package/components/FlowBuilder.svelte +74 -68
  17. package/components/FlowGraphViewer.svelte +136 -34
  18. package/components/FlowGraphViewer.svelte.d.ts +1 -0
  19. package/components/FlowJobResult.svelte +6 -1
  20. package/components/FlowJobResult.svelte.d.ts +2 -0
  21. package/components/FlowMetadata.svelte +4 -2
  22. package/components/FlowPreviewContent.svelte +10 -23
  23. package/components/FlowPreviewContent.svelte.d.ts +3 -0
  24. package/components/FlowStatusViewer.svelte +155 -30
  25. package/components/FlowStatusViewer.svelte.d.ts +4 -2
  26. package/components/FlowViewer.svelte +5 -5
  27. package/components/FlowViewer.svelte.d.ts +1 -0
  28. package/components/HighlightCode.svelte +1 -1
  29. package/components/HighlightCode.svelte.d.ts +1 -0
  30. package/components/IconedPath.svelte +16 -6
  31. package/components/IconedPath.svelte.d.ts +2 -0
  32. package/components/IconedResourceType.svelte +5 -2
  33. package/components/InputTransformForm.svelte +92 -73
  34. package/components/InviteGlobalUser.svelte +2 -2
  35. package/components/InviteGlobalUser.svelte.d.ts +1 -1
  36. package/components/InviteUser.svelte +20 -6
  37. package/components/InviteUser.svelte.d.ts +1 -1
  38. package/components/ItemPicker.svelte +38 -27
  39. package/components/ItemPicker.svelte.d.ts +2 -1
  40. package/components/JobStatus.svelte +19 -13
  41. package/components/LogViewer.svelte +11 -3
  42. package/components/LogViewer.svelte.d.ts +1 -0
  43. package/components/ModuleStatus.svelte +38 -0
  44. package/components/ModuleStatus.svelte.d.ts +18 -0
  45. package/components/ObjectResourceInput.svelte +8 -52
  46. package/components/ObjectResourceInput.svelte.d.ts +0 -1
  47. package/components/Path.svelte +2 -2
  48. package/components/Path.svelte.d.ts +1 -1
  49. package/components/Popover.svelte +7 -1
  50. package/components/Popover.svelte.d.ts +3 -1
  51. package/components/ResourceEditor.svelte +57 -29
  52. package/components/ResourcePicker.svelte +12 -2
  53. package/components/RunForm.svelte +1 -1
  54. package/components/SchemaEditor.svelte +2 -1
  55. package/components/SchemaForm.svelte +2 -1
  56. package/components/SchemaForm.svelte.d.ts +1 -0
  57. package/components/SchemaModal.svelte +11 -10
  58. package/components/ScriptBuilder.svelte +207 -192
  59. package/components/ScriptBuilder.svelte.d.ts +1 -1
  60. package/components/ScriptEditor.svelte +49 -45
  61. package/components/ScriptEditor.svelte.d.ts +1 -0
  62. package/components/ScriptPicker.svelte.d.ts +1 -1
  63. package/components/ScriptSchema.svelte +11 -30
  64. package/components/ScriptSchema.svelte.d.ts +0 -1
  65. package/components/SharedBadge.svelte +2 -3
  66. package/components/SimpleEditor.svelte +6 -7
  67. package/components/SimpleEditor.svelte.d.ts +1 -0
  68. package/components/Star.svelte +2 -2
  69. package/components/SuperadminSettings.svelte +9 -38
  70. package/components/TableSimple.svelte +1 -1
  71. package/components/TestJobLoader.svelte +20 -8
  72. package/components/ToggleHubWorkspace.svelte +16 -0
  73. package/components/ToggleHubWorkspace.svelte.d.ts +16 -0
  74. package/components/Tooltip.svelte.d.ts +1 -1
  75. package/components/VariableEditor.svelte +22 -9
  76. package/components/apps/CreateApp.svelte +5 -2
  77. package/components/apps/CreateApp.svelte.d.ts +1 -1
  78. package/components/apps/components/DisplayComponent.svelte +7 -14
  79. package/components/apps/components/DisplayComponent.svelte.d.ts +3 -2
  80. package/components/apps/components/buttons/AppButton.svelte +34 -27
  81. package/components/apps/components/buttons/AppButton.svelte.d.ts +6 -6
  82. package/components/apps/components/dataDisplay/AppBarChart.svelte +33 -9
  83. package/components/apps/components/dataDisplay/AppBarChart.svelte.d.ts +3 -5
  84. package/components/apps/components/dataDisplay/AppPieChart.svelte +33 -12
  85. package/components/apps/components/dataDisplay/AppPieChart.svelte.d.ts +3 -5
  86. package/components/apps/components/dataDisplay/AppTable.svelte +27 -30
  87. package/components/apps/components/dataDisplay/AppTable.svelte.d.ts +4 -8
  88. package/components/apps/components/dataDisplay/AppText.svelte +16 -9
  89. package/components/apps/components/dataDisplay/AppText.svelte.d.ts +3 -2
  90. package/components/apps/components/dataDisplay/app.md +49 -0
  91. package/components/apps/components/form/AppForm.svelte +50 -0
  92. package/components/apps/components/form/AppForm.svelte.d.ts +25 -0
  93. package/components/apps/components/helpers/AlignWrapper.svelte +2 -1
  94. package/components/apps/components/helpers/AlignWrapper.svelte.d.ts +1 -0
  95. package/components/apps/components/helpers/DebouncedInput.svelte +9 -1
  96. package/components/apps/components/helpers/DebouncedInput.svelte.d.ts +2 -1
  97. package/components/apps/components/helpers/InputValue.svelte +15 -6
  98. package/components/apps/components/helpers/InputValue.svelte.d.ts +2 -2
  99. package/components/apps/components/helpers/NonRunnableComponent.svelte +20 -0
  100. package/components/apps/components/helpers/NonRunnableComponent.svelte.d.ts +21 -0
  101. package/components/apps/components/helpers/RunnableComponent.svelte +36 -30
  102. package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +6 -7
  103. package/components/apps/components/helpers/RunnableWrapper.svelte +32 -0
  104. package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +26 -0
  105. package/components/apps/components/numberInputs/AppNumberInput.svelte +36 -0
  106. package/components/apps/components/numberInputs/AppNumberInput.svelte.d.ts +20 -0
  107. package/components/apps/components/selectInputs/AppCheckbox.svelte +4 -2
  108. package/components/apps/components/selectInputs/AppCheckbox.svelte.d.ts +2 -2
  109. package/components/apps/components/textInputs/AppTextInput.svelte +21 -0
  110. package/components/apps/components/textInputs/AppTextInput.svelte.d.ts +20 -0
  111. package/components/apps/editor/AppEditor.svelte +66 -55
  112. package/components/apps/editor/AppEditorHeader.svelte +4 -4
  113. package/components/apps/editor/AppPreview.svelte +42 -0
  114. package/components/apps/editor/AppPreview.svelte.d.ts +17 -0
  115. package/components/apps/editor/ComponentEditor.svelte +41 -20
  116. package/components/apps/editor/ComponentEditor.svelte.d.ts +2 -0
  117. package/components/apps/editor/ComponentHeader.svelte +28 -0
  118. package/components/apps/editor/ComponentHeader.svelte.d.ts +20 -0
  119. package/components/apps/editor/GridEditor.svelte +54 -5
  120. package/components/apps/editor/GridEditor.svelte.d.ts +1 -1
  121. package/components/apps/editor/RecomputeAllComponents.svelte +28 -0
  122. package/components/apps/editor/RecomputeAllComponents.svelte.d.ts +14 -0
  123. package/components/apps/editor/componentsPanel/ComponentList.svelte +94 -26
  124. package/components/apps/editor/componentsPanel/ComponentList.svelte.d.ts +1 -1
  125. package/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +2 -6
  126. package/components/apps/editor/componentsPanel/componentDefaultProps.js +1 -5
  127. package/components/apps/editor/componentsPanel/componentStaticValues.d.ts +2 -0
  128. package/components/apps/editor/componentsPanel/componentStaticValues.js +3 -1
  129. package/components/apps/editor/componentsPanel/data.js +191 -76
  130. package/components/apps/editor/contextPanel/ContextPanel.svelte +56 -48
  131. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +67 -0
  132. package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte.d.ts +55 -0
  133. package/components/apps/editor/settingsPanel/ComponentPanel.svelte +154 -129
  134. package/components/apps/editor/settingsPanel/ConnectedInputEditor.svelte +70 -0
  135. package/components/apps/editor/settingsPanel/ConnectedInputEditor.svelte.d.ts +17 -0
  136. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +6 -6
  137. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +2 -2
  138. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +55 -87
  139. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +3 -4
  140. package/components/apps/editor/settingsPanel/PickFlow.svelte +3 -2
  141. package/components/apps/editor/settingsPanel/PickFlow.svelte.d.ts +1 -1
  142. package/components/apps/editor/settingsPanel/PickInlineScript.svelte +3 -3
  143. package/components/apps/editor/settingsPanel/Recompute.svelte +46 -0
  144. package/components/apps/editor/settingsPanel/Recompute.svelte.d.ts +17 -0
  145. package/components/apps/editor/settingsPanel/StaticInputEditor.svelte +31 -14
  146. package/components/apps/editor/settingsPanel/StaticInputEditor.svelte.d.ts +3 -3
  147. package/components/apps/editor/settingsPanel/SubTypeEditor.svelte +17 -0
  148. package/components/apps/editor/settingsPanel/SubTypeEditor.svelte.d.ts +19 -0
  149. package/components/apps/editor/settingsPanel/TableActionLabel.svelte +10 -0
  150. package/components/apps/editor/settingsPanel/TableActionLabel.svelte.d.ts +17 -0
  151. package/components/apps/editor/settingsPanel/TableActions.svelte +13 -9
  152. package/components/apps/editor/settingsPanel/UserInputEditor.svelte.d.ts +1 -1
  153. package/components/apps/editor/settingsPanel/common/PanelSection.svelte +3 -2
  154. package/components/apps/editor/settingsPanel/common/PanelSection.svelte.d.ts +1 -0
  155. package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte +53 -0
  156. package/components/apps/editor/settingsPanel/mainInput/InlineScriptList.svelte.d.ts +21 -0
  157. package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +98 -0
  158. package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte.d.ts +18 -0
  159. package/components/apps/editor/settingsPanel/mainInput/WorkspaceFlowList.svelte +81 -0
  160. package/components/apps/editor/settingsPanel/mainInput/WorkspaceFlowList.svelte.d.ts +20 -0
  161. package/components/apps/editor/settingsPanel/mainInput/WorkspaceScriptList.svelte +81 -0
  162. package/components/apps/editor/settingsPanel/mainInput/WorkspaceScriptList.svelte.d.ts +20 -0
  163. package/components/apps/inputType.d.ts +62 -0
  164. package/components/apps/inputType.js +1 -0
  165. package/components/apps/rx.d.ts +4 -4
  166. package/components/apps/rx.js +16 -4
  167. package/components/apps/types.d.ts +20 -54
  168. package/components/apps/utils.d.ts +11 -34
  169. package/components/apps/utils.js +54 -18
  170. package/components/common/alert/Alert.svelte +2 -1
  171. package/components/common/alert/Alert.svelte.d.ts +1 -0
  172. package/components/common/button/Button.svelte +1 -1
  173. package/components/common/confirmationModal/UnsavedConfirmationModal.svelte.d.ts +1 -1
  174. package/components/common/drawer/DrawerContent.svelte +23 -22
  175. package/components/common/drawer/DrawerContent.svelte.d.ts +1 -3
  176. package/components/common/kbd/Kbd.svelte.d.ts +2 -2
  177. package/components/common/languageIcons/LanguageIcon.svelte +4 -2
  178. package/components/common/languageIcons/LanguageIcon.svelte.d.ts +1 -1
  179. package/components/common/menu/Menu.svelte +0 -1
  180. package/components/common/menu/MenuItem.svelte.d.ts +6 -2
  181. package/components/common/popup/Popup.svelte +0 -13
  182. package/components/common/popup/Popup.svelte.d.ts +0 -4
  183. package/components/common/table/AppRow.svelte +42 -26
  184. package/components/common/table/AppRow.svelte.d.ts +1 -1
  185. package/components/common/table/FlowRow.svelte +54 -49
  186. package/components/common/table/LanguageBadge.svelte +1 -1
  187. package/components/common/table/Row.svelte +27 -16
  188. package/components/common/table/Row.svelte.d.ts +2 -1
  189. package/components/common/table/RowIcon.svelte +13 -8
  190. package/components/common/table/ScriptRow.svelte +65 -57
  191. package/components/common/table/Table.svelte.d.ts +6 -2
  192. package/components/flows/CreateActionsFlow.svelte +14 -41
  193. package/components/flows/CreateActionsFlow.svelte.d.ts +1 -1
  194. package/components/flows/common/FlowCardHeader.svelte +7 -8
  195. package/components/flows/content/BranchPredicateEditor.svelte +30 -0
  196. package/components/flows/content/BranchPredicateEditor.svelte.d.ts +23 -0
  197. package/components/flows/content/CapturePayload.svelte +12 -8
  198. package/components/flows/content/DynamicInputHelpBox.svelte.d.ts +1 -1
  199. package/components/flows/content/FlowBranchAllWrapper.svelte +2 -2
  200. package/components/flows/content/FlowBranchOneWrapper.svelte +4 -36
  201. package/components/flows/content/FlowBranchesAllWrapper.svelte +91 -0
  202. package/components/flows/content/FlowBranchesAllWrapper.svelte.d.ts +18 -0
  203. package/components/flows/content/FlowBranchesOneWrapper.svelte +88 -0
  204. package/components/flows/content/FlowBranchesOneWrapper.svelte.d.ts +18 -0
  205. package/components/flows/content/FlowFailureModule.svelte.d.ts +1 -1
  206. package/components/flows/content/FlowInput.svelte +1 -2
  207. package/components/flows/content/FlowInput.svelte.d.ts +1 -1
  208. package/components/flows/content/FlowInputs.svelte +28 -26
  209. package/components/flows/content/FlowInputsFlow.svelte +101 -0
  210. package/components/flows/content/FlowInputsFlow.svelte.d.ts +20 -0
  211. package/components/flows/content/FlowLoop.svelte +10 -3
  212. package/components/flows/content/FlowModuleComponent.svelte +46 -35
  213. package/components/flows/content/FlowModuleEarlyStop.svelte +4 -3
  214. package/components/flows/content/FlowModuleHeader.svelte +22 -21
  215. package/components/flows/content/FlowModuleHeader.svelte.d.ts +1 -0
  216. package/components/flows/content/FlowModuleSleep.svelte +69 -0
  217. package/components/flows/content/FlowModuleSleep.svelte.d.ts +18 -0
  218. package/components/flows/content/FlowModuleSuspend.svelte +5 -63
  219. package/components/flows/content/FlowModuleSuspend.svelte.d.ts +0 -1
  220. package/components/flows/content/FlowModuleWrapper.svelte +59 -35
  221. package/components/flows/content/FlowPathViewer.svelte +20 -0
  222. package/components/flows/content/FlowPathViewer.svelte.d.ts +17 -0
  223. package/components/flows/content/FlowSchedules.svelte.d.ts +1 -1
  224. package/components/flows/content/FlowSettings.svelte +11 -13
  225. package/components/flows/flowState.js +2 -2
  226. package/components/flows/flowStateUtils.d.ts +7 -3
  227. package/components/flows/flowStateUtils.js +29 -8
  228. package/components/flows/header/FlowImportExportMenu.svelte.d.ts +1 -1
  229. package/components/flows/header/FlowPreviewButtons.svelte +17 -11
  230. package/components/flows/header/FlowPreviewButtons.svelte.d.ts +1 -1
  231. package/components/flows/map/FlowErrorHandlerItem.svelte +5 -5
  232. package/components/flows/map/FlowErrorHandlerItem.svelte.d.ts +1 -1
  233. package/components/flows/map/FlowInputsItem.svelte.d.ts +1 -1
  234. package/components/flows/map/FlowModuleSchemaItem.svelte +30 -11
  235. package/components/flows/map/FlowModuleSchemaMap.svelte +26 -20
  236. package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +1 -1
  237. package/components/flows/map/FlowSettingsItem.svelte +1 -1
  238. package/components/flows/map/FlowSettingsItem.svelte.d.ts +1 -1
  239. package/components/flows/map/InsertModuleButton.svelte +20 -4
  240. package/components/flows/map/InsertModuleButton.svelte.d.ts +1 -1
  241. package/components/flows/map/MapItem.svelte +11 -5
  242. package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +1 -1
  243. package/components/flows/pickers/PickHubFlow.svelte +72 -0
  244. package/components/flows/pickers/PickHubFlow.svelte.d.ts +20 -0
  245. package/components/flows/pickers/PickHubScript.svelte +65 -56
  246. package/components/flows/pickers/PickHubScript.svelte.d.ts +3 -1
  247. package/components/flows/pickers/PickScript.svelte +2 -2
  248. package/components/flows/pickers/WorkspaceScriptPicker.svelte +79 -19
  249. package/components/flows/pickers/WorkspaceScriptPicker.svelte.d.ts +5 -1
  250. package/components/flows/previousResults.d.ts +1 -0
  251. package/components/flows/previousResults.js +2 -1
  252. package/components/flows/propPicker/PropPickerWrapper.svelte +9 -1
  253. package/components/flows/utils.d.ts +0 -1
  254. package/components/flows/utils.js +6 -6
  255. package/components/graph/FlowGraph.svelte +121 -55
  256. package/components/graph/FlowGraph.svelte.d.ts +3 -2
  257. package/components/graph/model.d.ts +46 -1
  258. package/components/home/ItemsList.svelte +265 -0
  259. package/components/home/ItemsList.svelte.d.ts +16 -0
  260. package/components/home/ListFilters.svelte +37 -0
  261. package/components/home/ListFilters.svelte.d.ts +18 -0
  262. package/components/home/NoItemFound.svelte +6 -0
  263. package/components/home/NoItemFound.svelte.d.ts +23 -0
  264. package/components/icons/DatadogIcon.svelte +48 -0
  265. package/components/icons/DatadogIcon.svelte.d.ts +17 -0
  266. package/components/icons/FunkwhaleIcon.svelte +90 -0
  267. package/components/icons/FunkwhaleIcon.svelte.d.ts +17 -0
  268. package/components/icons/GdocsIcon.svelte +9 -0
  269. package/components/icons/GdocsIcon.svelte.d.ts +17 -0
  270. package/components/icons/HubspotIcon.svelte +9 -0
  271. package/components/icons/HubspotIcon.svelte.d.ts +17 -0
  272. package/components/icons/LinkedinIcon.svelte +9 -0
  273. package/components/icons/LinkedinIcon.svelte.d.ts +17 -0
  274. package/components/icons/Mail.svelte +9 -53
  275. package/components/icons/Mysql.svelte +8 -8
  276. package/components/icons/NextcloudIcon.svelte +9 -0
  277. package/components/icons/NextcloudIcon.svelte.d.ts +17 -0
  278. package/components/icons/QRCodeIcon.svelte +5 -0
  279. package/components/icons/QRCodeIcon.svelte.d.ts +16 -0
  280. package/components/icons/SendflakeIcon.svelte +15 -0
  281. package/components/icons/SendflakeIcon.svelte.d.ts +17 -0
  282. package/components/icons/StripeIcon.svelte +9 -0
  283. package/components/icons/StripeIcon.svelte.d.ts +17 -0
  284. package/components/icons/TelegramIcon.svelte +9 -0
  285. package/components/icons/TelegramIcon.svelte.d.ts +17 -0
  286. package/components/icons/WindmillIcon.svelte +3 -3
  287. package/components/icons/index.d.ts +23 -1
  288. package/components/icons/index.js +23 -1
  289. package/components/jobs/JobDetail.svelte +2 -2
  290. package/components/preview/FlowPreviewStatus.svelte +12 -23
  291. package/components/propertyPicker/PropPicker.svelte +16 -0
  292. package/components/propertyPicker/PropPickerResult.svelte +2 -3
  293. package/components/propertyPicker/WarningMessage.svelte.d.ts +6 -2
  294. package/components/scriptEditor/LogPanel.svelte +11 -4
  295. package/components/scripts/CreateActionsScript.svelte +13 -59
  296. package/components/scripts/CreateActionsScript.svelte.d.ts +1 -1
  297. package/components/sidebar/FavoriteMenu.svelte +52 -0
  298. package/components/sidebar/FavoriteMenu.svelte.d.ts +21 -0
  299. package/components/sidebar/SidebarContent.svelte +10 -19
  300. package/components/sidebar/SidebarContent.svelte.d.ts +0 -4
  301. package/components/sidebar/UserMenu.svelte +21 -4
  302. package/components/sidebar/WorkspaceMenu.svelte +6 -7
  303. package/editorUtils.d.ts +2 -0
  304. package/editorUtils.js +3 -1
  305. package/gen/core/OpenAPI.js +1 -1
  306. package/gen/index.d.ts +1 -0
  307. package/gen/models/CompletedJob.d.ts +1 -0
  308. package/gen/models/CreateWorkspace.d.ts +0 -1
  309. package/gen/models/EditWorkspaceUser.d.ts +2 -0
  310. package/gen/models/FlowModuleValue.d.ts +2 -1
  311. package/gen/models/FlowStatus.d.ts +3 -1
  312. package/gen/models/FlowStatusModule.d.ts +1 -1
  313. package/gen/models/FlowStatusModule.js +1 -1
  314. package/gen/models/Identity.d.ts +1 -0
  315. package/gen/models/ListableResource.d.ts +1 -0
  316. package/gen/models/ListableVariable.d.ts +1 -0
  317. package/gen/models/PathFlow.d.ts +6 -0
  318. package/gen/models/PathFlow.js +4 -0
  319. package/gen/models/PathScript.d.ts +1 -0
  320. package/gen/models/QueuedJob.d.ts +1 -0
  321. package/gen/models/Schedule.d.ts +2 -0
  322. package/gen/models/Usage.d.ts +1 -3
  323. package/gen/models/WorkspaceInvite.d.ts +1 -0
  324. package/gen/services/AppService.d.ts +7 -1
  325. package/gen/services/AppService.js +2 -1
  326. package/gen/services/JobService.d.ts +35 -5
  327. package/gen/services/JobService.js +14 -5
  328. package/gen/services/OauthService.d.ts +1 -1
  329. package/gen/services/ResourceService.d.ts +6 -2
  330. package/gen/services/ResourceService.js +2 -1
  331. package/gen/services/UserService.d.ts +6 -0
  332. package/gen/services/UserService.js +11 -0
  333. package/gen/services/WorkspaceService.d.ts +35 -0
  334. package/gen/services/WorkspaceService.js +41 -0
  335. package/package.json +461 -422
  336. package/script_helpers.d.ts +2 -1
  337. package/script_helpers.js +20 -3
  338. package/scripts.d.ts +1 -0
  339. package/scripts.js +8 -1
  340. package/stores.d.ts +11 -2
  341. package/stores.js +24 -6
  342. package/utils.d.ts +3 -1
  343. package/utils.js +11 -4
  344. package/components/ButtonAndDropdown.svelte +0 -25
  345. package/components/ButtonAndDropdown.svelte.d.ts +0 -23
  346. package/components/apps/components/index.d.ts +0 -22
  347. package/components/apps/components/index.js +0 -42
  348. package/components/apps/editor/settingsPanel/DynamicInputEditor.svelte +0 -64
  349. package/components/apps/editor/settingsPanel/DynamicInputEditor.svelte.d.ts +0 -17
  350. package/components/flows/content/FlowBranchesWrapper.svelte +0 -140
  351. package/components/flows/content/FlowBranchesWrapper.svelte.d.ts +0 -19
@@ -1,10 +1,10 @@
1
1
  <script context="module">export const EDITOR_BAR_WIDTH_THRESHOLD = 1044;
2
2
  </script>
3
3
 
4
- <script>import { ResourceService, ScriptService, VariableService } from '../gen';
5
- import { getScriptByPath, loadHubScripts, sendUserToast } from '../utils';
6
- import { faCode, faCube, faDollarSign, faEye, faRotate, faRotateLeft, faWallet } from '@fortawesome/free-solid-svg-icons';
7
- import { hubScripts, workspaceStore } from '../stores';
4
+ <script>import { ResourceService, VariableService } from '../gen';
5
+ import { getScriptByPath, sendUserToast } from '../utils';
6
+ import { faCube, faDollarSign, faEye, faRotate, faRotateLeft } from '@fortawesome/free-solid-svg-icons';
7
+ import { workspaceStore } from '../stores';
8
8
  import ItemPicker from './ItemPicker.svelte';
9
9
  import ResourceEditor from './ResourceEditor.svelte';
10
10
  import VariableEditor from './VariableEditor.svelte';
@@ -12,20 +12,23 @@ import Button from './common/button/Button.svelte';
12
12
  import HighlightCode from './HighlightCode.svelte';
13
13
  import DrawerContent from './common/drawer/DrawerContent.svelte';
14
14
  import { Badge, Drawer } from './common';
15
+ import WorkspaceScriptPicker from './flows/pickers/WorkspaceScriptPicker.svelte';
16
+ import PickHubScript from './flows/pickers/PickHubScript.svelte';
17
+ import ToggleHubWorkspace from './ToggleHubWorkspace.svelte';
18
+ import Skeleton from './common/skeleton/Skeleton.svelte';
15
19
  export let lang;
16
20
  export let editor;
17
21
  export let websocketAlive;
18
22
  export let iconOnly = false;
19
23
  export let validCode = true;
24
+ export let kind = 'script';
20
25
  let contextualVariablePicker;
21
26
  let variablePicker;
22
27
  let resourcePicker;
23
- let scriptPicker;
24
28
  let variableEditor;
25
29
  let resourceEditor;
26
30
  let codeViewer;
27
- let codeLang = 'deno';
28
- let codeContent = '';
31
+ let codeObj = undefined;
29
32
  function addEditorActions() {
30
33
  editor.addAction('insert-variable', 'Windmill: Insert variable', () => {
31
34
  variablePicker.openDrawer();
@@ -43,35 +46,37 @@ async function loadContextualVariables() {
43
46
  workspace: $workspaceStore ?? 'NO_W'
44
47
  });
45
48
  }
46
- async function loadScripts() {
47
- const workspaceScripts = await ScriptService.listScripts({
48
- workspace: $workspaceStore ?? 'NO_W'
49
- });
50
- if (!$hubScripts) {
51
- await loadHubScripts();
52
- }
53
- const hubScripts_ = $hubScripts ?? [];
54
- return workspaceScripts.concat(hubScripts_);
49
+ let scriptPicker;
50
+ let pick_existing = 'hub';
51
+ let filter = '';
52
+ async function onScriptPick(e) {
53
+ codeObj = undefined;
54
+ codeViewer?.openDrawer?.();
55
+ codeObj = await getScriptByPath(e.detail.path ?? '');
55
56
  }
56
57
  </script>
57
58
 
58
- <ItemPicker
59
- bind:this={scriptPicker}
60
- pickCallback={async (path, _) => {
61
- const { language, content } = await getScriptByPath(path ?? '')
62
- codeContent = content
63
- codeLang = language
64
- codeViewer.openDrawer()
65
- }}
66
- closeOnClick={false}
67
- itemName="script"
68
- extraField="summary"
69
- loadItems={loadScripts}
70
- />
59
+ <Drawer bind:this={scriptPicker} size="900px">
60
+ <DrawerContent title="Code" on:close={scriptPicker.closeDrawer}>
61
+ {#if pick_existing == 'hub'}
62
+ <PickHubScript bind:filter {kind} on:pick={onScriptPick}>
63
+ <ToggleHubWorkspace bind:selected={pick_existing} />
64
+ </PickHubScript>
65
+ {:else}
66
+ <WorkspaceScriptPicker bind:filter {kind} on:pick={onScriptPick}>
67
+ <ToggleHubWorkspace bind:selected={pick_existing} />
68
+ </WorkspaceScriptPicker>
69
+ {/if}
70
+ </DrawerContent>
71
+ </Drawer>
71
72
 
72
73
  <Drawer bind:this={codeViewer} size="600px">
73
74
  <DrawerContent title="Code" on:close={codeViewer.closeDrawer}>
74
- <HighlightCode language={codeLang} code={codeContent} />
75
+ {#if codeObj}
76
+ <HighlightCode language={codeObj?.language} code={codeObj?.content} />
77
+ {:else}
78
+ <Skeleton layout={[[40]]} />
79
+ {/if}
75
80
  </DrawerContent>
76
81
  </Drawer>
77
82
 
@@ -176,6 +181,7 @@ async function loadScripts() {
176
181
  itemName="Resource"
177
182
  buttons={{ 'Edit/View': (x) => resourceEditor.initEdit(x) }}
178
183
  extraField="description"
184
+ extraField2="resource_type"
179
185
  loadItems={async () =>
180
186
  await ResourceService.listResource({ workspace: $workspaceStore ?? 'NO_W' })}
181
187
  >
@@ -224,7 +230,7 @@ async function loadScripts() {
224
230
  on:click={variablePicker.openDrawer}
225
231
  size="xs"
226
232
  spacingSize="md"
227
- startIcon={{ icon: faWallet }}
233
+ startIcon={{ icon: faDollarSign }}
228
234
  {iconOnly}
229
235
  >
230
236
  +Variable
@@ -243,59 +249,59 @@ async function loadScripts() {
243
249
  +Resource
244
250
  </Button>
245
251
  </div>
246
-
247
252
  <div>
248
253
  <Button
249
254
  btnClasses="mx-1 !font-medium"
250
255
  size="xs"
251
256
  spacingSize="md"
252
257
  color="light"
253
- on:click={scriptPicker.openDrawer}
258
+ on:click={editor.clearContent}
254
259
  {iconOnly}
255
- startIcon={{ icon: faEye }}
260
+ startIcon={{ icon: faRotateLeft }}
256
261
  >
257
- Script
262
+ Reset
258
263
  </Button>
259
264
  </div>
260
-
265
+ <div>
266
+ <Button
267
+ btnClasses="!font-medium"
268
+ size="xs"
269
+ spacingSize="md"
270
+ color="light"
271
+ on:click={editor.reloadWebsocket}
272
+ startIcon={{ icon: faRotate }}
273
+ >
274
+ {#if !iconOnly}
275
+ Assistant
276
+ {/if}
277
+ <span class="ml-1 -my-1">
278
+ {#if lang == 'deno'}
279
+ (<span class={websocketAlive.deno ? 'green' : 'text-red-700'}>Deno</span>)
280
+ {:else if lang == 'go'}
281
+ (<span class={websocketAlive.go ? 'green' : 'text-red-700'}>Go</span>)
282
+ {:else if lang == 'python3'}
283
+ (<span class={websocketAlive.pyright ? 'green' : 'text-red-700'}>Pyright</span>
284
+ <span class={websocketAlive.black ? 'green' : 'text-red-700'}>Black</span>)
285
+ {/if}
286
+ </span>
287
+ </Button></div
288
+ >
289
+ </div>
290
+ <div class="py-1">
261
291
  <div>
262
292
  <Button
263
293
  btnClasses="mx-1 !font-medium"
264
294
  size="xs"
265
295
  spacingSize="md"
266
296
  color="light"
267
- on:click={editor.clearContent}
297
+ on:click={scriptPicker.openDrawer}
268
298
  {iconOnly}
269
- startIcon={{ icon: faRotateLeft }}
299
+ startIcon={{ icon: faEye }}
270
300
  >
271
- Reset
301
+ Script
272
302
  </Button>
273
303
  </div>
274
304
  </div>
275
- <div class="py-1">
276
- <Button
277
- btnClasses="!font-medium"
278
- size="xs"
279
- spacingSize="md"
280
- color="light"
281
- on:click={editor.reloadWebsocket}
282
- startIcon={{ icon: faRotate }}
283
- >
284
- {#if !iconOnly}
285
- Assistant
286
- {/if}
287
- <span class="ml-1 -my-1">
288
- {#if lang == 'deno'}
289
- (<span class={websocketAlive.deno ? 'green' : 'text-red-700'}>Deno</span>)
290
- {:else if lang == 'go'}
291
- (<span class={websocketAlive.go ? 'green' : 'text-red-700'}>Go</span>)
292
- {:else if lang == 'python3'}
293
- (<span class={websocketAlive.pyright ? 'green' : 'text-red-700'}>Pyright</span>
294
- <span class={websocketAlive.black ? 'green' : 'text-red-700'}>Black</span>)
295
- {/if}
296
- </span>
297
- </Button>
298
- </div>
299
305
  </div>
300
306
 
301
307
  <style>
@@ -13,6 +13,7 @@ declare const __propDef: {
13
13
  };
14
14
  iconOnly?: boolean | undefined;
15
15
  validCode?: boolean | undefined;
16
+ kind?: "script" | "trigger" | "approval" | undefined;
16
17
  };
17
18
  events: {
18
19
  [evt: string]: CustomEvent<any>;
@@ -1,7 +1,7 @@
1
1
  <script>import { goto } from '$app/navigation';
2
2
  import { page } from '$app/stores';
3
3
  import { FlowService, ScheduleService } from '../gen';
4
- import { workspaceStore } from '../stores';
4
+ import { userStore, workspaceStore } from '../stores';
5
5
  import { encodeState, formatCron, loadHubScripts, sendUserToast, setQueryWithoutLoad } from '../utils';
6
6
  import { faEye, faPen, faSave } from '@fortawesome/free-solid-svg-icons';
7
7
  import { setContext } from 'svelte';
@@ -152,78 +152,84 @@ loadHubScripts();
152
152
  let flowViewer;
153
153
  </script>
154
154
 
155
- <UnsavedConfirmationModal />
155
+ {#if !$userStore?.operator}
156
+ <UnsavedConfirmationModal />
156
157
 
157
- <Drawer bind:this={flowViewer} size="1200px">
158
- <DrawerContent title="View Graph" on:close={flowViewer.closeDrawer} noPadding>
159
- <FlowGraphViewer flow={$flowStore} overflowAuto />
160
- </DrawerContent>
161
- </Drawer>
158
+ <Drawer bind:this={flowViewer} size="75%">
159
+ <DrawerContent title="View Graph" on:close={flowViewer.closeDrawer} noPadding>
160
+ <div class="overflow-hidden h-full w-full">
161
+ <FlowGraphViewer flow={$flowStore} />
162
+ </div>
163
+ </DrawerContent>
164
+ </Drawer>
162
165
 
163
- <div class="flex flex-col flex-1 h-screen">
164
- <!-- Nav between steps-->
165
- <div
166
- class="justify-between flex flex-row w-full items-center pl-2.5 pr-6 space-x-4 overflow-x-auto scrollbar-hidden max-h-12 h-full"
167
- >
168
- <div class="flex flex-row">
169
- <FlowImportExportMenu />
170
- <Button
171
- btnClasses="inline-flex"
172
- startIcon={{ icon: faEye }}
173
- variant="border"
174
- color="light"
175
- size="sm"
176
- on:click={flowViewer.openDrawer}
177
- >
178
- View Graph
179
- </Button>
180
- </div>
181
- <div class="gap-1 flex-row hidden md:flex shrink overflow-hidden">
182
- <Button
183
- btnClasses="hidden lg:inline-flex"
184
- startIcon={{ icon: faPen }}
185
- variant="contained"
186
- color="light"
187
- size="xs"
188
- on:click={async () => {
189
- select('settings')
190
- document.getElementById('path')?.focus()
191
- }}
192
- >
193
- {$flowStore.path && $flowStore.path != '' ? $flowStore.path : 'Choose a path'}
194
- </Button>
195
- <Button
196
- startIcon={{ icon: faPen }}
197
- variant="contained"
198
- color="light"
199
- size="xs"
200
- on:click={async () => {
201
- select('settings')
202
- document.getElementById('flow-summary')?.focus()
203
- }}
204
- >
205
- <div class="max-w-[10em] !truncate">
206
- {$flowStore.summary == '' || !$flowStore.summary ? 'No summary' : $flowStore.summary}
207
- </div>
208
- </Button>
209
- </div>
210
- <div class="flex flex-row space-x-2">
211
- <FlowPreviewButtons />
212
- <div class="center-center">
166
+ <div class="flex flex-col flex-1 h-screen">
167
+ <!-- Nav between steps-->
168
+ <div
169
+ class="justify-between flex flex-row w-full items-center pl-2.5 pr-6 space-x-4 overflow-x-auto scrollbar-hidden max-h-12 h-full"
170
+ >
171
+ <div class="flex flex-row">
172
+ <FlowImportExportMenu />
213
173
  <Button
214
- disabled={pathError != ''}
215
- startIcon={{ icon: faSave }}
174
+ btnClasses="inline-flex"
175
+ startIcon={{ icon: faEye }}
176
+ variant="border"
177
+ color="light"
216
178
  size="sm"
217
- on:click={saveFlow}>Save</Button
179
+ on:click={flowViewer.openDrawer}
218
180
  >
181
+ View Graph
182
+ </Button>
183
+ </div>
184
+ <div class="gap-1 flex-row hidden md:flex shrink overflow-hidden">
185
+ <Button
186
+ btnClasses="hidden lg:inline-flex"
187
+ startIcon={{ icon: faPen }}
188
+ variant="contained"
189
+ color="light"
190
+ size="xs"
191
+ on:click={async () => {
192
+ select('settings')
193
+ document.getElementById('path')?.focus()
194
+ }}
195
+ >
196
+ {$flowStore.path && $flowStore.path != '' ? $flowStore.path : 'Choose a path'}
197
+ </Button>
198
+ <Button
199
+ startIcon={{ icon: faPen }}
200
+ variant="contained"
201
+ color="light"
202
+ size="xs"
203
+ on:click={async () => {
204
+ select('settings')
205
+ document.getElementById('flow-summary')?.focus()
206
+ }}
207
+ >
208
+ <div class="max-w-[10em] !truncate">
209
+ {$flowStore.summary == '' || !$flowStore.summary ? 'No summary' : $flowStore.summary}
210
+ </div>
211
+ </Button>
212
+ </div>
213
+ <div class="flex flex-row space-x-2">
214
+ <FlowPreviewButtons />
215
+ <div class="center-center">
216
+ <Button
217
+ disabled={pathError != ''}
218
+ startIcon={{ icon: faSave }}
219
+ size="sm"
220
+ on:click={saveFlow}>Save</Button
221
+ >
222
+ </div>
219
223
  </div>
220
224
  </div>
221
- </div>
222
225
 
223
- <!-- metadata -->
224
- {#if $flowStateStore}
225
- <FlowEditor {initialPath} {loading} />
226
- {:else}
227
- <CenteredPage>Loading...</CenteredPage>
228
- {/if}
229
- </div>
226
+ <!-- metadata -->
227
+ {#if $flowStateStore}
228
+ <FlowEditor {initialPath} {loading} />
229
+ {:else}
230
+ <CenteredPage>Loading...</CenteredPage>
231
+ {/if}
232
+ </div>
233
+ {:else}
234
+ Flow Builder not available to operators
235
+ {/if}
@@ -3,44 +3,25 @@ import HighlightCode from './HighlightCode.svelte';
3
3
  import InputTransformsViewer from './InputTransformsViewer.svelte';
4
4
  import IconedPath from './IconedPath.svelte';
5
5
  import { scriptPathToHref } from '../utils';
6
+ import { Drawer, DrawerContent } from './common';
7
+ import { Highlight } from 'svelte-highlight';
8
+ import ObjectViewer from './propertyPicker/ObjectViewer.svelte';
9
+ import typescript from 'svelte-highlight/languages/typescript';
10
+ import { cleanExpr } from './flows/utils';
11
+ import FlowPathViewer from './flows/content/FlowPathViewer.svelte';
12
+ import SchemaViewer from './SchemaViewer.svelte';
6
13
  export let flow;
7
14
  export let overflowAuto = false;
15
+ export let noSide = false;
8
16
  let stepDetail = undefined;
17
+ let codeViewer;
18
+ let topHeight = 0;
9
19
  </script>
10
20
 
11
- <div class="flex flex-col h-full">
12
- <div class="h-full w-full border border-gray-700" class:overflow-auto={overflowAuto}>
13
- <FlowGraph
14
- modules={flow?.value?.modules}
15
- failureModule={flow?.value?.failure_module}
16
- on:click={(e) => (stepDetail = e.detail)}
17
- />
18
- </div>
19
- <div class="w-full border-l border-r border-b border-gray-700 min-h-[150px] p-2">
20
- {#if stepDetail == undefined}
21
- <span class="font-black text-lg w-full my-4">
22
- <span>Click on a step to see its details</span>
23
- </span>
24
- {:else}
25
- <div class="font-black text-lg w-full mb-2 "
26
- >Step {stepDetail.id ?? ''}<span class="ml-2 font-normal">{stepDetail.summary || ''}</span
27
- ></div
28
- >
29
- {#if stepDetail.value.type == 'identity'}
30
- <div> An identity step return as output its input </div>
31
- {:else if stepDetail.value.type == 'rawscript'}
32
- <div class="text-2xs mb-4">
33
- <h3>Step Inputs</h3>
34
- <InputTransformsViewer
35
- inputTransforms={stepDetail?.value?.input_transforms ??
36
- stepDetail?.input_transforms ??
37
- {}}
38
- />
39
- </div>
40
-
41
- <h3>Code</h3>
42
- <HighlightCode language={stepDetail.value.language} code={stepDetail.value.content} />
43
- {:else if stepDetail.value.type == 'script'}
21
+ <Drawer bind:this={codeViewer} size="900px">
22
+ <DrawerContent title={'Expanded Code'} on:close={codeViewer.closeDrawer}>
23
+ {#if stepDetail && typeof stepDetail != 'string'}
24
+ {#if stepDetail.value.type == 'script'}
44
25
  <div class="mb-4">
45
26
  <a
46
27
  rel="noreferrer"
@@ -52,7 +33,7 @@ let stepDetail = undefined;
52
33
  </a>
53
34
  </div>
54
35
  <div class="text-2xs mb-4">
55
- <h3>Step Inputs</h3>
36
+ <h3 class="mb-2">Step Inputs</h3>
56
37
  <InputTransformsViewer
57
38
  inputTransforms={stepDetail?.value?.input_transforms ??
58
39
  stepDetail?.input_transforms ??
@@ -70,7 +51,128 @@ let stepDetail = undefined;
70
51
  />
71
52
  </div>
72
53
  {/if}
54
+ {:else if stepDetail.value.type == 'rawscript'}
55
+ <div class="text-2xs mb-4">
56
+ <h3 class="mb-2">Step Inputs</h3>
57
+ <InputTransformsViewer
58
+ inputTransforms={stepDetail?.value?.input_transforms ??
59
+ stepDetail?.input_transforms ??
60
+ {}}
61
+ />
62
+ </div>
63
+
64
+ <h3 class="mb-2">Code</h3>
65
+ <span class="!text-xs">
66
+ <HighlightCode language={stepDetail.value.language} code={stepDetail.value.content} />
67
+ </span>
73
68
  {/if}
74
69
  {/if}
70
+ </DrawerContent>
71
+ </Drawer>
72
+ <div class="grid grid-cols-3 w-full">
73
+ <div
74
+ bind:clientHeight={topHeight}
75
+ class="{noSide ? 'col-span-3' : 'col-span-2'} w-full border border-gray-400 h-screen"
76
+ class:overflow-auto={overflowAuto}
77
+ >
78
+ <FlowGraph
79
+ minHeight={topHeight}
80
+ modules={flow?.value?.modules}
81
+ failureModule={flow?.value?.failure_module}
82
+ on:click={(e) => (stepDetail = e.detail)}
83
+ />
75
84
  </div>
85
+ {#if !noSide}
86
+ <div class="w-full border-r border-b border-t border-gray-400 min-h-[150px] p-2 overflow-auto">
87
+ {#if stepDetail == undefined}
88
+ <span class="font-black text-lg w-full my-4">
89
+ <span>Click on a step to see its details</span>
90
+ </span>
91
+ {:else if stepDetail == 'Input'}
92
+ <SchemaViewer schema={flow?.schema} />
93
+ {:else if stepDetail == 'Result'}
94
+ End of the flow
95
+ {:else if typeof stepDetail != 'string' && stepDetail.value}
96
+ <div class="font-black text-lg w-full mb-6"
97
+ >Step {stepDetail.id ?? ''}<span class="ml-2 font-normal">{stepDetail.summary || ''}</span
98
+ ></div
99
+ >
100
+ {#if stepDetail.value.type == 'identity'}
101
+ <div> An identity step return as output its input </div>
102
+ {:else if stepDetail.value.type == 'rawscript'}
103
+ <div class="text-2xs mb-4">
104
+ <h3 class="mb-2">Step Inputs</h3>
105
+ <InputTransformsViewer
106
+ inputTransforms={stepDetail?.value?.input_transforms ??
107
+ stepDetail?.input_transforms ??
108
+ {}}
109
+ />
110
+ </div>
111
+
112
+ <h3 class="mb-2"
113
+ >Code &nbsp; <button class="text-gray-600 text-xs" on:click={codeViewer.openDrawer}
114
+ >Expand</button
115
+ >
116
+ </h3>
117
+ <span class="!text-xs">
118
+ <HighlightCode language={stepDetail.value.language} code={stepDetail.value.content} />
119
+ </span>
120
+ {:else if stepDetail.value.type == 'script'}
121
+ <div class="mb-4">
122
+ <a
123
+ rel="noreferrer"
124
+ target="_blank"
125
+ href={scriptPathToHref(stepDetail?.value?.path ?? '')}
126
+ class=""
127
+ >
128
+ <IconedPath path={stepDetail?.value?.path ?? ''} />
129
+ </a>
130
+ </div>
131
+ <div class="text-2xs mb-4">
132
+ <h3 class="mb-2">Step Inputs</h3>
133
+ <InputTransformsViewer
134
+ inputTransforms={stepDetail?.value?.input_transforms ??
135
+ stepDetail?.input_transforms ??
136
+ {}}
137
+ />
138
+ </div>
139
+ {#if stepDetail.value.path.startsWith('hub/')}
140
+ <div class="mt-6">
141
+ <h3
142
+ >Code&nbsp; <button class="text-gray-600 text-xs" on:click={codeViewer.openDrawer}
143
+ >Expand</button
144
+ >
145
+ </h3>
146
+ <iframe
147
+ class="w-full h-full text-sm"
148
+ title="embedded script from hub"
149
+ frameborder="0"
150
+ src="https://hub.windmill.dev/embed/script/{stepDetail.value?.path?.substring(4)}"
151
+ />
152
+ </div>
153
+ {/if}
154
+ {:else if stepDetail.value.type == 'forloopflow'}
155
+ <p
156
+ >For loop with iterator: {#if stepDetail.value.iterator.type == 'static'}<ObjectViewer
157
+ json={stepDetail.value.iterator.value}
158
+ />{:else}
159
+ <span class="text-xs">
160
+ <Highlight
161
+ offsetTop={0}
162
+ language={typescript}
163
+ code={cleanExpr(stepDetail.value.iterator.expr)}
164
+ />
165
+ </span>
166
+ {/if}</p
167
+ >
168
+ {:else if stepDetail.value.type == 'branchall'}
169
+ <p>Run all branches</p>
170
+ {:else if stepDetail.value.type == 'branchone'}
171
+ <p>Run one branch based on a predicate</p>
172
+ {:else if stepDetail.value.type == 'flow'}
173
+ <FlowPathViewer noSide path={stepDetail.value.path} />
174
+ {/if}
175
+ {/if}
176
+ </div>
177
+ {/if}
76
178
  </div>
@@ -9,6 +9,7 @@ declare const __propDef: {
9
9
  schema?: any;
10
10
  };
11
11
  overflowAuto?: boolean | undefined;
12
+ noSide?: boolean | undefined;
12
13
  };
13
14
  events: {
14
15
  [evt: string]: CustomEvent<any>;
@@ -2,9 +2,14 @@
2
2
  import LogViewer from './LogViewer.svelte';
3
3
  export let result;
4
4
  export let logs;
5
+ export let col = false;
6
+ export let noBorder = false;
5
7
  </script>
6
8
 
7
- <div class="grid grid-cols-2 shadow border border-gray-800 h-full">
9
+ <div
10
+ class:border={!noBorder}
11
+ class="grid {!col ? 'grid-cols-2' : 'grid-rows-2'} shadow border-gray-400 h-full"
12
+ >
8
13
  <div class="bg-white max-h-80 h-full p-1 overflow-auto relative">
9
14
  <span class="text-gray-500">Result</span>
10
15
  <DisplayResult {result} />
@@ -3,6 +3,8 @@ declare const __propDef: {
3
3
  props: {
4
4
  result: any;
5
5
  logs: string;
6
+ col?: boolean | undefined;
7
+ noBorder?: boolean | undefined;
6
8
  };
7
9
  events: {
8
10
  [evt: string]: CustomEvent<any>;
@@ -1,7 +1,7 @@
1
1
  <script>import JobStatus from './JobStatus.svelte';
2
2
  import Icon from 'svelte-awesome';
3
3
  import { displayDaysAgo } from '../utils';
4
- import { faCalendar, faClock, faRobot, faScroll, faUser, faWind } from '@fortawesome/free-solid-svg-icons';
4
+ import { faCalendar, faClock, faRobot, faScroll, faUser, faBarsStaggered } from '@fortawesome/free-solid-svg-icons';
5
5
  export let job;
6
6
  const SMALL_ICON_SCALE = 0.7;
7
7
  </script>
@@ -23,7 +23,9 @@ const SMALL_ICON_SCALE = 0.7;
23
23
  <div>
24
24
  {#if job && job.parent_job}
25
25
  {#if job.is_flow_step}
26
- <Icon class="text-gray-700" data={faWind} scale={SMALL_ICON_SCALE} /><span class="mx-2">
26
+ <Icon class="text-gray-700" data={faBarsStaggered} scale={SMALL_ICON_SCALE} /><span
27
+ class="mx-2"
28
+ >
27
29
  Step of flow <a href={`/run/${job.parent_job}`}>{job.parent_job}</a></span
28
30
  >
29
31
  {:else}