windmill-components 1.37.0 → 1.46.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (401) hide show
  1. package/common.d.ts +1 -0
  2. package/components/AppConnect.svelte +45 -49
  3. package/components/ArgInfo.svelte +37 -15
  4. package/components/ArgInput.svelte +33 -34
  5. package/components/ArgInput.svelte.d.ts +3 -1
  6. package/components/ButtonAndDropdown.svelte +1 -1
  7. package/components/CenteredPage.svelte +2 -2
  8. package/components/CronInput.svelte +24 -20
  9. package/components/CronInput.svelte.d.ts +1 -0
  10. package/components/DisplayResult.svelte +2 -2
  11. package/components/Dropdown.svelte +10 -13
  12. package/components/Dropdown.svelte.d.ts +4 -1
  13. package/components/Editor.svelte +27 -3
  14. package/components/Editor.svelte.d.ts +3 -1
  15. package/components/EditorBar.svelte +77 -30
  16. package/components/EditorBar.svelte.d.ts +3 -1
  17. package/components/FieldHeader.svelte +6 -5
  18. package/components/FlowBuilder.svelte +52 -55
  19. package/components/FlowBuilder.svelte.d.ts +2 -0
  20. package/components/FlowJobResult.svelte +11 -18
  21. package/components/FlowJobResult.svelte.d.ts +2 -2
  22. package/components/FlowMetadata.svelte +65 -0
  23. package/components/FlowMetadata.svelte.d.ts +17 -0
  24. package/components/FlowModulesViewer.svelte +18 -4
  25. package/components/FlowPreviewContent.svelte +88 -50
  26. package/components/FlowPreviewContent.svelte.d.ts +1 -0
  27. package/components/FlowStatusViewer.svelte +123 -61
  28. package/components/FlowStatusViewer.svelte.d.ts +8 -3
  29. package/components/FlowViewer.svelte +84 -9
  30. package/components/FlowViewer.svelte.d.ts +1 -0
  31. package/components/GroupModal.svelte +43 -44
  32. package/components/GroupModal.svelte.d.ts +2 -2
  33. package/components/HighlightCode.svelte +4 -1
  34. package/components/HighlightCode.svelte.d.ts +1 -1
  35. package/components/IconedResourceType.svelte +6 -4
  36. package/components/IconedResourceType.svelte.d.ts +1 -0
  37. package/components/InputTransformForm.svelte +38 -27
  38. package/components/InputTransformsViewer.svelte +2 -1
  39. package/components/InviteGlobalUser.svelte +6 -10
  40. package/components/InviteGlobalUser.svelte.d.ts +1 -4
  41. package/components/InviteUser.svelte +4 -8
  42. package/components/InviteUser.svelte.d.ts +1 -4
  43. package/components/ItemPicker.svelte +50 -43
  44. package/components/ItemPicker.svelte.d.ts +2 -2
  45. package/components/JobArgs.svelte +33 -0
  46. package/components/JobArgs.svelte.d.ts +16 -0
  47. package/components/JobStatus.svelte +21 -17
  48. package/components/LogViewer.svelte +11 -6
  49. package/components/Modal.svelte +5 -5
  50. package/components/Modal.svelte.d.ts +4 -4
  51. package/components/ModulePreview.svelte +47 -63
  52. package/components/ModulePreview.svelte.d.ts +0 -1
  53. package/components/PageHeader.svelte +6 -6
  54. package/components/Password.svelte +1 -1
  55. package/components/Path.svelte +28 -7
  56. package/components/Path.svelte.d.ts +3 -3
  57. package/components/Popover.svelte +61 -0
  58. package/components/Popover.svelte.d.ts +17 -0
  59. package/components/Required.svelte +4 -4
  60. package/components/Required.svelte.d.ts +1 -0
  61. package/components/ResourceEditor.svelte +105 -116
  62. package/components/ResourceEditor.svelte.d.ts +0 -1
  63. package/components/ResourcePicker.svelte +9 -6
  64. package/components/ResourceTypePicker.svelte +3 -1
  65. package/components/RunChart.svelte +102 -0
  66. package/components/RunChart.svelte.d.ts +20 -0
  67. package/components/RunForm.svelte +58 -40
  68. package/components/RunForm.svelte.d.ts +13 -0
  69. package/components/SchemaEditor.svelte +5 -5
  70. package/components/SchemaEditorProperty.svelte +1 -1
  71. package/components/SchemaForm.svelte +3 -1
  72. package/components/SchemaForm.svelte.d.ts +1 -0
  73. package/components/SchemaModal.svelte +113 -105
  74. package/components/SchemaModal.svelte.d.ts +4 -4
  75. package/components/SchemaViewer.svelte +7 -4
  76. package/components/ScriptBuilder.svelte +143 -163
  77. package/components/ScriptBuilder.svelte.d.ts +1 -0
  78. package/components/ScriptEditor.svelte +117 -114
  79. package/components/ScriptEditor.svelte.d.ts +1 -0
  80. package/components/ScriptPicker.svelte +16 -24
  81. package/components/ScriptSchema.svelte +33 -32
  82. package/components/ShareModal.svelte +74 -68
  83. package/components/ShareModal.svelte.d.ts +2 -2
  84. package/components/SimpleEditor.svelte +4 -2
  85. package/components/SuperadminSettings.svelte +134 -0
  86. package/components/SuperadminSettings.svelte.d.ts +19 -0
  87. package/components/TableCustom.svelte +1 -1
  88. package/components/TableSimple.svelte +1 -1
  89. package/components/TestJobLoader.svelte +14 -6
  90. package/components/TestJobLoader.svelte.d.ts +4 -2
  91. package/components/Toggle.svelte +5 -3
  92. package/components/Toggle.svelte.d.ts +2 -0
  93. package/components/Tooltip.svelte +9 -64
  94. package/components/UserSettings.svelte +241 -0
  95. package/components/UserSettings.svelte.d.ts +19 -0
  96. package/components/VariableEditor.svelte +80 -74
  97. package/components/common/actionRow/ActionRow.svelte +5 -4
  98. package/components/common/alert/Alert.svelte +1 -1
  99. package/components/common/alert/Alert.svelte.d.ts +1 -0
  100. package/components/common/badge/Badge.svelte +2 -2
  101. package/components/common/breadcrumb/Breadcrumb.svelte +24 -0
  102. package/components/common/breadcrumb/Breadcrumb.svelte.d.ts +22 -0
  103. package/components/common/button/Button.svelte +20 -8
  104. package/components/common/button/Button.svelte.d.ts +1 -0
  105. package/components/common/button/model.d.ts +1 -1
  106. package/components/common/confirmationModal/ConfirmationModal.svelte +1 -0
  107. package/components/common/drawer/Drawer.svelte +38 -7
  108. package/components/common/drawer/Drawer.svelte.d.ts +6 -0
  109. package/components/common/drawer/DrawerContent.svelte +21 -7
  110. package/components/common/drawer/DrawerContent.svelte.d.ts +4 -0
  111. package/components/common/index.d.ts +1 -0
  112. package/components/common/index.js +1 -0
  113. package/components/common/kbd/Kbd.svelte +1 -1
  114. package/components/common/languageIcons/Bash.svelte +18 -0
  115. package/components/common/languageIcons/Bash.svelte.d.ts +27 -0
  116. package/components/common/languageIcons/Go.svelte +34 -0
  117. package/components/common/languageIcons/Go.svelte.d.ts +27 -0
  118. package/components/common/languageIcons/LanguageIcon.svelte +19 -0
  119. package/components/common/languageIcons/LanguageIcon.svelte.d.ts +21 -0
  120. package/components/common/languageIcons/Python.svelte +51 -0
  121. package/components/common/languageIcons/Python.svelte.d.ts +27 -0
  122. package/components/common/languageIcons/TypeScript.svelte +31 -0
  123. package/components/common/languageIcons/TypeScript.svelte.d.ts +27 -0
  124. package/components/common/languageIcons/index.d.ts +5 -0
  125. package/components/common/languageIcons/index.js +5 -0
  126. package/components/common/menu/Menu.svelte +15 -19
  127. package/components/common/skeleton/Skeleton.svelte +1 -2
  128. package/components/common/skeleton/Skeleton.svelte.d.ts +0 -1
  129. package/components/common/skeleton/SkeletonElement.svelte +1 -1
  130. package/components/common/tabs/TabContent.svelte +2 -1
  131. package/components/common/tabs/TabContent.svelte.d.ts +1 -0
  132. package/components/common/tabs/Tabs.svelte +8 -6
  133. package/components/common/tabs/Tabs.svelte.d.ts +1 -0
  134. package/components/flows/FlowEditor.svelte +11 -20
  135. package/components/flows/FlowProgressBar.svelte +55 -0
  136. package/components/flows/FlowProgressBar.svelte.d.ts +21 -0
  137. package/components/flows/common/FlowCardHeader.svelte +5 -6
  138. package/components/flows/content/CapturePayload.svelte +112 -0
  139. package/components/flows/content/CapturePayload.svelte.d.ts +17 -0
  140. package/components/flows/content/DynamicInputHelpBox.svelte +6 -10
  141. package/components/flows/content/FlowBranchAllWrapper.svelte +21 -0
  142. package/components/flows/content/FlowBranchAllWrapper.svelte.d.ts +21 -0
  143. package/components/flows/content/FlowBranchOneWrapper.svelte +49 -0
  144. package/components/flows/content/FlowBranchOneWrapper.svelte.d.ts +23 -0
  145. package/components/flows/content/FlowBranchesWrapper.svelte +140 -0
  146. package/components/flows/content/FlowBranchesWrapper.svelte.d.ts +19 -0
  147. package/components/flows/content/FlowEditorPanel.svelte +8 -6
  148. package/components/flows/content/FlowFailureModule.svelte +4 -6
  149. package/components/flows/content/FlowInput.svelte +31 -5
  150. package/components/flows/content/FlowInputs.svelte +119 -50
  151. package/components/flows/content/FlowInputs.svelte.d.ts +5 -4
  152. package/components/flows/content/FlowLoop.svelte +85 -142
  153. package/components/flows/content/FlowLoop.svelte.d.ts +2 -1
  154. package/components/flows/content/FlowModuleComponent.svelte +231 -0
  155. package/components/flows/content/FlowModuleComponent.svelte.d.ts +20 -0
  156. package/components/flows/content/FlowModuleEarlyStop.svelte +45 -48
  157. package/components/flows/content/FlowModuleEarlyStop.svelte.d.ts +1 -0
  158. package/components/flows/content/FlowModuleHeader.svelte +11 -40
  159. package/components/flows/content/FlowModuleHeader.svelte.d.ts +0 -1
  160. package/components/flows/content/FlowModuleScript.svelte +7 -12
  161. package/components/flows/content/FlowModuleScript.svelte.d.ts +1 -2
  162. package/components/flows/content/FlowModuleSuspend.svelte +31 -15
  163. package/components/flows/content/FlowModuleSuspend.svelte.d.ts +1 -0
  164. package/components/flows/content/FlowModuleWrapper.svelte +138 -38
  165. package/components/flows/content/FlowModuleWrapper.svelte.d.ts +6 -1
  166. package/components/flows/content/FlowRetries.svelte +13 -2
  167. package/components/flows/content/FlowRetries.svelte.d.ts +1 -0
  168. package/components/flows/content/FlowSchedules.svelte +0 -2
  169. package/components/flows/content/FlowSettings.svelte +103 -72
  170. package/components/flows/flowState.d.ts +8 -8
  171. package/components/flows/flowState.js +32 -17
  172. package/components/flows/flowStateUtils.d.ts +21 -38
  173. package/components/flows/flowStateUtils.js +86 -158
  174. package/components/flows/flowStore.d.ts +3 -2
  175. package/components/flows/flowStore.js +60 -7
  176. package/components/flows/header/FlowImportExportMenu.svelte +12 -22
  177. package/components/flows/header/FlowPreviewButtons.svelte +11 -11
  178. package/components/flows/map/FlowBranchAllMap.svelte +90 -0
  179. package/components/flows/map/FlowBranchAllMap.svelte.d.ts +17 -0
  180. package/components/flows/map/FlowBranchOneMap.svelte +116 -0
  181. package/components/flows/map/FlowBranchOneMap.svelte.d.ts +17 -0
  182. package/components/flows/map/FlowErrorHandlerItem.svelte +14 -11
  183. package/components/flows/map/FlowInputsItem.svelte +19 -0
  184. package/components/flows/map/FlowInputsItem.svelte.d.ts +14 -0
  185. package/components/flows/map/FlowModuleSchemaItem.svelte +53 -36
  186. package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +5 -5
  187. package/components/flows/map/FlowModuleSchemaMap.svelte +73 -144
  188. package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +2 -3
  189. package/components/flows/map/FlowSettingsItem.svelte +29 -0
  190. package/components/flows/map/FlowSettingsItem.svelte.d.ts +14 -0
  191. package/components/flows/map/InsertModuleButton.svelte +11 -0
  192. package/components/flows/map/InsertModuleButton.svelte.d.ts +16 -0
  193. package/components/flows/map/MapItem.svelte +105 -0
  194. package/components/flows/map/MapItem.svelte.d.ts +22 -0
  195. package/components/flows/pickers/FlowScriptPicker.svelte +14 -4
  196. package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +1 -1
  197. package/components/flows/pickers/PickHubScript.svelte +5 -4
  198. package/components/flows/pickers/PickHubScript.svelte.d.ts +1 -0
  199. package/components/flows/pickers/PickScript.svelte +6 -5
  200. package/components/flows/pickers/PickScript.svelte.d.ts +1 -0
  201. package/components/flows/previousResults.d.ts +14 -0
  202. package/components/flows/previousResults.js +118 -0
  203. package/components/flows/propPicker/PropPickerWrapper.svelte +22 -15
  204. package/components/flows/propPicker/PropPickerWrapper.svelte.d.ts +6 -2
  205. package/components/flows/utils.d.ts +8 -5
  206. package/components/flows/utils.js +86 -56
  207. package/components/graph/FlowGraph.svelte +259 -0
  208. package/components/graph/FlowGraph.svelte.d.ts +20 -0
  209. package/components/graph/index.d.ts +3 -0
  210. package/components/graph/index.js +3 -0
  211. package/components/graph/model.d.ts +20 -0
  212. package/components/graph/model.js +9 -0
  213. package/components/graph/util.d.ts +9 -0
  214. package/components/graph/util.js +14 -0
  215. package/components/icons/WindmillIcon.svelte +85 -52
  216. package/components/icons/WindmillIcon.svelte.d.ts +2 -0
  217. package/components/jobs/JobDetail.svelte +40 -30
  218. package/components/landing/FlowGettingStarted.svelte +4 -3
  219. package/components/landing/FlowLandingBox.svelte +23 -53
  220. package/components/landing/RessourceGettingStarted.svelte +1 -1
  221. package/components/landing/ScriptBox.svelte +25 -27
  222. package/components/landing/ScriptGettingStarted.svelte +4 -3
  223. package/components/preview/FlowPreviewStatus.svelte +1 -1
  224. package/components/progressBar/ProgressBar.svelte +89 -0
  225. package/components/{ProgressBar.svelte.d.ts → progressBar/ProgressBar.svelte.d.ts} +5 -2
  226. package/components/progressBar/ProgressBarGeneralPart.svelte +22 -0
  227. package/components/progressBar/ProgressBarGeneralPart.svelte.d.ts +19 -0
  228. package/components/progressBar/ProgressBarLoopAccessor.svelte +14 -0
  229. package/components/progressBar/ProgressBarLoopAccessor.svelte.d.ts +19 -0
  230. package/components/progressBar/ProgressBarLoopPart.svelte +34 -0
  231. package/components/progressBar/ProgressBarLoopPart.svelte.d.ts +19 -0
  232. package/components/progressBar/index.d.ts +2 -0
  233. package/components/progressBar/index.js +2 -0
  234. package/components/progressBar/model.d.ts +32 -0
  235. package/components/progressBar/model.js +14 -0
  236. package/components/propertyPicker/ObjectViewer.svelte +18 -13
  237. package/components/propertyPicker/ObjectViewer.svelte.d.ts +1 -0
  238. package/components/propertyPicker/PropPicker.svelte +90 -44
  239. package/components/propertyPicker/PropPicker.svelte.d.ts +4 -1
  240. package/components/propertyPicker/PropPickerResult.svelte +12 -0
  241. package/components/propertyPicker/PropPickerResult.svelte.d.ts +18 -0
  242. package/components/propertyPicker/utils.d.ts +1 -1
  243. package/components/propertyPicker/utils.js +4 -1
  244. package/components/{script_editor → scriptEditor}/LogPanel.svelte +30 -20
  245. package/components/{script_editor → scriptEditor}/LogPanel.svelte.d.ts +0 -0
  246. package/components/scripts/CreateActions.svelte +2 -2
  247. package/components/sidebar/SidebarContent.svelte +1 -1
  248. package/components/sidebar/UserMenu.svelte +17 -1
  249. package/components/sidebar/UserMenu.svelte.d.ts +3 -0
  250. package/components/sidebar/WorkspaceMenu.svelte +16 -14
  251. package/components/splitPanes/SplitPanesWrapper.svelte +34 -0
  252. package/components/splitPanes/SplitPanesWrapper.svelte.d.ts +20 -0
  253. package/editorUtils.js +2 -0
  254. package/gen/core/OpenAPI.js +1 -1
  255. package/gen/index.d.ts +8 -1
  256. package/gen/index.js +5 -0
  257. package/gen/models/AppWithLastVersion.d.ts +21 -0
  258. package/gen/models/AppWithLastVersion.js +12 -0
  259. package/gen/models/BranchAll.d.ts +10 -0
  260. package/gen/models/{Branches.js → BranchAll.js} +0 -0
  261. package/gen/models/{Branches.d.ts → BranchOne.d.ts} +3 -5
  262. package/gen/models/BranchOne.js +4 -0
  263. package/gen/models/CompletedJob.d.ts +4 -2
  264. package/gen/models/CompletedJob.js +2 -0
  265. package/gen/models/FlowModule.d.ts +2 -1
  266. package/gen/models/FlowModuleValue.d.ts +4 -2
  267. package/gen/models/FlowStatusModule.d.ts +11 -2
  268. package/gen/models/ForloopFlow.d.ts +1 -0
  269. package/gen/models/Identity.d.ts +3 -0
  270. package/gen/models/Identity.js +4 -0
  271. package/gen/models/ListableApp.d.ts +16 -0
  272. package/gen/models/ListableApp.js +12 -0
  273. package/gen/models/ListableVariable.d.ts +1 -1
  274. package/gen/models/PathScript.d.ts +2 -0
  275. package/gen/models/Policy.d.ts +12 -0
  276. package/gen/models/Policy.js +12 -0
  277. package/gen/models/Preview.d.ts +2 -1
  278. package/gen/models/Preview.js +1 -0
  279. package/gen/models/QueuedJob.d.ts +4 -2
  280. package/gen/models/QueuedJob.js +2 -0
  281. package/gen/models/RawScript.d.ts +4 -1
  282. package/gen/models/RawScript.js +1 -0
  283. package/gen/models/Script.d.ts +4 -2
  284. package/gen/models/Script.js +2 -0
  285. package/gen/services/AppService.d.ts +31 -0
  286. package/gen/services/AppService.js +49 -0
  287. package/gen/services/CaptureService.d.ts +30 -0
  288. package/gen/services/CaptureService.js +52 -0
  289. package/gen/services/FlowService.d.ts +90 -0
  290. package/gen/services/FlowService.js +72 -0
  291. package/gen/services/JobService.d.ts +57 -8
  292. package/gen/services/JobService.js +78 -10
  293. package/gen/services/OauthService.d.ts +6 -15
  294. package/gen/services/OauthService.js +6 -19
  295. package/gen/services/ResourceService.d.ts +10 -1
  296. package/gen/services/ResourceService.js +16 -1
  297. package/gen/services/ScriptService.d.ts +28 -3
  298. package/gen/services/ScriptService.js +27 -0
  299. package/gen/services/UserService.d.ts +14 -6
  300. package/gen/services/UserService.js +25 -11
  301. package/infer.d.ts +1 -1
  302. package/infer.js +35 -18
  303. package/logout.d.ts +1 -1
  304. package/logout.js +7 -9
  305. package/package.json +74 -68
  306. package/script_helpers.d.ts +5 -3
  307. package/script_helpers.js +42 -12
  308. package/scripts.js +9 -4
  309. package/utils.d.ts +8 -9
  310. package/utils.js +42 -81
  311. package/components/AutosizedTextarea.svelte +0 -34
  312. package/components/AutosizedTextarea.svelte.d.ts +0 -19
  313. package/components/ProgressBar.svelte +0 -31
  314. package/components/ProgressBarPart.svelte +0 -20
  315. package/components/ProgressBarPart.svelte.d.ts +0 -20
  316. package/components/Switch.svelte +0 -61
  317. package/components/Switch.svelte.d.ts +0 -31
  318. package/components/flows/content/CopyFirstStepSchema.svelte +0 -13
  319. package/components/flows/content/CopyFirstStepSchema.svelte.d.ts +0 -14
  320. package/components/flows/content/FlowLoopWrapper.svelte +0 -9
  321. package/components/flows/content/FlowLoopWrapper.svelte.d.ts +0 -14
  322. package/components/flows/content/FlowModule.svelte +0 -217
  323. package/components/flows/content/FlowModule.svelte.d.ts +0 -29
  324. package/gen/schemas/$AuditLog.d.ts +0 -32
  325. package/gen/schemas/$AuditLog.js +0 -35
  326. package/gen/schemas/$CompletedJob.d.ts +0 -98
  327. package/gen/schemas/$CompletedJob.js +0 -103
  328. package/gen/schemas/$ContextualVariable.d.ts +0 -16
  329. package/gen/schemas/$ContextualVariable.js +0 -19
  330. package/gen/schemas/$CreateResource.d.ts +0 -22
  331. package/gen/schemas/$CreateResource.js +0 -25
  332. package/gen/schemas/$CreateVariable.d.ts +0 -26
  333. package/gen/schemas/$CreateVariable.js +0 -29
  334. package/gen/schemas/$CreateWorkspace.d.ts +0 -20
  335. package/gen/schemas/$CreateWorkspace.js +0 -23
  336. package/gen/schemas/$EditResource.d.ts +0 -13
  337. package/gen/schemas/$EditResource.js +0 -16
  338. package/gen/schemas/$EditResourceType.d.ts +0 -10
  339. package/gen/schemas/$EditResourceType.js +0 -13
  340. package/gen/schemas/$EditSchedule.d.ts +0 -20
  341. package/gen/schemas/$EditSchedule.js +0 -23
  342. package/gen/schemas/$EditVariable.d.ts +0 -16
  343. package/gen/schemas/$EditVariable.js +0 -19
  344. package/gen/schemas/$EditWorkspaceUser.d.ts +0 -7
  345. package/gen/schemas/$EditWorkspaceUser.js +0 -10
  346. package/gen/schemas/$Flow.d.ts +0 -23
  347. package/gen/schemas/$Flow.js +0 -26
  348. package/gen/schemas/$FlowMetadata.d.ts +0 -31
  349. package/gen/schemas/$FlowMetadata.js +0 -34
  350. package/gen/schemas/$FlowPreview.d.ts +0 -80
  351. package/gen/schemas/$FlowPreview.js +0 -83
  352. package/gen/schemas/$GlobalUserInfo.d.ts +0 -26
  353. package/gen/schemas/$GlobalUserInfo.js +0 -29
  354. package/gen/schemas/$Group.d.ts +0 -23
  355. package/gen/schemas/$Group.js +0 -26
  356. package/gen/schemas/$Job.d.ts +0 -17
  357. package/gen/schemas/$Job.js +0 -20
  358. package/gen/schemas/$ListableVariable.d.ts +0 -35
  359. package/gen/schemas/$ListableVariable.js +0 -38
  360. package/gen/schemas/$Login.d.ts +0 -12
  361. package/gen/schemas/$Login.js +0 -15
  362. package/gen/schemas/$MainArgSignature.d.ts +0 -50
  363. package/gen/schemas/$MainArgSignature.js +0 -53
  364. package/gen/schemas/$NewSchedule.d.ts +0 -30
  365. package/gen/schemas/$NewSchedule.js +0 -33
  366. package/gen/schemas/$NewToken.d.ts +0 -11
  367. package/gen/schemas/$NewToken.js +0 -14
  368. package/gen/schemas/$NewUser.d.ts +0 -16
  369. package/gen/schemas/$NewUser.js +0 -19
  370. package/gen/schemas/$Preview.d.ts +0 -19
  371. package/gen/schemas/$Preview.js +0 -22
  372. package/gen/schemas/$QueuedJob.d.ts +0 -139
  373. package/gen/schemas/$QueuedJob.js +0 -144
  374. package/gen/schemas/$Resource.d.ts +0 -31
  375. package/gen/schemas/$Resource.js +0 -34
  376. package/gen/schemas/$ResourceType.d.ts +0 -17
  377. package/gen/schemas/$ResourceType.js +0 -20
  378. package/gen/schemas/$Schedule.d.ts +0 -47
  379. package/gen/schemas/$Schedule.js +0 -50
  380. package/gen/schemas/$Script.d.ts +0 -77
  381. package/gen/schemas/$Script.js +0 -80
  382. package/gen/schemas/$ScriptArgs.d.ts +0 -6
  383. package/gen/schemas/$ScriptArgs.js +0 -9
  384. package/gen/schemas/$SlackToken.d.ts +0 -24
  385. package/gen/schemas/$SlackToken.js +0 -27
  386. package/gen/schemas/$TokenResponse.d.ts +0 -23
  387. package/gen/schemas/$TokenResponse.js +0 -26
  388. package/gen/schemas/$TruncatedToken.d.ts +0 -25
  389. package/gen/schemas/$TruncatedToken.js +0 -28
  390. package/gen/schemas/$Usage.d.ts +0 -13
  391. package/gen/schemas/$Usage.js +0 -16
  392. package/gen/schemas/$User.d.ts +0 -42
  393. package/gen/schemas/$User.js +0 -45
  394. package/gen/schemas/$UserWorkspaceList.d.ts +0 -28
  395. package/gen/schemas/$UserWorkspaceList.js +0 -31
  396. package/gen/schemas/$WorkerPing.d.ts +0 -31
  397. package/gen/schemas/$WorkerPing.js +0 -34
  398. package/gen/schemas/$Workspace.d.ts +0 -19
  399. package/gen/schemas/$Workspace.js +0 -22
  400. package/gen/schemas/$WorkspaceInvite.d.ts +0 -16
  401. package/gen/schemas/$WorkspaceInvite.js +0 -19
@@ -0,0 +1,3 @@
1
+ export { default as FlowGraph } from './FlowGraph.svelte';
2
+ export * from './model';
3
+ export * from './util';
@@ -0,0 +1,3 @@
1
+ export { default as FlowGraph } from './FlowGraph.svelte';
2
+ export * from './model';
3
+ export * from './util';
@@ -0,0 +1,20 @@
1
+ import type { Node as SvelvetNode } from "svelvet";
2
+ export declare type ModuleHost = 'workspace' | 'inline' | 'hub';
3
+ export declare type Node = SvelvetNode & {
4
+ parentIds: string[];
5
+ edgeLabel?: string;
6
+ host?: ModuleHost;
7
+ };
8
+ export declare type Loop = {
9
+ type: 'loop';
10
+ items: NestedNodes;
11
+ };
12
+ export declare type Branch = {
13
+ type: 'branch';
14
+ items: NestedNodes[];
15
+ };
16
+ export declare type GraphItem = Node | Loop | Branch;
17
+ export declare type NestedNodes = GraphItem[];
18
+ export declare function isNode(item: GraphItem | NestedNodes | undefined): item is Node;
19
+ export declare function isLoop(item: GraphItem | NestedNodes | undefined): item is Loop;
20
+ export declare function isBranch(item: GraphItem | NestedNodes | undefined): item is Branch;
@@ -0,0 +1,9 @@
1
+ export function isNode(item) {
2
+ return typeof item?.['id'] === 'number';
3
+ }
4
+ export function isLoop(item) {
5
+ return item?.['type'] === 'loop';
6
+ }
7
+ export function isBranch(item) {
8
+ return item?.['type'] === 'branch';
9
+ }
@@ -0,0 +1,9 @@
1
+ export declare const NODE: {
2
+ width: number;
3
+ height: number;
4
+ gap: {
5
+ horizontal: number;
6
+ vertical: number;
7
+ };
8
+ };
9
+ export declare function createIdGenerator(): Generator<number, number, unknown>;
@@ -0,0 +1,14 @@
1
+ export const NODE = {
2
+ width: 200,
3
+ height: 35,
4
+ gap: {
5
+ horizontal: 40,
6
+ vertical: 50
7
+ }
8
+ };
9
+ export function* createIdGenerator() {
10
+ let id = 0;
11
+ while (true) {
12
+ yield id++;
13
+ }
14
+ }
@@ -1,68 +1,101 @@
1
1
  <script>export let height = '24px';
2
2
  export let width = '24px';
3
+ export let white = false;
3
4
  </script>
4
5
 
6
+ <!-- Generator: Adobe Illustrator 26.5.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
5
7
  <svg
8
+ class={$$props.class}
9
+ version="1.1"
10
+ id="Calque_1"
6
11
  xmlns="http://www.w3.org/2000/svg"
12
+ xmlns:xlink="http://www.w3.org/1999/xlink"
7
13
  x="0px"
8
14
  y="0px"
9
15
  {width}
10
16
  {height}
11
- viewBox="0 0 188.8 258.10001"
12
- preserveAspectRatio="xMidYMid meet"
13
- id="svg12"
14
- inkscape:export-filename="/home/rfiszel/Downloads/windmill.png"
15
- inkscape:export-xdpi="31.02663"
16
- inkscape:export-ydpi="31.02663"
17
+ viewBox="0 0 256 256"
18
+ style="enable-background:new 0 0 256 256;"
19
+ xml:space="preserve"
17
20
  >
18
- <defs id="defs16" />
19
- <sodipodi:namedview
20
- id="namedview14"
21
- borderopacity="1.0"
22
- inkscape:pageshadow="2"
23
- inkscape:pageopacity="0.0"
24
- inkscape:pagecheckerboard="0"
25
- inkscape:document-units="pt"
26
- showgrid="false"
27
- inkscape:zoom="0.50043491"
28
- inkscape:cx="57.949594"
29
- inkscape:cy="197.82793"
30
- inkscape:window-width="1276"
31
- inkscape:window-height="1436"
32
- inkscape:window-x="0"
33
- inkscape:window-y="0"
34
- inkscape:window-maximized="1"
35
- inkscape:current-layer="svg12"
36
- fit-margin-top="0"
37
- fit-margin-left="0"
38
- fit-margin-right="0"
39
- fit-margin-bottom="0"
40
- />
41
- <metadata id="metadata2"> Created by potrace 1.16, written by Peter Selinger 2001-2019 </metadata>
42
- <g
43
- transform="matrix(0.1,0,0,-0.1,-273.6,405.1)"
44
- fill="#000000"
45
- stroke="none"
46
- id="g10"
47
- inkscape:export-filename="/home/rfiszel/Downloads/g10.png"
48
- inkscape:export-xdpi="31.02663"
49
- inkscape:export-ydpi="31.02663"
50
- style="fill:#000000;fill-opacity:1"
51
- >
52
- <path
53
- d="m 2760,4025 -24,-26 447,-447 447,-447 -447,-447 -447,-447 24,-26 24,-26 448,448 448,448 448,-448 448,-448 24,26 24,26 -447,447 -447,447 447,447 447,447 -24,26 -24,26 -448,-448 -448,-448 -448,448 -448,448 z"
54
- id="path4"
55
- style="fill:#000000;fill-opacity:1"
21
+ <style>
22
+ .st0 {
23
+ fill: #ffffff;
24
+ }
25
+ .st1 {
26
+ opacity: 0.4;
27
+ fill: #ffffff;
28
+ }
29
+ .st2 {
30
+ fill: #999;
31
+ }
32
+ .st3 {
33
+ fill: black;
34
+ }
35
+ .st4 {
36
+ fill: #999;
37
+ }
38
+ .st5 {
39
+ fill: url(#SVGID_1_);
40
+ }
41
+ .st6 {
42
+ fill: url(#SVGID_00000021089067129159788970000008246765442136188072_);
43
+ }
44
+ .st7 {
45
+ fill: url(#SVGID_00000117639240116366130650000015074833605515028638_);
46
+ }
47
+ .st8 {
48
+ opacity: 0.4;
49
+ fill: url(#SVGID_00000101781798616409025840000016567063639337360777_);
50
+ }
51
+ .st9 {
52
+ opacity: 0.4;
53
+ fill: url(#SVGID_00000052086836598721292040000002033117744178971046_);
54
+ }
55
+ .st10 {
56
+ opacity: 0.4;
57
+ fill: url(#SVGID_00000159460939004760751800000002448009281983951536_);
58
+ }
59
+ .st11 {
60
+ opacity: 0.4;
61
+ fill: url(#SVGID_00000013177830667419993080000017721442101626521532_);
62
+ }
63
+ .st12 {
64
+ opacity: 0.4;
65
+ fill: url(#SVGID_00000152235521444854938490000006526001119318383285_);
66
+ }
67
+ .st13 {
68
+ opacity: 0.4;
69
+ fill: url(#SVGID_00000119823135212293698520000012774889010992664993_);
70
+ }</style>
71
+ <g>
72
+ <polygon
73
+ class="st2"
74
+ points="134.78,14.22 114.31,48.21 101.33,69.75 158.22,69.75 177.97,36.95 191.67,14.22 "
56
75
  />
57
- <path
58
- d="m 3569,2823 -107,-108 -66,-539 c -39,-315 -63,-543 -58,-548 5,-5 67,-7 138,-6 l 129,3 2,155 c 1,146 2,155 23,172 29,23 91,23 119,1 19,-17 21,-29 23,-173 l 3,-155 138,-3 137,-3 v 28 c 0,15 -20,186 -45,378 -25,193 -53,421 -64,509 l -19,159 -118,118 c -65,66 -121,119 -124,119 -3,0 -53,-48 -111,-107 z"
59
- id="path6"
60
- style="fill:#000000;fill-opacity:1"
76
+ <polygon
77
+ class:st3={!white}
78
+ class:st0={white}
79
+ points="227.55,69.75 186.61,69.75 101.33,69.75 129.78,119.02 158.16,119.02 228.61,119.02 256,119.02 "
61
80
  />
62
- <path
63
- d="m 3317,1543 c -4,-3 -7,-21 -7,-40 v -33 h 380 380 v 24 c 0,59 21,56 -379,56 -202,0 -371,-3 -374,-7 z"
64
- id="path8"
65
- style="fill:#000000;fill-opacity:1"
81
+ <polygon
82
+ class:st3={!white}
83
+ class:st0={white}
84
+ points="136.93,132.47 116.46,167.93 73.82,241.78 130.71,241.78 144.9,217.2 180.13,156.18 193.82,132.46
85
+ "
86
+ />
87
+ <polygon
88
+ class:st3={!white}
89
+ class:st0={white}
90
+ points="121.7,131.95 101.23,96.49 58.59,22.63 30.15,71.91 44.34,96.49 79.57,157.5 93.26,181.22 "
91
+ />
92
+ <polygon
93
+ class="st2"
94
+ points="64.81,131.95 25.15,131.21 0,130.74 28.44,180.01 66.73,180.72 93.26,181.21 "
95
+ />
96
+ <polygon
97
+ class="st2"
98
+ points="165.38,181.74 184.58,216.46 196.75,238.47 225.19,189.2 206.66,155.69 193.83,132.46 "
66
99
  />
67
100
  </g>
68
101
  </svg>
@@ -1,8 +1,10 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
+ [x: string]: any;
4
5
  height?: string | undefined;
5
6
  width?: string | undefined;
7
+ white?: boolean | undefined;
6
8
  };
7
9
  events: {
8
10
  [evt: string]: CustomEvent<any>;
@@ -1,7 +1,10 @@
1
- <script>import { displayDate, displayDaysAgo, forLater, msToSec, truncateHash, truncateRev } from '../../utils';
2
- import { faCalendar, faCircle, faClock, faFastForward, faHourglassHalf, faRobot, faTimes, faUser, faWind } from '@fortawesome/free-solid-svg-icons';
1
+ <script>import { goto } from '$app/navigation';
2
+ import { page } from '$app/stores';
3
+ import { displayDate, displayDaysAgo, forLater, msToSec, truncateHash, truncateRev } from '../../utils';
4
+ import { faCalendar, faCircle, faClock, faFastForward, faHourglassHalf, faRobot, faSearch, faTimes, faUser, faWind } from '@fortawesome/free-solid-svg-icons';
3
5
  import Icon from 'svelte-awesome';
4
6
  import { check } from 'svelte-awesome/icons';
7
+ import { Badge, Button } from '../common';
5
8
  const SMALL_ICON_SCALE = 0.7;
6
9
  export let job;
7
10
  </script>
@@ -13,7 +16,7 @@ export let job;
13
16
  {#if job === undefined}
14
17
  No job found
15
18
  {:else}
16
- <div class="block text-center align-middle pb-3 pt-2 px-6">
19
+ <div class="block text-center align-middle px-6">
17
20
  {#if 'success' in job && job.success}
18
21
  {#if job.is_skipped}
19
22
  <Icon
@@ -61,36 +64,43 @@ export let job;
61
64
  {/if}
62
65
  </div>
63
66
 
64
- <h3 class="break-all py-2">
65
- {#if job.script_path}
66
- <a class="pr-3" href="/run/{job.id}">{job.script_path} </a>
67
- {:else if 'job_kind' in job && job.job_kind == 'preview'}
68
- <a class="pr-3" href="/run/{job.id}">Preview without path </a>
69
- {:else if 'job_kind' in job && job.job_kind != 'script'}
70
- <a class="pr-3" href="/run/{job.id}">lock dependencies</a>
71
- {/if}
72
- {#if job.script_hash}
73
- <a href="/scripts/get/{job.script_hash}" class="commit-hash"
74
- >{truncateHash(job.script_hash ?? '')}</a
75
- >
76
- {/if}
77
- {#if 'job_kind' in job && job.job_kind != 'script'}<span
78
- class="bg-blue-200 text-gray-700 text-xs rounded px-1 mx-3 whitespace-nowrap"
79
- ><a href="/run/{job.id}">{job.job_kind}</a></span
80
- >
81
- {:else if job.is_flow_step}
82
- <span class="bg-blue-200 text-gray-700 text-xs rounded px-1 mx-3"
83
- ><a href="/run/{job.parent_job}">step of flow</a></span
67
+ <div class="flex flex-row space-x-2">
68
+ <div class="whitespace-nowrap">
69
+ {#if job.script_path}
70
+ <a href="/run/{job.id}?workspace={job.workspace_id}">{job.script_path} </a>
71
+ {:else if 'job_kind' in job && job.job_kind == 'preview'}
72
+ <a href="/run/{job.id}?workspace={job.workspace_id}">Preview without path </a>
73
+ {:else if 'job_kind' in job && job.job_kind == 'dependencies'}
74
+ <a href="/run/{job.id}?workspace={job.workspace_id}"
75
+ >lock deps of {truncateHash(job.script_hash ?? '')}</a
76
+ >
77
+ {:else if 'job_kind' in job && job.job_kind == 'identity'}
78
+ <a href="/run/{job.id}?workspace={job.workspace_id}">no op</a>
79
+ {/if}
80
+ <button
81
+ class="ml-1"
82
+ on:click={() => {
83
+ goto(`/runs/${job.script_path}?${$page.url.searchParams.toString()}`)
84
+ }}><Badge><Icon scale={0.7} data={faSearch} /></Badge></button
84
85
  >
85
- {/if}
86
- </h3>
86
+ </div>
87
+ <div class="whitespace-nowrap">
88
+ {#if 'job_kind' in job}<a href="/run/{job.id}"
89
+ ><Badge color="blue">{job.job_kind}</Badge></a
90
+ >
91
+ {/if}
92
+ {#if job.is_flow_step && (job.job_kind == 'script' || job.job_kind == 'preview')}
93
+ <a href="/run/{job.parent_job}?workspace={job.workspace_id}"
94
+ ><Badge color="gray">flow step</Badge></a
95
+ >
96
+ {/if}
97
+ </div>
98
+ </div>
87
99
  {/if}
88
100
  </div>
89
- <div>
90
- <span class="pl-14 italic text-gray-500 text-2xs whitespace-nowrap overflow-hidden"
91
- >Run {job.id}</span
92
- >
93
- </div>
101
+ <div class="pl-14 italic text-gray-500 text-2xs whitespace-nowrap overflow-hidden"
102
+ >{truncateRev(job.id, 8, '')}</div
103
+ >
94
104
  </div>
95
105
  <div class="bg-white grid grid-cols-2 gap-x-2 col-span-2">
96
106
  <div class="w-full text-gray-500 text-xs text-left flex flex-col gap-1 mx-4 overflow-hidden">
@@ -5,9 +5,9 @@
5
5
  import HatIcon from '../icons/HatIcon.svelte'
6
6
  </script>
7
7
 
8
- <div class="p-4 border border-gray-300 rounded-md bg-gray-50 ">
8
+ <div class="p-4 border border-gray-300 rounded-md bg-gray-50 overflow-auto">
9
9
  <div class="flex items-center">
10
- <h3 class="inline-flex items-center text-lg font-medium text-gray-700 ">
10
+ <h3 class="inline-flex items-center font-semibold">
11
11
  <HatIcon class="w-6 h-6 mr-2" />
12
12
  Getting started
13
13
  </h3>
@@ -17,7 +17,7 @@
17
17
  together. Each Flow is composed of one or more steps. Create a new flow or find inspiration on
18
18
  the Hub!
19
19
  </div>
20
- <div class="inline-flex flex-wrap gap-y-2">
20
+ <div class="flex flex-row flex-wrap gap-y-2">
21
21
  <Button
22
22
  on:click={() => goto('flows/add')}
23
23
  color="dark"
@@ -42,6 +42,7 @@
42
42
  variant="border"
43
43
  size="xs"
44
44
  startIcon={{ icon: faExternalLink }}
45
+ target="_blank"
45
46
  >
46
47
  Explore community flows on WindmillHub
47
48
  </Button>
@@ -1,69 +1,39 @@
1
1
  <script>import { goto } from '$app/navigation';
2
+ import { faPencil, faPlay } from '@fortawesome/free-solid-svg-icons';
3
+ import { Button } from '../common';
2
4
  export let flow;
3
5
  </script>
4
6
 
5
- <div
6
- class="border p-4 rounded-sm shadow-sm space-y-2 hover:border-blue-600 flex flex-col justify-between cursor-pointer"
7
+ <a
8
+ href="#{flow.path}"
9
+ class="border p-4 rounded-sm shadow-sm space-y-2 hover:border-blue-600 text-gray-800 flex flex-col justify-between cursor-pointer"
7
10
  on:click={() => goto(`/flows/get/${flow.path}`)}
8
11
  >
9
- <div class="font-bold">{flow.summary}</div>
12
+ <div class="font-bold">{flow.summary || flow.path}</div>
10
13
 
11
- <div class="inline-flex justify-between w-full h-16">
14
+ <div class="inline-flex justify-between w-full break-words">
12
15
  <div class="text-xs">{flow.path}</div>
13
16
  </div>
14
17
 
15
- <div
16
- class="inline-flex space-x-2 space-x-reverse flex-row-reverse w-full bottom-4 right-4 flex-wrap"
17
- >
18
- <button
19
- on:click|stopPropagation={() => goto(`/flows/edit/${flow.path}`)}
20
- type="button"
21
- class="inline-flex items-center text-gray-700 bg-transparent border border-gray-700 hover:bg-gray-800 hover:text-white focus:ring-4 focus:outline-none focus:ring-gray-300 font-medium rounded-lg text-xs px-3 py-1.5 text-center"
22
- data-dismiss-target="#alert-additional-content-5"
23
- aria-label="Close"
18
+ <div class="flex flex-row-reverse gap-x-2">
19
+ <Button
20
+ on:click={() => goto(`/flows/edit/${flow.path}`)}
21
+ color="dark"
22
+ size="xs"
23
+ variant="border"
24
+ startIcon={{ icon: faPencil }}
24
25
  >
25
- <svg
26
- class="w-4 h-4 mr-2"
27
- fill="none"
28
- stroke="currentColor"
29
- viewBox="0 0 24 24"
30
- xmlns="http://www.w3.org/2000/svg"
31
- ><path
32
- stroke-linecap="round"
33
- stroke-linejoin="round"
34
- stroke-width="2"
35
- d="M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z"
36
- />
37
- </svg>
38
26
  Edit
39
- </button>
27
+ </Button>
40
28
 
41
- <button
42
- on:click|stopPropagation={() => goto(`/flows/run/${flow.path}`)}
43
- type="button"
44
- class="inline-flex items-center text-gray-700 bg-transparent border border-gray-700 hover:bg-gray-800 hover:text-white focus:ring-4 focus:outline-none focus:ring-gray-300 font-medium rounded-lg text-xs px-3 py-1.5 text-center"
45
- data-dismiss-target="#alert-additional-content-5"
46
- aria-label="Close"
29
+ <Button
30
+ on:click={() => goto(`/flows/run/${flow.path}`)}
31
+ color="dark"
32
+ size="xs"
33
+ variant="border"
34
+ startIcon={{ icon: faPlay }}
47
35
  >
48
- <svg
49
- class="w-4 h-4 mr-2"
50
- fill="none"
51
- stroke="currentColor"
52
- viewBox="0 0 24 24"
53
- xmlns="http://www.w3.org/2000/svg"
54
- ><path
55
- stroke-linecap="round"
56
- stroke-linejoin="round"
57
- stroke-width="2"
58
- d="M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z"
59
- /><path
60
- stroke-linecap="round"
61
- stroke-linejoin="round"
62
- stroke-width="2"
63
- d="M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
64
- />
65
- </svg>
66
36
  Run
67
- </button>
37
+ </Button>
68
38
  </div>
69
- </div>
39
+ </a>
@@ -7,7 +7,7 @@
7
7
 
8
8
  <div class="p-4 border border-gray-300 rounded-md bg-gray-50 dark:border-gray-600 dark:bg-gray-700">
9
9
  <div class="flex items-center">
10
- <h3 class="inline-flex items-center text-lg font-medium text-gray-700 ">
10
+ <h3 class="inline-flex items-center font-semibold">
11
11
  <HatIcon class="w-6 h-6 mr-2" />
12
12
  Getting started
13
13
  </h3>
@@ -1,13 +1,13 @@
1
1
  <script>import { goto } from '$app/navigation';
2
2
  import { truncateHash } from '../../utils';
3
3
  import { faPencil, faPlay } from '@fortawesome/free-solid-svg-icons';
4
- import { Button, Badge, ActionRow } from '../common';
4
+ import { Button, Badge } from '../common';
5
5
  export let script;
6
6
  </script>
7
7
 
8
- <div
9
- class="border p-4 rounded-sm shadow-sm space-y-2 hover:border-blue-600 flex flex-col justify-between cursor-pointer"
10
- on:click={() => goto(`/scripts/get/${script.hash}`)}
8
+ <a
9
+ class="border p-4 rounded-sm shadow-sm space-y-2 hover:border-blue-600 text-gray-800 flex flex-col justify-between"
10
+ href="/scripts/get/{script.hash}"
11
11
  >
12
12
  <div class="font-bold">{script.summary || script.path}</div>
13
13
 
@@ -28,27 +28,25 @@ export let script;
28
28
  </Badge>
29
29
  {/if}
30
30
  </div>
31
- <ActionRow>
32
- <svelte:fragment slot="right">
33
- <Button
34
- on:click={() => goto(`/scripts/edit/${script.hash}?step=2`)}
35
- color="dark"
36
- size="xs"
37
- variant="border"
38
- startIcon={{ icon: faPencil }}
39
- >
40
- Edit
41
- </Button>
31
+ <div class="flex flex-row-reverse gap-x-2">
32
+ <Button
33
+ on:click={() => goto(`/scripts/edit/${script.hash}?step=2`)}
34
+ color="dark"
35
+ size="xs"
36
+ variant="border"
37
+ startIcon={{ icon: faPencil }}
38
+ >
39
+ Edit
40
+ </Button>
42
41
 
43
- <Button
44
- on:click={() => goto(`/scripts/run/${script.hash}`)}
45
- color="dark"
46
- size="xs"
47
- variant="border"
48
- startIcon={{ icon: faPlay }}
49
- >
50
- Run
51
- </Button>
52
- </svelte:fragment>
53
- </ActionRow>
54
- </div>
42
+ <Button
43
+ on:click={() => goto(`/scripts/run/${script.hash}`)}
44
+ color="dark"
45
+ size="xs"
46
+ variant="border"
47
+ startIcon={{ icon: faPlay }}
48
+ >
49
+ Run
50
+ </Button>
51
+ </div>
52
+ </a>
@@ -5,9 +5,9 @@
5
5
  import HatIcon from '../icons/HatIcon.svelte'
6
6
  </script>
7
7
 
8
- <div class="p-4 border border-gray-300 rounded-md bg-gray-50 ">
8
+ <div class="p-4 border border-gray-300 rounded-md bg-gray-50 overflow-auto">
9
9
  <div class="flex items-center">
10
- <h3 class="inline-flex items-center text-lg font-medium text-gray-700 ">
10
+ <h3 class="inline-flex items-center font-semibold">
11
11
  <HatIcon class="w-6 h-6 mr-2" />
12
12
  Getting started
13
13
  </h3>
@@ -15,7 +15,7 @@
15
15
  <div class="mt-2 mb-4 text-sm text-gray-700 ">
16
16
  Create a new script or find inspiration on the Hub!
17
17
  </div>
18
- <div class="inline-flex flex-wrap gap-y-2 ">
18
+ <div class="inline-flex flex-wrap gap-y-2">
19
19
  <Button
20
20
  on:click={() => goto('scripts/add')}
21
21
  color="dark"
@@ -40,6 +40,7 @@
40
40
  variant="border"
41
41
  size="xs"
42
42
  startIcon={{ icon: faExternalLink }}
43
+ target="_blank"
43
44
  >
44
45
  Explore community scripts on WindmillHub
45
46
  </Button>
@@ -17,7 +17,7 @@ export let job;
17
17
  Job Id
18
18
  </th>
19
19
  <td class="py-2">
20
- <a href="/run/{job?.id}">
20
+ <a rel="noreferrer" target="_blank" href="/run/{job?.id}?workspace={job?.workspace_id}">
21
21
  {job?.id}
22
22
  </a>
23
23
  </td>
@@ -0,0 +1,89 @@
1
+ <script>import { setContext } from 'svelte';
2
+ import { writable } from 'svelte/store';
3
+ import { isLoopStep, isLoopState, getTween } from './model';
4
+ import ProgressBarGeneralPart from './ProgressBarGeneralPart.svelte';
5
+ import ProgressBarLoopPart from './ProgressBarLoopPart.svelte';
6
+ export let steps;
7
+ export let error = false;
8
+ export let duration = 100;
9
+ let percent = getTween(0, duration);
10
+ let finished = false;
11
+ let state = [];
12
+ const stateStore = writable({
13
+ length: state.length,
14
+ index: 0,
15
+ finished,
16
+ error
17
+ });
18
+ setContext('state', stateStore);
19
+ $: state = steps.map((step, i) => {
20
+ if (isLoopStep(step)) {
21
+ return {
22
+ type: step.type,
23
+ isDone: error ? false : step.isDone,
24
+ isDoneChanged: !state[i]?.isDone && step.isDone,
25
+ length: step.length,
26
+ index: step.index,
27
+ indexChanged: state[i]?.index !== step.index
28
+ };
29
+ }
30
+ else {
31
+ return {
32
+ type: step.type,
33
+ isDone: step.isDone,
34
+ isDoneChanged: !state[i]?.isDone && step.isDone
35
+ };
36
+ }
37
+ });
38
+ $: stateStore.update(({ index }) => ({ length: state.length, index, finished, error }));
39
+ $: stepIndex = state.findIndex(({ isDone }) => !isDone);
40
+ $: lastStep = state.at(-1);
41
+ $: if (typeof lastStep?.isDone === 'boolean') {
42
+ finished = lastStep.isDone;
43
+ if ($percent >= 100 && !lastStep.isDone) {
44
+ percent = getTween(0, duration);
45
+ }
46
+ }
47
+ $: subStepIndex = lastStep ? lastStep['index'] : undefined;
48
+ $: length = 100 / (state.length || 1);
49
+ $: if (finished) {
50
+ percent.set(100);
51
+ }
52
+ else {
53
+ const product = length * stepIndex;
54
+ percent.set(product < 0 ? 0 : product);
55
+ }
56
+ </script>
57
+
58
+ <div class={$$props.class}>
59
+ <div
60
+ class="flex justify-between items-end font-medium mb-1 {error
61
+ ? 'text-red-700'
62
+ : 'text-blue-700'}"
63
+ >
64
+ <span class="text-base">
65
+ {error
66
+ ? 'Error occured'
67
+ : finished
68
+ ? 'Done'
69
+ : `Step ${stepIndex + 1}${subStepIndex !== undefined ? `.${subStepIndex + 1}` : ''}`}
70
+ </span>
71
+ <span class="text-sm">
72
+ {state.length ? $percent.toFixed(0) : 0}%
73
+ </span>
74
+ </div>
75
+ <div class="flex w-full bg-gray-200 rounded-full h-4 overflow-hidden">
76
+ {#each state as step, index}
77
+ <div
78
+ class="h-full relative border-white {index === 0 ? '' : 'border-l'}"
79
+ style="width: {length}%;"
80
+ >
81
+ {#if isLoopState(step)}
82
+ <ProgressBarLoopPart {step} {index} {duration} />
83
+ {:else}
84
+ <ProgressBarGeneralPart {step} {index} {duration} />
85
+ {/if}
86
+ </div>
87
+ {/each}
88
+ </div>
89
+ </div>