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
@@ -39,3 +39,25 @@ export function cellRendererFactory(svelteComponent) {
39
39
  }
40
40
  return Renderer;
41
41
  }
42
+ export function isLinkObject(value) {
43
+ return value && typeof value === 'object' && 'href' in value && 'label' in value;
44
+ }
45
+ export function defaultCellRenderer(cellRendererType) {
46
+ if (cellRendererType === 'link') {
47
+ return (params) => {
48
+ if (isLinkObject(params.value)) {
49
+ const value = params.value;
50
+ return `<a href=${value.href} class="underline" target="_blank">${value.label}</a>`;
51
+ }
52
+ else if (params.value) {
53
+ return `<a href=${params.value} class="underline" target="_blank">${params.value}</a>`;
54
+ }
55
+ else {
56
+ return params.value;
57
+ }
58
+ };
59
+ }
60
+ else {
61
+ return undefined;
62
+ }
63
+ }
@@ -1,4 +1,5 @@
1
- <script>export let placeholder = 'Search...';
1
+ <script>import { twMerge } from 'tailwind-merge';
2
+ export let placeholder = 'Search...';
2
3
  // Using 'any' so 'type="number"' can be passed to the input
3
4
  // which should return a number
4
5
  export let value;
@@ -20,6 +21,6 @@ function debounce(event) {
20
21
  on:pointerdown|stopPropagation
21
22
  on:keyup={debounce}
22
23
  on:keydown|stopPropagation
23
- class={parentClass}
24
+ class={twMerge(parentClass, 'mb-1 h-8 !rounded-md !shadow-none')}
24
25
  {...$$restProps}
25
26
  />
@@ -18,7 +18,8 @@ onMount(() => {
18
18
  });
19
19
  let outputs = initOutput($worldStore, id, {
20
20
  result: result,
21
- loading: false
21
+ loading: false,
22
+ jobId: undefined
22
23
  });
23
24
  </script>
24
25
 
@@ -1,6 +1,7 @@
1
1
  <script>import { getContext } from 'svelte';
2
2
  import InputValue from './InputValue.svelte';
3
3
  import InitializeComponent from './InitializeComponent.svelte';
4
+ import RefreshIndicator from './RefreshIndicator.svelte';
4
5
  export let componentInput;
5
6
  export let id;
6
7
  export let result;
@@ -14,6 +15,37 @@ function setOutput(v) {
14
15
  // console.log('setnr', id)
15
16
  outputs?.result?.set(v, true);
16
17
  }
18
+ let loading = false;
19
+ let loadingStates = {};
20
+ let subscriptions = [];
21
+ function updateGlobalLoading() {
22
+ loading = Object.values(loadingStates).some((state) => state === true);
23
+ }
24
+ function builtSubscriptions(connections) {
25
+ // If we are rebuilding the subscriptions, we need to unsubscribe from the previous ones
26
+ if (subscriptions.length > 0) {
27
+ subscriptions.forEach((unsubscribe) => unsubscribe?.());
28
+ subscriptions = [];
29
+ loadingStates = {};
30
+ loading = false;
31
+ }
32
+ connections.forEach((connection) => {
33
+ const output = $worldStore.outputsById[connection.componentId];
34
+ if (output?.loading?.subscribe) {
35
+ const unsubscribe = output.loading.subscribe({
36
+ id: `loading-${connection.componentId}`,
37
+ next: (isConnectionLoading) => {
38
+ loadingStates[connection.componentId] = isConnectionLoading;
39
+ updateGlobalLoading();
40
+ }
41
+ }, loadingStates[connection.componentId]);
42
+ subscriptions.push(unsubscribe);
43
+ }
44
+ });
45
+ }
46
+ $: componentInput.type === 'evalv2' &&
47
+ componentInput.connections &&
48
+ builtSubscriptions(componentInput.connections);
17
49
  $: result != undefined && outputs && setOutput(result);
18
50
  </script>
19
51
 
@@ -28,6 +60,9 @@ $: result != undefined && outputs && setOutput(result);
28
60
  {#if render || hasChildrens}
29
61
  <div class={render ? 'h-full w-full' : 'invisible h-0 overflow-hidden'}>
30
62
  <slot />
63
+ <div class="flex absolute top-1 right-1 z-50 app-component-refresh-btn">
64
+ <RefreshIndicator {loading} />
65
+ </div>
31
66
  </div>
32
67
  {:else}
33
68
  <div class="w-full h-full" />
@@ -1,17 +1,35 @@
1
- <script>import { RefreshCw } from 'lucide-svelte';
1
+ <script>import { Button } from '../../../common';
2
+ import { LoaderIcon, RefreshCw } from 'lucide-svelte';
2
3
  import { getContext } from 'svelte';
3
- export let componentId;
4
+ import { twMerge } from 'tailwind-merge';
5
+ import Popover from '../../../Popover.svelte';
6
+ export let id;
4
7
  export let loading;
5
8
  const { runnableComponents } = getContext('AppViewerContext');
6
- async function refresh() {
7
- await $runnableComponents[componentId]?.cb?.map((cb) => cb());
8
- }
9
9
  </script>
10
10
 
11
- <button
12
- on:pointerdown|preventDefault|stopPropagation
13
- on:click|preventDefault|stopPropagation={refresh}
14
- class="center-center p-1 rounded border bg-surface/60 hover:bg-surface-hover z-10"
15
- >
16
- <RefreshCw class={loading ? 'animate-spin' : ''} size={16} />
17
- </button>
11
+ <Popover>
12
+ <Button
13
+ startIcon={{
14
+ icon: loading ? LoaderIcon : RefreshCw,
15
+ classes: twMerge(
16
+ loading ? 'animate-spin text-blue-800' : '',
17
+ 'transition-all text-gray-500 dark:text-white'
18
+ )
19
+ }}
20
+ color="light"
21
+ size="xs2"
22
+ btnClasses={twMerge(loading ? ' bg-blue-100 dark:bg-blue-400' : '', 'transition-all')}
23
+ on:click={() => {
24
+ $runnableComponents[id]?.cb?.map((cb) => cb())
25
+ }}
26
+ iconOnly
27
+ />
28
+ <svelte:fragment slot="text">
29
+ {#if loading}
30
+ Refreshing...
31
+ {:else}
32
+ Refresh
33
+ {/if}
34
+ </svelte:fragment>
35
+ </Popover>
@@ -1,12 +1,10 @@
1
1
  import { SvelteComponent } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
- componentId: string;
4
+ id: string;
5
5
  loading: boolean;
6
6
  };
7
7
  events: {
8
- pointerdown: PointerEvent;
9
- } & {
10
8
  [evt: string]: CustomEvent<any>;
11
9
  };
12
10
  slots: {};
@@ -0,0 +1,19 @@
1
+ <script>import { LoaderIcon } from 'lucide-svelte';
2
+ import Popover from '../../../Popover.svelte';
3
+ export let loading;
4
+ </script>
5
+
6
+ {#if loading}
7
+ <Popover>
8
+ <div class={'bg-blue-100 dark:bg-blue-400 transition-all p-1 rounded-component'}>
9
+ <LoaderIcon size={14} class="animate-spin text-blue-800 dark:text-white" />
10
+ </div>
11
+ <svelte:fragment slot="text">
12
+ {#if loading}
13
+ Refreshing...
14
+ {:else}
15
+ Refresh
16
+ {/if}
17
+ </svelte:fragment>
18
+ </Popover>
19
+ {/if}
@@ -0,0 +1,16 @@
1
+ import { SvelteComponent } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ loading: boolean;
5
+ };
6
+ events: {
7
+ [evt: string]: CustomEvent<any>;
8
+ };
9
+ slots: {};
10
+ };
11
+ export type RefreshIndicatorProps = typeof __propDef.props;
12
+ export type RefreshIndicatorEvents = typeof __propDef.events;
13
+ export type RefreshIndicatorSlots = typeof __propDef.slots;
14
+ export default class RefreshIndicator extends SvelteComponent<RefreshIndicatorProps, RefreshIndicatorEvents, RefreshIndicatorSlots> {
15
+ }
16
+ export {};
@@ -1,4 +1,4 @@
1
- <script>import { InputValue } from '.';
1
+ <script>import InputValue from './InputValue.svelte';
2
2
  export let id;
3
3
  export let extraKey = '';
4
4
  export let key;
@@ -8,11 +8,11 @@ import { Bug } from 'lucide-svelte';
8
8
  import { createEventDispatcher, getContext, onDestroy, onMount } from 'svelte';
9
9
  import { computeGlobalContext, eval_like } from './eval';
10
10
  import InputValue from './InputValue.svelte';
11
- import RefreshButton from './RefreshButton.svelte';
12
- import { selectId } from '../../editor/appUtils';
11
+ import { collectOneOfFields, selectId } from '../../editor/appUtils';
13
12
  import ResultJobLoader from '../../../ResultJobLoader.svelte';
14
13
  import { userStore } from '../../../../stores';
15
14
  import { get } from 'svelte/store';
15
+ import RefreshButton from './RefreshButton.svelte';
16
16
  // Component props
17
17
  export let id;
18
18
  export let fields;
@@ -37,13 +37,15 @@ export let hideRefreshButton = false;
37
37
  export let hasChildrens;
38
38
  export let allowConcurentRequests = false;
39
39
  export let noInitialize = false;
40
+ export let overrideCallback = undefined;
41
+ export let overrideAutoRefresh = false;
42
+ export let replaceCallback = false;
40
43
  const { worldStore, runnableComponents, workspace, appPath, isEditor, jobs, jobsById, noBackend, errorByComponent, mode, stateId, state, componentControl, initialized, selectedComponent, app, connectingInput, bgRuns } = getContext('AppViewerContext');
41
44
  const editorContext = getContext('AppEditorContext');
42
45
  const iterContext = getContext('ListWrapperContext');
43
46
  const rowContext = getContext('RowWrapperContext');
44
47
  const groupContext = getContext('GroupContext');
45
48
  const dispatch = createEventDispatcher();
46
- let donePromise = undefined;
47
49
  $runnableComponents = $runnableComponents;
48
50
  export function setArgs(value) {
49
51
  args = value;
@@ -71,17 +73,33 @@ let currentStaticValues = lazyStaticValues;
71
73
  let isBg = id.startsWith('bg_');
72
74
  $: isBg && updateBgRuns(loading);
73
75
  $: fields && (currentStaticValues = computeStaticValues());
74
- $: if (!deepEqual(currentStaticValues, lazyStaticValues)) {
75
- lazyStaticValues = currentStaticValues;
76
- refreshIfAutoRefresh('static changed');
76
+ $: currentStaticValues && refreshOnStaticChange();
77
+ function refreshOnStaticChange() {
78
+ if (!deepEqual(currentStaticValues, lazyStaticValues)) {
79
+ lazyStaticValues = currentStaticValues;
80
+ refreshIfAutoRefresh('static changed');
81
+ }
77
82
  }
83
+ // $: sendUserToast('args' + JSON.stringify(runnableInputValues) + Boolean(extraQueryParams) || args)
78
84
  // $: console.log(runnableInputValues)
85
+ let firstRefresh = true;
79
86
  $: (runnableInputValues || extraQueryParams || args) &&
80
87
  resultJobLoader &&
81
88
  refreshIfAutoRefresh('arg changed');
89
+ $: runnableInputValues && dispatch('argsChanged');
82
90
  $: refreshOn =
83
91
  runnable && runnable.type === 'runnableByName' ? runnable.inlineScript?.refreshOn ?? [] : [];
84
- function refreshIfAutoRefresh(_src) {
92
+ function refreshIfAutoRefresh(src) {
93
+ if (firstRefresh) {
94
+ firstRefresh = false;
95
+ if (src == 'arg changed' &&
96
+ args == undefined &&
97
+ Object.keys(runnableInputValues ?? {}).length == 0 &&
98
+ Object.keys(extraQueryParams ?? {}).length == 0) {
99
+ // console.debug(`Skipping refreshing ${id} because ${_src} (first)`)
100
+ return;
101
+ }
102
+ }
85
103
  // console.debug(`Triggering refreshing ${id} because ${_src}`)
86
104
  const refreshEnabled = autoRefresh && ((recomputeOnInputChanged ?? true) || refreshOn?.length > 0);
87
105
  if (refreshEnabled && $initialized.initialized) {
@@ -160,6 +178,7 @@ async function executeComponent(noToast = false, inlineScriptOverride, setRunnab
160
178
  let jobId;
161
179
  console.debug(`Executing ${id}`);
162
180
  if (iterContext && $iterContext.disabled) {
181
+ callbacks?.done({});
163
182
  console.debug(`Skipping execution of ${id} because it is part of a disabled list`);
164
183
  return;
165
184
  }
@@ -170,6 +189,7 @@ async function executeComponent(noToast = false, inlineScriptOverride, setRunnab
170
189
  job = generateNextFrontendJobId();
171
190
  addJob(job);
172
191
  }
192
+ console.log('Frontend job started', id);
173
193
  let r;
174
194
  try {
175
195
  r = await eval_like(runnable.inlineScript?.content, computeGlobalContext($worldStore, {
@@ -177,16 +197,16 @@ async function executeComponent(noToast = false, inlineScriptOverride, setRunnab
177
197
  row: rowContext ? $rowContext : undefined,
178
198
  group: groupContext ? $groupContext : undefined
179
199
  }), $state, isEditor, $componentControl, $worldStore, $runnableComponents, true);
180
- await setResult(r, job, setRunnableJobEditorPanel);
200
+ await setResult(r, job);
181
201
  $state = $state;
182
202
  }
183
203
  catch (e) {
184
204
  sendUserToast(`Error running frontend script ${id}: ` + e.message, true);
185
205
  r = { error: { message: e.body ?? e.message } };
186
- await setResult(r, job, setRunnableJobEditorPanel);
206
+ await setResult(r, job);
187
207
  }
188
208
  loading = false;
189
- donePromise?.(r);
209
+ callbacks?.done(r);
190
210
  if (setRunnableJobEditorPanel && editorContext) {
191
211
  editorContext.runnableJobEditorPanel.update((p) => {
192
212
  return {
@@ -201,39 +221,56 @@ async function executeComponent(noToast = false, inlineScriptOverride, setRunnab
201
221
  if (!noToast) {
202
222
  sendUserToast('This app is not connected to a windmill backend, it is a static preview');
203
223
  }
204
- donePromise?.(undefined);
224
+ callbacks?.done({});
205
225
  return;
206
226
  }
207
227
  if (runnable?.type === 'runnableByName' && !runnable.inlineScript) {
228
+ callbacks?.done({});
208
229
  return;
209
230
  }
210
231
  if (!resultJobLoader) {
211
232
  console.warn('No test job loader');
233
+ callbacks?.done({});
212
234
  return;
213
235
  }
214
236
  try {
215
237
  jobId = await resultJobLoader?.abstractRun(async () => {
216
238
  const nonStaticRunnableInputs = dynamicArgsOverride ?? {};
217
239
  const staticRunnableInputs = {};
240
+ const allowUserResources = [];
218
241
  for (const k of Object.keys(fields ?? {})) {
219
242
  let field = fields[k];
220
243
  if (field?.type == 'static' && fields[k]) {
221
- staticRunnableInputs[k] = field.value;
244
+ if (isEditor) {
245
+ staticRunnableInputs[k] = field.value;
246
+ }
222
247
  }
223
248
  else if (field?.type == 'user') {
224
249
  nonStaticRunnableInputs[k] = args?.[k];
250
+ if (isEditor && field.allowUserResources) {
251
+ allowUserResources.push(k);
252
+ }
225
253
  }
226
254
  else if (field?.type == 'eval' || (field?.type == 'evalv2' && inputValues[k])) {
227
255
  nonStaticRunnableInputs[k] = await inputValues[k]?.computeExpr();
256
+ if (isEditor && field?.type == 'evalv2' && field.allowUserResources) {
257
+ allowUserResources.push(k);
258
+ }
228
259
  }
229
260
  else {
261
+ if (isEditor && field?.type == 'connected' && field.allowUserResources) {
262
+ allowUserResources.push(k);
263
+ }
230
264
  nonStaticRunnableInputs[k] = runnableInputValues[k];
231
265
  }
232
266
  }
267
+ const oneOfRunnableInputs = isEditor ? collectOneOfFields(fields, $app) : {};
233
268
  const requestBody = {
234
269
  args: nonStaticRunnableInputs,
235
270
  component: id,
236
- force_viewer_static_fields: !isEditor ? undefined : staticRunnableInputs
271
+ force_viewer_static_fields: !isEditor ? undefined : staticRunnableInputs,
272
+ force_viewer_one_of_fields: !isEditor ? undefined : oneOfRunnableInputs,
273
+ force_viewer_allow_user_resources: !isEditor ? undefined : allowUserResources
237
274
  };
238
275
  if (runnable?.type === 'runnableByName') {
239
276
  const { inlineScript } = inlineScriptOverride
@@ -242,7 +279,7 @@ async function executeComponent(noToast = false, inlineScriptOverride, setRunnab
242
279
  if (inlineScript) {
243
280
  requestBody['raw_code'] = {
244
281
  content: inlineScript.content,
245
- language: inlineScript.language,
282
+ language: inlineScript.language ?? '',
246
283
  path: inlineScript.path,
247
284
  lock: inlineScript.lock,
248
285
  cache_ttl: inlineScript.cache_ttl
@@ -277,23 +314,23 @@ async function executeComponent(noToast = false, inlineScriptOverride, setRunnab
277
314
  let error = e.body ?? e.message;
278
315
  updateResult({ error });
279
316
  $errorByComponent[id] = { error };
280
- donePromise?.({ error });
317
+ callbacks?.done({ error });
281
318
  sendUserToast(error, true);
282
319
  loading = false;
283
320
  }
284
321
  }
285
- export async function runComponent(noToast = false, inlineScriptOverride, setRunnableJobEditorPanel, dynamicArgsOverride, callbacks) {
322
+ export async function runComponent(noToast = true, inlineScriptOverride, setRunnableJobEditorPanel, dynamicArgsOverride, callbacks) {
286
323
  try {
287
324
  if (cancellableRun && !dynamicArgsOverride) {
288
325
  await cancellableRun();
289
326
  }
290
327
  else {
291
- console.log('Run component');
328
+ console.log('Run component', id);
292
329
  return await executeComponent(noToast, inlineScriptOverride, setRunnableJobEditorPanel, dynamicArgsOverride, callbacks);
293
330
  }
294
331
  }
295
332
  catch (e) {
296
- let error = e.body ?? e.message;
333
+ let error = e?.body ?? e?.message;
297
334
  updateResult({ error });
298
335
  $errorByComponent[id] = { error };
299
336
  }
@@ -360,7 +397,7 @@ function updateResult(res) {
360
397
  outputs.result?.set(res);
361
398
  result = res;
362
399
  }
363
- async function setResult(res, jobId, setRunnableJobEditorPanel) {
400
+ async function setResult(res, jobId) {
364
401
  dispatch('resultSet');
365
402
  const errors = getResultErrors(res);
366
403
  if (errors) {
@@ -370,7 +407,7 @@ async function setResult(res, jobId, setRunnableJobEditorPanel) {
370
407
  recordJob(jobId, errors, errors, transformerResult);
371
408
  updateResult(res);
372
409
  dispatch('handleError', errors);
373
- donePromise?.(res);
410
+ // callbacks?.done(res)
374
411
  return;
375
412
  }
376
413
  const transformerResult = await runTransformer(res);
@@ -386,14 +423,14 @@ async function setResult(res, jobId, setRunnableJobEditorPanel) {
386
423
  recordJob(jobId, res, undefined, transformerResult);
387
424
  updateResult(transformerResult);
388
425
  dispatch('handleError', transformerResult.error);
389
- donePromise?.(res);
426
+ // callbacks?.done(res)
390
427
  return;
391
428
  }
392
429
  updateResult(transformerResult ?? res);
393
430
  recordJob(jobId, result, undefined, transformerResult);
394
431
  delete $errorByComponent[id];
395
432
  dispatch('success', result);
396
- donePromise?.(result);
433
+ // callbacks?.done(res)
397
434
  }
398
435
  function handleInputClick(e) {
399
436
  const event = e;
@@ -401,25 +438,49 @@ function handleInputClick(e) {
401
438
  }
402
439
  let cancellableRun = undefined;
403
440
  onMount(() => {
404
- cancellableRun = (inlineScript, setRunnableJobEditorPanel) => {
405
- let rejectCb;
406
- let p = new Promise((resolve, reject) => {
407
- rejectCb = reject;
408
- donePromise = resolve;
409
- executeComponent(true, inlineScript, setRunnableJobEditorPanel).catch(reject);
410
- });
411
- p.cancel = () => {
412
- resultJobLoader?.cancelJob();
413
- loading = false;
414
- rejectCb(new Error('Canceled'));
441
+ if (overrideCallback) {
442
+ cancellableRun = overrideCallback;
443
+ }
444
+ else {
445
+ cancellableRun = (inlineScript, setRunnableJobEditorPanel) => {
446
+ let rejectCb;
447
+ let p = new Promise((resolve, reject) => {
448
+ rejectCb = reject;
449
+ executeComponent(true, inlineScript, setRunnableJobEditorPanel, undefined, {
450
+ done: (x) => {
451
+ resolve(x);
452
+ },
453
+ cancel: () => {
454
+ reject();
455
+ },
456
+ error: (e) => {
457
+ console.error(e);
458
+ reject(e);
459
+ }
460
+ }).catch(reject);
461
+ });
462
+ p.cancel = () => {
463
+ resultJobLoader?.cancelJob();
464
+ loading = false;
465
+ rejectCb(new Error('Canceled'));
466
+ };
467
+ return p;
415
468
  };
416
- return p;
417
- };
418
- $runnableComponents[id] = {
419
- autoRefresh: autoRefresh && recomputableByRefreshButton,
420
- refreshOnStart: refreshOnStart,
421
- cb: [...($runnableComponents[id]?.cb ?? []), cancellableRun]
422
- };
469
+ }
470
+ if (replaceCallback) {
471
+ $runnableComponents[id] = {
472
+ autoRefresh: (autoRefresh && recomputableByRefreshButton) || overrideAutoRefresh,
473
+ refreshOnStart: refreshOnStart,
474
+ cb: [cancellableRun]
475
+ };
476
+ }
477
+ else {
478
+ $runnableComponents[id] = {
479
+ autoRefresh: (autoRefresh && recomputableByRefreshButton) || overrideAutoRefresh,
480
+ refreshOnStart: refreshOnStart,
481
+ cb: [...($runnableComponents[id]?.cb ?? []), cancellableRun]
482
+ };
483
+ }
423
484
  if (!noInitialize && !$initialized.initializedComponents.includes(id)) {
424
485
  $initialized.initializedComponents = [...$initialized.initializedComponents, id];
425
486
  }
@@ -582,7 +643,7 @@ function updateBgRuns(loading) {
582
643
  {/if}
583
644
  {#if render && !initializing && autoRefresh === true && !hideRefreshButton}
584
645
  <div class="flex absolute top-1 right-1 z-50 app-component-refresh-btn">
585
- <RefreshButton {loading} componentId={id} />
646
+ <RefreshButton {loading} {id} />
586
647
  </div>
587
648
  {/if}
588
649
  </div>
@@ -1,7 +1,7 @@
1
1
  import { SvelteComponent } from "svelte";
2
2
  import type { AppInputs, Runnable } from '../../inputType';
3
3
  import type { Output } from '../../rx';
4
- import type { InlineScript } from '../../types';
4
+ import type { CancelablePromise, InlineScript } from '../../types';
5
5
  declare const __propDef: {
6
6
  props: {
7
7
  id: string;
@@ -33,14 +33,17 @@ declare const __propDef: {
33
33
  hasChildrens: boolean;
34
34
  allowConcurentRequests?: boolean | undefined;
35
35
  noInitialize?: boolean | undefined;
36
+ overrideCallback?: (() => CancelablePromise<void>) | undefined;
37
+ overrideAutoRefresh?: boolean | undefined;
38
+ replaceCallback?: boolean | undefined;
36
39
  setArgs?: ((value: any) => void) | undefined;
37
40
  invalidate?: ((key: string, error: string) => void) | undefined;
38
41
  validate?: ((key: string) => void) | undefined;
39
42
  validateAll?: (() => void) | undefined;
40
43
  runComponent?: ((noToast?: boolean, inlineScriptOverride?: InlineScript, setRunnableJobEditorPanel?: boolean, dynamicArgsOverride?: Record<string, any>, callbacks?: {
41
- done: (x: any[]) => void;
44
+ done: (x: any) => void;
42
45
  cancel: () => void;
43
- error: () => void;
46
+ error: (e: any) => void;
44
47
  } | undefined) => Promise<string | undefined>) | undefined;
45
48
  };
46
49
  events: {
@@ -48,6 +51,7 @@ declare const __propDef: {
48
51
  done: CustomEvent<any>;
49
52
  cancel: CustomEvent<any>;
50
53
  doneError: CustomEvent<any>;
54
+ argsChanged: CustomEvent<any>;
51
55
  resultSet: CustomEvent<any>;
52
56
  handleError: CustomEvent<any>;
53
57
  success: CustomEvent<any>;
@@ -67,9 +71,9 @@ export default class RunnableComponent extends SvelteComponent<RunnableComponent
67
71
  get validate(): (key: string) => void;
68
72
  get validateAll(): () => void;
69
73
  get runComponent(): (noToast?: boolean, inlineScriptOverride?: InlineScript | undefined, setRunnableJobEditorPanel?: boolean | undefined, dynamicArgsOverride?: Record<string, any> | undefined, callbacks?: {
70
- done: (x: any[]) => void;
74
+ done: (x: any) => void;
71
75
  cancel: () => void;
72
- error: () => void;
76
+ error: (e: any) => void;
73
77
  } | undefined) => Promise<string | undefined>;
74
78
  }
75
79
  export {};
@@ -6,6 +6,10 @@ import { sendUserToast } from '../../../../toast';
6
6
  import InitializeComponent from './InitializeComponent.svelte';
7
7
  export let componentInput;
8
8
  export let noInitialize = false;
9
+ export let hideRefreshButton = undefined;
10
+ export let overrideCallback = undefined;
11
+ export let overrideAutoRefresh = false;
12
+ export let replaceCallback = false;
9
13
  export let id;
10
14
  export let result = undefined;
11
15
  export let initializing = true;
@@ -170,14 +174,17 @@ export async function handleSideEffect(success, errorMessage) {
170
174
  {refreshOnStart}
171
175
  {extraKey}
172
176
  {hasChildrens}
177
+ {replaceCallback}
173
178
  bind:loading
174
179
  bind:this={runnableComponent}
175
180
  fields={componentInput.fields}
176
181
  bind:result
177
182
  runnable={componentInput.runnable}
178
- hideRefreshButton={componentInput.hideRefreshButton}
183
+ hideRefreshButton={componentInput.hideRefreshButton ?? hideRefreshButton}
179
184
  transformer={componentInput.transformer}
180
185
  {autoRefresh}
186
+ {overrideCallback}
187
+ {overrideAutoRefresh}
181
188
  recomputableByRefreshButton={componentInput.autoRefresh ?? true}
182
189
  bind:recomputeOnInputChanged={componentInput.recomputeOnInputChanged}
183
190
  {id}
@@ -191,6 +198,7 @@ export async function handleSideEffect(success, errorMessage) {
191
198
  on:done
192
199
  on:doneError
193
200
  on:cancel
201
+ on:argsChanged
194
202
  on:resultSet={() => (initializing = false)}
195
203
  on:success={(e) => {
196
204
  onSuccess(e.detail)
@@ -2,10 +2,15 @@ import { SvelteComponent } from "svelte";
2
2
  import type { AppInput } from '../../inputType';
3
3
  import type { Output } from '../../rx';
4
4
  import RunnableComponent from './RunnableComponent.svelte';
5
+ import type { CancelablePromise } from '../../../../gen';
5
6
  declare const __propDef: {
6
7
  props: {
7
8
  componentInput: AppInput | undefined;
8
9
  noInitialize?: boolean | undefined;
10
+ hideRefreshButton?: boolean | undefined;
11
+ overrideCallback?: (() => CancelablePromise<void>) | undefined;
12
+ overrideAutoRefresh?: boolean | undefined;
13
+ replaceCallback?: boolean | undefined;
9
14
  id: string;
10
15
  result?: any;
11
16
  initializing?: boolean | undefined;
@@ -117,6 +122,7 @@ declare const __propDef: {
117
122
  done: CustomEvent<any>;
118
123
  doneError: CustomEvent<any>;
119
124
  cancel: CustomEvent<any>;
125
+ argsChanged: CustomEvent<any>;
120
126
  } & {
121
127
  [evt: string]: CustomEvent<any>;
122
128
  };