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
package/common.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export declare type OwnerKind = 'group' | 'user';
2
2
  export declare type ActionKind = 'Create' | 'Update' | 'Delete' | 'Execute';
3
+ export declare type SupportedLanguage = 'deno' | 'python3' | 'go' | 'bash';
3
4
  export interface SchemaProperty {
4
5
  type: string | undefined;
5
6
  description: string;
@@ -19,16 +19,15 @@ const apiTokenApps = {
19
19
  <script>import { oauthStore, userStore, workspaceStore } from '../stores';
20
20
  import { faMinus, faPlus } from '@fortawesome/free-solid-svg-icons';
21
21
  import IconedResourceType from './IconedResourceType.svelte';
22
- import PageHeader from './PageHeader.svelte';
23
22
  import { OauthService, ResourceService, VariableService } from '../gen';
24
23
  import { page } from '$app/stores';
25
24
  import { sendUserToast, truncateRev } from '../utils';
26
25
  import { createEventDispatcher } from 'svelte';
27
26
  import Icon from 'svelte-awesome';
28
- import Modal from './Modal.svelte';
29
27
  import Password from './Password.svelte';
30
28
  import Path from './Path.svelte';
31
- import { Button } from './common';
29
+ import { Alert, Button, Drawer } from './common';
30
+ import DrawerContent from './common/drawer/DrawerContent.svelte';
32
31
  let manual = false;
33
32
  let value = '';
34
33
  let valueToken;
@@ -39,7 +38,7 @@ $: key = apiTokenApps[resource_type]?.key ?? 'token';
39
38
  let scopes = [];
40
39
  let extra_params = [];
41
40
  let path;
42
- let modal;
41
+ let drawer;
43
42
  let resource_type = '';
44
43
  let step = 1;
45
44
  let no_back = false;
@@ -55,7 +54,7 @@ export async function open(rt) {
55
54
  scopes = connect.scopes;
56
55
  extra_params = Object.entries(connect.extra_params ?? {});
57
56
  }
58
- modal.openModal();
57
+ drawer.openDrawer();
59
58
  }
60
59
  export function openFromOauth(rt) {
61
60
  resource_type = rt;
@@ -65,7 +64,7 @@ export function openFromOauth(rt) {
65
64
  manual = false;
66
65
  step = 3;
67
66
  no_back = true;
68
- modal.openModal();
67
+ drawer.openDrawer();
69
68
  }
70
69
  async function loadConnects() {
71
70
  connects = await OauthService.listOAuthConnects();
@@ -141,7 +140,7 @@ async function next() {
141
140
  });
142
141
  dispatch('refresh');
143
142
  sendUserToast(`App token set at resource and variable path: ${path}`);
144
- modal.closeModal();
143
+ drawer.closeDrawer();
145
144
  }
146
145
  }
147
146
  async function back() {
@@ -163,8 +162,8 @@ $: disabled =
163
162
  (step == 3 && pathError != '');
164
163
  </script>
165
164
 
166
- <Modal
167
- bind:this={modal}
165
+ <Drawer
166
+ bind:this={drawer}
168
167
  on:close={() => {
169
168
  dispatch('close')
170
169
  }}
@@ -173,24 +172,20 @@ $: disabled =
173
172
  loadResources()
174
173
  }}
175
174
  >
176
- <div slot="title">Connect an API</div>
177
- <div slot="content">
175
+ <DrawerContent title="Connect an API" on:close={drawer.closeDrawer}>
178
176
  {#if step == 1}
179
177
  {#if resource_type && !connects[resource_type] && !connectsManual.find((x) => x[0] == resource_type)}
180
- <div class="bg-red-100 border-l-4 border-red-600 text-orange-700 p-4" role="alert">
181
- <p class="font-bold">No API integration for {resource_type}</p>
182
- <p>
183
- The resource type "{resource_type}" seems to not have an OAuth API integration. You can
184
- still create this resource manually by closing this modal and pressing: "Add a
185
- resource". You can also contribute to windmill and add it as an API integration if
186
- relevant.
187
- </p>
188
- </div>
178
+ <Alert class="mb-4" type="error" title="Resource type not found">
179
+ The resource type "{resource_type}" seems to not have an OAuth API integration. You can
180
+ still create this resource manually by closing this modal and pressing: "Add a resource".
181
+ You can also contribute to windmill and add it as an API integration if relevant.
182
+ </Alert>
189
183
  {/if}
190
- <PageHeader title="OAuth APIs" />
184
+ <div class="mb-1 font-semibold text-gray-700">OAuth APIs</div>
191
185
  <div class="grid sm:grid-cols-2 md:grid-cols-3 gap-x-2 gap-y-1 items-center mb-2">
192
186
  {#each Object.entries(connects).sort((a, b) => a[0].localeCompare(b[0])) as [key, values]}
193
187
  <Button
188
+ size="sm"
194
189
  variant="border"
195
190
  color={key === resource_type ? 'blue' : 'dark'}
196
191
  btnClasses={key === resource_type ? '!border-2 !bg-blue-50/75' : 'm-[1px]'}
@@ -203,11 +198,11 @@ $: disabled =
203
198
  dispatch('click')
204
199
  }}
205
200
  >
206
- <IconedResourceType name={key} after={true} />
201
+ <IconedResourceType name={key} after={true} width="20px" height="20px" />
207
202
  </Button>
208
203
  {/each}
209
204
  </div>
210
- <PageHeader title="Scopes" primary={false} />
205
+ <div class="mb-1 font-semibold text-gray-700 mt-6">Scopes</div>
211
206
  {#if !manual && resource_type != ''}
212
207
  {#each scopes as v}
213
208
  <div class="flex flex-row max-w-md mb-2">
@@ -244,7 +239,7 @@ $: disabled =
244
239
  {:else}
245
240
  <p class="italic text-sm">Pick an OAuth API and customize the scopes here</p>
246
241
  {/if}
247
- <PageHeader title="Extra Params" primary={false} />
242
+ <div class="mb-1 font-semibold text-gray-700 mt-6">Extra params</div>
248
243
  {#if !manual && resource_type != ''}
249
244
  {#each extra_params as [k, v]}
250
245
  <div class="flex flex-row max-w-md mb-2">
@@ -284,10 +279,11 @@ $: disabled =
284
279
  {:else}
285
280
  <p class="italic text-sm">Pick an OAuth API and customize the extra parameters here</p>
286
281
  {/if}
287
- <PageHeader title="Non OAuth APIs" />
282
+ <div class="mb-1 font-semibold text-gray-700 mt-6">Non OAuth APIs</div>
288
283
  <div class="grid sm:grid-cols-2 md:grid-cols-3 gap-x-2 gap-y-1 items-center mb-2">
289
284
  {#each connectsManual as [key, instructions]}
290
285
  <Button
286
+ size="sm"
291
287
  variant="border"
292
288
  color={key === resource_type ? 'blue' : 'dark'}
293
289
  btnClasses={key === resource_type ? '!border-2 !bg-blue-50/75' : 'm-[1px]'}
@@ -297,13 +293,13 @@ $: disabled =
297
293
  dispatch('click')
298
294
  }}
299
295
  >
300
- <IconedResourceType name={key} after={true} />
296
+ <IconedResourceType name={key} after={true} width="20px" height="20px" />
301
297
  </Button>
302
298
  {/each}
303
299
  </div>
304
300
  {:else if step == 2}
305
301
  {#if manual}
306
- <PageHeader title="Instructions" />
302
+ <div class="mb-1 font-semibold text-gray-700 mt-6">Instructions</div>
307
303
  <div>
308
304
  {apiTokenApps[resource_type].instructions}
309
305
  </div>
@@ -345,25 +341,25 @@ $: disabled =
345
341
  </li>
346
342
  </ul>
347
343
  {/if}
348
- </div>
349
- <div slot="submission" class="flex items-center gap-4">
350
- {#if step > 1 && !no_back}
351
- <Button variant="border" on:click={back}>Back</Button>
352
- {/if}
353
- {#if isGoogleSignin}
354
- <button {disabled} on:click={next}>
355
- <img class="h-10 w-auto" src="/google_signin.png" alt="Google sign-in" />
356
- </button>
357
- {:else}
358
- <Button {disabled} on:click={next}>
359
- {#if step == 1 && !manual}
360
- Connect
361
- {:else if step == 3}
362
- Add resource
363
- {:else}
364
- Next
365
- {/if}
366
- </Button>
367
- {/if}
368
- </div>
369
- </Modal>
344
+ <div slot="submission" class="flex items-center gap-4">
345
+ {#if step > 1 && !no_back}
346
+ <Button variant="border" on:click={back}>Back</Button>
347
+ {/if}
348
+ {#if isGoogleSignin}
349
+ <button {disabled} on:click={next}>
350
+ <img class="h-10 w-auto" src="/google_signin.png" alt="Google sign-in" />
351
+ </button>
352
+ {:else}
353
+ <Button {disabled} on:click={next}>
354
+ {#if step == 1 && !manual}
355
+ Connect
356
+ {:else if step == 3}
357
+ Add resource
358
+ {:else}
359
+ Next
360
+ {/if}
361
+ </Button>
362
+ {/if}
363
+ </div>
364
+ </DrawerContent>
365
+ </Drawer>
@@ -1,28 +1,29 @@
1
1
  <script>import { truncate } from '../utils';
2
- import Modal from './Modal.svelte';
3
2
  import Tooltip from './Tooltip.svelte';
4
3
  import json from 'svelte-highlight/languages/json';
5
4
  import { Highlight } from 'svelte-highlight';
6
5
  import { ResourceService } from '../gen';
7
6
  import { workspaceStore } from '../stores';
7
+ import Drawer from './common/drawer/Drawer.svelte';
8
+ import { DrawerContent } from './common';
9
+ import ObjectViewer from './propertyPicker/ObjectViewer.svelte';
8
10
  export let value;
9
- let resourceViewer;
10
- let resource;
11
+ let jsonViewer;
12
+ let jsonViewerContent;
11
13
  function isString(value) {
12
14
  return typeof value === 'string' || value instanceof String;
13
15
  }
14
16
  async function getResource(path) {
15
- resource = await ResourceService.getResource({ workspace: $workspaceStore, path });
17
+ jsonViewerContent = (await ResourceService.getResource({ workspace: $workspaceStore, path }))
18
+ .value;
16
19
  }
17
- let asJson = JSON.stringify(value, null, 4);
18
20
  </script>
19
21
 
20
- <Modal bind:this={resourceViewer}>
21
- <div slot="title">{resource.path}</div>
22
- <div slot="content">
23
- <Highlight language={json} code={JSON.stringify(resource.value, null, 4)} />
24
- </div>
25
- </Modal>
22
+ <Drawer bind:this={jsonViewer} size="800px">
23
+ <DrawerContent title="See JSON" on:close={jsonViewer.toggleDrawer}>
24
+ <Highlight language={json} code={JSON.stringify(jsonViewerContent, null, 4)} />
25
+ </DrawerContent>
26
+ </Drawer>
26
27
 
27
28
  {#if value == '<function call>'}
28
29
  {'<function call>'}<Tooltip
@@ -34,10 +35,31 @@ let asJson = JSON.stringify(value, null, 4);
34
35
  class="text-xs text-blue-500"
35
36
  on:click={async () => {
36
37
  await getResource(value.substring('$res:'.length))
37
- resourceViewer.openModal()
38
+ jsonViewer.toggleDrawer()
38
39
  }}>{value}</button
39
- >{:else if asJson.length > 40}
40
- {truncate(asJson, 40)}<Tooltip>{asJson}</Tooltip>
40
+ >
41
+ {:else if typeof value !== 'object'}
42
+ {truncate(JSON.stringify(value), 40)}
43
+ {#if JSON.stringify(value).length > 40}
44
+ <button
45
+ class="text-xs text-blue-500"
46
+ on:click={() => {
47
+ jsonViewerContent = value
48
+ jsonViewer.toggleDrawer()
49
+ }}>See expanded</button
50
+ >
51
+ {/if}
41
52
  {:else}
42
- {asJson}
53
+ <div class="max-h-40 overflow-auto">
54
+ <ObjectViewer collapsed={false} topBrackets={true} pureViewer={true} json={value} />
55
+ </div>
56
+ {#if JSON.stringify(value).length > 120}
57
+ <button
58
+ class="text-xs text-blue-500"
59
+ on:click={() => {
60
+ jsonViewerContent = value
61
+ jsonViewer.toggleDrawer()
62
+ }}>See JSON</button
63
+ >
64
+ {/if}
43
65
  {/if}
@@ -1,5 +1,4 @@
1
- <script>import { slide } from 'svelte/transition';
2
- import { faChevronDown, faChevronUp, faMinus, faPlus } from '@fortawesome/free-solid-svg-icons';
1
+ <script>import { faChevronDown, faChevronUp, faMinus, faPlus } from '@fortawesome/free-solid-svg-icons';
3
2
  import { setInputCat as computeInputCat } from '../utils';
4
3
  import { Button } from './common';
5
4
  import { createEventDispatcher } from 'svelte';
@@ -11,6 +10,8 @@ import ResourcePicker from './ResourcePicker.svelte';
11
10
  import StringTypeNarrowing from './StringTypeNarrowing.svelte';
12
11
  import SchemaForm from './SchemaForm.svelte';
13
12
  import SimpleEditor from './SimpleEditor.svelte';
13
+ import autosize from 'svelte-autosize';
14
+ import Toggle from './Toggle.svelte';
14
15
  export let label = '';
15
16
  export let value;
16
17
  export let defaultValue = undefined;
@@ -21,7 +22,6 @@ export let type = undefined;
21
22
  export let required = false;
22
23
  export let pattern = undefined;
23
24
  export let valid = required ? false : true;
24
- export let minRows = 1;
25
25
  export let maxRows = 10;
26
26
  export let enum_ = undefined;
27
27
  export let disabled = false;
@@ -29,6 +29,7 @@ export let editableSchema = false;
29
29
  export let itemsType = undefined;
30
30
  export let displayHeader = true;
31
31
  export let properties = undefined;
32
+ export let autofocus = false;
32
33
  let seeEditable = enum_ != undefined || pattern != undefined;
33
34
  const dispatch = createEventDispatcher();
34
35
  $: maxHeight = maxRows ? `${1 + maxRows * 1.2}em` : `auto`;
@@ -53,17 +54,6 @@ $: {
53
54
  validateInput(pattern, value);
54
55
  }
55
56
  }
56
- $: {
57
- defaultValue && recomputeRowSize(JSON.stringify(defaultValue, null, 4));
58
- }
59
- function recomputeRowSize(str) {
60
- if (type == 'string') {
61
- minRows = str.split('\n').length;
62
- }
63
- else if (type != 'string') {
64
- minRows = Math.max(minRows, Math.min(str.split(/\r\n|\r|\n/).length + 1, maxRows));
65
- }
66
- }
67
57
  export function evalValueToRaw() {
68
58
  if (value) {
69
59
  rawValue = JSON.stringify(value, null, 4);
@@ -82,6 +72,9 @@ function fileChanged(e, cb) {
82
72
  cb(undefined);
83
73
  }
84
74
  }
75
+ export function focus() {
76
+ el?.focus();
77
+ }
85
78
  function validateInput(pattern, v) {
86
79
  if (required && (v == undefined || v == null || v === '')) {
87
80
  error = 'This field is required';
@@ -119,7 +112,7 @@ export let inputCat = 'string';
119
112
  $: inputCat = computeInputCat(type, format, itemsType?.type, enum_, contentEncoding);
120
113
  </script>
121
114
 
122
- <div class="flex flex-col w-full mb-2">
115
+ <div class="flex flex-col w-full">
123
116
  <div>
124
117
  {#if displayHeader}
125
118
  <FieldHeader {label} {required} {type} {contentEncoding} {format} {itemsType} />
@@ -137,10 +130,16 @@ $: inputCat = computeInputCat(type, format, itemsType?.type, enum_, contentEncod
137
130
  </span>
138
131
 
139
132
  {#if seeEditable}
140
- <div transition:slide class="mt-2">
133
+ <div class="mt-2">
141
134
  <label class="text-gray-700">
142
135
  Description
143
- <textarea rows="1" bind:value={description} placeholder="Edit description" />
136
+ <textarea
137
+ class="mb-1"
138
+ use:autosize
139
+ rows="1"
140
+ bind:value={description}
141
+ placeholder="Field description"
142
+ />
144
143
  {#if type == 'string' && !contentEncoding && format != 'date-time'}
145
144
  <StringTypeNarrowing bind:format bind:pattern bind:enum_ bind:contentEncoding />
146
145
  {:else if type == 'object'}
@@ -171,6 +170,7 @@ $: inputCat = computeInputCat(type, format, itemsType?.type, enum_, contentEncod
171
170
  <div class="flex space-x-1">
172
171
  {#if inputCat == 'number'}
173
172
  <input
173
+ {autofocus}
174
174
  on:focus
175
175
  {disabled}
176
176
  type="number"
@@ -182,9 +182,8 @@ $: inputCat = computeInputCat(type, format, itemsType?.type, enum_, contentEncod
182
182
  on:input={() => dispatch('input', { value, isRaw: true })}
183
183
  />
184
184
  {:else if inputCat == 'boolean'}
185
- <input
185
+ <Toggle
186
186
  {disabled}
187
- type="checkbox"
188
187
  class={valid
189
188
  ? ''
190
189
  : 'border border-red-700 border-opacity-30 focus:border-red-700 focus:border-opacity-30 bg-red-100'}
@@ -199,16 +198,17 @@ $: inputCat = computeInputCat(type, format, itemsType?.type, enum_, contentEncod
199
198
  {#each value ?? [] as v, i}
200
199
  <div class="flex flex-row max-w-md mt-1">
201
200
  {#if itemsType?.type == 'number'}
202
- <input type="number" bind:value={v} />
201
+ <input autofocus={autofocus && i == 0} type="number" bind:value={v} />
203
202
  {:else if itemsType?.type == 'string' && itemsType?.contentEncoding == 'base64'}
204
203
  <input
204
+ autofocus={autofocus && i == 0}
205
205
  type="file"
206
206
  class="my-6"
207
207
  on:change={(x) => fileChanged(x, (val) => (value[i] = val))}
208
208
  multiple={false}
209
209
  />
210
210
  {:else}
211
- <input type="text" bind:value={v} />
211
+ <input autofocus={autofocus && i == 0} type="text" bind:value={v} />
212
212
  {/if}
213
213
  <Button
214
214
  variant="border"
@@ -260,13 +260,12 @@ $: inputCat = computeInputCat(type, format, itemsType?.type, enum_, contentEncod
260
260
  <textarea
261
261
  bind:this={el}
262
262
  on:focus
263
+ {autofocus}
263
264
  {disabled}
265
+ use:autosize
264
266
  style="max-height: {maxHeight}"
265
- on:input={(e) => {
266
- if (el) {
267
- el.style.height = '5px'
268
- el.style.height = el.scrollHeight + 'px'
269
- }
267
+ on:input={() => {
268
+ dispatch('input', { rawValue: value, isRaw: false })
270
269
  }}
271
270
  class="col-span-10 {valid
272
271
  ? ''
@@ -282,7 +281,7 @@ $: inputCat = computeInputCat(type, format, itemsType?.type, enum_, contentEncod
282
281
  {/each}
283
282
  </select>
284
283
  {:else if inputCat == 'date'}
285
- <input class="inline-block" type="datetime-local" bind:value />
284
+ <input {autofocus} class="inline-block" type="datetime-local" bind:value />
286
285
  {:else if inputCat == 'sql'}
287
286
  <div class="border rounded mb-4 w-full border-gray-700">
288
287
  <SimpleEditor
@@ -299,6 +298,7 @@ $: inputCat = computeInputCat(type, format, itemsType?.type, enum_, contentEncod
299
298
  </div>
300
299
  {:else if inputCat == 'base64'}
301
300
  <input
301
+ {autofocus}
302
302
  type="file"
303
303
  class="my-6"
304
304
  on:change={(x) => fileChanged(x, (val) => (value = val))}
@@ -313,21 +313,20 @@ $: inputCat = computeInputCat(type, format, itemsType?.type, enum_, contentEncod
313
313
  />
314
314
  {:else if inputCat == 'string'}
315
315
  <textarea
316
+ {autofocus}
317
+ rows="1"
316
318
  bind:this={el}
317
319
  on:focus={() => dispatch('focus')}
318
320
  on:blur={() => dispatch('blur')}
321
+ use:autosize
322
+ type="text"
319
323
  {disabled}
320
- style="height: 30px; max-height: {maxHeight}"
321
324
  class="col-span-10 {valid
322
325
  ? ''
323
326
  : 'border border-red-700 border-opacity-30 focus:border-red-700 focus:border-opacity-30 bg-red-100'}"
324
327
  placeholder={defaultValue ?? ''}
325
328
  bind:value
326
- on:input={async () => {
327
- if (el) {
328
- el.style.height = '30px'
329
- el.style.height = el.scrollHeight + 'px'
330
- }
329
+ on:input={() => {
331
330
  dispatch('input', { rawValue: value, isRaw: false })
332
331
  }}
333
332
  />
@@ -347,7 +346,7 @@ $: inputCat = computeInputCat(type, format, itemsType?.type, enum_, contentEncod
347
346
  {/if}
348
347
  <slot name="actions" />
349
348
  </div>
350
- <div class="text-right text-xs {error === '' ? 'text-white' : 'font-bold text-red-600'}">
349
+ <div class="text-right text-xs {error === '' ? 'text-white' : 'text-red-600'}">
351
350
  {error === '' ? '...' : error}
352
351
  </div>
353
352
  </div>
@@ -14,7 +14,6 @@ declare const __propDef: {
14
14
  required?: boolean | undefined;
15
15
  pattern?: undefined | string;
16
16
  valid?: boolean | undefined;
17
- minRows?: number | undefined;
18
17
  maxRows?: number | undefined;
19
18
  enum_?: string[] | undefined;
20
19
  disabled?: boolean | undefined;
@@ -27,8 +26,10 @@ declare const __propDef: {
27
26
  properties?: {
28
27
  [name: string]: SchemaProperty;
29
28
  } | undefined;
29
+ autofocus?: boolean | undefined;
30
30
  editor?: SimpleEditor | undefined;
31
31
  evalValueToRaw?: (() => void) | undefined;
32
+ focus?: (() => void) | undefined;
32
33
  inputCat?: InputCat | undefined;
33
34
  };
34
35
  events: {
@@ -47,5 +48,6 @@ export declare type ArgInputEvents = typeof __propDef.events;
47
48
  export declare type ArgInputSlots = typeof __propDef.slots;
48
49
  export default class ArgInput extends SvelteComponentTyped<ArgInputProps, ArgInputEvents, ArgInputSlots> {
49
50
  get evalValueToRaw(): () => void;
51
+ get focus(): () => void;
50
52
  }
51
53
  export {};
@@ -18,7 +18,7 @@ const dispatch = createEventDispatcher();
18
18
  class="border-l border-gray-300 px-2 inline-block py-0 my-0"
19
19
  on:click={() => dispatch('clickDropdown')}
20
20
  >
21
- <div slot="name" class="py-0 my-0">
21
+ <div class="py-0 my-0">
22
22
  <Icon class="text-white align-top py-0 my-0" data={faSortDown} />
23
23
  </div>
24
24
  </Dropdown>
@@ -1,5 +1,5 @@
1
- <div class="py-6">
2
- <div class="max-w-6xl mx-auto px-4 sm:px-6 md:px-8">
1
+ <div class="pb-6 h-fit-content">
2
+ <div class="max-w-6xl mx-auto px-4 sm:px-6 md:px-8 h-fit-content">
3
3
  <slot />
4
4
  </div>
5
5
  </div>
@@ -9,6 +9,7 @@ export let validCRON = true;
9
9
  let preview = [];
10
10
  let cronError = '';
11
11
  export let schedule = '0 0 12 * *';
12
+ export let disabled = false;
12
13
  let limit = 3;
13
14
  $: handleScheduleInput(schedule);
14
15
  async function handleScheduleInput(input) {
@@ -41,28 +42,31 @@ async function handleScheduleInput(input) {
41
42
  id="cron-schedule"
42
43
  name="cron-schedule"
43
44
  bind:value={schedule}
45
+ {disabled}
44
46
  />
45
47
  </div>
46
- <div class="flex flex-row text-xs text-blue-500 gap-3 pl-28">
47
- <button
48
- on:click={() => {
49
- schedule = '0 */15 * * *'
50
- cronError = ''
51
- }}>every 15 min</button
52
- >
53
- <button
54
- on:click={() => {
55
- schedule = '0 0 * * * *'
56
- cronError = ''
57
- }}>every hour</button
58
- >
59
- <button
60
- on:click={() => {
61
- schedule = '0 0 8 * * *'
62
- cronError = ''
63
- }}>once a day at 8AM</button
64
- >
65
- </div>
48
+ {#if !disabled}
49
+ <div class="flex flex-row text-xs text-blue-500 gap-3 pl-28">
50
+ <button
51
+ on:click={() => {
52
+ schedule = '0 */15 * * *'
53
+ cronError = ''
54
+ }}>every 15 min</button
55
+ >
56
+ <button
57
+ on:click={() => {
58
+ schedule = '0 0 * * * *'
59
+ cronError = ''
60
+ }}>every hour</button
61
+ >
62
+ <button
63
+ on:click={() => {
64
+ schedule = '0 0 8 * * *'
65
+ cronError = ''
66
+ }}>once a day at 8AM</button
67
+ >
68
+ </div>
69
+ {/if}
66
70
 
67
71
  <CollapseLink text="preview next runs" open={true}>
68
72
  {#if preview && preview.length > 0}
@@ -4,6 +4,7 @@ declare const __propDef: {
4
4
  props: {
5
5
  validCRON?: boolean | undefined;
6
6
  schedule?: string | undefined;
7
+ disabled?: boolean | undefined;
7
8
  };
8
9
  events: {
9
10
  [evt: string]: CustomEvent<any>;
@@ -41,7 +41,7 @@ function inferResultKind(result) {
41
41
  else if (keys.length == 1 && keys[0] == 'file') {
42
42
  return 'file';
43
43
  }
44
- else if (keys.length == 1 && keys[0] == 'error') {
44
+ else if (keys.length == 1 && keys[0] == 'error' && typeof result['error'] == 'string') {
45
45
  return 'error';
46
46
  }
47
47
  }
@@ -57,7 +57,7 @@ function inferResultKind(result) {
57
57
  <div class="mb-2 text-gray-500 text-sm bg-gray-50/20">
58
58
  as JSON <input type="checkbox" bind:checked={forceJson} /></div
59
59
  >{/if}{#if typeof result == 'object' && Object.keys(result).length > 0}<div
60
- class="mb-2 text-gray-700"
60
+ class="mb-2 text-sm text-gray-700"
61
61
  >The result keys are: <b>{truncate(Object.keys(result).join(', '), 50)}</b></div
62
62
  >{/if}{#if !forceJson && resultKind == 'table-col'}<div
63
63
  class="grid grid-flow-col-dense border border-gray-200 rounded-md "
@@ -11,9 +11,10 @@ export let name = undefined;
11
11
  // This can cause the dropdown to be hidden if it is in an overflow-hidden div.
12
12
  // In that case, set relative to false and control the dropdown positioning from the div
13
13
  export let relative = true;
14
+ export let left = true;
14
15
  const dispatch = createEventDispatcher();
15
- function openMenu() {
16
- open = true;
16
+ function toggle() {
17
+ open = !open;
17
18
  }
18
19
  function handleClickOutsideMenu(event) {
19
20
  open = false;
@@ -25,22 +26,17 @@ function handleClickOutsideMenu(event) {
25
26
  use:clickOutside
26
27
  on:click_outside={handleClickOutsideMenu}
27
28
  >
28
- <Button
29
- color="light"
30
- size="xs"
31
- aria-expanded="false"
32
- aria-haspopup="true"
33
- btnClasses="!text-blue-500 bg-transparent"
34
- on:click={openMenu}
35
- >
36
- {#if !name}
29
+ <Button color="light" size="xs" btnClasses="!text-blue-500 bg-transparent" on:click={toggle}>
30
+ {#if !$$slots.default}
37
31
  <Icon data={faEllipsisH} scale={1.2} />
38
32
  {:else}
39
- {name}
33
+ <slot />
40
34
  {/if}
41
35
  </Button>
42
36
  <div
43
- class="flex flex-col z-50 origin-top-right absolute right-0 mt-2 w-48 rounded-md shadow-lg py-1 bg-white ring-1 ring-black ring-opacity-5 focus:outline-none {open
37
+ class="flex flex-col z-50 origin-top-right absolute {left
38
+ ? 'right-0'
39
+ : 'left-0'} mt-2 w-48 rounded-md shadow-lg py-1 bg-white ring-1 ring-black ring-opacity-5 focus:outline-none {open
44
40
  ? 'visible'
45
41
  : 'hidden'}"
46
42
  role="menu"
@@ -52,6 +48,7 @@ function handleClickOutsideMenu(event) {
52
48
  <button
53
49
  on:click={(event) => {
54
50
  if (!item.disabled) {
51
+ event.preventDefault()
55
52
  open = false
56
53
  item.action && item.action(event)
57
54
  dispatch('click', { item: item?.eventName })