windmill-components 1.46.3 → 1.52.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 (496) hide show
  1. package/common.d.ts +6 -5
  2. package/components/ApiConnectForm.svelte +21 -0
  3. package/components/ApiConnectForm.svelte.d.ts +18 -0
  4. package/components/AppConnect.svelte +229 -174
  5. package/components/AppConnect.svelte.d.ts +4 -3
  6. package/components/ArgInfo.svelte +2 -2
  7. package/components/ArgInfo.svelte.d.ts +3 -3
  8. package/components/ArgInput.svelte +82 -28
  9. package/components/ArgInput.svelte.d.ts +10 -3
  10. package/components/Badge.svelte.d.ts +3 -3
  11. package/components/Button.svelte +1 -1
  12. package/components/Button.svelte.d.ts +3 -3
  13. package/components/ButtonAndDropdown.svelte.d.ts +3 -3
  14. package/components/CenteredModal.svelte +20 -13
  15. package/components/CenteredModal.svelte.d.ts +3 -3
  16. package/components/ChevronButton.svelte.d.ts +3 -3
  17. package/components/CollapseLink.svelte.d.ts +3 -3
  18. package/components/CronInput.svelte +1 -1
  19. package/components/CronInput.svelte.d.ts +3 -3
  20. package/components/DisplayResult.svelte.d.ts +3 -3
  21. package/components/Dropdown.svelte +13 -7
  22. package/components/Dropdown.svelte.d.ts +3 -3
  23. package/components/Editor.svelte +3 -2
  24. package/components/Editor.svelte.d.ts +4 -3
  25. package/components/EditorBar.svelte +34 -38
  26. package/components/EditorBar.svelte.d.ts +3 -3
  27. package/components/FieldHeader.svelte +4 -3
  28. package/components/FieldHeader.svelte.d.ts +3 -3
  29. package/components/FlowBuilder.svelte +37 -14
  30. package/components/FlowBuilder.svelte.d.ts +4 -3
  31. package/components/FlowGraphViewer.svelte +76 -0
  32. package/components/FlowGraphViewer.svelte.d.ts +23 -0
  33. package/components/FlowJobResult.svelte.d.ts +3 -3
  34. package/components/FlowMetadata.svelte.d.ts +3 -3
  35. package/components/FlowPreviewContent.svelte +54 -64
  36. package/components/FlowPreviewContent.svelte.d.ts +3 -3
  37. package/components/FlowStatusViewer.svelte +156 -106
  38. package/components/FlowStatusViewer.svelte.d.ts +5 -4
  39. package/components/FlowViewer.svelte +3 -78
  40. package/components/FlowViewer.svelte.d.ts +3 -3
  41. package/components/GroupModal.svelte.d.ts +3 -3
  42. package/components/HighlightCode.svelte.d.ts +3 -3
  43. package/components/IconedPath.svelte.d.ts +3 -3
  44. package/components/IconedResourceType.svelte +3 -61
  45. package/components/IconedResourceType.svelte.d.ts +3 -3
  46. package/components/InputTransformForm.svelte +108 -77
  47. package/components/InputTransformForm.svelte.d.ts +10 -5
  48. package/components/InputTransformsViewer.svelte.d.ts +3 -3
  49. package/components/InviteGlobalUser.svelte.d.ts +3 -3
  50. package/components/InviteUser.svelte.d.ts +3 -3
  51. package/components/ItemPicker.svelte +77 -29
  52. package/components/ItemPicker.svelte.d.ts +6 -4
  53. package/components/JobArgs.svelte +5 -5
  54. package/components/JobArgs.svelte.d.ts +3 -3
  55. package/components/JobStatus.svelte.d.ts +3 -3
  56. package/components/LogViewer.svelte +19 -4
  57. package/components/LogViewer.svelte.d.ts +3 -3
  58. package/components/Modal.svelte.d.ts +3 -3
  59. package/components/ModulePreview.svelte +8 -0
  60. package/components/ModulePreview.svelte.d.ts +3 -3
  61. package/components/ObjectResourceInput.svelte +37 -21
  62. package/components/ObjectResourceInput.svelte.d.ts +4 -3
  63. package/components/ObjectTypeNarrowing.svelte.d.ts +3 -3
  64. package/components/PageHeader.svelte +2 -2
  65. package/components/PageHeader.svelte.d.ts +3 -3
  66. package/components/Password.svelte +2 -2
  67. package/components/Password.svelte.d.ts +4 -4
  68. package/components/Path.svelte +4 -1
  69. package/components/Path.svelte.d.ts +5 -4
  70. package/components/Popover.svelte.d.ts +3 -3
  71. package/components/RadioButton.svelte.d.ts +3 -3
  72. package/components/Required.svelte.d.ts +3 -3
  73. package/components/ResourceEditor.svelte +73 -163
  74. package/components/ResourceEditor.svelte.d.ts +3 -5
  75. package/components/ResourcePicker.svelte +33 -30
  76. package/components/ResourcePicker.svelte.d.ts +3 -3
  77. package/components/ResourceTypePicker.svelte.d.ts +3 -3
  78. package/components/RunChart.svelte.d.ts +3 -3
  79. package/components/RunForm.svelte.d.ts +3 -3
  80. package/components/SchemaEditor.svelte +55 -23
  81. package/components/SchemaEditor.svelte.d.ts +3 -3
  82. package/components/SchemaEditorProperty.svelte.d.ts +3 -3
  83. package/components/SchemaForm.svelte +97 -33
  84. package/components/SchemaForm.svelte.d.ts +8 -4
  85. package/components/SchemaModal.svelte.d.ts +4 -4
  86. package/components/SchemaViewer.svelte.d.ts +3 -3
  87. package/components/ScriptBuilder.svelte +64 -66
  88. package/components/ScriptBuilder.svelte.d.ts +3 -3
  89. package/components/ScriptEditor.svelte +26 -28
  90. package/components/ScriptEditor.svelte.d.ts +4 -3
  91. package/components/ScriptPicker.svelte +28 -38
  92. package/components/ScriptPicker.svelte.d.ts +4 -3
  93. package/components/ScriptSchema.svelte +1 -1
  94. package/components/ScriptSchema.svelte.d.ts +3 -3
  95. package/components/SearchItems.svelte +29 -0
  96. package/components/SearchItems.svelte.d.ts +23 -0
  97. package/components/ShareModal.svelte.d.ts +3 -3
  98. package/components/SharedBadge.svelte +4 -2
  99. package/components/SharedBadge.svelte.d.ts +3 -3
  100. package/components/SimpleEditor.svelte +33 -7
  101. package/components/SimpleEditor.svelte.d.ts +4 -4
  102. package/components/Star.svelte +42 -0
  103. package/components/Star.svelte.d.ts +19 -0
  104. package/components/StringTypeNarrowing.svelte.d.ts +3 -3
  105. package/components/SuperadminSettings.svelte +18 -15
  106. package/components/SuperadminSettings.svelte.d.ts +3 -3
  107. package/components/TableCustom.svelte +1 -1
  108. package/components/TableCustom.svelte.d.ts +3 -3
  109. package/components/TableSimple.svelte.d.ts +3 -3
  110. package/components/TestJobLoader.svelte +41 -24
  111. package/components/TestJobLoader.svelte.d.ts +9 -3
  112. package/components/Toggle.svelte.d.ts +3 -3
  113. package/components/Tooltip.svelte.d.ts +3 -3
  114. package/components/UserSettings.svelte.d.ts +3 -3
  115. package/components/VariableEditor.svelte +71 -32
  116. package/components/VariableEditor.svelte.d.ts +5 -3
  117. package/components/apps/CreateApp.svelte +65 -0
  118. package/components/apps/CreateApp.svelte.d.ts +14 -0
  119. package/components/apps/components/DisplayComponent.svelte +23 -0
  120. package/components/apps/components/DisplayComponent.svelte.d.ts +19 -0
  121. package/components/apps/components/buttons/AppButton.svelte +42 -0
  122. package/components/apps/components/buttons/AppButton.svelte.d.ts +25 -0
  123. package/components/apps/components/dataDisplay/AppBarChart.svelte +18 -0
  124. package/components/apps/components/dataDisplay/AppBarChart.svelte.d.ts +23 -0
  125. package/components/apps/components/dataDisplay/AppPieChart.svelte +22 -0
  126. package/components/apps/components/dataDisplay/AppPieChart.svelte.d.ts +23 -0
  127. package/components/apps/components/dataDisplay/AppTable.svelte +135 -0
  128. package/components/apps/components/dataDisplay/AppTable.svelte.d.ts +27 -0
  129. package/components/apps/components/dataDisplay/AppText.svelte +15 -0
  130. package/components/apps/components/dataDisplay/AppText.svelte.d.ts +21 -0
  131. package/components/apps/components/helpers/AlignWrapper.svelte +29 -0
  132. package/components/apps/components/helpers/AlignWrapper.svelte.d.ts +19 -0
  133. package/components/apps/components/helpers/DebouncedInput.svelte +16 -0
  134. package/components/apps/components/helpers/DebouncedInput.svelte.d.ts +19 -0
  135. package/components/apps/components/helpers/InputValue.svelte +37 -0
  136. package/components/apps/components/helpers/InputValue.svelte.d.ts +18 -0
  137. package/components/apps/components/helpers/RunnableComponent.svelte +182 -0
  138. package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +28 -0
  139. package/components/apps/components/index.d.ts +22 -0
  140. package/components/apps/components/index.js +42 -0
  141. package/components/apps/components/selectInputs/AppCheckbox.svelte +26 -0
  142. package/components/apps/components/selectInputs/AppCheckbox.svelte.d.ts +22 -0
  143. package/components/apps/editor/AppEditor.svelte +105 -0
  144. package/components/apps/editor/AppEditor.svelte.d.ts +19 -0
  145. package/components/apps/editor/AppEditorHeader.svelte +75 -0
  146. package/components/apps/editor/AppEditorHeader.svelte.d.ts +19 -0
  147. package/components/apps/editor/ComponentEditor.svelte +64 -0
  148. package/components/apps/editor/ComponentEditor.svelte.d.ts +18 -0
  149. package/components/apps/editor/GridEditor.svelte +45 -0
  150. package/components/apps/editor/GridEditor.svelte.d.ts +14 -0
  151. package/components/apps/editor/componentsPanel/ComponentList.svelte +92 -0
  152. package/components/apps/editor/componentsPanel/ComponentList.svelte.d.ts +14 -0
  153. package/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +7 -0
  154. package/components/apps/editor/componentsPanel/componentDefaultProps.js +9 -0
  155. package/components/apps/editor/componentsPanel/componentStaticValues.d.ts +4 -0
  156. package/components/apps/editor/componentsPanel/componentStaticValues.js +6 -0
  157. package/components/apps/editor/componentsPanel/data.d.ts +3 -0
  158. package/components/apps/editor/componentsPanel/data.js +158 -0
  159. package/components/apps/editor/componentsPanel/store.d.ts +9 -0
  160. package/components/apps/editor/componentsPanel/store.js +16 -0
  161. package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +22 -0
  162. package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte.d.ts +19 -0
  163. package/components/apps/editor/contextPanel/ContextPanel.svelte +184 -0
  164. package/components/apps/editor/contextPanel/ContextPanel.svelte.d.ts +16 -0
  165. package/components/apps/editor/contextPanel/InlineScriptCreationPanel.svelte +29 -0
  166. package/components/apps/editor/contextPanel/InlineScriptCreationPanel.svelte.d.ts +16 -0
  167. package/components/apps/editor/settingsPanel/ComponentPanel.svelte +196 -0
  168. package/components/apps/editor/settingsPanel/ComponentPanel.svelte.d.ts +18 -0
  169. package/components/apps/editor/settingsPanel/DynamicInputEditor.svelte +64 -0
  170. package/components/apps/editor/settingsPanel/DynamicInputEditor.svelte.d.ts +17 -0
  171. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +11 -0
  172. package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +18 -0
  173. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +99 -0
  174. package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +20 -0
  175. package/components/apps/editor/settingsPanel/PickFlow.svelte +37 -0
  176. package/components/apps/editor/settingsPanel/PickFlow.svelte.d.ts +16 -0
  177. package/components/apps/editor/settingsPanel/PickInlineScript.svelte +38 -0
  178. package/components/apps/editor/settingsPanel/PickInlineScript.svelte.d.ts +20 -0
  179. package/components/apps/editor/settingsPanel/SectionPanel.svelte +70 -0
  180. package/components/apps/editor/settingsPanel/SectionPanel.svelte.d.ts +19 -0
  181. package/components/apps/editor/settingsPanel/StaticInputEditor.svelte +29 -0
  182. package/components/apps/editor/settingsPanel/StaticInputEditor.svelte.d.ts +18 -0
  183. package/components/apps/editor/settingsPanel/TableActions.svelte +107 -0
  184. package/components/apps/editor/settingsPanel/TableActions.svelte.d.ts +19 -0
  185. package/components/apps/editor/settingsPanel/UserInputEditor.svelte +2 -0
  186. package/components/apps/editor/settingsPanel/UserInputEditor.svelte.d.ts +14 -0
  187. package/components/apps/editor/settingsPanel/common/PanelSection.svelte +11 -0
  188. package/components/apps/editor/settingsPanel/common/PanelSection.svelte.d.ts +19 -0
  189. package/components/apps/gridUtils.d.ts +11 -0
  190. package/components/apps/gridUtils.js +24 -0
  191. package/components/apps/rx.d.ts +27 -0
  192. package/components/apps/rx.js +87 -0
  193. package/components/apps/types.d.ts +120 -0
  194. package/components/apps/types.js +1 -0
  195. package/components/apps/utils.d.ts +36 -0
  196. package/components/apps/utils.js +96 -0
  197. package/components/common/actionRow/ActionRow.svelte.d.ts +3 -3
  198. package/components/common/alert/Alert.svelte +29 -7
  199. package/components/common/alert/Alert.svelte.d.ts +4 -3
  200. package/components/common/alert/model.d.ts +1 -1
  201. package/components/common/badge/Badge.svelte +3 -7
  202. package/components/common/badge/Badge.svelte.d.ts +6 -4
  203. package/components/common/badge/model.d.ts +2 -2
  204. package/components/common/breadcrumb/Breadcrumb.svelte.d.ts +3 -3
  205. package/components/common/button/Button.svelte +24 -6
  206. package/components/common/button/Button.svelte.d.ts +6 -4
  207. package/components/common/button/ButtonPopup.svelte +3 -1
  208. package/components/common/button/ButtonPopup.svelte.d.ts +5 -4
  209. package/components/common/button/ButtonPopupItem.svelte.d.ts +3 -3
  210. package/components/common/button/model.d.ts +2 -1
  211. package/components/common/button/model.js +2 -1
  212. package/components/common/confirmationModal/ConfirmationModal.svelte.d.ts +3 -3
  213. package/components/common/confirmationModal/UnsavedConfirmationModal.svelte.d.ts +3 -3
  214. package/components/common/drawer/Drawer.svelte +5 -1
  215. package/components/common/drawer/Drawer.svelte.d.ts +3 -3
  216. package/components/common/drawer/DrawerContent.svelte +11 -3
  217. package/components/common/drawer/DrawerContent.svelte.d.ts +5 -3
  218. package/components/common/languageIcons/LanguageIcon.svelte +6 -4
  219. package/components/common/languageIcons/LanguageIcon.svelte.d.ts +4 -4
  220. package/components/common/menu/Menu.svelte +7 -5
  221. package/components/common/menu/Menu.svelte.d.ts +7 -6
  222. package/components/common/menu/MenuItem.svelte +1 -0
  223. package/components/common/popup/Popup.svelte.d.ts +3 -3
  224. package/components/common/skeleton/Skeleton.svelte.d.ts +3 -3
  225. package/components/common/skeleton/SkeletonElement.svelte.d.ts +3 -3
  226. package/components/common/skeleton/model.d.ts +4 -4
  227. package/components/common/table/AppRow.svelte +61 -0
  228. package/components/common/table/AppRow.svelte.d.ts +23 -0
  229. package/components/common/table/FlowRow.svelte +136 -0
  230. package/components/common/table/FlowRow.svelte.d.ts +25 -0
  231. package/components/common/table/LanguageBadge.svelte +32 -0
  232. package/components/common/table/LanguageBadge.svelte.d.ts +24 -0
  233. package/components/common/table/Row.svelte +47 -0
  234. package/components/common/table/Row.svelte.d.ts +27 -0
  235. package/components/common/table/RowIcon.svelte +23 -0
  236. package/components/common/table/RowIcon.svelte.d.ts +16 -0
  237. package/components/common/table/ScriptRow.svelte +147 -0
  238. package/components/common/table/ScriptRow.svelte.d.ts +25 -0
  239. package/components/common/table/Table.svelte +9 -0
  240. package/components/common/table/Table.svelte.d.ts +23 -0
  241. package/components/common/tabs/Tab.svelte +15 -4
  242. package/components/common/tabs/Tab.svelte.d.ts +5 -3
  243. package/components/common/tabs/TabContent.svelte.d.ts +3 -3
  244. package/components/common/tabs/Tabs.svelte +5 -1
  245. package/components/common/tabs/Tabs.svelte.d.ts +4 -4
  246. package/components/common/toggleButton/ToggleButton.svelte +12 -9
  247. package/components/common/toggleButton/ToggleButton.svelte.d.ts +6 -4
  248. package/components/common/toggleButton/ToggleButtonGroup.svelte +12 -19
  249. package/components/common/toggleButton/ToggleButtonGroup.svelte.d.ts +10 -8
  250. package/components/flows/CreateActionsFlow.svelte +66 -0
  251. package/components/flows/CreateActionsFlow.svelte.d.ts +14 -0
  252. package/components/flows/FlowEditor.svelte +22 -5
  253. package/components/flows/FlowEditor.svelte.d.ts +4 -3
  254. package/components/flows/FlowProgressBar.svelte.d.ts +3 -3
  255. package/components/flows/common/FlowCard.svelte.d.ts +3 -3
  256. package/components/flows/common/FlowCardHeader.svelte +3 -1
  257. package/components/flows/common/FlowCardHeader.svelte.d.ts +3 -3
  258. package/components/flows/content/CapturePayload.svelte.d.ts +3 -3
  259. package/components/flows/content/DynamicInputHelpBox.svelte +2 -32
  260. package/components/flows/content/DynamicInputHelpBox.svelte.d.ts +4 -6
  261. package/components/flows/content/FlowBranchAllWrapper.svelte.d.ts +3 -3
  262. package/components/flows/content/FlowBranchOneWrapper.svelte +3 -2
  263. package/components/flows/content/FlowBranchOneWrapper.svelte.d.ts +3 -3
  264. package/components/flows/content/FlowBranchesWrapper.svelte +2 -2
  265. package/components/flows/content/FlowBranchesWrapper.svelte.d.ts +3 -3
  266. package/components/flows/content/FlowEditorPanel.svelte +2 -0
  267. package/components/flows/content/FlowEditorPanel.svelte.d.ts +3 -3
  268. package/components/flows/content/FlowFailureModule.svelte.d.ts +3 -3
  269. package/components/flows/content/FlowInput.svelte +9 -12
  270. package/components/flows/content/FlowInput.svelte.d.ts +3 -3
  271. package/components/flows/content/FlowInputs.svelte +119 -140
  272. package/components/flows/content/FlowInputs.svelte.d.ts +4 -7
  273. package/components/flows/content/FlowLoop.svelte +3 -2
  274. package/components/flows/content/FlowLoop.svelte.d.ts +3 -3
  275. package/components/flows/content/FlowModuleComponent.svelte +49 -45
  276. package/components/flows/content/FlowModuleComponent.svelte.d.ts +3 -3
  277. package/components/flows/content/FlowModuleEarlyStop.svelte +3 -2
  278. package/components/flows/content/FlowModuleEarlyStop.svelte.d.ts +3 -3
  279. package/components/flows/content/FlowModuleHeader.svelte +6 -3
  280. package/components/flows/content/FlowModuleHeader.svelte.d.ts +3 -3
  281. package/components/flows/content/FlowModuleScript.svelte.d.ts +3 -3
  282. package/components/flows/content/FlowModuleSuspend.svelte +9 -3
  283. package/components/flows/content/FlowModuleSuspend.svelte.d.ts +3 -3
  284. package/components/flows/content/FlowModuleWrapper.svelte +0 -22
  285. package/components/flows/content/FlowModuleWrapper.svelte.d.ts +3 -3
  286. package/components/flows/content/FlowRetries.svelte.d.ts +3 -3
  287. package/components/flows/content/FlowSchedules.svelte.d.ts +3 -3
  288. package/components/flows/content/FlowSettings.svelte +88 -93
  289. package/components/flows/content/FlowSettings.svelte.d.ts +3 -3
  290. package/components/flows/content/RemoveStepConfirmationModal.svelte.d.ts +3 -3
  291. package/components/flows/flowState.d.ts +2 -2
  292. package/components/flows/flowStateUtils.d.ts +1 -0
  293. package/components/flows/flowStateUtils.js +13 -2
  294. package/components/flows/flowStore.d.ts +1 -1
  295. package/components/flows/flowStore.js +1 -1
  296. package/components/flows/header/FlowImportExportMenu.svelte +9 -23
  297. package/components/flows/header/FlowImportExportMenu.svelte.d.ts +3 -3
  298. package/components/flows/header/FlowPreviewButtons.svelte +20 -16
  299. package/components/flows/header/FlowPreviewButtons.svelte.d.ts +3 -3
  300. package/components/flows/map/FlowBranchAllMap.svelte +47 -37
  301. package/components/flows/map/FlowBranchAllMap.svelte.d.ts +3 -3
  302. package/components/flows/map/FlowBranchOneMap.svelte +50 -42
  303. package/components/flows/map/FlowBranchOneMap.svelte.d.ts +3 -3
  304. package/components/flows/map/FlowErrorHandlerItem.svelte +5 -3
  305. package/components/flows/map/FlowErrorHandlerItem.svelte.d.ts +3 -3
  306. package/components/flows/map/FlowInputsItem.svelte +3 -2
  307. package/components/flows/map/FlowInputsItem.svelte.d.ts +3 -3
  308. package/components/flows/map/FlowModuleSchemaItem.svelte +26 -31
  309. package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +5 -5
  310. package/components/flows/map/FlowModuleSchemaMap.svelte +50 -92
  311. package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +3 -4
  312. package/components/flows/map/FlowSettingsItem.svelte +8 -7
  313. package/components/flows/map/FlowSettingsItem.svelte.d.ts +3 -3
  314. package/components/flows/map/InsertModuleButton.svelte +62 -8
  315. package/components/flows/map/InsertModuleButton.svelte.d.ts +4 -4
  316. package/components/flows/map/MapItem.svelte +30 -16
  317. package/components/flows/map/MapItem.svelte.d.ts +4 -6
  318. package/components/flows/pickers/FlowScriptPicker.svelte +11 -4
  319. package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +8 -6
  320. package/components/flows/pickers/PickHubScript.svelte +74 -29
  321. package/components/flows/pickers/PickHubScript.svelte.d.ts +5 -6
  322. package/components/flows/pickers/PickScript.svelte +16 -9
  323. package/components/flows/pickers/PickScript.svelte.d.ts +3 -4
  324. package/components/flows/pickers/WorkspaceScriptPicker.svelte +53 -0
  325. package/components/flows/pickers/WorkspaceScriptPicker.svelte.d.ts +19 -0
  326. package/components/flows/pickers/model.d.ts +5 -3
  327. package/components/flows/previousResults.d.ts +2 -2
  328. package/components/flows/previousResults.js +5 -5
  329. package/components/flows/propPicker/PropPickerWrapper.svelte +2 -2
  330. package/components/flows/propPicker/PropPickerWrapper.svelte.d.ts +7 -7
  331. package/components/flows/scheduleUtils.d.ts +1 -1
  332. package/components/flows/scheduleUtils.js +1 -1
  333. package/components/flows/types.d.ts +1 -1
  334. package/components/flows/utils.d.ts +1 -1
  335. package/components/flows/utils.js +4 -9
  336. package/components/graph/FlowGraph.svelte +57 -18
  337. package/components/graph/FlowGraph.svelte.d.ts +6 -4
  338. package/components/graph/model.d.ts +7 -6
  339. package/components/icons/AirtableIcon.svelte.d.ts +3 -3
  340. package/components/icons/DbIcon.svelte.d.ts +3 -3
  341. package/components/icons/DiscordIcon.svelte.d.ts +3 -3
  342. package/components/icons/GCloudIcon.svelte.d.ts +3 -3
  343. package/components/icons/GItlabIcon.svelte.d.ts +3 -3
  344. package/components/icons/GSheetsIcon.svelte.d.ts +3 -3
  345. package/components/icons/GcalIcon.svelte.d.ts +3 -3
  346. package/components/icons/GdriveIcon.svelte.d.ts +3 -3
  347. package/components/icons/GithubIcon.svelte.d.ts +3 -3
  348. package/components/icons/GmailIcon.svelte.d.ts +3 -3
  349. package/components/icons/HatIcon.svelte.d.ts +3 -3
  350. package/components/icons/HttpIcon.svelte.d.ts +3 -3
  351. package/components/icons/Mail.svelte.d.ts +3 -3
  352. package/components/icons/MailchimpIcon.svelte +18 -0
  353. package/components/icons/MailchimpIcon.svelte.d.ts +17 -0
  354. package/components/icons/MastodonIcon.svelte.d.ts +3 -3
  355. package/components/icons/MatrixIcon.svelte.d.ts +3 -3
  356. package/components/icons/Mysql.svelte.d.ts +3 -3
  357. package/components/icons/PostgresIcon.svelte.d.ts +3 -3
  358. package/components/icons/S3Icon.svelte.d.ts +3 -3
  359. package/components/icons/SendgridIcon.svelte +66 -0
  360. package/components/icons/SendgridIcon.svelte.d.ts +17 -0
  361. package/components/icons/Slack.svelte.d.ts +3 -3
  362. package/components/icons/TogglIcon.svelte.d.ts +3 -3
  363. package/components/icons/WindmillIcon.svelte.d.ts +3 -3
  364. package/components/icons/index.d.ts +48 -0
  365. package/components/icons/index.js +48 -0
  366. package/components/jobs/JobDetail.svelte +2 -2
  367. package/components/jobs/JobDetail.svelte.d.ts +3 -3
  368. package/components/preview/FlowPreviewStatus.svelte.d.ts +3 -3
  369. package/components/progressBar/ProgressBar.svelte.d.ts +3 -3
  370. package/components/progressBar/ProgressBarGeneralPart.svelte.d.ts +3 -3
  371. package/components/progressBar/ProgressBarLoopAccessor.svelte.d.ts +3 -3
  372. package/components/progressBar/ProgressBarLoopPart.svelte.d.ts +3 -3
  373. package/components/progressBar/model.d.ts +9 -9
  374. package/components/propertyPicker/ObjectViewer.svelte +34 -9
  375. package/components/propertyPicker/ObjectViewer.svelte.d.ts +4 -3
  376. package/components/propertyPicker/PropPicker.svelte +118 -110
  377. package/components/propertyPicker/PropPicker.svelte.d.ts +3 -3
  378. package/components/propertyPicker/PropPickerResult.svelte +0 -1
  379. package/components/propertyPicker/PropPickerResult.svelte.d.ts +3 -3
  380. package/components/scriptEditor/LogPanel.svelte +4 -4
  381. package/components/scriptEditor/LogPanel.svelte.d.ts +3 -3
  382. package/components/scripts/{CreateActions.svelte → CreateActionsScript.svelte} +7 -46
  383. package/components/scripts/CreateActionsScript.svelte.d.ts +14 -0
  384. package/components/sidebar/MenuLink.svelte +7 -4
  385. package/components/sidebar/MenuLink.svelte.d.ts +4 -3
  386. package/components/sidebar/SidebarContent.svelte +25 -18
  387. package/components/sidebar/SidebarContent.svelte.d.ts +7 -3
  388. package/components/sidebar/UserMenu.svelte +1 -1
  389. package/components/sidebar/UserMenu.svelte.d.ts +3 -3
  390. package/components/sidebar/WorkspaceMenu.svelte +3 -3
  391. package/components/sidebar/WorkspaceMenu.svelte.d.ts +3 -3
  392. package/components/splitPanes/SplitPanesWrapper.svelte.d.ts +3 -3
  393. package/editorUtils.d.ts +1 -1
  394. package/editorUtils.js +2 -2
  395. package/gen/core/ApiRequestOptions.d.ts +1 -1
  396. package/gen/core/ApiResult.d.ts +1 -1
  397. package/gen/core/OpenAPI.d.ts +3 -3
  398. package/gen/core/OpenAPI.js +1 -1
  399. package/gen/index.d.ts +2 -0
  400. package/gen/index.js +1 -0
  401. package/gen/models/AppWithLastVersion.d.ts +12 -12
  402. package/gen/models/AuditLog.d.ts +1 -1
  403. package/gen/models/BranchAll.d.ts +1 -1
  404. package/gen/models/BranchOne.d.ts +1 -1
  405. package/gen/models/CompletedJob.d.ts +1 -1
  406. package/gen/models/ContextualVariable.d.ts +1 -1
  407. package/gen/models/CreateResource.d.ts +1 -2
  408. package/gen/models/CreateVariable.d.ts +1 -1
  409. package/gen/models/CreateWorkspace.d.ts +1 -1
  410. package/gen/models/EditResource.d.ts +1 -1
  411. package/gen/models/EditResourceType.d.ts +1 -1
  412. package/gen/models/EditSchedule.d.ts +1 -1
  413. package/gen/models/EditVariable.d.ts +1 -1
  414. package/gen/models/EditWorkspaceUser.d.ts +1 -1
  415. package/gen/models/Flow.d.ts +1 -1
  416. package/gen/models/FlowMetadata.d.ts +2 -1
  417. package/gen/models/FlowModule.d.ts +1 -1
  418. package/gen/models/FlowModuleValue.d.ts +1 -1
  419. package/gen/models/FlowPreview.d.ts +1 -1
  420. package/gen/models/FlowStatus.d.ts +1 -1
  421. package/gen/models/FlowStatusModule.d.ts +1 -1
  422. package/gen/models/FlowValue.d.ts +1 -1
  423. package/gen/models/ForloopFlow.d.ts +1 -1
  424. package/gen/models/GlobalUserInfo.d.ts +1 -1
  425. package/gen/models/Group.d.ts +1 -1
  426. package/gen/models/Identity.d.ts +1 -1
  427. package/gen/models/InputTransform.d.ts +1 -1
  428. package/gen/models/JavascriptTransform.d.ts +1 -1
  429. package/gen/models/Job.d.ts +1 -1
  430. package/gen/models/ListableApp.d.ts +10 -8
  431. package/gen/models/ListableResource.d.ts +13 -0
  432. package/gen/models/ListableResource.js +4 -0
  433. package/gen/models/ListableVariable.d.ts +4 -1
  434. package/gen/models/Login.d.ts +1 -1
  435. package/gen/models/MainArgSignature.d.ts +1 -1
  436. package/gen/models/NewSchedule.d.ts +1 -1
  437. package/gen/models/NewToken.d.ts +1 -1
  438. package/gen/models/NewUser.d.ts +1 -1
  439. package/gen/models/OpenFlow.d.ts +1 -1
  440. package/gen/models/OpenFlowWPath.d.ts +1 -1
  441. package/gen/models/PathScript.d.ts +1 -1
  442. package/gen/models/Policy.d.ts +1 -1
  443. package/gen/models/Preview.d.ts +1 -1
  444. package/gen/models/QueuedJob.d.ts +1 -1
  445. package/gen/models/RawScript.d.ts +2 -1
  446. package/gen/models/Resource.d.ts +1 -1
  447. package/gen/models/ResourceType.d.ts +1 -1
  448. package/gen/models/Retry.d.ts +1 -1
  449. package/gen/models/Schedule.d.ts +1 -1
  450. package/gen/models/Script.d.ts +2 -1
  451. package/gen/models/ScriptArgs.d.ts +1 -1
  452. package/gen/models/SlackToken.d.ts +1 -1
  453. package/gen/models/StaticTransform.d.ts +1 -1
  454. package/gen/models/TokenResponse.d.ts +1 -1
  455. package/gen/models/TruncatedToken.d.ts +1 -1
  456. package/gen/models/Usage.d.ts +1 -1
  457. package/gen/models/User.d.ts +1 -1
  458. package/gen/models/UserWorkspaceList.d.ts +1 -1
  459. package/gen/models/WorkerPing.d.ts +1 -1
  460. package/gen/models/Workspace.d.ts +1 -1
  461. package/gen/models/WorkspaceInvite.d.ts +1 -1
  462. package/gen/services/AppService.d.ts +101 -1
  463. package/gen/services/AppService.js +88 -1
  464. package/gen/services/FavoriteService.d.ts +27 -0
  465. package/gen/services/FavoriteService.js +36 -0
  466. package/gen/services/FlowService.d.ts +7 -91
  467. package/gen/services/FlowService.js +2 -73
  468. package/gen/services/JobService.d.ts +15 -0
  469. package/gen/services/JobService.js +19 -0
  470. package/gen/services/ResourceService.d.ts +3 -2
  471. package/gen/services/ResourceService.js +1 -1
  472. package/gen/services/ScheduleService.d.ts +1 -1
  473. package/gen/services/ScheduleService.js +1 -1
  474. package/gen/services/ScriptService.d.ts +7 -1
  475. package/gen/services/ScriptService.js +2 -1
  476. package/package.json +422 -361
  477. package/script_helpers.d.ts +3 -1
  478. package/script_helpers.js +73 -25
  479. package/stateMachine.d.ts +4 -4
  480. package/stores.d.ts +2 -0
  481. package/stores.js +1 -0
  482. package/utils.d.ts +4 -2
  483. package/utils.js +20 -3
  484. package/components/FlowModulesViewer.svelte +0 -191
  485. package/components/FlowModulesViewer.svelte.d.ts +0 -18
  486. package/components/landing/FlowGettingStarted.svelte +0 -50
  487. package/components/landing/FlowGettingStarted.svelte.d.ts +0 -19
  488. package/components/landing/FlowLandingBox.svelte +0 -39
  489. package/components/landing/FlowLandingBox.svelte.d.ts +0 -17
  490. package/components/landing/RessourceGettingStarted.svelte +0 -21
  491. package/components/landing/RessourceGettingStarted.svelte.d.ts +0 -19
  492. package/components/landing/ScriptBox.svelte +0 -52
  493. package/components/landing/ScriptBox.svelte.d.ts +0 -17
  494. package/components/landing/ScriptGettingStarted.svelte +0 -48
  495. package/components/landing/ScriptGettingStarted.svelte.d.ts +0 -19
  496. package/components/scripts/CreateActions.svelte.d.ts +0 -14
@@ -1,10 +1,13 @@
1
1
  <script>import { ResourceService } from '../gen';
2
+ import { logout } from '../logout';
2
3
  import { workspaceStore } from '../stores';
3
- import RadioButton from './RadioButton.svelte';
4
+ import { ToggleButton, ToggleButtonGroup } from './common';
4
5
  import ResourcePicker from './ResourcePicker.svelte';
5
6
  import SchemaForm from './SchemaForm.svelte';
7
+ import SimpleEditor from './SimpleEditor.svelte';
6
8
  export let format;
7
9
  export let value;
10
+ export let compact;
8
11
  function isString(value) {
9
12
  return typeof value === 'string' || value instanceof String;
10
13
  }
@@ -17,7 +20,15 @@ let option = isString(value) || value == undefined ? 'resource' : 'raw';
17
20
  $: format.startsWith('resource-') && loadSchema(format);
18
21
  async function loadSchema(format) {
19
22
  resourceTypeName = format.substring('resource-'.length);
20
- schema = (await ResourceService.getResourceType({ workspace: $workspaceStore, path: resourceTypeName })).schema;
23
+ try {
24
+ schema = (await ResourceService.getResourceType({
25
+ workspace: $workspaceStore,
26
+ path: resourceTypeName
27
+ })).schema;
28
+ }
29
+ catch (e) {
30
+ schema = undefined;
31
+ }
21
32
  }
22
33
  function argToValue() {
23
34
  value = args;
@@ -42,18 +53,23 @@ function valueToPath() {
42
53
  $: value && valueToPath();
43
54
  </script>
44
55
 
45
- <div class="flex flex-row w-full flex-wrap gap-x-2">
46
- <div class="shrink">
47
- <RadioButton
48
- options={[
49
- [`Resource (${resourceTypeName})`, 'resource'],
50
- [`Raw object value`, 'raw']
51
- ]}
52
- on:change={argToValue}
53
- bind:value={option}
54
- />
55
- </div>
56
- <div class="grow">
56
+ <div class="flex flex-row w-full flex-wrap gap-x-2 gap-y-0.5">
57
+ <ToggleButtonGroup
58
+ col
59
+ bind:selected={option}
60
+ on:selected={(e) => {
61
+ if (e.detail === 'resource') {
62
+ resourceToValue()
63
+ } else {
64
+ argToValue()
65
+ }
66
+ }}
67
+ >
68
+ <ToggleButton light position="center" value="resource" size="xs">Resource</ToggleButton>
69
+ <ToggleButton light position="center" value="raw" size="xs">Raw</ToggleButton>
70
+ </ToggleButtonGroup>
71
+
72
+ <div class="grow flex items-center">
57
73
  {#if option == 'resource'}
58
74
  <ResourcePicker
59
75
  on:refresh={() => loadSchema(format)}
@@ -67,13 +83,13 @@ $: value && valueToPath();
67
83
  : undefined}
68
84
  />
69
85
  {:else}
70
- <div class="border rounded p-5 w-full">
71
- <h2 class="mb-5">
72
- Object of <a target="_blank" href="/resources">resource type</a>
73
- {resourceTypeName}
74
- </h2>
75
- {#if !isString(args)}
76
- <SchemaForm {schema} bind:isValid bind:args />
86
+ <div class="border rounded p-2 w-full">
87
+ {#if schema != undefined}
88
+ {#if !isString(args)}
89
+ <SchemaForm {compact} {schema} bind:isValid bind:args />
90
+ {/if}
91
+ {:else}
92
+ <SimpleEditor autoHeight lang="json" bind:value={args} />
77
93
  {/if}
78
94
  </div>
79
95
  {/if}
@@ -3,15 +3,16 @@ declare const __propDef: {
3
3
  props: {
4
4
  format: string;
5
5
  value: any;
6
+ compact: boolean;
6
7
  };
7
8
  events: {
8
9
  [evt: string]: CustomEvent<any>;
9
10
  };
10
11
  slots: {};
11
12
  };
12
- export declare type ObjectResourceInputProps = typeof __propDef.props;
13
- export declare type ObjectResourceInputEvents = typeof __propDef.events;
14
- export declare type ObjectResourceInputSlots = typeof __propDef.slots;
13
+ export type ObjectResourceInputProps = typeof __propDef.props;
14
+ export type ObjectResourceInputEvents = typeof __propDef.events;
15
+ export type ObjectResourceInputSlots = typeof __propDef.slots;
15
16
  export default class ObjectResourceInput extends SvelteComponentTyped<ObjectResourceInputProps, ObjectResourceInputEvents, ObjectResourceInputSlots> {
16
17
  }
17
18
  export {};
@@ -8,9 +8,9 @@ declare const __propDef: {
8
8
  };
9
9
  slots: {};
10
10
  };
11
- export declare type ObjectTypeNarrowingProps = typeof __propDef.props;
12
- export declare type ObjectTypeNarrowingEvents = typeof __propDef.events;
13
- export declare type ObjectTypeNarrowingSlots = typeof __propDef.slots;
11
+ export type ObjectTypeNarrowingProps = typeof __propDef.props;
12
+ export type ObjectTypeNarrowingEvents = typeof __propDef.events;
13
+ export type ObjectTypeNarrowingSlots = typeof __propDef.slots;
14
14
  export default class ObjectTypeNarrowing extends SvelteComponentTyped<ObjectTypeNarrowingProps, ObjectTypeNarrowingEvents, ObjectTypeNarrowingSlots> {
15
15
  }
16
16
  export {};
@@ -7,14 +7,14 @@ export let primary = true;
7
7
  <div class="flex flex-row flex-wrap justify-between mt-4 mb-2 min-h-[48px]">
8
8
  {#if primary}
9
9
  <span class="flex items-center space-x-2">
10
- <h1 class="mr-0.5">{title}</h1>
10
+ <h1>{title}</h1>
11
11
  {#if tooltip}
12
12
  <Tooltip>{tooltip}</Tooltip>
13
13
  {/if}
14
14
  </span>
15
15
  {:else}
16
16
  <span class="flex items-center space-x-2">
17
- <h2 class="mr-0.5">{title}</h2>
17
+ <h2>{title}</h2>
18
18
  {#if tooltip}
19
19
  <Tooltip>{tooltip}</Tooltip>
20
20
  {/if}
@@ -12,9 +12,9 @@ declare const __propDef: {
12
12
  default: {};
13
13
  };
14
14
  };
15
- export declare type PageHeaderProps = typeof __propDef.props;
16
- export declare type PageHeaderEvents = typeof __propDef.events;
17
- export declare type PageHeaderSlots = typeof __propDef.slots;
15
+ export type PageHeaderProps = typeof __propDef.props;
16
+ export type PageHeaderEvents = typeof __propDef.events;
17
+ export type PageHeaderSlots = typeof __propDef.slots;
18
18
  export default class PageHeader extends SvelteComponentTyped<PageHeaderProps, PageHeaderEvents, PageHeaderSlots> {
19
19
  }
20
20
  export {};
@@ -1,8 +1,8 @@
1
1
  <script>// @ts-nocheck
2
2
  import { onMount } from 'svelte';
3
3
  export let password;
4
- export let label = 'password';
5
4
  export let placeholder = '******';
5
+ export let disabled = false;
6
6
  onMount(() => {
7
7
  const passwordToggle = document.querySelector('.js-password-toggle');
8
8
  if (passwordToggle) {
@@ -25,7 +25,6 @@ onMount(() => {
25
25
  });
26
26
  </script>
27
27
 
28
- <label class="block text-gray-700" for="password"> {@html label} </label>
29
28
  <div class="relative w-full">
30
29
  <div class="absolute inset-y-0 right-0 flex items-center px-2">
31
30
  <input class="hidden js-password-toggle" id="toggle" type="checkbox" />
@@ -41,5 +40,6 @@ onMount(() => {
41
40
  bind:value={password}
42
41
  autocomplete="off"
43
42
  {placeholder}
43
+ {disabled}
44
44
  />
45
45
  </div>
@@ -2,17 +2,17 @@ import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
4
  password: string;
5
- label?: string | undefined;
6
5
  placeholder?: string | undefined;
6
+ disabled?: boolean | undefined;
7
7
  };
8
8
  events: {
9
9
  [evt: string]: CustomEvent<any>;
10
10
  };
11
11
  slots: {};
12
12
  };
13
- export declare type PasswordProps = typeof __propDef.props;
14
- export declare type PasswordEvents = typeof __propDef.events;
15
- export declare type PasswordSlots = typeof __propDef.slots;
13
+ export type PasswordProps = typeof __propDef.props;
14
+ export type PasswordEvents = typeof __propDef.events;
15
+ export type PasswordSlots = typeof __propDef.slots;
16
16
  export default class Password extends SvelteComponentTyped<PasswordProps, PasswordEvents, PasswordSlots> {
17
17
  }
18
18
  export {};
@@ -15,6 +15,7 @@ export let namePlaceholder = '';
15
15
  export let initialPath;
16
16
  export let path = '';
17
17
  export let error = '';
18
+ export let disabled = false;
18
19
  export let kind;
19
20
  let inputP = undefined;
20
21
  const dispatch = createEventDispatcher();
@@ -154,6 +155,7 @@ $: {
154
155
  </span>
155
156
 
156
157
  <select
158
+ {disabled}
157
159
  bind:value={meta.ownerKind}
158
160
  on:change={() => {
159
161
  if (meta.ownerKind === 'group') {
@@ -180,7 +182,7 @@ $: {
180
182
  {:else}
181
183
  <label class="block">
182
184
  <span class="text-gray-700 text-sm">Owner</span>
183
- <select bind:value={meta.owner}>
185
+ <select {disabled} bind:value={meta.owner}>
184
186
  {#each groups as g}
185
187
  <option>{g.name}</option>
186
188
  {/each}
@@ -193,6 +195,7 @@ $: {
193
195
  <Required required={true} />
194
196
  </span>
195
197
  <input
198
+ {disabled}
196
199
  type="text"
197
200
  id="path"
198
201
  autofocus
@@ -7,7 +7,8 @@ declare const __propDef: {
7
7
  initialPath: string;
8
8
  path?: string | undefined;
9
9
  error?: string | undefined;
10
- kind: "script" | "resource" | "schedule" | "variable" | "flow";
10
+ disabled?: boolean | undefined;
11
+ kind: "script" | "resource" | "flow" | "app" | "schedule" | "variable";
11
12
  getPath?: (() => string) | undefined;
12
13
  focus?: (() => void) | undefined;
13
14
  reset?: (() => Promise<void>) | undefined;
@@ -19,9 +20,9 @@ declare const __propDef: {
19
20
  };
20
21
  slots: {};
21
22
  };
22
- export declare type PathProps = typeof __propDef.props;
23
- export declare type PathEvents = typeof __propDef.events;
24
- export declare type PathSlots = typeof __propDef.slots;
23
+ export type PathProps = typeof __propDef.props;
24
+ export type PathEvents = typeof __propDef.events;
25
+ export type PathSlots = typeof __propDef.slots;
25
26
  export default class Path extends SvelteComponentTyped<PathProps, PathEvents, PathSlots> {
26
27
  get getPath(): () => string;
27
28
  get focus(): () => void;
@@ -9,9 +9,9 @@ declare const __propDef: {
9
9
  text: {};
10
10
  };
11
11
  };
12
- export declare type PopoverProps = typeof __propDef.props;
13
- export declare type PopoverEvents = typeof __propDef.events;
14
- export declare type PopoverSlots = typeof __propDef.slots;
12
+ export type PopoverProps = typeof __propDef.props;
13
+ export type PopoverEvents = typeof __propDef.events;
14
+ export type PopoverSlots = typeof __propDef.slots;
15
15
  export default class Popover extends SvelteComponentTyped<PopoverProps, PopoverEvents, PopoverSlots> {
16
16
  }
17
17
  export {};
@@ -15,9 +15,9 @@ declare const __propDef: {
15
15
  };
16
16
  slots: {};
17
17
  };
18
- export declare type RadioButtonProps = typeof __propDef.props;
19
- export declare type RadioButtonEvents = typeof __propDef.events;
20
- export declare type RadioButtonSlots = typeof __propDef.slots;
18
+ export type RadioButtonProps = typeof __propDef.props;
19
+ export type RadioButtonEvents = typeof __propDef.events;
20
+ export type RadioButtonSlots = typeof __propDef.slots;
21
21
  export default class RadioButton extends SvelteComponentTyped<RadioButtonProps, RadioButtonEvents, RadioButtonSlots> {
22
22
  }
23
23
  export {};
@@ -10,9 +10,9 @@ declare const __propDef: {
10
10
  };
11
11
  slots: {};
12
12
  };
13
- export declare type RequiredProps = typeof __propDef.props;
14
- export declare type RequiredEvents = typeof __propDef.events;
15
- export declare type RequiredSlots = typeof __propDef.slots;
13
+ export type RequiredProps = typeof __propDef.props;
14
+ export type RequiredEvents = typeof __propDef.events;
15
+ export type RequiredSlots = typeof __propDef.slots;
16
16
  export default class Required extends SvelteComponentTyped<RequiredProps, RequiredEvents, RequiredSlots> {
17
17
  }
18
18
  export {};
@@ -1,20 +1,18 @@
1
1
  <script>import { ResourceService, VariableService } from '../gen';
2
- import { allTrue, emptySchema, sendUserToast } from '../utils';
2
+ import { canWrite, sendUserToast } from '../utils';
3
3
  import { createEventDispatcher } from 'svelte';
4
4
  import Path from './Path.svelte';
5
- import ArgInput from './ArgInput.svelte';
6
- import ItemPicker from './ItemPicker.svelte';
7
- import VariableEditor from './VariableEditor.svelte';
8
5
  import Required from './Required.svelte';
9
- import { Button, Drawer } from './common';
10
- import { workspaceStore } from '../stores';
11
- import ResourceTypePicker from './ResourceTypePicker.svelte';
6
+ import { Alert, Button, Drawer } from './common';
7
+ import { userStore, workspaceStore } from '../stores';
12
8
  import DrawerContent from './common/drawer/DrawerContent.svelte';
13
9
  import autosize from 'svelte-autosize';
10
+ import SimpleEditor from './SimpleEditor.svelte';
11
+ import { faSave } from '@fortawesome/free-solid-svg-icons';
12
+ import SchemaForm from './SchemaForm.svelte';
14
13
  let path = '';
15
14
  let initialPath = '';
16
15
  let pathError = '';
17
- let step = 1;
18
16
  let resourceToEdit;
19
17
  let description = '';
20
18
  let DESCRIPTION_PLACEHOLDER = `You can use markdown to style your description`;
@@ -22,46 +20,36 @@ let selectedResourceType;
22
20
  let resourceType;
23
21
  let resourceSchema;
24
22
  let args = {};
23
+ let can_write = true;
25
24
  let error;
26
- let pickForField;
27
- let itemPicker;
28
- let variableEditor;
29
25
  let drawer;
26
+ let rawCode = undefined;
30
27
  const dispatch = createEventDispatcher();
31
- export async function initNew(rt) {
32
- step = 1;
33
- args = {};
34
- path = '';
35
- description = '';
36
- initialPath = '';
37
- resourceSchema = emptySchema();
38
- resourceToEdit = undefined;
39
- selectedResourceType = rt;
40
- drawer.openDrawer();
41
- }
42
28
  export async function initEdit(p) {
43
29
  initialPath = p;
44
30
  path = p;
45
- step = 2;
46
31
  resourceToEdit = await ResourceService.getResource({ workspace: $workspaceStore, path: p });
47
32
  description = resourceToEdit.description ?? '';
48
33
  selectedResourceType = resourceToEdit.resource_type;
49
- await loadResourceType();
50
34
  args = resourceToEdit.value;
51
- drawer.openDrawer();
52
- }
53
- async function createResource() {
54
- await ResourceService.createResource({
55
- workspace: $workspaceStore,
56
- requestBody: { path, value: args, description, resource_type: resourceType.name }
57
- });
58
- sendUserToast(`Successfully created resource at ${path}`);
59
- dispatch('refresh');
60
- drawer.closeDrawer();
35
+ can_write =
36
+ resourceToEdit.workspace_id == $workspaceStore &&
37
+ canWrite(p, resourceToEdit.extra_perms ?? {}, $userStore);
38
+ await loadResourceType();
39
+ drawer.openDrawer?.();
61
40
  }
62
41
  async function editResource() {
63
42
  try {
64
43
  if (resourceToEdit) {
44
+ if (rawCode != undefined) {
45
+ try {
46
+ args = JSON.parse(rawCode);
47
+ }
48
+ catch (e) {
49
+ sendUserToast("Couldn't parse the content as JSON", true);
50
+ return;
51
+ }
52
+ }
65
53
  await ResourceService.updateResource({
66
54
  workspace: $workspaceStore,
67
55
  path: resourceToEdit.path,
@@ -69,7 +57,7 @@ async function editResource() {
69
57
  });
70
58
  sendUserToast(`Successfully updated resource at ${path}`);
71
59
  dispatch('refresh');
72
- drawer.closeDrawer();
60
+ drawer.closeDrawer?.();
73
61
  }
74
62
  else {
75
63
  throw Error('Cannot edit undefined resourceToEdit');
@@ -81,23 +69,25 @@ async function editResource() {
81
69
  }
82
70
  async function loadResourceType() {
83
71
  if (selectedResourceType) {
84
- resourceType = await ResourceService.getResourceType({
85
- workspace: $workspaceStore,
86
- path: selectedResourceType
87
- });
88
- if (resourceType.schema) {
89
- resourceSchema = resourceType.schema;
72
+ try {
73
+ resourceType = await ResourceService.getResourceType({
74
+ workspace: $workspaceStore,
75
+ path: selectedResourceType
76
+ });
77
+ if (resourceType.schema) {
78
+ resourceSchema = resourceType.schema;
79
+ }
80
+ }
81
+ catch (err) {
82
+ resourceSchema = undefined;
83
+ rawCode = JSON.stringify(args, null, 2);
90
84
  }
91
85
  }
92
86
  else {
93
87
  sendUserToast(`ResourceType cannot be undefined.`, true);
94
88
  }
95
89
  }
96
- function resourceAction() {
97
- return resourceToEdit ? editResource() : createResource();
98
- }
99
- let inputCheck = {};
100
- $: isValid = allTrue(inputCheck) ?? false;
90
+ let isValid = true;
101
91
  </script>
102
92
 
103
93
  <Drawer bind:this={drawer} size="800px">
@@ -106,131 +96,51 @@ $: isValid = allTrue(inputCheck) ?? false;
106
96
  on:close={drawer.closeDrawer}
107
97
  >
108
98
  <div>
109
- <!-- content -->
110
- {#if step === 1}
111
- <div class="flex flex-col gap-3 py-3 text-gray-700">
112
- <div>
113
- <span class="text-red-600 text-2xs grow">{error ?? ''}</span>
114
- <span class="mb-1 font-semibold text-gray-700">Path</span>
115
- <Path
116
- bind:error={pathError}
117
- bind:path
118
- {initialPath}
119
- namePlaceholder="my_resource"
120
- kind="resource"
121
- />
122
- </div>
123
- <span class=" mt-3 font-semibold text-gray-700 "
124
- >Description <Required required={false} />
125
- </span>
126
- <textarea
127
- type="text"
128
- use:autosize
129
- bind:value={description}
130
- placeholder={DESCRIPTION_PLACEHOLDER}
131
- />
132
- <div>
133
- <div class="mb-2 font-semibold text-gray-700">
134
- Resource type<Required required={true} />
99
+ <div class="flex flex-col gap-3 py-3 text-gray-700">
100
+ <div>
101
+ {#if !can_write}
102
+ <div class="m-2">
103
+ <Alert type="warning" title="Only read access"
104
+ >You only have read access to this resource and cannot edit it</Alert
105
+ >
135
106
  </div>
136
- <ResourceTypePicker
137
- bind:value={selectedResourceType}
138
- notPickable={resourceToEdit != undefined}
139
- on:click={() => {
140
- args = {}
141
- }}
142
- />
143
- </div>
107
+ {/if}
108
+
109
+ <span class="text-red-600 text-2xs grow">{error ?? ''}</span>
110
+ <Path
111
+ disabled={!can_write}
112
+ bind:error={pathError}
113
+ bind:path
114
+ {initialPath}
115
+ namePlaceholder="my_resource"
116
+ kind="resource"
117
+ />
144
118
  </div>
145
- {:else}
119
+ <h3>Description <Required required={false} /> </h3>
120
+ <textarea
121
+ type="text"
122
+ disabled={!can_write}
123
+ use:autosize
124
+ bind:value={description}
125
+ placeholder={DESCRIPTION_PLACEHOLDER}
126
+ />
127
+
128
+ <h3 class="mt-4">Value</h3>
146
129
  <div class="text-sm">
147
130
  {#if resourceSchema && resourceSchema?.properties}
148
- {#each Object.keys(resourceSchema.properties) as fieldName}
149
- <div class="flex flex-row w-full items-end justify-between">
150
- <ArgInput
151
- label={fieldName}
152
- description={resourceSchema.properties[fieldName]?.description}
153
- bind:value={args[fieldName]}
154
- type={resourceSchema.properties[fieldName]?.type}
155
- required={resourceSchema.required.includes(fieldName)}
156
- pattern={resourceSchema.properties[fieldName]?.pattern}
157
- bind:valid={inputCheck[fieldName]}
158
- defaultValue={resourceSchema.properties[fieldName]?.default}
159
- enum_={resourceSchema.properties[fieldName]?.enum}
160
- contentEncoding={resourceSchema.properties[fieldName]?.contentEncoding}
161
- itemsType={resourceSchema.properties[fieldName]?.items}
162
- properties={resourceSchema.properties[fieldName]?.properties}
163
- format={resourceSchema.properties[fieldName]?.format}
164
- />
165
- <div class="pb-6 ml-2 relative">
166
- <Button
167
- variant="border"
168
- color="blue"
169
- size="sm"
170
- btnClasses="min-w-min items-center leading-4 py-0"
171
- on:click={() => {
172
- pickForField = fieldName
173
- itemPicker.openDrawer()
174
- }}>Insert variable</Button
175
- >
176
- </div>
177
- </div>
178
- {/each}
131
+ <SchemaForm compact schema={resourceSchema} bind:args bind:isValid />
179
132
  {:else}
180
- <div>Invalid schema</div>
133
+ <div class="h-full w-full">
134
+ <SimpleEditor class="editor" lang="json" bind:code={rawCode} />
135
+ </div>
181
136
  {/if}
182
137
  </div>
183
- {/if}
138
+ </div>
184
139
  </div>
185
- <span slot="submission" class="flex gap-4">
186
- {#if step === 1}
187
- <Button
188
- on:click={async () => {
189
- await loadResourceType()
190
- step = 2
191
- }}
192
- disabled={selectedResourceType == undefined || pathError != ''}
193
- >
194
- Next
195
- </Button>
196
- {:else}
197
- <Button variant="border" on:click={() => (step = 1)}>Back</Button>
198
- <Button on:click={resourceAction} disabled={!isValid}>Save</Button>
199
- {/if}
140
+ <span slot="submission" class="flex gap-4 mr-2">
141
+ <Button startIcon={{ icon: faSave }} on:click={editResource} disabled={!can_write || !isValid}
142
+ >Save</Button
143
+ >
200
144
  </span>
201
145
  </DrawerContent>
202
146
  </Drawer>
203
-
204
- <ItemPicker
205
- bind:this={itemPicker}
206
- pickCallback={(path, _) => {
207
- if (pickForField) {
208
- args[pickForField] = '$var:' + path
209
- }
210
- }}
211
- itemName="Variable"
212
- extraField="name"
213
- loadItems={async () =>
214
- (await VariableService.listVariable({ workspace: $workspaceStore ?? '' })).map((x) => ({
215
- name: x.path,
216
- ...x
217
- }))}
218
- >
219
- <div
220
- slot="submission"
221
- class="flex flex-row-reverse w-full p-5 bg-white border-t border-gray-200 rounded-bl-lg rounded-br-lg"
222
- >
223
- <Button
224
- variant="border"
225
- color="blue"
226
- size="sm"
227
- on:click={() => {
228
- variableEditor.initNew()
229
- }}
230
- >
231
- Create a new variable
232
- </Button>
233
- </div>
234
- </ItemPicker>
235
-
236
- <VariableEditor bind:this={variableEditor} on:create={itemPicker.openDrawer} />
@@ -1,7 +1,6 @@
1
1
  import { SvelteComponentTyped } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
- initNew?: ((rt?: string) => Promise<void>) | undefined;
5
4
  initEdit?: ((p: string) => Promise<void>) | undefined;
6
5
  };
7
6
  events: {
@@ -11,11 +10,10 @@ declare const __propDef: {
11
10
  };
12
11
  slots: {};
13
12
  };
14
- export declare type ResourceEditorProps = typeof __propDef.props;
15
- export declare type ResourceEditorEvents = typeof __propDef.events;
16
- export declare type ResourceEditorSlots = typeof __propDef.slots;
13
+ export type ResourceEditorProps = typeof __propDef.props;
14
+ export type ResourceEditorEvents = typeof __propDef.events;
15
+ export type ResourceEditorSlots = typeof __propDef.slots;
17
16
  export default class ResourceEditor extends SvelteComponentTyped<ResourceEditorProps, ResourceEditorEvents, ResourceEditorSlots> {
18
- get initNew(): (rt?: string | undefined) => Promise<void>;
19
17
  get initEdit(): (p: string) => Promise<void>;
20
18
  }
21
19
  export {};