windmill-components 1.309.7 → 1.352.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (509) hide show
  1. package/package/assets/app.css +22 -13
  2. package/package/ata/index.js +1 -0
  3. package/package/autosize.js +2 -2
  4. package/package/common.d.ts +14 -2
  5. package/package/common.js +6 -1
  6. package/package/components/AllFlowLogs.svelte +30 -0
  7. package/package/components/AllFlowLogs.svelte.d.ts +18 -0
  8. package/package/components/ApiConnectForm.svelte +10 -4
  9. package/package/components/AppConnectDrawer.svelte +74 -0
  10. package/package/components/AppConnectDrawer.svelte.d.ts +20 -0
  11. package/package/components/AppConnectInner.svelte +507 -0
  12. package/package/components/AppConnectInner.svelte.d.ts +28 -0
  13. package/package/components/ArgEnum.svelte +4 -1
  14. package/package/components/ArgEnum.svelte.d.ts +3 -1
  15. package/package/components/ArgInfo.svelte +19 -3
  16. package/package/components/ArgInput.svelte +222 -122
  17. package/package/components/ArgInput.svelte.d.ts +11 -7
  18. package/package/components/ArrayTypeNarrowing.svelte +29 -27
  19. package/package/components/CenteredPage.svelte +2 -2
  20. package/package/components/ConcurrentJobsChart.svelte +212 -0
  21. package/package/components/ConcurrentJobsChart.svelte.d.ts +23 -0
  22. package/package/components/CustomOauth.svelte +2 -2
  23. package/package/components/DateInput.svelte +47 -0
  24. package/package/components/DateInput.svelte.d.ts +24 -0
  25. package/package/components/DateTimeInput.svelte +25 -3
  26. package/package/components/DefaultScripts.svelte +5 -8
  27. package/package/components/DefaultTags.svelte +3 -2
  28. package/package/components/DefaultTags.svelte.d.ts +3 -1
  29. package/package/components/DefaultTagsInner.svelte +2 -11
  30. package/package/components/DefaultTagsInner.svelte.d.ts +3 -1
  31. package/package/components/Dev.svelte +72 -10
  32. package/package/components/DiffDrawer.svelte +1 -2
  33. package/package/components/DiffEditor.svelte +3 -0
  34. package/package/components/DisplayResult.svelte +467 -344
  35. package/package/components/DisplayResult.svelte.d.ts +1 -0
  36. package/package/components/DropdownV2.svelte.d.ts +2 -2
  37. package/package/components/DurationMs.svelte +11 -3
  38. package/package/components/DurationMs.svelte.d.ts +2 -0
  39. package/package/components/EditableSchemaForm.svelte +447 -100
  40. package/package/components/EditableSchemaForm.svelte.d.ts +16 -6
  41. package/package/components/Editor.svelte +112 -93
  42. package/package/components/Editor.svelte.d.ts +4 -2
  43. package/package/components/EditorBar.svelte +101 -10
  44. package/package/components/EditorBar.svelte.d.ts +0 -1
  45. package/package/components/ErrorOrRecoveryHandler.svelte +0 -1
  46. package/package/components/FlowBuilder.svelte +14 -6
  47. package/package/components/FlowGraphViewer.svelte +2 -1
  48. package/package/components/FlowGraphViewerStep.svelte +56 -10
  49. package/package/components/FlowGraphViewerStep.svelte.d.ts +2 -7
  50. package/package/components/FlowJobResult.svelte +14 -3
  51. package/package/components/FlowJobResult.svelte.d.ts +3 -0
  52. package/package/components/FlowMetadata.svelte +41 -36
  53. package/package/components/FlowMetadata.svelte.d.ts +3 -1
  54. package/package/components/FlowPreviewContent.svelte +18 -9
  55. package/package/components/FlowStatusViewer.svelte +4 -0
  56. package/package/components/FlowStatusViewer.svelte.d.ts +3 -0
  57. package/package/components/FlowStatusViewerInner.svelte +96 -19
  58. package/package/components/FlowStatusViewerInner.svelte.d.ts +3 -0
  59. package/package/components/FlowTimeline.svelte +13 -0
  60. package/package/components/FlowTimeline.svelte.d.ts +2 -0
  61. package/package/components/FlowViewer.svelte +0 -5
  62. package/package/components/FolderEditor.svelte +25 -0
  63. package/package/components/FolderEditor.svelte.d.ts +2 -0
  64. package/package/components/GroupEditor.svelte +36 -91
  65. package/package/components/GroupInfo.svelte +1 -1
  66. package/package/components/HighlightCode.svelte +3 -0
  67. package/package/components/InputTransformForm.svelte +19 -1
  68. package/package/components/InputTransformForm.svelte.d.ts +2 -0
  69. package/package/components/InputTransformSchemaForm.svelte +6 -0
  70. package/package/components/InputTransformSchemaForm.svelte.d.ts +2 -0
  71. package/package/components/InstanceSettings.svelte +196 -16
  72. package/package/components/InstanceSettings.svelte.d.ts +4 -0
  73. package/package/components/JobLogs.svelte +12 -0
  74. package/package/components/JobLogs.svelte.d.ts +16 -0
  75. package/package/components/JobStatus.svelte +3 -3
  76. package/package/components/Label.svelte +1 -1
  77. package/package/components/Label.svelte.d.ts +1 -0
  78. package/package/components/LightweightArgInput.svelte +342 -264
  79. package/package/components/LightweightArgInput.svelte.d.ts +6 -2
  80. package/package/components/LightweightResourcePicker.svelte +74 -26
  81. package/package/components/LightweightSchemaForm.svelte +49 -39
  82. package/package/components/LogViewer.svelte +52 -15
  83. package/package/components/LogViewer.svelte.d.ts +1 -0
  84. package/package/components/Login.svelte +288 -0
  85. package/package/components/Login.svelte.d.ts +19 -0
  86. package/package/components/ModulePreviewForm.svelte +4 -0
  87. package/package/components/NoMainFuncBadge.svelte +8 -0
  88. package/package/components/NoMainFuncBadge.svelte.d.ts +14 -0
  89. package/package/components/NumberTypeNarrowing.svelte +71 -44
  90. package/package/components/OauthExtraParams.svelte +1 -1
  91. package/package/components/OauthScopes.svelte +1 -1
  92. package/package/components/ObjectResourceInput.svelte +2 -0
  93. package/package/components/ObjectResourceInput.svelte.d.ts +1 -0
  94. package/package/components/ObjectStoreConfigSettings.svelte +12 -1
  95. package/package/components/ObjectStoreConfigSettings.svelte.d.ts +1 -0
  96. package/package/components/ObjectTypeNarrowing.svelte +0 -1
  97. package/package/components/ParqetCsvTableRenderer.svelte +181 -0
  98. package/package/components/ParqetCsvTableRenderer.svelte.d.ts +21 -0
  99. package/package/components/Password.svelte +1 -0
  100. package/package/components/Password.svelte.d.ts +2 -0
  101. package/package/components/PasswordArgInput.svelte +49 -0
  102. package/package/components/PasswordArgInput.svelte.d.ts +17 -0
  103. package/package/components/Path.svelte +2 -2
  104. package/package/components/PersistentScriptDrawer.svelte +6 -3
  105. package/package/components/QueueMetricsDrawer.svelte +225 -0
  106. package/package/components/QueueMetricsDrawer.svelte.d.ts +18 -0
  107. package/package/components/Range.svelte +88 -286
  108. package/package/components/Range.svelte.d.ts +9 -23
  109. package/package/components/ResourceEditor.svelte +138 -140
  110. package/package/components/ResourceEditor.svelte.d.ts +9 -2
  111. package/package/components/ResourceEditorDrawer.svelte +45 -0
  112. package/package/components/ResourceEditorDrawer.svelte.d.ts +21 -0
  113. package/package/components/ResourcePicker.svelte +8 -9
  114. package/package/components/ResourceTypePicker.svelte +88 -36
  115. package/package/components/ResultJobLoader.svelte +2 -2
  116. package/package/components/ResultJobLoader.svelte.d.ts +9 -9
  117. package/package/components/RunChart.svelte +55 -5
  118. package/package/components/RunChart.svelte.d.ts +1 -0
  119. package/package/components/RunForm.svelte +1 -1
  120. package/package/components/S3FilePicker.svelte +21 -9
  121. package/package/components/S3FilePicker.svelte.d.ts +2 -0
  122. package/package/components/SavedInputs.svelte +49 -13
  123. package/package/components/ScheduleEditorInner.svelte +294 -264
  124. package/package/components/SchemaForm.svelte +193 -99
  125. package/package/components/SchemaForm.svelte.d.ts +17 -2
  126. package/package/components/ScriptBuilder.svelte +23 -14
  127. package/package/components/ScriptEditor.svelte +1 -2
  128. package/package/components/ScriptEditor.svelte.d.ts +1 -1
  129. package/package/components/ScriptSchedules.svelte +11 -8
  130. package/package/components/ScriptSchema.svelte +3 -21
  131. package/package/components/ScriptVersionHistory.svelte +1 -1
  132. package/package/components/SimpleEditor.svelte +4 -1
  133. package/package/components/StringTypeNarrowing.svelte +229 -167
  134. package/package/components/StringTypeNarrowing.svelte.d.ts +6 -1
  135. package/package/components/TemplateEditor.svelte +1 -0
  136. package/package/components/TestJobLoader.svelte +14 -5
  137. package/package/components/TestJobLoader.svelte.d.ts +1 -1
  138. package/package/components/Toggle.svelte +6 -3
  139. package/package/components/Toggle.svelte.d.ts +1 -0
  140. package/package/components/Tooltip.svelte +8 -2
  141. package/package/components/Tooltip.svelte.d.ts +1 -0
  142. package/package/components/UserSettings.svelte +24 -1
  143. package/package/components/WorkspaceGroup.svelte +84 -21
  144. package/package/components/WorkspaceGroup.svelte.d.ts +1 -0
  145. package/package/components/app_connect.d.ts +7 -0
  146. package/package/components/app_connect.js +78 -0
  147. package/package/components/apps/components/buttons/AppButton.svelte +2 -1
  148. package/package/components/apps/components/buttons/AppButton.svelte.d.ts +1 -0
  149. package/package/components/apps/components/display/AppAlert.svelte +1 -1
  150. package/package/components/apps/components/display/AppCustomComponent.svelte +1 -1
  151. package/package/components/apps/components/display/AppDisplayComponent.svelte +2 -2
  152. package/package/components/apps/components/display/AppDownload.svelte +1 -1
  153. package/package/components/apps/components/display/AppFlowStatusComponent.svelte +13 -70
  154. package/package/components/apps/components/display/AppFlowStatusComponent.svelte.d.ts +1 -9
  155. package/package/components/apps/components/display/AppIcon.svelte +1 -1
  156. package/package/components/apps/components/display/AppJobIdFlowStatus.svelte +23 -10
  157. package/package/components/apps/components/display/AppJobIdFlowStatus.svelte.d.ts +1 -3
  158. package/package/components/apps/components/display/AppJobIdLogComponent.svelte +22 -10
  159. package/package/components/apps/components/display/AppJobIdLogComponent.svelte.d.ts +1 -3
  160. package/package/components/apps/components/display/AppLogsComponent.svelte +13 -70
  161. package/package/components/apps/components/display/AppLogsComponent.svelte.d.ts +1 -9
  162. package/package/components/apps/components/display/AppMap.svelte +3 -2
  163. package/package/components/apps/components/display/AppMenu.svelte +1 -1
  164. package/package/components/apps/components/display/AppPdf.svelte +3 -11
  165. package/package/components/apps/components/display/AppText.svelte +7 -2
  166. package/package/components/apps/components/display/charts/AppAgCharts.svelte +31 -18
  167. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +32 -30
  168. package/package/components/apps/components/display/dbtable/InsertRow.svelte +3 -6
  169. package/package/components/apps/components/display/dbtable/queries/delete.js +1 -1
  170. package/package/components/apps/components/display/dbtable/queries/insert.js +1 -12
  171. package/package/components/apps/components/display/dbtable/queries/select.js +1 -1
  172. package/package/components/apps/components/display/dbtable/queries/update.js +2 -2
  173. package/package/components/apps/components/display/dbtable/utils.d.ts +0 -1
  174. package/package/components/apps/components/display/dbtable/utils.js +0 -83
  175. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +75 -44
  176. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte.d.ts +5 -1
  177. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +172 -0
  178. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte.d.ts +27 -0
  179. package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte +38 -0
  180. package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte.d.ts +28 -0
  181. package/package/components/apps/components/display/table/AppAggridTable.svelte +189 -56
  182. package/package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +1 -1
  183. package/package/components/apps/components/display/table/AppAggridTableActions.svelte +13 -2
  184. package/package/components/apps/components/display/table/AppAggridTableActions.svelte.d.ts +1 -0
  185. package/package/components/apps/components/display/table/AppCell.svelte +1 -3
  186. package/package/components/apps/components/display/table/AppTable.svelte +320 -281
  187. package/package/components/apps/components/display/table/AppTableFooter.svelte +42 -23
  188. package/package/components/apps/components/display/table/AppTableFooter.svelte.d.ts +2 -2
  189. package/package/components/apps/components/display/table/SyncColumnDefs.svelte +119 -0
  190. package/package/components/apps/components/display/table/SyncColumnDefs.svelte.d.ts +21 -0
  191. package/package/components/apps/components/display/table/theme/windmill-theme.css +656 -0
  192. package/package/components/apps/components/display/table/utils.js +22 -0
  193. package/package/components/apps/components/helpers/DebouncedInput.svelte +3 -2
  194. package/package/components/apps/components/helpers/HiddenComponent.svelte +2 -1
  195. package/package/components/apps/components/helpers/NonRunnableComponent.svelte +35 -0
  196. package/package/components/apps/components/helpers/RefreshButton.svelte +30 -12
  197. package/package/components/apps/components/helpers/RefreshButton.svelte.d.ts +1 -3
  198. package/package/components/apps/components/helpers/RefreshIndicator.svelte +19 -0
  199. package/package/components/apps/components/helpers/RefreshIndicator.svelte.d.ts +16 -0
  200. package/package/components/apps/components/helpers/ResolveConfig.svelte +1 -1
  201. package/package/components/apps/components/helpers/RunnableComponent.svelte +102 -41
  202. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +9 -5
  203. package/package/components/apps/components/helpers/RunnableWrapper.svelte +9 -1
  204. package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +6 -0
  205. package/package/components/apps/components/helpers/eval.js +1 -36
  206. package/package/components/apps/components/inputs/AppDateInput.svelte +5 -1
  207. package/package/components/apps/components/inputs/AppFileInput.svelte +13 -2
  208. package/package/components/apps/components/inputs/AppFileInput.svelte.d.ts +1 -0
  209. package/package/components/apps/components/inputs/AppMultiSelect.svelte +56 -50
  210. package/package/components/apps/components/inputs/AppMultiSelect.svelte.d.ts +1 -0
  211. package/package/components/apps/components/inputs/AppMultiSelectV2.svelte +178 -0
  212. package/package/components/apps/components/inputs/AppMultiSelectV2.svelte.d.ts +24 -0
  213. package/package/components/apps/components/inputs/AppNumberInput.svelte +1 -1
  214. package/package/components/apps/components/inputs/AppQuillEditor.svelte +26 -0
  215. package/package/components/apps/components/inputs/AppRangeInput.svelte +38 -37
  216. package/package/components/apps/components/inputs/AppS3FileInput.svelte +3 -1
  217. package/package/components/apps/components/inputs/AppS3FileInput.svelte.d.ts +1 -0
  218. package/package/components/apps/components/inputs/AppSelect.svelte +21 -10
  219. package/package/components/apps/components/inputs/AppSliderInputs.svelte +26 -31
  220. package/package/components/apps/components/inputs/AppTextInput.svelte +1 -1
  221. package/package/components/apps/components/inputs/currency/AppCurrencyInput.svelte +1 -1
  222. package/package/components/apps/components/layout/AppConditionalWrapper.svelte +10 -3
  223. package/package/components/apps/components/layout/AppConditionalWrapper.svelte.d.ts +1 -0
  224. package/package/components/apps/components/layout/AppContainer.svelte +1 -1
  225. package/package/components/apps/components/layout/AppDecisionTree.svelte +1 -1
  226. package/package/components/apps/components/layout/AppDrawer.svelte +16 -3
  227. package/package/components/apps/components/layout/AppDrawer.svelte.d.ts +2 -0
  228. package/package/components/apps/components/layout/AppModal.svelte +85 -79
  229. package/package/components/apps/components/layout/AppModal.svelte.d.ts +2 -0
  230. package/package/components/apps/components/layout/AppStepper.svelte +7 -2
  231. package/package/components/apps/components/layout/AppStepper.svelte.d.ts +2 -0
  232. package/package/components/apps/components/layout/AppTabs.svelte +4 -2
  233. package/package/components/apps/components/layout/AppTabs.svelte.d.ts +1 -0
  234. package/package/components/apps/editor/AppEditor.svelte +3 -2
  235. package/package/components/apps/editor/AppEditorHeader.svelte +68 -38
  236. package/package/components/apps/editor/AppInputs.svelte +1 -1
  237. package/package/components/apps/editor/AppPreview.svelte +18 -7
  238. package/package/components/apps/editor/ComponentHeader.svelte +37 -1
  239. package/package/components/apps/editor/ComponentHeader.svelte.d.ts +2 -0
  240. package/package/components/apps/editor/GridEditor.svelte +15 -6
  241. package/package/components/apps/editor/GridEditorMenu.svelte +120 -49
  242. package/package/components/apps/editor/GridViewer.svelte +14 -5
  243. package/package/components/apps/editor/GridViewer.svelte.d.ts +5 -1
  244. package/package/components/apps/editor/RecomputeAllComponents.svelte +17 -3
  245. package/package/components/apps/editor/RunnableJobPanel.svelte +9 -5
  246. package/package/components/apps/editor/SettingsPanel.svelte +19 -5
  247. package/package/components/apps/editor/SubGridEditor.svelte +44 -27
  248. package/package/components/apps/editor/appUtils.d.ts +6 -1
  249. package/package/components/apps/editor/appUtils.js +85 -7
  250. package/package/components/apps/editor/component/Component.svelte +86 -18
  251. package/package/components/apps/editor/component/Component.svelte.d.ts +3 -0
  252. package/package/components/apps/editor/component/components.d.ts +285 -23
  253. package/package/components/apps/editor/component/components.js +178 -13
  254. package/package/components/apps/editor/component/default-codes.d.ts +1 -1
  255. package/package/components/apps/editor/component/default-codes.js +241 -9
  256. package/package/components/apps/editor/component/sets.d.ts +3 -0
  257. package/package/components/apps/editor/component/sets.js +12 -2
  258. package/package/components/apps/editor/componentsPanel/ComponentList.svelte +15 -2
  259. package/package/components/apps/editor/componentsPanel/componentControlUtils.js +4 -2
  260. package/package/components/apps/editor/componentsPanel/cssUtils.js +1 -1
  261. package/package/components/apps/editor/componentsPanel/quickStyleProperties.js +5 -0
  262. package/package/components/apps/editor/contextPanel/components/OutputHeader.svelte +9 -5
  263. package/package/components/apps/editor/contextPanel/components/TableActionsOutput.svelte +1 -1
  264. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +46 -6
  265. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +1 -1
  266. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelWithTable.svelte +1 -1
  267. package/package/components/apps/editor/inlineScriptsPanel/utils.js +3 -1
  268. package/package/components/apps/editor/settingsPanel/AlignmentEditor.svelte +1 -1
  269. package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +5 -34
  270. package/package/components/apps/editor/settingsPanel/ComponentControl.svelte +1 -1
  271. package/package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +8 -5
  272. package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +41 -29
  273. package/package/components/apps/editor/settingsPanel/ContextVariables.svelte +61 -0
  274. package/package/components/apps/editor/settingsPanel/ContextVariables.svelte.d.ts +16 -0
  275. package/package/components/apps/editor/settingsPanel/DecisionTreeGraphEditor.svelte +12 -10
  276. package/package/components/apps/editor/settingsPanel/DeleteComponent.svelte +29 -32
  277. package/package/components/apps/editor/settingsPanel/DeleteComponent.svelte.d.ts +0 -5
  278. package/package/components/apps/editor/settingsPanel/EventHandlerItem.svelte +33 -0
  279. package/package/components/apps/editor/settingsPanel/EventHandlerItem.svelte.d.ts +19 -0
  280. package/package/components/apps/editor/settingsPanel/EventHandlers.svelte +103 -0
  281. package/package/components/apps/editor/settingsPanel/EventHandlers.svelte.d.ts +18 -0
  282. package/package/components/apps/editor/settingsPanel/GridCondition.svelte +14 -36
  283. package/package/components/apps/editor/settingsPanel/GridTab.svelte +4 -24
  284. package/package/components/apps/editor/settingsPanel/GridTabDisabled.svelte +2 -1
  285. package/package/components/apps/editor/settingsPanel/GridTabDisabled.svelte.d.ts +1 -0
  286. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +24 -3
  287. package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +32 -2
  288. package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +1 -0
  289. package/package/components/apps/editor/settingsPanel/StylePanel.svelte +4 -3
  290. package/package/components/apps/editor/settingsPanel/SubTypeEditor.svelte +0 -2
  291. package/package/components/apps/editor/settingsPanel/SubTypeEditor.svelte.d.ts +0 -1
  292. package/package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte +3 -2
  293. package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte +8 -1
  294. package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +7 -14
  295. package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte.d.ts +0 -1
  296. package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +4 -4
  297. package/package/components/apps/editor/settingsPanel/secondaryMenu/SecondaryMenu.svelte +6 -3
  298. package/package/components/apps/inputType.d.ts +4 -0
  299. package/package/components/apps/rx.d.ts +1 -1
  300. package/package/components/apps/rx.js +7 -0
  301. package/package/components/apps/svelte-grid/Grid.svelte +13 -4
  302. package/package/components/apps/svelte-grid/Grid.svelte.d.ts +2 -1
  303. package/package/components/apps/svelte-grid/types.d.ts +1 -0
  304. package/package/components/apps/svelte-grid/utils/helper.js +1 -0
  305. package/package/components/apps/svelte-grid/utils/overlap.d.ts +3 -0
  306. package/package/components/apps/svelte-grid/utils/overlap.js +21 -0
  307. package/package/components/apps/svelte-select/lib/Select.svelte.d.ts +2 -2
  308. package/package/components/apps/svelte-select/lib/tailwind.css +1 -1
  309. package/package/components/apps/types.d.ts +1 -0
  310. package/package/components/apps/utils.js +13 -3
  311. package/package/components/auditLogs/AuditLogsTable.svelte +5 -2
  312. package/package/components/build_workers.js +1 -0
  313. package/package/components/common/alert/Alert.svelte +17 -17
  314. package/package/components/common/badge/Badge.svelte +6 -3
  315. package/package/components/common/badge/model.d.ts +1 -1
  316. package/package/components/common/button/Button.svelte +22 -14
  317. package/package/components/common/button/ButtonDropdown.svelte +1 -0
  318. package/package/components/common/calendarPicker/CalendarPicker.svelte +2 -0
  319. package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +1 -0
  320. package/package/components/common/drawer/ConditionalPortal.svelte +9 -0
  321. package/package/components/common/drawer/ConditionalPortal.svelte.d.ts +18 -0
  322. package/package/components/common/drawer/Disposable.svelte +67 -0
  323. package/package/components/common/drawer/Disposable.svelte.d.ts +37 -0
  324. package/package/components/common/drawer/Drawer.svelte +40 -56
  325. package/package/components/common/drawer/Drawer.svelte.d.ts +2 -1
  326. package/package/components/common/fileDownload/FileDownload.svelte +4 -2
  327. package/package/components/common/fileInput/FileInput.svelte +3 -3
  328. package/package/components/common/fileInput/FileInput.svelte.d.ts +1 -0
  329. package/package/components/common/fileUpload/FileUpload.svelte +5 -4
  330. package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
  331. package/package/components/common/modal/Modal.svelte +4 -1
  332. package/package/components/common/modal/Modal.svelte.d.ts +1 -0
  333. package/package/components/common/popup/Popup.svelte +1 -1
  334. package/package/components/common/table/RowIcon.svelte +4 -4
  335. package/package/components/common/table/ScriptRow.svelte +12 -1
  336. package/package/components/common/table/ScriptRow.svelte.d.ts +1 -0
  337. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +4 -1
  338. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte.d.ts +1 -0
  339. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte +45 -0
  340. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte.d.ts +24 -0
  341. package/package/components/common/waitTimeWarning/WaitTimeWarning.svelte +79 -0
  342. package/package/components/common/waitTimeWarning/WaitTimeWarning.svelte.d.ts +18 -0
  343. package/package/components/copilot/CronGen.svelte +2 -2
  344. package/package/components/copilot/FlowCopilotStatus.svelte +1 -1
  345. package/package/components/copilot/RegexGen.svelte +17 -39
  346. package/package/components/copilot/ScriptGen.svelte +14 -5
  347. package/package/components/copilot/StepInputGen.svelte +2 -1
  348. package/package/components/copilot/StepInputsGen.svelte +2 -1
  349. package/package/components/copilot/completion.js +60 -9
  350. package/package/components/copilot/lib.js +5 -3
  351. package/package/components/copilot/prompts/edit.yaml +24 -0
  352. package/package/components/copilot/prompts/editPrompt.d.ts +3 -0
  353. package/package/components/copilot/prompts/editPrompt.js +3 -0
  354. package/package/components/copilot/prompts/fix.yaml +25 -0
  355. package/package/components/copilot/prompts/fixPrompt.d.ts +3 -0
  356. package/package/components/copilot/prompts/fixPrompt.js +3 -0
  357. package/package/components/copilot/prompts/gen.yaml +20 -0
  358. package/package/components/copilot/prompts/genPrompt.d.ts +3 -0
  359. package/package/components/copilot/prompts/genPrompt.js +3 -0
  360. package/package/components/copilot/utils.d.ts +2 -1
  361. package/package/components/copilot/utils.js +38 -0
  362. package/package/components/details/createAppFromScript.d.ts +26 -0
  363. package/package/components/details/createAppFromScript.js +50 -24
  364. package/package/components/flows/CreateActionsApp.svelte +1 -0
  365. package/package/components/flows/CreateActionsFlow.svelte +1 -0
  366. package/package/components/flows/content/FlowEditorPanel.svelte +16 -2
  367. package/package/components/flows/content/FlowInput.svelte +63 -53
  368. package/package/components/flows/content/FlowInputs.svelte +2 -2
  369. package/package/components/flows/content/FlowModuleComponent.svelte +41 -9
  370. package/package/components/flows/content/FlowModuleScript.svelte +40 -1
  371. package/package/components/flows/content/FlowModuleScript.svelte.d.ts +2 -0
  372. package/package/components/flows/content/FlowModuleSuspend.svelte +99 -59
  373. package/package/components/flows/content/FlowModuleWrapper.svelte +16 -1
  374. package/package/components/flows/content/FlowSchedules.svelte +11 -8
  375. package/package/components/flows/content/ScriptEditorDrawer.svelte +6 -6
  376. package/package/components/flows/flowExplorer.js +4 -1
  377. package/package/components/flows/flowStateUtils.js +4 -1
  378. package/package/components/flows/map/FlowConstantsItem.svelte +1 -1
  379. package/package/components/flows/map/FlowErrorHandlerItem.svelte +1 -1
  380. package/package/components/flows/map/FlowModuleSchemaItem.svelte +19 -1
  381. package/package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +1 -0
  382. package/package/components/flows/map/FlowModuleSchemaMap.svelte +6 -1
  383. package/package/components/flows/map/FlowSettingsItem.svelte +1 -1
  384. package/package/components/flows/map/MapItem.svelte +2 -0
  385. package/package/components/flows/map/MapItem.svelte.d.ts +1 -0
  386. package/package/components/flows/types.d.ts +4 -0
  387. package/package/components/flows/utils.d.ts +5 -1
  388. package/package/components/flows/utils.js +36 -0
  389. package/package/components/graph/FlowGraph.svelte +6 -2
  390. package/package/components/graph/FlowGraph.svelte.d.ts +2 -0
  391. package/package/components/graph/svelvet/container/models/index.d.ts +0 -5
  392. package/package/components/graph/svelvet/container/models/index.js +1 -1
  393. package/package/components/graph/svelvet/container/views/Svelvet.svelte +2 -5
  394. package/package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte +41 -16
  395. package/package/components/graph/util.d.ts +1 -37
  396. package/package/components/graph/util.js +0 -34
  397. package/package/components/home/ItemsList.svelte +44 -9
  398. package/package/components/home/TreeView.svelte +2 -0
  399. package/package/components/icons/AzureIcon.svelte +25 -1
  400. package/package/components/icons/PHPIcon.svelte +117 -0
  401. package/package/components/icons/PHPIcon.svelte.d.ts +17 -0
  402. package/package/components/instanceSettings.d.ts +1 -1
  403. package/package/components/instanceSettings.js +20 -3
  404. package/package/components/jobs/JobPreview.svelte +6 -1
  405. package/package/components/multiselect/MultiSelect.svelte +783 -0
  406. package/package/components/multiselect/MultiSelect.svelte.d.ts +98 -0
  407. package/package/components/multiselect/MultiSelectWrapper.svelte +89 -0
  408. package/package/components/multiselect/MultiSelectWrapper.svelte.d.ts +20 -0
  409. package/package/components/multiselect/types.d.ts +56 -0
  410. package/package/components/multiselect/types.js +1 -0
  411. package/package/components/multiselect/utils.d.ts +7 -0
  412. package/package/components/multiselect/utils.js +54 -0
  413. package/package/components/propertyPicker/ObjectViewer.svelte +19 -2
  414. package/package/components/runs/JobLoader.svelte +135 -17
  415. package/package/components/runs/JobLoader.svelte.d.ts +7 -2
  416. package/package/components/runs/JobPreview.svelte +44 -4
  417. package/package/components/runs/JobPreview.svelte.d.ts +2 -0
  418. package/package/components/runs/RunRow.svelte +99 -33
  419. package/package/components/runs/RunRow.svelte.d.ts +5 -1
  420. package/package/components/runs/RunsFilter.svelte +125 -9
  421. package/package/components/runs/RunsFilter.svelte.d.ts +4 -2
  422. package/package/components/runs/RunsTable.svelte +71 -10
  423. package/package/components/runs/RunsTable.svelte.d.ts +8 -1
  424. package/package/components/schema/AddProperty.svelte +149 -0
  425. package/package/components/schema/AddProperty.svelte.d.ts +23 -0
  426. package/package/components/schema/AddPropertyForm.svelte +33 -0
  427. package/package/components/schema/AddPropertyForm.svelte.d.ts +16 -0
  428. package/package/components/schema/EditableSchemaDrawer.svelte +198 -0
  429. package/package/components/schema/EditableSchemaDrawer.svelte.d.ts +21 -0
  430. package/package/components/schema/EditableSchemaWrapper.svelte +31 -0
  431. package/package/components/schema/EditableSchemaWrapper.svelte.d.ts +22 -0
  432. package/package/components/schema/FlowPropertyEditor.svelte +393 -0
  433. package/package/components/schema/FlowPropertyEditor.svelte.d.ts +47 -0
  434. package/package/components/schema/PropertyEditor.svelte +185 -0
  435. package/package/components/schema/PropertyEditor.svelte.d.ts +46 -0
  436. package/package/components/schema/SchemaFormDND.svelte +75 -0
  437. package/package/components/schema/SchemaFormDND.svelte.d.ts +28 -0
  438. package/package/components/scriptEditor/LogPanel.svelte +46 -33
  439. package/package/components/scriptEditor/LogPanel.svelte.d.ts +1 -0
  440. package/package/components/scripts/CreateActionsScript.svelte +1 -1
  441. package/package/components/settings/WorkspaceUserSettings.svelte +246 -226
  442. package/package/components/sidebar/MenuButton.svelte +1 -1
  443. package/package/components/sidebar/MenuLink.svelte +1 -1
  444. package/package/components/sidebar/changelogs.js +40 -0
  445. package/package/components/table/AutoDataTable.svelte +124 -163
  446. package/package/components/table/Cell.svelte +4 -1
  447. package/package/components/table/Cell.svelte.d.ts +1 -0
  448. package/package/components/table/DataTable.svelte +13 -5
  449. package/package/components/table/DataTable.svelte.d.ts +1 -0
  450. package/package/components/table/DownloadCsv.svelte +30 -0
  451. package/package/components/table/DownloadCsv.svelte.d.ts +17 -0
  452. package/package/components/table/tableUtils.d.ts +8 -0
  453. package/package/components/table/tableUtils.js +37 -0
  454. package/package/components/vscode.js +1 -1
  455. package/package/components/wizards/AgGridWizard.svelte +27 -2
  456. package/package/components/wizards/AgGridWizard.svelte.d.ts +1 -0
  457. package/package/consts.js +7 -1
  458. package/package/defaults.d.ts +2 -2
  459. package/package/defaults.js +2 -2
  460. package/package/deno_fetch.d.ts.txt +36 -0
  461. package/package/editorUtils.js +2 -0
  462. package/package/gen/core/OpenAPI.js +5 -6
  463. package/package/gen/core/request.js +4 -1
  464. package/package/gen/index.d.ts +0 -1
  465. package/package/gen/index.js +0 -1
  466. package/package/gen/schemas.gen.d.ts +173 -428
  467. package/package/gen/schemas.gen.js +173 -433
  468. package/package/gen/services.gen.d.ts +3182 -1840
  469. package/package/gen/services.gen.js +3652 -2368
  470. package/package/gen/types.gen.d.ts +5445 -1529
  471. package/package/infer.d.ts +1 -1
  472. package/package/infer.js +6 -2
  473. package/package/inferArgSig.d.ts +10 -0
  474. package/package/inferArgSig.js +64 -4
  475. package/package/init_scripts/python_init_code.d.ts +1 -1
  476. package/package/init_scripts/python_init_code.js +1 -1
  477. package/package/process.d.ts.txt +1770 -0
  478. package/package/script_helpers.d.ts +3 -2
  479. package/package/script_helpers.js +28 -3
  480. package/package/scripts.d.ts +3 -1
  481. package/package/scripts.js +10 -3
  482. package/package/utils.d.ts +5 -1
  483. package/package/utils.js +53 -5
  484. package/package/windmill_fetch.d.ts.txt +16966 -0
  485. package/package/workspace_settings.d.ts +15 -0
  486. package/package/workspace_settings.js +81 -0
  487. package/package/zIndexes.d.ts +12 -0
  488. package/package/zIndexes.js +12 -0
  489. package/package.json +19 -10
  490. package/package/components/AppConnect.svelte +0 -566
  491. package/package/components/AppConnect.svelte.d.ts +0 -23
  492. package/package/components/ContextMenu.svelte +0 -89
  493. package/package/components/ContextMenu.svelte.d.ts +0 -28
  494. package/package/components/ParqetTableRenderer.svelte +0 -121
  495. package/package/components/ParqetTableRenderer.svelte.d.ts +0 -18
  496. package/package/components/PropertyRow.svelte +0 -80
  497. package/package/components/PropertyRow.svelte.d.ts +0 -23
  498. package/package/components/SchemaEditor.svelte +0 -344
  499. package/package/components/SchemaEditor.svelte.d.ts +0 -23
  500. package/package/components/SchemaModal.svelte +0 -350
  501. package/package/components/SchemaModal.svelte.d.ts +0 -31
  502. package/package/components/apps/components/display/index.d.ts +0 -17
  503. package/package/components/apps/components/display/index.js +0 -17
  504. package/package/components/apps/components/helpers/index.d.ts +0 -10
  505. package/package/components/apps/components/helpers/index.js +0 -10
  506. package/package/components/apps/components/index.d.ts +0 -5
  507. package/package/components/apps/components/index.js +0 -5
  508. package/package/components/apps/editor/settingsPanel/Recompute.svelte +0 -55
  509. package/package/components/apps/editor/settingsPanel/Recompute.svelte.d.ts +0 -20
@@ -1,58 +1,66 @@
1
1
  <script>import { ResourceService } from '../gen';
2
2
  import { canWrite, emptyString, isOwner, urlize } from '../utils';
3
3
  import { createEventDispatcher } from 'svelte';
4
- import { Alert, Button, Drawer, Skeleton } from './common';
4
+ import { Alert, Skeleton } from './common';
5
5
  import Path from './Path.svelte';
6
6
  import Required from './Required.svelte';
7
7
  import { userStore, workspaceStore } from '../stores';
8
- import DrawerContent from './common/drawer/DrawerContent.svelte';
9
8
  import SchemaForm from './SchemaForm.svelte';
10
9
  import SimpleEditor from './SimpleEditor.svelte';
11
10
  import Toggle from './Toggle.svelte';
12
11
  import { sendUserToast } from '../toast';
13
12
  import TestConnection from './TestConnection.svelte';
14
- import { Pen, Save } from 'lucide-svelte';
13
+ import { Pen } from 'lucide-svelte';
15
14
  import Markdown from 'svelte-exmarkdown';
16
15
  import autosize from '../autosize';
17
16
  import GfmMarkdown from './GfmMarkdown.svelte';
18
- let path = '';
19
- let initialPath = '';
20
- let resourceToEdit;
17
+ export let canSave = true;
18
+ export let resource_type = undefined;
19
+ export let path = '';
20
+ export let newResource = false;
21
+ export let hidePath = false;
22
+ let isValid = true;
23
+ let jsonError = '';
24
+ let can_write = true;
25
+ $: canSave = can_write && isValid && jsonError == '';
26
+ let initialPath = path;
27
+ let resourceToEdit = undefined;
21
28
  let description = '';
22
29
  let DESCRIPTION_PLACEHOLDER = `Describe what this resource is for`;
23
- let selectedResourceType;
24
- let resourceSchema;
30
+ let resourceSchema = undefined;
25
31
  let args = {};
26
- let can_write = true;
27
- let loadingSchema = false;
32
+ let loadingSchema = true;
28
33
  let linkedVars = [];
29
- let drawer;
30
34
  let resourceTypeInfo = undefined;
31
- let renderDescription = true;
35
+ let editDescription = false;
36
+ let viewJsonSchema = false;
32
37
  let rawCode = undefined;
33
38
  const dispatch = createEventDispatcher();
34
- export async function initEdit(p) {
35
- initialPath = p;
36
- path = p;
37
- resourceToEdit = undefined;
38
- resourceSchema = undefined;
39
- viewJsonSchema = false;
40
- loadingSchema = true;
41
- drawer.openDrawer?.();
42
- resourceToEdit = await ResourceService.getResource({ workspace: $workspaceStore, path: p });
39
+ async function initEdit() {
40
+ resourceToEdit = await ResourceService.getResource({ workspace: $workspaceStore, path });
43
41
  description = resourceToEdit.description ?? '';
44
- selectedResourceType = resourceToEdit.resource_type;
42
+ resource_type = resourceToEdit.resource_type;
43
+ args = resourceToEdit?.value ?? {};
45
44
  loadResourceType();
46
- args = resourceToEdit.value;
47
45
  can_write =
48
46
  resourceToEdit.workspace_id == $workspaceStore &&
49
- canWrite(p, resourceToEdit.extra_perms ?? {}, $userStore);
47
+ canWrite(path, resourceToEdit.extra_perms ?? {}, $userStore);
50
48
  linkedVars = Object.entries(args)
51
49
  .filter(([_, v]) => typeof v == 'string' && v == `$var:${initialPath}`)
52
50
  .map(([k, _]) => k);
53
- renderDescription = false;
54
51
  }
55
- async function editResource() {
52
+ if (!newResource) {
53
+ initEdit();
54
+ }
55
+ else if (resource_type) {
56
+ loadResourceType();
57
+ }
58
+ else {
59
+ sendUserToast('Resource type cannot be undefined for new resource creation', true);
60
+ }
61
+ $: rawCode && parseJson();
62
+ $: linkedVars.length > 0 && path && updateArgsFromLinkedVars();
63
+ export async function editResource() {
56
64
  if (resourceToEdit) {
57
65
  await ResourceService.updateResource({
58
66
  workspace: $workspaceStore,
@@ -61,18 +69,25 @@ async function editResource() {
61
69
  });
62
70
  sendUserToast(`Updated resource at ${path}`);
63
71
  dispatch('refresh', path);
64
- drawer.closeDrawer?.();
65
72
  }
66
73
  else {
67
74
  throw Error('Cannot edit undefined resourceToEdit');
68
75
  }
69
76
  }
77
+ export async function createResource() {
78
+ await ResourceService.createResource({
79
+ workspace: $workspaceStore,
80
+ requestBody: { path, value: args, description, resource_type: resource_type }
81
+ });
82
+ sendUserToast(`Updated resource at ${path}`);
83
+ dispatch('refresh', path);
84
+ }
70
85
  async function loadResourceType() {
71
- if (selectedResourceType) {
86
+ if (resource_type) {
72
87
  try {
73
88
  const resourceType = await ResourceService.getResourceType({
74
89
  workspace: $workspaceStore,
75
- path: selectedResourceType
90
+ path: resource_type
76
91
  });
77
92
  resourceTypeInfo = resourceType;
78
93
  if (resourceType.schema) {
@@ -90,9 +105,6 @@ async function loadResourceType() {
90
105
  }
91
106
  loadingSchema = false;
92
107
  }
93
- let isValid = true;
94
- let jsonError = '';
95
- $: rawCode && parseJson();
96
108
  function parseJson() {
97
109
  try {
98
110
  args = JSON.parse(rawCode ?? '');
@@ -102,13 +114,11 @@ function parseJson() {
102
114
  jsonError = e.message;
103
115
  }
104
116
  }
105
- $: linkedVars.length > 0 && path && updateArgsFromLinkedVars();
106
117
  function updateArgsFromLinkedVars() {
107
118
  linkedVars.forEach((k) => {
108
119
  args[k] = `$var:${path}`;
109
120
  });
110
121
  }
111
- let viewJsonSchema = false;
112
122
  function switchTab(asJson) {
113
123
  viewJsonSchema = asJson;
114
124
  if (asJson) {
@@ -120,117 +130,105 @@ function switchTab(asJson) {
120
130
  }
121
131
  </script>
122
132
 
123
- <Drawer bind:this={drawer} size="800px">
124
- <DrawerContent
125
- title={resourceToEdit ? 'Edit ' + resourceToEdit.path : 'Add a resource'}
126
- on:close={drawer.closeDrawer}
127
- >
128
- <div>
129
- <div class="flex flex-col gap-3 py-3">
130
- <div>
131
- {#if !can_write}
132
- <div class="m-2">
133
- <Alert type="warning" title="Only read access">
134
- You only have read access to this resource and cannot edit it
135
- </Alert>
136
- </div>
137
- {/if}
138
- <Path
139
- disabled={initialPath != '' && !isOwner(initialPath, $userStore, $workspaceStore)}
140
- bind:path
141
- {initialPath}
142
- namePlaceholder="resource"
143
- kind="resource"
144
- />
145
- </div>
146
- {#if !emptyString(resourceTypeInfo?.description)}
147
- <h4 class="mt-4 mb-2">{resourceTypeInfo?.name} description</h4>
148
- <div class="text-sm">
149
- <Markdown md={urlize(resourceTypeInfo?.description ?? '', 'md')} />
133
+ <div>
134
+ <div class="flex flex-col gap-3 py-3">
135
+ {#if !hidePath}
136
+ <div>
137
+ {#if !can_write}
138
+ <div class="m-2">
139
+ <Alert type="warning" title="Only read access">
140
+ You only have read access to this resource and cannot edit it
141
+ </Alert>
150
142
  </div>
151
143
  {/if}
152
- <h4 class="mt-4 inline-flex items-center gap-4"
153
- >Resource description <Required required={false} />
154
- {#if can_write}
155
- <div class="flex gap-1 items-center">
156
- <Toggle size="xs" bind:checked={renderDescription} />
157
- <Pen size={14} />
158
- </div>
159
- {/if}</h4
160
- >
144
+ <Path
145
+ disabled={initialPath != '' && !isOwner(initialPath, $userStore, $workspaceStore)}
146
+ bind:path
147
+ {initialPath}
148
+ namePlaceholder="resource"
149
+ kind="resource"
150
+ />
151
+ </div>
152
+ {/if}
161
153
 
162
- {#if can_write && renderDescription}
163
- <div>
164
- <div class="flex flex-row-reverse text-2xs text-tertiary -mt-1">GH Markdown</div>
165
- <textarea
166
- disabled={!can_write}
167
- use:autosize
168
- bind:value={description}
169
- placeholder={DESCRIPTION_PLACEHOLDER}
170
- />
171
- </div>
172
- {:else if description == undefined || description == ''}
173
- <div class="text-sm text-tertiary">No description provided</div>
174
- {:else}
175
- <div class="mt-2" />
154
+ {#if !emptyString(resourceTypeInfo?.description)}
155
+ <h4 class="mt-4 mb-2">{resourceTypeInfo?.name} description</h4>
156
+ <div class="text-sm">
157
+ <Markdown md={urlize(resourceTypeInfo?.description ?? '', 'md')} />
158
+ </div>
159
+ {/if}
160
+ <h4 class="mt-4 inline-flex items-center gap-4"
161
+ >Resource description <Required required={false} />
162
+ {#if can_write}
163
+ <div class="flex gap-1 items-center">
164
+ <Toggle size="xs" bind:checked={editDescription} />
165
+ <Pen size={14} />
166
+ </div>
167
+ {/if}</h4
168
+ >
176
169
 
177
- <GfmMarkdown md={description} />
170
+ {#if can_write && editDescription}
171
+ <div>
172
+ <div class="flex flex-row-reverse text-2xs text-tertiary -mt-1">GH Markdown</div>
173
+ <textarea
174
+ disabled={!can_write}
175
+ use:autosize
176
+ bind:value={description}
177
+ placeholder={DESCRIPTION_PLACEHOLDER}
178
+ />
179
+ </div>
180
+ {:else if description == undefined || description == ''}
181
+ <div class="text-sm text-tertiary">No description provided</div>
182
+ {:else}
183
+ <div class="mt-2" />
184
+
185
+ <GfmMarkdown md={description} />
186
+ {/if}
187
+ <div class="flex w-full justify-between max-w-lg items-center mt-4">
188
+ <Toggle
189
+ on:change={(e) => switchTab(e.detail)}
190
+ options={{
191
+ right: 'As JSON'
192
+ }}
193
+ />
194
+ <TestConnection resourceType={resourceToEdit?.resource_type} {args} />
195
+ </div>
196
+ <div class="text-sm">
197
+ {#if loadingSchema}
198
+ <Skeleton layout={[[4]]} />
199
+ {:else if !viewJsonSchema && resourceSchema && resourceSchema?.properties}
200
+ <SchemaForm
201
+ onlyMaskPassword
202
+ noDelete
203
+ disabled={!can_write}
204
+ compact
205
+ schema={resourceSchema}
206
+ bind:args
207
+ bind:isValid
208
+ />
209
+ {:else if !can_write}
210
+ <input type="text" disabled value={rawCode} />
211
+ {:else}
212
+ {#if !viewJsonSchema}
213
+ <p class="italic text-secondary text-xs mb-4">
214
+ No corresponding resource type found in your workspace for {resource_type}. Define the
215
+ value in JSON directly
216
+ </p>
178
217
  {/if}
179
- <div class="flex w-full justify-between max-w-lg items-center mt-4">
180
- <Toggle
181
- on:change={(e) => switchTab(e.detail)}
182
- options={{
183
- right: 'As JSON'
184
- }}
185
- />
186
- <TestConnection resourceType={resourceToEdit?.resource_type} {args} />
187
- </div>
188
- <div class="text-sm">
189
- {#if loadingSchema}
190
- <Skeleton layout={[[4]]} />
191
- {:else if !viewJsonSchema && resourceSchema && resourceSchema?.properties}
192
- <SchemaForm
193
- noDelete
194
- disabled={!can_write}
195
- compact
196
- schema={resourceSchema}
197
- bind:args
198
- bind:isValid
199
- />
200
- {:else if !can_write}
201
- <input type="text" disabled value={rawCode} />
202
- {:else}
203
- {#if !viewJsonSchema}
204
- <p class="italic text-secondary text-xs mb-4">
205
- No corresponding resource type found in your workspace for {selectedResourceType}.
206
- Define the value in JSON directly
207
- </p>
208
- {/if}
209
218
 
210
- {#if !emptyString(jsonError)}<span
211
- class="text-red-400 text-xs mb-1 flex flex-row-reverse">{jsonError}</span
212
- >{:else}<div class="py-2" />{/if}
213
- <div class="h-full w-full border p-1 rounded">
214
- <SimpleEditor
215
- autoHeight
216
- class="editor"
217
- lang="json"
218
- bind:code={rawCode}
219
- fixedOverflowWidgets={false}
220
- />
221
- </div>
222
- {/if}
219
+ {#if !emptyString(jsonError)}<span class="text-red-400 text-xs mb-1 flex flex-row-reverse"
220
+ >{jsonError}</span
221
+ >{:else}<div class="py-2" />{/if}
222
+ <div class="h-full w-full border p-1 rounded">
223
+ <SimpleEditor
224
+ autoHeight
225
+ class="editor"
226
+ lang="json"
227
+ bind:code={rawCode}
228
+ fixedOverflowWidgets={false}
229
+ />
223
230
  </div>
224
- </div>
231
+ {/if}
225
232
  </div>
226
- <svelte:fragment slot="actions">
227
- <Button
228
- startIcon={{ icon: Save }}
229
- on:click={editResource}
230
- disabled={!can_write || !isValid || jsonError != ''}
231
- >
232
- Save
233
- </Button>
234
- </svelte:fragment>
235
- </DrawerContent>
236
- </Drawer>
233
+ </div>
234
+ </div>
@@ -1,7 +1,13 @@
1
1
  import { SvelteComponent } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
- initEdit?: ((p: string) => Promise<void>) | undefined;
4
+ canSave?: boolean | undefined;
5
+ resource_type?: string | undefined;
6
+ path?: string | undefined;
7
+ newResource?: boolean | undefined;
8
+ hidePath?: boolean | undefined;
9
+ editResource?: (() => Promise<void>) | undefined;
10
+ createResource?: (() => Promise<void>) | undefined;
5
11
  };
6
12
  events: {
7
13
  refresh: CustomEvent<any>;
@@ -14,6 +20,7 @@ export type ResourceEditorProps = typeof __propDef.props;
14
20
  export type ResourceEditorEvents = typeof __propDef.events;
15
21
  export type ResourceEditorSlots = typeof __propDef.slots;
16
22
  export default class ResourceEditor extends SvelteComponent<ResourceEditorProps, ResourceEditorEvents, ResourceEditorSlots> {
17
- get initEdit(): (p: string) => Promise<void>;
23
+ get editResource(): () => Promise<void>;
24
+ get createResource(): () => Promise<void>;
18
25
  }
19
26
  export {};
@@ -0,0 +1,45 @@
1
+ <script>import ResourceEditor from './ResourceEditor.svelte';
2
+ import { Button, Drawer } from './common';
3
+ import DrawerContent from './common/drawer/DrawerContent.svelte';
4
+ import { Save } from 'lucide-svelte';
5
+ let drawer;
6
+ let canSave = true;
7
+ let resource_type = undefined;
8
+ let resourceEditor = undefined;
9
+ let path = undefined;
10
+ export async function initEdit(p) {
11
+ resource_type = undefined;
12
+ path = p;
13
+ drawer.openDrawer?.();
14
+ }
15
+ export async function initNew(resourceType) {
16
+ path = undefined;
17
+ resource_type = resourceType;
18
+ drawer.openDrawer?.();
19
+ }
20
+ </script>
21
+
22
+ <Drawer bind:this={drawer} size="800px">
23
+ <DrawerContent title={path ? 'Edit ' + path : 'Add a resource'} on:close={drawer.closeDrawer}>
24
+ <ResourceEditor
25
+ newResource
26
+ {path}
27
+ {resource_type}
28
+ on:refresh
29
+ bind:this={resourceEditor}
30
+ bind:canSave
31
+ />
32
+ <svelte:fragment slot="actions">
33
+ <Button
34
+ startIcon={{ icon: Save }}
35
+ on:click={() => {
36
+ resourceEditor?.editResource()
37
+ drawer.closeDrawer()
38
+ }}
39
+ disabled={!canSave}
40
+ >
41
+ Save
42
+ </Button>
43
+ </svelte:fragment>
44
+ </DrawerContent>
45
+ </Drawer>
@@ -0,0 +1,21 @@
1
+ import { SvelteComponent } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ initEdit?: ((p: string) => Promise<void>) | undefined;
5
+ initNew?: ((resourceType: string) => Promise<void>) | undefined;
6
+ };
7
+ events: {
8
+ refresh: CustomEvent<any>;
9
+ } & {
10
+ [evt: string]: CustomEvent<any>;
11
+ };
12
+ slots: {};
13
+ };
14
+ export type ResourceEditorDrawerProps = typeof __propDef.props;
15
+ export type ResourceEditorDrawerEvents = typeof __propDef.events;
16
+ export type ResourceEditorDrawerSlots = typeof __propDef.slots;
17
+ export default class ResourceEditorDrawer extends SvelteComponent<ResourceEditorDrawerProps, ResourceEditorDrawerEvents, ResourceEditorDrawerSlots> {
18
+ get initEdit(): (p: string) => Promise<void>;
19
+ get initNew(): (resourceType: string) => Promise<void>;
20
+ }
21
+ export {};
@@ -3,12 +3,12 @@ import { workspaceStore } from '../stores';
3
3
  import { createEventDispatcher } from 'svelte';
4
4
  import Select from './apps/svelte-select/lib/index';
5
5
  import { SELECT_INPUT_DEFAULT_STYLE } from '../defaults';
6
- import AppConnect from './AppConnect.svelte';
6
+ import AppConnect from './AppConnectDrawer.svelte';
7
7
  import { Button } from './common';
8
- import ResourceEditor from './ResourceEditor.svelte';
9
8
  import DBSchemaExplorer from './DBSchemaExplorer.svelte';
10
9
  import DarkModeObserver from './DarkModeObserver.svelte';
11
10
  import { Pen, Plus, RotateCw } from 'lucide-svelte';
11
+ import ResourceEditorDrawer from './ResourceEditorDrawer.svelte';
12
12
  const dispatch = createEventDispatcher();
13
13
  export let initialValue = undefined;
14
14
  export let value = initialValue;
@@ -24,6 +24,9 @@ let valueSelect = initialValue || value
24
24
  type: valueType
25
25
  }
26
26
  : undefined;
27
+ $: if (value === undefined && initialValue) {
28
+ value = initialValue;
29
+ }
27
30
  let collection = valueSelect ? [valueSelect] : [];
28
31
  async function loadResources(resourceType) {
29
32
  const nc = (await ResourceService.listResource({
@@ -47,11 +50,7 @@ async function loadResources(resourceType) {
47
50
  valueSelect = collection[0];
48
51
  }
49
52
  }
50
- $: {
51
- if ($workspaceStore) {
52
- loadResources(resourceType);
53
- }
54
- }
53
+ $: $workspaceStore && loadResources(resourceType);
55
54
  $: dispatch('change', value);
56
55
  let appConnect;
57
56
  let resourceEditor;
@@ -71,11 +70,10 @@ let darkMode = false;
71
70
  type: valueType ?? ''
72
71
  }
73
72
  }}
74
- newPageOAuth
75
73
  bind:this={appConnect}
76
74
  />
77
75
 
78
- <ResourceEditor
76
+ <ResourceEditorDrawer
79
77
  bind:this={resourceEditor}
80
78
  on:refresh={async (e) => {
81
79
  await loadResources(resourceType)
@@ -86,6 +84,7 @@ let darkMode = false;
86
84
  }
87
85
  }}
88
86
  />
87
+
89
88
  <div class="flex flex-col w-full items-start">
90
89
  <div class="flex flex-row gap-x-1 w-full">
91
90
  <Select
@@ -2,11 +2,15 @@
2
2
  import { ResourceService } from '../gen';
3
3
  import { workspaceStore } from '../stores';
4
4
  import IconedResourceType from './IconedResourceType.svelte';
5
- import { Button, ClearableInput } from './common';
6
- let resources = [];
5
+ import { Button, ClearableInput, Popup } from './common';
6
+ import { offset, flip, shift } from 'svelte-floating-ui/dom';
7
+ import Label from './Label.svelte';
8
+ import Tooltip from './Tooltip.svelte';
9
+ import Badge from './common/badge/Badge.svelte';
7
10
  export let value;
8
11
  export let notPickable = false;
9
12
  export let nonePickable = false;
13
+ let resources = [];
10
14
  async function loadResources() {
11
15
  resources = await ResourceService.listResourceTypeNames({ workspace: $workspaceStore });
12
16
  }
@@ -22,38 +26,86 @@ let search = '';
22
26
  $: filteredResources = resources.filter((r) => r.toLowerCase().includes(search.toLowerCase()));
23
27
  </script>
24
28
 
25
- <div class="mb-2">
26
- <ClearableInput bind:value={search} placeholder="Search resource..." />
27
- </div>
28
- <div class="grid sm:grid-cols-2 md:grid-cols-3 gap-x-2 gap-y-1 items-center mb-2">
29
- {#if nonePickable && search === ''}
30
- {@const isPicked = value === undefined}
31
- <Button
32
- size="sm"
33
- variant="border"
34
- color={isPicked ? 'blue' : 'dark'}
35
- btnClasses={isPicked ? '!border-2' : 'm-[1px]'}
36
- disabled={notPickable}
37
- on:click={() => onClick(undefined)}
38
- >
39
- None
40
- </Button>
41
- {/if}
42
- {#each filteredResources as r}
43
- {@const isPicked = value === r}
44
- <Button
45
- size="sm"
46
- variant="border"
47
- color={isPicked ? 'blue' : 'light'}
48
- btnClasses={isPicked ? '!border-2' : 'm-[1px]'}
49
- disabled={notPickable}
50
- on:click={() => onClick(r)}
51
- >
52
- <IconedResourceType name={r} after={true} width="20px" height="20px" />
53
- </Button>
54
- {/each}
29
+ <Label label="Resource type" class="w-full col-span-2">
30
+ <svelte:fragment slot="header">
31
+ <Tooltip light small>Select a resource type to narrow down the object type.</Tooltip>
32
+ </svelte:fragment>
33
+
34
+ <svelte:fragment slot="action">
35
+ <div class="flex flex-row gap-1">
36
+ <Button
37
+ size="xs"
38
+ color="light"
39
+ on:click={() => onClick(undefined)}
40
+ disabled={notPickable || value === undefined}
41
+ >
42
+ Clear
43
+ </Button>
44
+ <Popup
45
+ floatingConfig={{
46
+ strategy: 'fixed',
47
+ placement: 'left-end',
48
+ middleware: [offset(8), flip(), shift()]
49
+ }}
50
+ containerClasses="border rounded-lg shadow-lg bg-surface p-4 w-[500px] h-[500px] "
51
+ let:close
52
+ >
53
+ <svelte:fragment slot="button">
54
+ <Button nonCaptureEvent size="xs" color="dark">Select resource type</Button>
55
+ </svelte:fragment>
56
+
57
+ <div class="flex flex-col gap-2 h-full">
58
+ <ClearableInput bind:value={search} placeholder="Search resource..." />
59
+
60
+ <div class="overflow-y-scroll h-full">
61
+ <div
62
+ class="grid sm:grid-cols-2 md:grid-cols-3 gap-x-2 gap-y-1 items-center overflow-x-hidden"
63
+ >
64
+ {#if nonePickable && search === ''}
65
+ {@const isPicked = value === undefined}
66
+ <Button
67
+ size="sm"
68
+ variant="border"
69
+ color={isPicked ? 'blue' : 'dark'}
70
+ btnClasses={isPicked ? '!border-2' : 'm-[1px]'}
71
+ disabled={notPickable}
72
+ on:click={() => {
73
+ onClick(undefined)
74
+ close(null)
75
+ }}
76
+ >
77
+ None
78
+ </Button>
79
+ {/if}
80
+ {#each filteredResources as r}
81
+ {@const isPicked = value === r}
82
+ <Button
83
+ size="sm"
84
+ variant="border"
85
+ color={isPicked ? 'blue' : 'light'}
86
+ btnClasses={isPicked ? '!border-2' : 'm-[1px]'}
87
+ disabled={notPickable}
88
+ on:click={() => {
89
+ onClick(r)
90
+ close(null)
91
+ }}
92
+ >
93
+ <IconedResourceType name={r} after={true} width="20px" height="20px" />
94
+ </Button>
95
+ {/each}
55
96
 
56
- {#if filteredResources.length === 0 && search !== ''}
57
- <div class="text-tertiary text-sm">No resources found</div>
58
- {/if}
59
- </div>
97
+ {#if filteredResources.length === 0 && search !== ''}
98
+ <div class="text-tertiary text-sm">No resources found</div>
99
+ {/if}
100
+ </div>
101
+ </div>
102
+ </div>
103
+ </Popup>
104
+ </div>
105
+ </svelte:fragment>
106
+ <div class="flex flex-row items-center w-full justify-between">
107
+ <Badge color={!value ? 'gray' : 'blue'}>
108
+ {value ?? 'None'}
109
+ </Badge>
110
+ </div>
111
+ </Label>
@@ -47,7 +47,7 @@ export async function abstractRun(fn, callbacks) {
47
47
  return testId;
48
48
  }
49
49
  catch (err) {
50
- callbacks?.error();
50
+ callbacks?.error(err);
51
51
  // if error happens on submitting the job, reset UI state so the user can try again
52
52
  isLoading = false;
53
53
  currentId = undefined;
@@ -142,7 +142,7 @@ async function loadTestJob(id, callbacks) {
142
142
  job = { ...maybe_job, id };
143
143
  await tick();
144
144
  if (!job?.success && typeof job?.result == 'object' && 'error' in (job?.result ?? {})) {
145
- callbacks?.error();
145
+ callbacks?.error(job.result.error);
146
146
  dispatch('doneError', {
147
147
  id,
148
148
  error: job.result.error