windmill-components 1.37.0 → 1.46.2

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
@@ -6,13 +6,16 @@ declare const __propDef: {
6
6
  dropdownItems: DropdownItem[];
7
7
  name?: string | undefined;
8
8
  relative?: boolean | undefined;
9
+ left?: boolean | undefined;
9
10
  };
10
11
  events: {
11
12
  click: CustomEvent<any>;
12
13
  } & {
13
14
  [evt: string]: CustomEvent<any>;
14
15
  };
15
- slots: {};
16
+ slots: {
17
+ default: {};
18
+ };
16
19
  };
17
20
  export declare type DropdownProps = typeof __propDef.props;
18
21
  export declare type DropdownEvents = typeof __propDef.events;
@@ -20,7 +20,7 @@ import { buildWorkerDefinition } from 'monaco-editor-workers';
20
20
  import { createEventDispatcher, onDestroy, onMount } from 'svelte';
21
21
  import getMessageServiceOverride from 'vscode/service-override/messages';
22
22
  import { StandaloneServices } from 'vscode/services';
23
- import { DENO_INIT_CODE_CLEAR, PYTHON_INIT_CODE_CLEAR } from '../script_helpers';
23
+ import { BASH_INIT_CODE, DENO_INIT_CODE_CLEAR, GO_INIT_CODE, PYTHON_INIT_CODE_CLEAR } from '../script_helpers';
24
24
  import { createHash as randomHash, editorConfig, langToExt, updateOptions } from '../editorUtils';
25
25
  import { dirtyStore } from './common/confirmationModal/dirtyStore';
26
26
  try {
@@ -81,6 +81,13 @@ export function insertAtBeginning(code) {
81
81
  editor.executeEdits('external', [op]);
82
82
  }
83
83
  }
84
+ export function insertAtLine(code, line) {
85
+ if (editor) {
86
+ const range = { startLineNumber: line, startColumn: 1, endLineNumber: line, endColumn: 1 };
87
+ const op = { range: range, text: code, forceMoveMarkers: true };
88
+ editor.executeEdits('external', [op]);
89
+ }
90
+ }
84
91
  export function setCode(ncode) {
85
92
  code = ncode;
86
93
  if (editor) {
@@ -104,8 +111,11 @@ export async function clearContent() {
104
111
  else if (lang == 'python') {
105
112
  setCode(PYTHON_INIT_CODE_CLEAR);
106
113
  }
107
- else {
108
- setCode('');
114
+ else if (lang == 'go') {
115
+ setCode(GO_INIT_CODE);
116
+ }
117
+ else if (lang == 'shell') {
118
+ setCode(BASH_INIT_CODE);
109
119
  }
110
120
  }
111
121
  }
@@ -166,6 +176,19 @@ export async function reloadWebsocket() {
166
176
  const writer = new WebSocketMessageWriter(socket);
167
177
  const languageClient = createLanguageClient({ reader, writer }, name, options);
168
178
  websockets.push([languageClient, webSocket]);
179
+ // HACK ALERT: for some reasons, the client need to be restarted to take into account the 'go get <dep>' command
180
+ // the only way I could figure out to listen for this event is this. I'm sure there is a better way to do this
181
+ if (name == 'go') {
182
+ const om = webSocket.onmessage;
183
+ webSocket.onmessage = (e) => {
184
+ om && om.apply(webSocket, [e]);
185
+ const js = JSON.parse(e.data);
186
+ if (js.method == 'window/showMessage' && js.params.message == 'completed') {
187
+ console.log('reloading websocket after go get');
188
+ reloadWebsocket();
189
+ }
190
+ };
191
+ }
169
192
  reader.onClose(async () => {
170
193
  try {
171
194
  console.log('CLOSE');
@@ -355,6 +378,7 @@ async function loadMonaco() {
355
378
  return () => {
356
379
  try {
357
380
  closeWebsockets();
381
+ model.dispose();
358
382
  editor && editor.dispose();
359
383
  }
360
384
  catch (err) {
@@ -3,7 +3,7 @@ import * as monaco from 'monaco-editor';
3
3
  declare const __propDef: {
4
4
  props: {
5
5
  [x: string]: any;
6
- lang: 'typescript' | 'python' | 'go';
6
+ lang: 'typescript' | 'python' | 'go' | 'shell';
7
7
  code?: string | undefined;
8
8
  hash?: string | undefined;
9
9
  cmdEnterAction?: (() => void) | undefined;
@@ -19,6 +19,7 @@ declare const __propDef: {
19
19
  getCode?: (() => string) | undefined;
20
20
  insertAtCursor?: ((code: string) => void) | undefined;
21
21
  insertAtBeginning?: ((code: string) => void) | undefined;
22
+ insertAtLine?: ((code: string, line: number) => void) | undefined;
22
23
  setCode?: ((ncode: string) => void) | undefined;
23
24
  clearContent?: (() => Promise<void>) | undefined;
24
25
  reloadWebsocket?: (() => Promise<void>) | undefined;
@@ -40,6 +41,7 @@ export default class Editor extends SvelteComponentTyped<EditorProps, EditorEven
40
41
  get getCode(): () => string;
41
42
  get insertAtCursor(): (code: string) => void;
42
43
  get insertAtBeginning(): (code: string) => void;
44
+ get insertAtLine(): (code: string, line: number) => void;
43
45
  get setCode(): (ncode: string) => void;
44
46
  get clearContent(): () => Promise<void>;
45
47
  get reloadWebsocket(): () => Promise<void>;
@@ -1,17 +1,22 @@
1
+ <script context="module">export const EDITOR_BAR_WIDTH_THRESHOLD = 1044;
2
+ </script>
3
+
1
4
  <script>import { ResourceService, ScriptService, VariableService } from '../gen';
2
5
  import { getScriptByPath, loadHubScripts, sendUserToast } from '../utils';
3
6
  import { faCode, faCube, faDollarSign, faRotate, faRotateLeft, faWallet } from '@fortawesome/free-solid-svg-icons';
4
7
  import { hubScripts, workspaceStore } from '../stores';
5
8
  import ItemPicker from './ItemPicker.svelte';
6
- import Modal from './Modal.svelte';
7
9
  import ResourceEditor from './ResourceEditor.svelte';
8
10
  import VariableEditor from './VariableEditor.svelte';
9
11
  import Button from './common/button/Button.svelte';
10
12
  import HighlightCode from './HighlightCode.svelte';
13
+ import DrawerContent from './common/drawer/DrawerContent.svelte';
14
+ import { Drawer } from './common';
11
15
  export let lang;
12
16
  export let editor;
13
17
  export let websocketAlive;
14
18
  export let iconOnly = false;
19
+ export let validCode = true;
15
20
  let contextualVariablePicker;
16
21
  let variablePicker;
17
22
  let resourcePicker;
@@ -23,10 +28,10 @@ let codeLang = 'deno';
23
28
  let codeContent = '';
24
29
  function addEditorActions() {
25
30
  editor.addAction('insert-variable', 'Windmill: Insert variable', () => {
26
- variablePicker.openModal();
31
+ variablePicker.openDrawer();
27
32
  });
28
33
  editor.addAction('insert-resource', 'Windmill: Insert resource', () => {
29
- resourcePicker.openModal();
34
+ resourcePicker.openDrawer();
30
35
  });
31
36
  }
32
37
  $: editor && addEditorActions();
@@ -56,7 +61,7 @@ async function loadScripts() {
56
61
  const { language, content } = await getScriptByPath(path ?? '')
57
62
  codeContent = content
58
63
  codeLang = language
59
- codeViewer.openModal()
64
+ codeViewer.openDrawer()
60
65
  }}
61
66
  closeOnClick={false}
62
67
  itemName="script"
@@ -64,12 +69,11 @@ async function loadScripts() {
64
69
  loadItems={loadScripts}
65
70
  />
66
71
 
67
- <Modal bind:this={codeViewer}>
68
- <div slot="title">Code</div>
69
- <div slot="content">
72
+ <Drawer bind:this={codeViewer} size="600px">
73
+ <DrawerContent title="Code" on:close={codeViewer.closeDrawer}>
70
74
  <HighlightCode language={codeLang} code={codeContent} />
71
- </div></Modal
72
- >
75
+ </DrawerContent>
76
+ </Drawer>
73
77
 
74
78
  <ItemPicker
75
79
  bind:this={contextualVariablePicker}
@@ -81,6 +85,13 @@ async function loadScripts() {
81
85
  editor.insertAtBeginning('import os\n')
82
86
  }
83
87
  editor.insertAtCursor(`os.environ.get("${name}")`)
88
+ } else if (lang == 'go') {
89
+ if (!editor.getCode().includes('"os"')) {
90
+ editor.insertAtLine('import "os"\n', 2)
91
+ }
92
+ editor.insertAtCursor(`os.Getenv("${name}")`)
93
+ } else if (lang == 'bash') {
94
+ editor.insertAtCursor(`$${name}`)
84
95
  }
85
96
  sendUserToast(`${name} inserted at cursor`)
86
97
  }}
@@ -104,6 +115,13 @@ async function loadScripts() {
104
115
  editor.insertAtBeginning('import wmill\n')
105
116
  }
106
117
  editor.insertAtCursor(`wmill.get_variable("${path}")`)
118
+ } else if (lang == 'go') {
119
+ if (!editor.getCode().includes('wmill "github.com/windmill-labs/windmill-go-client"')) {
120
+ editor.insertAtLine('import wmill "github.com/windmill-labs/windmill-go-client"\n\n', 3)
121
+ }
122
+ editor.insertAtCursor(`v, _ := wmill.GetVariable("${path}")`)
123
+ } else if (lang == 'bash') {
124
+ sendUserToast('Not supported yet', true)
107
125
  }
108
126
  sendUserToast(`${name} inserted at cursor`)
109
127
  }}
@@ -143,6 +161,13 @@ async function loadScripts() {
143
161
  editor.insertAtBeginning('import wmill\n')
144
162
  }
145
163
  editor.insertAtCursor(`wmill.get_resource("${path}")`)
164
+ } else if (lang == 'go') {
165
+ if (!editor.getCode().includes('wmill "github.com/windmill-labs/windmill-go-client"')) {
166
+ editor.insertAtLine('import wmill "github.com/windmill-labs/windmill-go-client"\n\n', 3)
167
+ }
168
+ editor.insertAtCursor(`r, _ := wmill.GetResource("${path}")`)
169
+ } else if (lang == 'bash') {
170
+ sendUserToast('Not supported yet', true)
146
171
  }
147
172
  sendUserToast(`${path} inserted at cursor`)
148
173
  }}
@@ -151,10 +176,10 @@ async function loadScripts() {
151
176
  loadItems={async () =>
152
177
  await ResourceService.listResource({ workspace: $workspaceStore ?? 'NO_W' })}
153
178
  >
154
- <div slot="submission" class="flex flex-row">
155
- <div class="text-xs mr-2 align-middle">
156
- The resource you were looking for does not exist yet?
157
- </div>
179
+ <div slot="submission" class="flex flex-row gap-x-1">
180
+ <Button target="_blank" color="blue" size="sm" href="/resources?connect_app=undefined">
181
+ Connect an API
182
+ </Button>
158
183
  <Button
159
184
  variant="border"
160
185
  color="blue"
@@ -163,21 +188,31 @@ async function loadScripts() {
163
188
  resourceEditor.initNew()
164
189
  }}
165
190
  >
166
- Create a new resource
191
+ New custom resource
167
192
  </Button>
168
193
  </div>
169
194
  </ItemPicker>
170
195
 
171
- <ResourceEditor bind:this={resourceEditor} on:refresh={resourcePicker.openModal} />
172
- <VariableEditor bind:this={variableEditor} on:create={variablePicker.openModal} />
196
+ <ResourceEditor bind:this={resourceEditor} on:refresh={resourcePicker.openDrawer} />
197
+ <VariableEditor bind:this={variableEditor} on:create={variablePicker.openDrawer} />
173
198
 
174
199
  <div class="flex flex-row justify-between items-center overflow-hidden w-full">
175
200
  <div class="flex flex-row divide-x items-center">
201
+ <div class="mx-2">
202
+ <span
203
+ title={validCode
204
+ ? 'last signature parsing was sucessful'
205
+ : 'last signature parsing was succesful'}
206
+ class="relative inline-flex rounded-full h-2 w-2 {validCode
207
+ ? 'bg-green-500/80'
208
+ : 'bg-red-500'}"
209
+ />
210
+ </div>
176
211
  <div>
177
212
  <Button
178
213
  color="light"
179
- btnClasses="mr-1"
180
- on:click={contextualVariablePicker.openModal}
214
+ btnClasses="mr-1 !font-medium"
215
+ on:click={contextualVariablePicker.openDrawer}
181
216
  size="xs"
182
217
  spacingSize="md"
183
218
  startIcon={{ icon: faDollarSign }}
@@ -189,8 +224,8 @@ async function loadScripts() {
189
224
  <div>
190
225
  <Button
191
226
  color="light"
192
- btnClasses="mr-1"
193
- on:click={variablePicker.openModal}
227
+ btnClasses="mx-1 !font-medium"
228
+ on:click={variablePicker.openDrawer}
194
229
  size="xs"
195
230
  spacingSize="md"
196
231
  startIcon={{ icon: faWallet }}
@@ -201,11 +236,11 @@ async function loadScripts() {
201
236
  </div>
202
237
  <div>
203
238
  <Button
204
- btnClasses="mx-1"
239
+ btnClasses="mx-1 !font-medium"
205
240
  size="xs"
206
241
  spacingSize="md"
207
242
  color="light"
208
- on:click={resourcePicker.openModal}
243
+ on:click={resourcePicker.openDrawer}
209
244
  {iconOnly}
210
245
  startIcon={{ icon: faCube }}
211
246
  >
@@ -215,11 +250,11 @@ async function loadScripts() {
215
250
 
216
251
  <div>
217
252
  <Button
218
- btnClasses="mx-1"
253
+ btnClasses="mx-1 !font-medium"
219
254
  size="xs"
220
255
  spacingSize="md"
221
256
  color="light"
222
- on:click={scriptPicker.openModal}
257
+ on:click={scriptPicker.openDrawer}
223
258
  {iconOnly}
224
259
  startIcon={{ icon: faCode }}
225
260
  >
@@ -229,7 +264,7 @@ async function loadScripts() {
229
264
 
230
265
  <div>
231
266
  <Button
232
- btnClasses="mx-1"
267
+ btnClasses="mx-1 !font-medium"
233
268
  size="xs"
234
269
  spacingSize="md"
235
270
  color="light"
@@ -243,7 +278,7 @@ async function loadScripts() {
243
278
  </div>
244
279
  <div>
245
280
  <Button
246
- btnClasses="ml-1"
281
+ btnClasses="ml-1 !font-medium"
247
282
  size="xs"
248
283
  spacingSize="md"
249
284
  color="light"
@@ -255,14 +290,26 @@ async function loadScripts() {
255
290
  {/if}
256
291
  <span class="ml-1">
257
292
  {#if lang == 'deno'}
258
- (<span class={websocketAlive.deno ? 'text-green-600' : 'text-red-700'}>Deno</span>)
293
+ (<span class={websocketAlive.deno ? 'green' : 'text-red-700'}>Deno</span>)
259
294
  {:else if lang == 'go'}
260
- (<span class={websocketAlive.go ? 'text-green-600' : 'text-red-700'}>Go</span>)
295
+ (<span class={websocketAlive.go ? 'green' : 'text-red-700'}>Go</span>)
261
296
  {:else if lang == 'python3'}
262
- (<span class={websocketAlive.pyright ? 'text-green-600' : 'text-red-700'}>Pyright</span>
263
- <span class={websocketAlive.black ? 'text-green-600' : 'text-red-700'}>Black</span>)
297
+ (<span class={websocketAlive.pyright ? 'green' : 'text-red-700'}>Pyright</span>
298
+ <span class={websocketAlive.black ? 'green' : 'text-red-700'}>Black</span>)
264
299
  {/if}
265
300
  </span>
266
301
  </Button>
267
302
  </div>
268
303
  </div>
304
+
305
+ <style>
306
+ @keyframes pulse {
307
+ 50% {
308
+ opacity: .5
309
+ }
310
+ }
311
+ span.green {
312
+ animation: pulse 5s ease-in-out infinite;
313
+ --tw-text-opacity: 1;
314
+ color: rgb(22 163 74 / var(--tw-text-opacity))
315
+ }</style>
@@ -1,8 +1,9 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
+ export declare const EDITOR_BAR_WIDTH_THRESHOLD = 1044;
2
3
  import type Editor from './Editor.svelte';
3
4
  declare const __propDef: {
4
5
  props: {
5
- lang: 'python3' | 'deno' | 'go';
6
+ lang: 'python3' | 'deno' | 'go' | 'bash';
6
7
  editor: Editor;
7
8
  websocketAlive: {
8
9
  pyright: boolean;
@@ -11,6 +12,7 @@ declare const __propDef: {
11
12
  go: boolean;
12
13
  };
13
14
  iconOnly?: boolean | undefined;
15
+ validCode?: boolean | undefined;
14
16
  };
15
17
  events: {
16
18
  [evt: string]: CustomEvent<any>;
@@ -7,15 +7,16 @@ export let required = false;
7
7
  export let itemsType = undefined;
8
8
  </script>
9
9
 
10
- <h3>
10
+ <div>
11
11
  <span class="font-semibold">
12
- {label}<Required {required} />
12
+ {label}
13
13
  </span>
14
- <span class="text-sm italic text-indigo-800"
15
- >({type ?? 'any'}{contentEncoding && contentEncoding != ''
14
+ <span class="text-sm italic text-indigo-800">
15
+ ({type ?? 'any'}{contentEncoding && contentEncoding != ''
16
16
  ? `, encoding: ${contentEncoding}`
17
17
  : ''}{format && format != '' ? `, format: ${format}` : ''}{itemsType?.type
18
18
  ? ` of ${itemsType?.type}s`
19
19
  : ''})</span
20
20
  >
21
- </h3>
21
+ <Required {required} class="!ml-0" />
22
+ </div>
@@ -4,11 +4,10 @@ import { FlowService, ScheduleService } from '../gen';
4
4
  import { workspaceStore } from '../stores';
5
5
  import { encodeState, formatCron, loadHubScripts, sendUserToast, setQueryWithoutLoad } from '../utils';
6
6
  import { faGlobe, faPen } from '@fortawesome/free-solid-svg-icons';
7
- import { setContext } from 'svelte';
8
- import Icon from 'svelte-awesome';
7
+ import { onMount, setContext } from 'svelte';
9
8
  import { writable } from 'svelte/store';
10
9
  import CenteredPage from './CenteredPage.svelte';
11
- import Button from './common/button/Button.svelte';
10
+ import { Button } from './common';
12
11
  import { dirtyStore } from './common/confirmationModal/dirtyStore';
13
12
  import UnsavedConfirmationModal from './common/confirmationModal/UnsavedConfirmationModal.svelte';
14
13
  import { OFFSET } from './CronInput.svelte';
@@ -16,9 +15,12 @@ import FlowEditor from './flows/FlowEditor.svelte';
16
15
  import { flowStateStore } from './flows/flowState';
17
16
  import { flowStore } from './flows/flowStore';
18
17
  import FlowImportExportMenu from './flows/header/FlowImportExportMenu.svelte';
18
+ import FlowPreviewButtons from './flows/header/FlowPreviewButtons.svelte';
19
19
  import { loadFlowSchedule } from './flows/scheduleUtils';
20
20
  import { cleanInputs } from './flows/utils';
21
21
  export let initialPath = '';
22
+ export let selectedId;
23
+ export let initialArgs = {};
22
24
  let pathError = '';
23
25
  async function createSchedule(path) {
24
26
  const { cron, args, enabled } = $scheduleStore;
@@ -97,21 +99,29 @@ async function saveFlow() {
97
99
  });
98
100
  }
99
101
  }
100
- else {
102
+ else if (enabled) {
101
103
  await createSchedule(flow.path);
102
104
  }
103
105
  }
104
106
  sendUserToast(`Success! flow saved at ${$flowStore.path}`);
105
107
  goto(`/flows/get/${$flowStore.path}`);
106
108
  }
107
- flowStore.subscribe((flow) => {
108
- if (flow) {
109
- setQueryWithoutLoad($page.url, 'state', encodeState(flow));
109
+ let timeout = undefined;
110
+ $: {
111
+ if ($flowStore && $flowStateStore) {
112
+ setUrl();
110
113
  }
111
- });
114
+ }
115
+ function setUrl() {
116
+ timeout && clearTimeout(timeout);
117
+ timeout = setTimeout(() => setQueryWithoutLoad($page.url, 'state', encodeState({
118
+ flow: $flowStore,
119
+ selectedId: $selectedIdStore
120
+ })), 500);
121
+ }
112
122
  const selectedIdStore = writable('settings');
113
123
  const scheduleStore = writable({ args: {}, cron: '', enabled: false });
114
- const previewArgsStore = writable({});
124
+ const previewArgsStore = writable(initialArgs);
115
125
  function select(selectedId) {
116
126
  selectedIdStore.set(selectedId);
117
127
  }
@@ -134,69 +144,56 @@ async function loadSchedule() {
134
144
  });
135
145
  });
136
146
  }
147
+ onMount(() => {
148
+ selectedId && select(selectedId);
149
+ });
137
150
  $: initialPath && $workspaceStore && loadSchedule();
138
151
  loadHubScripts();
139
152
  </script>
140
153
 
141
154
  <UnsavedConfirmationModal />
142
155
 
143
- <div class="flex flex-col flex-1 h-full">
156
+ <div class="flex flex-col flex-1 h-screen">
144
157
  <!-- Nav between steps-->
145
- <div class="justify-between flex flex-row w-full my-2 px-4 space-x-4 h-10">
146
- <div id="flow_title" class="flex justify-between items-center">
147
- <button class="flex flex-row items-center w-full h-full" on:click={() => select('settings')}>
148
- <span class="font-mono text-sm"> {$flowStore.path}</span>
149
- <Icon
150
- data={faPen}
151
- scale={0.8}
152
- class="text-gray-500 ml-2 flex justify-center items-center mb-0.5"
153
- />
154
- </button>
158
+ <div
159
+ class="justify-between flex flex-row w-full py-2 px-4 space-x-4 overflow-x-auto scrollbar-hidden"
160
+ >
161
+ <div class="flex flex-row space-x-2">
162
+ <FlowImportExportMenu />
155
163
  </div>
156
- <div class="shrink h-full">
157
- <button
158
- class="flex flex-row items-center w-full h-full"
159
- on:click={() => {
164
+ <div class="gap-1 flex-row hidden md:flex shrink overflow-hidden">
165
+ <Button
166
+ btnClasses="hidden lg:inline-flex"
167
+ startIcon={{ icon: faPen }}
168
+ variant="contained"
169
+ color="light"
170
+ size="xs"
171
+ on:click={async () => {
160
172
  select('settings')
161
- document.getElementById('flow-summary')?.focus()
173
+ document.getElementById('path')?.focus()
162
174
  }}
163
175
  >
164
- <div class="overflow-x-auto flex items-center h-full text-sm text-left font-semibold">
165
- <div
166
- >{$flowStore.summary == '' || !$flowStore.summary
167
- ? 'No summary'
168
- : $flowStore.summary}</div
169
- >
170
- </div>
171
- <div>
172
- <Icon data={faPen} scale={0.8} class="text-gray-500 ml-1" />
173
- </div>
174
- </button>
175
- </div>
176
- <div class="flex flex-row-reverse ml-2 space-x-reverse space-x-2">
177
- <Button disabled={pathError != ''} color="blue" size="sm" on:click={saveFlow}>Save</Button>
178
- <FlowImportExportMenu />
179
-
176
+ {$flowStore.path}
177
+ </Button>
180
178
  <Button
179
+ startIcon={{ icon: faPen }}
180
+ variant="contained"
181
181
  color="light"
182
- size="sm"
183
- variant="border"
184
- on:click={() => {
185
- const url = new URL('https://hub.windmill.dev/flows/add')
186
- const openFlow = {
187
- value: $flowStore.value,
188
- summary: $flowStore.summary,
189
- description: $flowStore.description,
190
- schema: $flowStore.schema
191
- }
192
- url.searchParams.append('flow', btoa(JSON.stringify(openFlow)))
193
- window.open(url, '_blank')?.focus()
182
+ size="xs"
183
+ on:click={async () => {
184
+ select('settings')
185
+ document.getElementById('flow-summary')?.focus()
194
186
  }}
195
187
  >
196
- <Icon data={faGlobe} scale={0.8} class="inline mr-2" />
197
- Publish to Hub
188
+ <div class="max-w-[10em] !truncate">
189
+ {$flowStore.summary == '' || !$flowStore.summary ? 'No summary' : $flowStore.summary}
190
+ </div>
198
191
  </Button>
199
192
  </div>
193
+ <div class="flex flex-row-reverse ml-2 space-x-reverse space-x-2">
194
+ <Button disabled={pathError != ''} size="sm" on:click={saveFlow}>Save</Button>
195
+ <FlowPreviewButtons />
196
+ </div>
200
197
  </div>
201
198
 
202
199
  <!-- metadata -->
@@ -2,6 +2,8 @@ import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
4
  initialPath?: string | undefined;
5
+ selectedId: string | undefined;
6
+ initialArgs?: Record<string, any> | undefined;
5
7
  };
6
8
  events: {
7
9
  [evt: string]: CustomEvent<any>;
@@ -1,22 +1,15 @@
1
1
  <script>import DisplayResult from './DisplayResult.svelte';
2
- import Tabs from './common/tabs/Tabs.svelte';
3
- import Tab from './common/tabs/Tab.svelte';
4
- import TabContent from './common/tabs/TabContent.svelte';
5
2
  import LogViewer from './LogViewer.svelte';
6
- export let job;
3
+ export let result;
4
+ export let logs;
7
5
  </script>
8
6
 
9
- {#if job}
10
- <Tabs selected="results">
11
- <Tab value="results">Results</Tab>
12
- <Tab value="logs">Logs</Tab>
13
- <svelte:fragment slot="content">
14
- <TabContent value="results" class="border p-2 h-36 overflow-auto">
15
- <DisplayResult result={job.result} />
16
- </TabContent>
17
- <TabContent value="logs" class="border h-36 overflow-auto">
18
- <LogViewer content={job.logs ?? ''} isLoading={false} />
19
- </TabContent>
20
- </svelte:fragment>
21
- </Tabs>
22
- {/if}
7
+ <div class="grid grid-cols-2 shadow border border-gray-800 h-full">
8
+ <div class="bg-white max-h-80 h-full p-1 overflow-auto relative">
9
+ <span class="text-gray-500">Result</span>
10
+ <DisplayResult {result} />
11
+ </div>
12
+ <div class="overflow-auto max-h-80 h-full relative">
13
+ <LogViewer content={logs ?? ''} isLoading={false} />
14
+ </div>
15
+ </div>
@@ -1,8 +1,8 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
- import type { CompletedJob } from '../gen';
3
2
  declare const __propDef: {
4
3
  props: {
5
- job: CompletedJob | undefined;
4
+ result: any;
5
+ logs: string;
6
6
  };
7
7
  events: {
8
8
  [evt: string]: CustomEvent<any>;