windmill-components 1.309.6 → 1.339.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (383) hide show
  1. package/package/assets/app.css +22 -1
  2. package/package/autosize.js +1 -1
  3. package/package/common.d.ts +8 -0
  4. package/package/common.js +5 -1
  5. package/package/components/AllFlowLogs.svelte +30 -0
  6. package/package/components/AllFlowLogs.svelte.d.ts +18 -0
  7. package/package/components/ApiConnectForm.svelte +10 -4
  8. package/package/components/AppConnectDrawer.svelte +74 -0
  9. package/package/components/AppConnectDrawer.svelte.d.ts +20 -0
  10. package/package/components/AppConnectInner.svelte +513 -0
  11. package/package/components/AppConnectInner.svelte.d.ts +28 -0
  12. package/package/components/ArgInfo.svelte +19 -3
  13. package/package/components/ArgInput.svelte +73 -16
  14. package/package/components/ArgInput.svelte.d.ts +4 -0
  15. package/package/components/ConcurrentJobsChart.svelte +212 -0
  16. package/package/components/ConcurrentJobsChart.svelte.d.ts +23 -0
  17. package/package/components/CustomOauth.svelte +2 -2
  18. package/package/components/DateInput.svelte +47 -0
  19. package/package/components/DateInput.svelte.d.ts +24 -0
  20. package/package/components/DateTimeInput.svelte +25 -3
  21. package/package/components/DefaultScripts.svelte +5 -8
  22. package/package/components/DefaultTags.svelte +3 -2
  23. package/package/components/DefaultTags.svelte.d.ts +3 -1
  24. package/package/components/DefaultTagsInner.svelte +1 -10
  25. package/package/components/DefaultTagsInner.svelte.d.ts +3 -1
  26. package/package/components/Dev.svelte +70 -9
  27. package/package/components/DiffEditor.svelte +3 -0
  28. package/package/components/DisplayResult.svelte +186 -123
  29. package/package/components/DisplayResult.svelte.d.ts +1 -0
  30. package/package/components/DropdownV2.svelte.d.ts +2 -2
  31. package/package/components/EditableSchemaForm.svelte +3 -0
  32. package/package/components/Editor.svelte +110 -93
  33. package/package/components/Editor.svelte.d.ts +4 -2
  34. package/package/components/EditorBar.svelte +99 -8
  35. package/package/components/EditorBar.svelte.d.ts +0 -1
  36. package/package/components/ErrorOrRecoveryHandler.svelte +0 -1
  37. package/package/components/FlowGraphViewer.svelte +1 -0
  38. package/package/components/FlowGraphViewerStep.svelte +19 -1
  39. package/package/components/FlowJobResult.svelte +13 -0
  40. package/package/components/FlowJobResult.svelte.d.ts +3 -0
  41. package/package/components/FlowMetadata.svelte +40 -35
  42. package/package/components/FlowMetadata.svelte.d.ts +3 -1
  43. package/package/components/FlowPreviewContent.svelte +13 -6
  44. package/package/components/FlowStatusViewerInner.svelte +46 -2
  45. package/package/components/HighlightCode.svelte +3 -0
  46. package/package/components/InputTransformForm.svelte +3 -0
  47. package/package/components/InstanceSettings.svelte +163 -16
  48. package/package/components/InstanceSettings.svelte.d.ts +2 -0
  49. package/package/components/JobLogs.svelte +12 -0
  50. package/package/components/JobLogs.svelte.d.ts +16 -0
  51. package/package/components/JobStatus.svelte +1 -1
  52. package/package/components/Label.svelte +1 -1
  53. package/package/components/Label.svelte.d.ts +1 -0
  54. package/package/components/LightweightArgInput.svelte +294 -268
  55. package/package/components/LightweightArgInput.svelte.d.ts +3 -0
  56. package/package/components/LightweightResourcePicker.svelte +74 -26
  57. package/package/components/LightweightSchemaForm.svelte +25 -24
  58. package/package/components/LogViewer.svelte +52 -15
  59. package/package/components/LogViewer.svelte.d.ts +1 -0
  60. package/package/components/Login.svelte +288 -0
  61. package/package/components/Login.svelte.d.ts +19 -0
  62. package/package/components/ModulePreviewForm.svelte +3 -0
  63. package/package/components/NoMainFuncBadge.svelte +8 -0
  64. package/package/components/NoMainFuncBadge.svelte.d.ts +14 -0
  65. package/package/components/OauthExtraParams.svelte +1 -1
  66. package/package/components/OauthScopes.svelte +1 -1
  67. package/package/components/ObjectStoreConfigSettings.svelte +12 -1
  68. package/package/components/ObjectStoreConfigSettings.svelte.d.ts +1 -0
  69. package/package/components/ParqetTableRenderer.svelte +12 -16
  70. package/package/components/Password.svelte +1 -0
  71. package/package/components/Password.svelte.d.ts +2 -0
  72. package/package/components/PasswordArgInput.svelte +49 -0
  73. package/package/components/PasswordArgInput.svelte.d.ts +17 -0
  74. package/package/components/PropertyRow.svelte +10 -2
  75. package/package/components/QueueMetricsDrawer.svelte +225 -0
  76. package/package/components/QueueMetricsDrawer.svelte.d.ts +18 -0
  77. package/package/components/ResourceEditor.svelte +1 -0
  78. package/package/components/ResourcePicker.svelte +3 -7
  79. package/package/components/ResultJobLoader.svelte +2 -2
  80. package/package/components/ResultJobLoader.svelte.d.ts +9 -9
  81. package/package/components/S3FilePicker.svelte +1 -1
  82. package/package/components/SavedInputs.svelte +49 -13
  83. package/package/components/ScheduleEditorInner.svelte +255 -228
  84. package/package/components/SchemaEditor.svelte +5 -3
  85. package/package/components/SchemaEditor.svelte.d.ts +2 -0
  86. package/package/components/SchemaForm.svelte +5 -0
  87. package/package/components/SchemaForm.svelte.d.ts +1 -0
  88. package/package/components/SchemaModal.svelte +101 -8
  89. package/package/components/SchemaModal.svelte.d.ts +2 -0
  90. package/package/components/ScriptBuilder.svelte +15 -8
  91. package/package/components/ScriptBuilder.svelte.d.ts +1 -0
  92. package/package/components/ScriptEditor.svelte +1 -2
  93. package/package/components/ScriptEditor.svelte.d.ts +1 -1
  94. package/package/components/SimpleEditor.svelte +4 -1
  95. package/package/components/StringTypeNarrowing.svelte +43 -24
  96. package/package/components/StringTypeNarrowing.svelte.d.ts +1 -0
  97. package/package/components/TemplateEditor.svelte +1 -0
  98. package/package/components/TestJobLoader.svelte +14 -5
  99. package/package/components/TestJobLoader.svelte.d.ts +1 -1
  100. package/package/components/Toggle.svelte +1 -1
  101. package/package/components/Tooltip.svelte +8 -2
  102. package/package/components/Tooltip.svelte.d.ts +1 -0
  103. package/package/components/WorkspaceGroup.svelte +74 -9
  104. package/package/components/WorkspaceGroup.svelte.d.ts +1 -0
  105. package/package/components/app_connect.d.ts +7 -0
  106. package/package/components/app_connect.js +78 -0
  107. package/package/components/apps/components/buttons/AppButton.svelte +0 -1
  108. package/package/components/apps/components/display/AppAlert.svelte +1 -1
  109. package/package/components/apps/components/display/AppCustomComponent.svelte +1 -1
  110. package/package/components/apps/components/display/AppDisplayComponent.svelte +2 -2
  111. package/package/components/apps/components/display/AppDownload.svelte +1 -1
  112. package/package/components/apps/components/display/AppIcon.svelte +1 -1
  113. package/package/components/apps/components/display/AppJobIdFlowStatus.svelte +2 -2
  114. package/package/components/apps/components/display/AppJobIdLogComponent.svelte +3 -3
  115. package/package/components/apps/components/display/AppMap.svelte +3 -2
  116. package/package/components/apps/components/display/AppMenu.svelte +1 -1
  117. package/package/components/apps/components/display/AppPdf.svelte +3 -11
  118. package/package/components/apps/components/display/AppText.svelte +7 -2
  119. package/package/components/apps/components/display/charts/AppAgCharts.svelte +6 -3
  120. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +32 -30
  121. package/package/components/apps/components/display/dbtable/InsertRow.svelte +3 -6
  122. package/package/components/apps/components/display/dbtable/queries/delete.js +1 -1
  123. package/package/components/apps/components/display/dbtable/queries/insert.js +1 -12
  124. package/package/components/apps/components/display/dbtable/queries/select.js +1 -1
  125. package/package/components/apps/components/display/dbtable/queries/update.js +2 -2
  126. package/package/components/apps/components/display/dbtable/utils.d.ts +0 -1
  127. package/package/components/apps/components/display/dbtable/utils.js +0 -83
  128. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +75 -44
  129. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte.d.ts +5 -1
  130. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +172 -0
  131. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte.d.ts +27 -0
  132. package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte +38 -0
  133. package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte.d.ts +28 -0
  134. package/package/components/apps/components/display/table/AppAggridTable.svelte +189 -56
  135. package/package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +1 -1
  136. package/package/components/apps/components/display/table/AppAggridTableActions.svelte +11 -2
  137. package/package/components/apps/components/display/table/AppAggridTableActions.svelte.d.ts +1 -0
  138. package/package/components/apps/components/display/table/AppCell.svelte +1 -3
  139. package/package/components/apps/components/display/table/AppTable.svelte +320 -281
  140. package/package/components/apps/components/display/table/AppTableFooter.svelte +42 -23
  141. package/package/components/apps/components/display/table/AppTableFooter.svelte.d.ts +2 -2
  142. package/package/components/apps/components/display/table/SyncColumnDefs.svelte +119 -0
  143. package/package/components/apps/components/display/table/SyncColumnDefs.svelte.d.ts +21 -0
  144. package/package/components/apps/components/display/table/theme/windmill-theme.css +656 -0
  145. package/package/components/apps/components/display/table/utils.js +22 -0
  146. package/package/components/apps/components/helpers/DebouncedInput.svelte +3 -2
  147. package/package/components/apps/components/helpers/NonRunnableComponent.svelte +35 -0
  148. package/package/components/apps/components/helpers/RefreshButton.svelte +30 -12
  149. package/package/components/apps/components/helpers/RefreshButton.svelte.d.ts +1 -3
  150. package/package/components/apps/components/helpers/RefreshIndicator.svelte +19 -0
  151. package/package/components/apps/components/helpers/RefreshIndicator.svelte.d.ts +16 -0
  152. package/package/components/apps/components/helpers/ResolveConfig.svelte +1 -1
  153. package/package/components/apps/components/helpers/RunnableComponent.svelte +86 -35
  154. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +8 -5
  155. package/package/components/apps/components/helpers/RunnableWrapper.svelte +7 -1
  156. package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +5 -0
  157. package/package/components/apps/components/inputs/AppDateInput.svelte +5 -1
  158. package/package/components/apps/components/inputs/AppFileInput.svelte +11 -2
  159. package/package/components/apps/components/inputs/AppMultiSelect.svelte +56 -50
  160. package/package/components/apps/components/inputs/AppMultiSelect.svelte.d.ts +1 -0
  161. package/package/components/apps/components/inputs/AppMultiSelectV2.svelte +178 -0
  162. package/package/components/apps/components/inputs/AppMultiSelectV2.svelte.d.ts +24 -0
  163. package/package/components/apps/components/inputs/AppNumberInput.svelte +1 -1
  164. package/package/components/apps/components/inputs/AppQuillEditor.svelte +26 -0
  165. package/package/components/apps/components/inputs/AppRangeInput.svelte +38 -37
  166. package/package/components/apps/components/inputs/AppSelect.svelte +21 -10
  167. package/package/components/apps/components/inputs/AppSliderInputs.svelte +26 -31
  168. package/package/components/apps/components/inputs/AppTextInput.svelte +1 -1
  169. package/package/components/apps/components/inputs/currency/AppCurrencyInput.svelte +1 -1
  170. package/package/components/apps/components/layout/AppConditionalWrapper.svelte +7 -2
  171. package/package/components/apps/components/layout/AppContainer.svelte +1 -1
  172. package/package/components/apps/components/layout/AppDecisionTree.svelte +1 -1
  173. package/package/components/apps/components/layout/AppDrawer.svelte +16 -3
  174. package/package/components/apps/components/layout/AppDrawer.svelte.d.ts +2 -0
  175. package/package/components/apps/components/layout/AppModal.svelte +85 -79
  176. package/package/components/apps/components/layout/AppModal.svelte.d.ts +2 -0
  177. package/package/components/apps/components/layout/AppStepper.svelte +2 -1
  178. package/package/components/apps/components/layout/AppTabs.svelte +1 -1
  179. package/package/components/apps/editor/AppEditor.svelte +3 -2
  180. package/package/components/apps/editor/AppEditorHeader.svelte +62 -31
  181. package/package/components/apps/editor/AppInputs.svelte +1 -1
  182. package/package/components/apps/editor/AppPreview.svelte +18 -7
  183. package/package/components/apps/editor/ComponentHeader.svelte +37 -1
  184. package/package/components/apps/editor/ComponentHeader.svelte.d.ts +2 -0
  185. package/package/components/apps/editor/GridEditor.svelte +15 -6
  186. package/package/components/apps/editor/GridEditorMenu.svelte +120 -49
  187. package/package/components/apps/editor/GridViewer.svelte +14 -5
  188. package/package/components/apps/editor/GridViewer.svelte.d.ts +5 -1
  189. package/package/components/apps/editor/RecomputeAllComponents.svelte +17 -3
  190. package/package/components/apps/editor/RunnableJobPanel.svelte +9 -5
  191. package/package/components/apps/editor/SettingsPanel.svelte +6 -2
  192. package/package/components/apps/editor/SubGridEditor.svelte +44 -27
  193. package/package/components/apps/editor/appUtils.d.ts +6 -1
  194. package/package/components/apps/editor/appUtils.js +85 -7
  195. package/package/components/apps/editor/component/Component.svelte +78 -2
  196. package/package/components/apps/editor/component/Component.svelte.d.ts +3 -0
  197. package/package/components/apps/editor/component/components.d.ts +274 -21
  198. package/package/components/apps/editor/component/components.js +176 -12
  199. package/package/components/apps/editor/component/default-codes.d.ts +1 -1
  200. package/package/components/apps/editor/component/default-codes.js +241 -9
  201. package/package/components/apps/editor/component/sets.d.ts +3 -0
  202. package/package/components/apps/editor/component/sets.js +12 -2
  203. package/package/components/apps/editor/componentsPanel/ComponentList.svelte +15 -2
  204. package/package/components/apps/editor/componentsPanel/componentControlUtils.js +4 -2
  205. package/package/components/apps/editor/componentsPanel/cssUtils.js +1 -1
  206. package/package/components/apps/editor/componentsPanel/quickStyleProperties.js +5 -0
  207. package/package/components/apps/editor/contextPanel/components/OutputHeader.svelte +9 -5
  208. package/package/components/apps/editor/contextPanel/components/TableActionsOutput.svelte +1 -1
  209. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +46 -6
  210. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelWithTable.svelte +1 -1
  211. package/package/components/apps/editor/inlineScriptsPanel/utils.js +3 -1
  212. package/package/components/apps/editor/settingsPanel/AlignmentEditor.svelte +1 -1
  213. package/package/components/apps/editor/settingsPanel/ComponentControl.svelte +1 -1
  214. package/package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +8 -5
  215. package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +54 -4
  216. package/package/components/apps/editor/settingsPanel/ContextVariables.svelte +61 -0
  217. package/package/components/apps/editor/settingsPanel/ContextVariables.svelte.d.ts +16 -0
  218. package/package/components/apps/editor/settingsPanel/DecisionTreeGraphEditor.svelte +12 -10
  219. package/package/components/apps/editor/settingsPanel/DeleteComponent.svelte +29 -32
  220. package/package/components/apps/editor/settingsPanel/DeleteComponent.svelte.d.ts +0 -5
  221. package/package/components/apps/editor/settingsPanel/GridCondition.svelte +27 -25
  222. package/package/components/apps/editor/settingsPanel/GridTab.svelte +1 -1
  223. package/package/components/apps/editor/settingsPanel/GridTabDisabled.svelte +2 -1
  224. package/package/components/apps/editor/settingsPanel/GridTabDisabled.svelte.d.ts +1 -0
  225. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +24 -3
  226. package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +27 -1
  227. package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +1 -0
  228. package/package/components/apps/editor/settingsPanel/Recompute.svelte +1 -1
  229. package/package/components/apps/editor/settingsPanel/StylePanel.svelte +4 -3
  230. package/package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte +3 -2
  231. package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte +1 -0
  232. package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +4 -4
  233. package/package/components/apps/editor/settingsPanel/secondaryMenu/SecondaryMenu.svelte +6 -3
  234. package/package/components/apps/inputType.d.ts +4 -0
  235. package/package/components/apps/rx.d.ts +1 -1
  236. package/package/components/apps/rx.js +7 -0
  237. package/package/components/apps/svelte-grid/Grid.svelte +13 -4
  238. package/package/components/apps/svelte-grid/Grid.svelte.d.ts +2 -1
  239. package/package/components/apps/svelte-grid/types.d.ts +1 -0
  240. package/package/components/apps/svelte-grid/utils/helper.js +1 -0
  241. package/package/components/apps/svelte-grid/utils/overlap.d.ts +3 -0
  242. package/package/components/apps/svelte-grid/utils/overlap.js +21 -0
  243. package/package/components/apps/svelte-select/lib/Select.svelte.d.ts +2 -2
  244. package/package/components/apps/svelte-select/lib/tailwind.css +1 -1
  245. package/package/components/apps/types.d.ts +1 -0
  246. package/package/components/apps/utils.js +13 -3
  247. package/package/components/auditLogs/AuditLogsTable.svelte +5 -2
  248. package/package/components/build_workers.js +1 -0
  249. package/package/components/common/alert/Alert.svelte +17 -17
  250. package/package/components/common/badge/Badge.svelte +6 -3
  251. package/package/components/common/badge/model.d.ts +1 -1
  252. package/package/components/common/button/Button.svelte +22 -14
  253. package/package/components/common/calendarPicker/CalendarPicker.svelte +2 -0
  254. package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +1 -0
  255. package/package/components/common/drawer/ConditionalPortal.svelte +9 -0
  256. package/package/components/common/drawer/ConditionalPortal.svelte.d.ts +18 -0
  257. package/package/components/common/drawer/Disposable.svelte +66 -0
  258. package/package/components/common/drawer/Disposable.svelte.d.ts +36 -0
  259. package/package/components/common/drawer/Drawer.svelte +29 -55
  260. package/package/components/common/drawer/Drawer.svelte.d.ts +1 -1
  261. package/package/components/common/fileInput/FileInput.svelte +3 -3
  262. package/package/components/common/fileInput/FileInput.svelte.d.ts +1 -0
  263. package/package/components/common/fileUpload/FileUpload.svelte +1 -1
  264. package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
  265. package/package/components/common/table/RowIcon.svelte +4 -4
  266. package/package/components/common/table/ScriptRow.svelte +12 -1
  267. package/package/components/common/table/ScriptRow.svelte.d.ts +1 -0
  268. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte +45 -0
  269. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte.d.ts +24 -0
  270. package/package/components/copilot/CronGen.svelte +2 -2
  271. package/package/components/copilot/FlowCopilotStatus.svelte +1 -1
  272. package/package/components/copilot/RegexGen.svelte +17 -39
  273. package/package/components/copilot/ScriptGen.svelte +14 -5
  274. package/package/components/copilot/StepInputGen.svelte +2 -1
  275. package/package/components/copilot/StepInputsGen.svelte +2 -1
  276. package/package/components/copilot/completion.js +60 -9
  277. package/package/components/copilot/lib.js +5 -3
  278. package/package/components/copilot/prompts/edit.yaml +24 -0
  279. package/package/components/copilot/prompts/editPrompt.d.ts +3 -0
  280. package/package/components/copilot/prompts/editPrompt.js +3 -0
  281. package/package/components/copilot/prompts/fix.yaml +25 -0
  282. package/package/components/copilot/prompts/fixPrompt.d.ts +3 -0
  283. package/package/components/copilot/prompts/fixPrompt.js +3 -0
  284. package/package/components/copilot/prompts/gen.yaml +20 -0
  285. package/package/components/copilot/prompts/genPrompt.d.ts +3 -0
  286. package/package/components/copilot/prompts/genPrompt.js +3 -0
  287. package/package/components/copilot/utils.d.ts +2 -1
  288. package/package/components/copilot/utils.js +38 -0
  289. package/package/components/details/createAppFromScript.d.ts +26 -0
  290. package/package/components/details/createAppFromScript.js +50 -24
  291. package/package/components/flows/CreateActionsApp.svelte +1 -0
  292. package/package/components/flows/CreateActionsFlow.svelte +1 -0
  293. package/package/components/flows/content/FlowInputs.svelte +2 -2
  294. package/package/components/flows/content/FlowModuleComponent.svelte +15 -6
  295. package/package/components/flows/content/ScriptEditorDrawer.svelte +3 -2
  296. package/package/components/flows/flowExplorer.js +4 -1
  297. package/package/components/flows/map/FlowConstantsItem.svelte +1 -1
  298. package/package/components/flows/map/FlowErrorHandlerItem.svelte +1 -1
  299. package/package/components/flows/map/FlowModuleSchemaItem.svelte +3 -0
  300. package/package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +1 -0
  301. package/package/components/flows/map/FlowSettingsItem.svelte +1 -1
  302. package/package/components/flows/map/MapItem.svelte +2 -0
  303. package/package/components/flows/map/MapItem.svelte.d.ts +1 -0
  304. package/package/components/graph/FlowGraph.svelte +1 -0
  305. package/package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte +41 -16
  306. package/package/components/home/ItemsList.svelte +44 -9
  307. package/package/components/home/TreeView.svelte +2 -0
  308. package/package/components/icons/AzureIcon.svelte +25 -1
  309. package/package/components/icons/PHPIcon.svelte +117 -0
  310. package/package/components/icons/PHPIcon.svelte.d.ts +17 -0
  311. package/package/components/instanceSettings.d.ts +1 -1
  312. package/package/components/instanceSettings.js +18 -2
  313. package/package/components/jobs/JobPreview.svelte +5 -0
  314. package/package/components/multiselect/MultiSelect.svelte +782 -0
  315. package/package/components/multiselect/MultiSelect.svelte.d.ts +97 -0
  316. package/package/components/multiselect/types.d.ts +56 -0
  317. package/package/components/multiselect/types.js +1 -0
  318. package/package/components/multiselect/utils.d.ts +7 -0
  319. package/package/components/multiselect/utils.js +54 -0
  320. package/package/components/propertyPicker/ObjectViewer.svelte +14 -1
  321. package/package/components/runs/JobLoader.svelte +135 -17
  322. package/package/components/runs/JobLoader.svelte.d.ts +7 -2
  323. package/package/components/runs/JobPreview.svelte +39 -3
  324. package/package/components/runs/JobPreview.svelte.d.ts +2 -0
  325. package/package/components/runs/RunRow.svelte +78 -31
  326. package/package/components/runs/RunRow.svelte.d.ts +3 -0
  327. package/package/components/runs/RunsFilter.svelte +125 -9
  328. package/package/components/runs/RunsFilter.svelte.d.ts +4 -2
  329. package/package/components/runs/RunsTable.svelte +53 -5
  330. package/package/components/runs/RunsTable.svelte.d.ts +6 -0
  331. package/package/components/scriptEditor/LogPanel.svelte +46 -33
  332. package/package/components/scriptEditor/LogPanel.svelte.d.ts +1 -0
  333. package/package/components/scripts/CreateActionsScript.svelte +1 -1
  334. package/package/components/settings/WorkspaceUserSettings.svelte +246 -226
  335. package/package/components/sidebar/MenuButton.svelte +1 -1
  336. package/package/components/sidebar/MenuLink.svelte +1 -1
  337. package/package/components/sidebar/changelogs.js +40 -0
  338. package/package/components/table/AutoDataTable.svelte +77 -102
  339. package/package/components/table/DataTable.svelte +13 -5
  340. package/package/components/table/DataTable.svelte.d.ts +1 -0
  341. package/package/components/vscode.js +1 -1
  342. package/package/components/wizards/AgGridWizard.svelte +27 -2
  343. package/package/components/wizards/AgGridWizard.svelte.d.ts +1 -0
  344. package/package/consts.js +5 -1
  345. package/package/defaults.d.ts +2 -2
  346. package/package/defaults.js +2 -2
  347. package/package/deno_fetch.d.ts.txt +30 -0
  348. package/package/editorUtils.js +2 -0
  349. package/package/gen/core/OpenAPI.js +5 -6
  350. package/package/gen/core/request.js +4 -1
  351. package/package/gen/index.d.ts +0 -1
  352. package/package/gen/index.js +0 -1
  353. package/package/gen/schemas.gen.d.ts +97 -428
  354. package/package/gen/schemas.gen.js +97 -433
  355. package/package/gen/services.gen.d.ts +3087 -1840
  356. package/package/gen/services.gen.js +3442 -2358
  357. package/package/gen/types.gen.d.ts +5048 -1505
  358. package/package/infer.d.ts +1 -1
  359. package/package/infer.js +6 -2
  360. package/package/inferArgSig.js +5 -2
  361. package/package/init_scripts/python_init_code.d.ts +1 -1
  362. package/package/init_scripts/python_init_code.js +1 -1
  363. package/package/process.d.ts.txt +1770 -0
  364. package/package/script_helpers.d.ts +3 -2
  365. package/package/script_helpers.js +28 -3
  366. package/package/scripts.d.ts +1 -1
  367. package/package/scripts.js +4 -0
  368. package/package/utils.d.ts +3 -0
  369. package/package/utils.js +46 -3
  370. package/package/windmill_fetch.d.ts.txt +16966 -0
  371. package/package/zIndexes.d.ts +12 -0
  372. package/package/zIndexes.js +12 -0
  373. package/package.json +5 -5
  374. package/package/components/AppConnect.svelte +0 -566
  375. package/package/components/AppConnect.svelte.d.ts +0 -23
  376. package/package/components/ContextMenu.svelte +0 -89
  377. package/package/components/ContextMenu.svelte.d.ts +0 -28
  378. package/package/components/apps/components/display/index.d.ts +0 -17
  379. package/package/components/apps/components/display/index.js +0 -17
  380. package/package/components/apps/components/helpers/index.d.ts +0 -10
  381. package/package/components/apps/components/helpers/index.js +0 -10
  382. package/package/components/apps/components/index.d.ts +0 -5
  383. package/package/components/apps/components/index.js +0 -5
@@ -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
  />
@@ -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,14 @@ 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;
40
42
  const { worldStore, runnableComponents, workspace, appPath, isEditor, jobs, jobsById, noBackend, errorByComponent, mode, stateId, state, componentControl, initialized, selectedComponent, app, connectingInput, bgRuns } = getContext('AppViewerContext');
41
43
  const editorContext = getContext('AppEditorContext');
42
44
  const iterContext = getContext('ListWrapperContext');
43
45
  const rowContext = getContext('RowWrapperContext');
44
46
  const groupContext = getContext('GroupContext');
45
47
  const dispatch = createEventDispatcher();
46
- let donePromise = undefined;
47
48
  $runnableComponents = $runnableComponents;
48
49
  export function setArgs(value) {
49
50
  args = value;
@@ -71,17 +72,33 @@ let currentStaticValues = lazyStaticValues;
71
72
  let isBg = id.startsWith('bg_');
72
73
  $: isBg && updateBgRuns(loading);
73
74
  $: fields && (currentStaticValues = computeStaticValues());
74
- $: if (!deepEqual(currentStaticValues, lazyStaticValues)) {
75
- lazyStaticValues = currentStaticValues;
76
- refreshIfAutoRefresh('static changed');
75
+ $: currentStaticValues && refreshOnStaticChange();
76
+ function refreshOnStaticChange() {
77
+ if (!deepEqual(currentStaticValues, lazyStaticValues)) {
78
+ lazyStaticValues = currentStaticValues;
79
+ refreshIfAutoRefresh('static changed');
80
+ }
77
81
  }
82
+ // $: sendUserToast('args' + JSON.stringify(runnableInputValues) + Boolean(extraQueryParams) || args)
78
83
  // $: console.log(runnableInputValues)
84
+ let firstRefresh = true;
79
85
  $: (runnableInputValues || extraQueryParams || args) &&
80
86
  resultJobLoader &&
81
87
  refreshIfAutoRefresh('arg changed');
88
+ $: runnableInputValues && dispatch('argsChanged');
82
89
  $: refreshOn =
83
90
  runnable && runnable.type === 'runnableByName' ? runnable.inlineScript?.refreshOn ?? [] : [];
84
- function refreshIfAutoRefresh(_src) {
91
+ function refreshIfAutoRefresh(src) {
92
+ if (firstRefresh) {
93
+ firstRefresh = false;
94
+ if (src == 'arg changed' &&
95
+ args == undefined &&
96
+ Object.keys(runnableInputValues ?? {}).length == 0 &&
97
+ Object.keys(extraQueryParams ?? {}).length == 0) {
98
+ // console.debug(`Skipping refreshing ${id} because ${_src} (first)`)
99
+ return;
100
+ }
101
+ }
85
102
  // console.debug(`Triggering refreshing ${id} because ${_src}`)
86
103
  const refreshEnabled = autoRefresh && ((recomputeOnInputChanged ?? true) || refreshOn?.length > 0);
87
104
  if (refreshEnabled && $initialized.initialized) {
@@ -160,6 +177,7 @@ async function executeComponent(noToast = false, inlineScriptOverride, setRunnab
160
177
  let jobId;
161
178
  console.debug(`Executing ${id}`);
162
179
  if (iterContext && $iterContext.disabled) {
180
+ callbacks?.done({});
163
181
  console.debug(`Skipping execution of ${id} because it is part of a disabled list`);
164
182
  return;
165
183
  }
@@ -170,6 +188,7 @@ async function executeComponent(noToast = false, inlineScriptOverride, setRunnab
170
188
  job = generateNextFrontendJobId();
171
189
  addJob(job);
172
190
  }
191
+ console.log('Frontend job started', id);
173
192
  let r;
174
193
  try {
175
194
  r = await eval_like(runnable.inlineScript?.content, computeGlobalContext($worldStore, {
@@ -177,16 +196,16 @@ async function executeComponent(noToast = false, inlineScriptOverride, setRunnab
177
196
  row: rowContext ? $rowContext : undefined,
178
197
  group: groupContext ? $groupContext : undefined
179
198
  }), $state, isEditor, $componentControl, $worldStore, $runnableComponents, true);
180
- await setResult(r, job, setRunnableJobEditorPanel);
199
+ await setResult(r, job);
181
200
  $state = $state;
182
201
  }
183
202
  catch (e) {
184
203
  sendUserToast(`Error running frontend script ${id}: ` + e.message, true);
185
204
  r = { error: { message: e.body ?? e.message } };
186
- await setResult(r, job, setRunnableJobEditorPanel);
205
+ await setResult(r, job);
187
206
  }
188
207
  loading = false;
189
- donePromise?.(r);
208
+ callbacks?.done(r);
190
209
  if (setRunnableJobEditorPanel && editorContext) {
191
210
  editorContext.runnableJobEditorPanel.update((p) => {
192
211
  return {
@@ -201,39 +220,56 @@ async function executeComponent(noToast = false, inlineScriptOverride, setRunnab
201
220
  if (!noToast) {
202
221
  sendUserToast('This app is not connected to a windmill backend, it is a static preview');
203
222
  }
204
- donePromise?.(undefined);
223
+ callbacks?.done({});
205
224
  return;
206
225
  }
207
226
  if (runnable?.type === 'runnableByName' && !runnable.inlineScript) {
227
+ callbacks?.done({});
208
228
  return;
209
229
  }
210
230
  if (!resultJobLoader) {
211
231
  console.warn('No test job loader');
232
+ callbacks?.done({});
212
233
  return;
213
234
  }
214
235
  try {
215
236
  jobId = await resultJobLoader?.abstractRun(async () => {
216
237
  const nonStaticRunnableInputs = dynamicArgsOverride ?? {};
217
238
  const staticRunnableInputs = {};
239
+ const allowUserResources = [];
218
240
  for (const k of Object.keys(fields ?? {})) {
219
241
  let field = fields[k];
220
242
  if (field?.type == 'static' && fields[k]) {
221
- staticRunnableInputs[k] = field.value;
243
+ if (isEditor) {
244
+ staticRunnableInputs[k] = field.value;
245
+ }
222
246
  }
223
247
  else if (field?.type == 'user') {
224
248
  nonStaticRunnableInputs[k] = args?.[k];
249
+ if (isEditor && field.allowUserResources) {
250
+ allowUserResources.push(k);
251
+ }
225
252
  }
226
253
  else if (field?.type == 'eval' || (field?.type == 'evalv2' && inputValues[k])) {
227
254
  nonStaticRunnableInputs[k] = await inputValues[k]?.computeExpr();
255
+ if (isEditor && field?.type == 'evalv2' && field.allowUserResources) {
256
+ allowUserResources.push(k);
257
+ }
228
258
  }
229
259
  else {
260
+ if (isEditor && field?.type == 'connected' && field.allowUserResources) {
261
+ allowUserResources.push(k);
262
+ }
230
263
  nonStaticRunnableInputs[k] = runnableInputValues[k];
231
264
  }
232
265
  }
266
+ const oneOfRunnableInputs = isEditor ? collectOneOfFields(fields, $app) : {};
233
267
  const requestBody = {
234
268
  args: nonStaticRunnableInputs,
235
269
  component: id,
236
- force_viewer_static_fields: !isEditor ? undefined : staticRunnableInputs
270
+ force_viewer_static_fields: !isEditor ? undefined : staticRunnableInputs,
271
+ force_viewer_one_of_fields: !isEditor ? undefined : oneOfRunnableInputs,
272
+ force_viewer_allow_user_resources: !isEditor ? undefined : allowUserResources
237
273
  };
238
274
  if (runnable?.type === 'runnableByName') {
239
275
  const { inlineScript } = inlineScriptOverride
@@ -242,7 +278,7 @@ async function executeComponent(noToast = false, inlineScriptOverride, setRunnab
242
278
  if (inlineScript) {
243
279
  requestBody['raw_code'] = {
244
280
  content: inlineScript.content,
245
- language: inlineScript.language,
281
+ language: inlineScript.language ?? '',
246
282
  path: inlineScript.path,
247
283
  lock: inlineScript.lock,
248
284
  cache_ttl: inlineScript.cache_ttl
@@ -277,7 +313,7 @@ async function executeComponent(noToast = false, inlineScriptOverride, setRunnab
277
313
  let error = e.body ?? e.message;
278
314
  updateResult({ error });
279
315
  $errorByComponent[id] = { error };
280
- donePromise?.({ error });
316
+ callbacks?.done({ error });
281
317
  sendUserToast(error, true);
282
318
  loading = false;
283
319
  }
@@ -288,7 +324,7 @@ export async function runComponent(noToast = false, inlineScriptOverride, setRun
288
324
  await cancellableRun();
289
325
  }
290
326
  else {
291
- console.log('Run component');
327
+ console.log('Run component', id);
292
328
  return await executeComponent(noToast, inlineScriptOverride, setRunnableJobEditorPanel, dynamicArgsOverride, callbacks);
293
329
  }
294
330
  }
@@ -360,7 +396,7 @@ function updateResult(res) {
360
396
  outputs.result?.set(res);
361
397
  result = res;
362
398
  }
363
- async function setResult(res, jobId, setRunnableJobEditorPanel) {
399
+ async function setResult(res, jobId) {
364
400
  dispatch('resultSet');
365
401
  const errors = getResultErrors(res);
366
402
  if (errors) {
@@ -370,7 +406,7 @@ async function setResult(res, jobId, setRunnableJobEditorPanel) {
370
406
  recordJob(jobId, errors, errors, transformerResult);
371
407
  updateResult(res);
372
408
  dispatch('handleError', errors);
373
- donePromise?.(res);
409
+ // callbacks?.done(res)
374
410
  return;
375
411
  }
376
412
  const transformerResult = await runTransformer(res);
@@ -386,14 +422,14 @@ async function setResult(res, jobId, setRunnableJobEditorPanel) {
386
422
  recordJob(jobId, res, undefined, transformerResult);
387
423
  updateResult(transformerResult);
388
424
  dispatch('handleError', transformerResult.error);
389
- donePromise?.(res);
425
+ // callbacks?.done(res)
390
426
  return;
391
427
  }
392
428
  updateResult(transformerResult ?? res);
393
429
  recordJob(jobId, result, undefined, transformerResult);
394
430
  delete $errorByComponent[id];
395
431
  dispatch('success', result);
396
- donePromise?.(result);
432
+ // callbacks?.done(res)
397
433
  }
398
434
  function handleInputClick(e) {
399
435
  const event = e;
@@ -401,22 +437,37 @@ function handleInputClick(e) {
401
437
  }
402
438
  let cancellableRun = undefined;
403
439
  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'));
440
+ if (overrideCallback) {
441
+ cancellableRun = overrideCallback;
442
+ }
443
+ else {
444
+ cancellableRun = (inlineScript, setRunnableJobEditorPanel) => {
445
+ let rejectCb;
446
+ let p = new Promise((resolve, reject) => {
447
+ rejectCb = reject;
448
+ executeComponent(true, inlineScript, setRunnableJobEditorPanel, undefined, {
449
+ done: (x) => {
450
+ resolve(x);
451
+ },
452
+ cancel: () => {
453
+ reject();
454
+ },
455
+ error: (e) => {
456
+ console.error(e);
457
+ reject();
458
+ }
459
+ }).catch(reject);
460
+ });
461
+ p.cancel = () => {
462
+ resultJobLoader?.cancelJob();
463
+ loading = false;
464
+ rejectCb(new Error('Canceled'));
465
+ };
466
+ return p;
415
467
  };
416
- return p;
417
- };
468
+ }
418
469
  $runnableComponents[id] = {
419
- autoRefresh: autoRefresh && recomputableByRefreshButton,
470
+ autoRefresh: (autoRefresh && recomputableByRefreshButton) || overrideAutoRefresh,
420
471
  refreshOnStart: refreshOnStart,
421
472
  cb: [...($runnableComponents[id]?.cb ?? []), cancellableRun]
422
473
  };
@@ -582,7 +633,7 @@ function updateBgRuns(loading) {
582
633
  {/if}
583
634
  {#if render && !initializing && autoRefresh === true && !hideRefreshButton}
584
635
  <div class="flex absolute top-1 right-1 z-50 app-component-refresh-btn">
585
- <RefreshButton {loading} componentId={id} />
636
+ <RefreshButton {loading} {id} />
586
637
  </div>
587
638
  {/if}
588
639
  </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,16 @@ 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;
36
38
  setArgs?: ((value: any) => void) | undefined;
37
39
  invalidate?: ((key: string, error: string) => void) | undefined;
38
40
  validate?: ((key: string) => void) | undefined;
39
41
  validateAll?: (() => void) | undefined;
40
42
  runComponent?: ((noToast?: boolean, inlineScriptOverride?: InlineScript, setRunnableJobEditorPanel?: boolean, dynamicArgsOverride?: Record<string, any>, callbacks?: {
41
- done: (x: any[]) => void;
43
+ done: (x: any) => void;
42
44
  cancel: () => void;
43
- error: () => void;
45
+ error: (e: any) => void;
44
46
  } | undefined) => Promise<string | undefined>) | undefined;
45
47
  };
46
48
  events: {
@@ -48,6 +50,7 @@ declare const __propDef: {
48
50
  done: CustomEvent<any>;
49
51
  cancel: CustomEvent<any>;
50
52
  doneError: CustomEvent<any>;
53
+ argsChanged: CustomEvent<any>;
51
54
  resultSet: CustomEvent<any>;
52
55
  handleError: CustomEvent<any>;
53
56
  success: CustomEvent<any>;
@@ -67,9 +70,9 @@ export default class RunnableComponent extends SvelteComponent<RunnableComponent
67
70
  get validate(): (key: string) => void;
68
71
  get validateAll(): () => void;
69
72
  get runComponent(): (noToast?: boolean, inlineScriptOverride?: InlineScript | undefined, setRunnableJobEditorPanel?: boolean | undefined, dynamicArgsOverride?: Record<string, any> | undefined, callbacks?: {
70
- done: (x: any[]) => void;
73
+ done: (x: any) => void;
71
74
  cancel: () => void;
72
- error: () => void;
75
+ error: (e: any) => void;
73
76
  } | undefined) => Promise<string | undefined>;
74
77
  }
75
78
  export {};
@@ -6,6 +6,9 @@ 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;
9
12
  export let id;
10
13
  export let result = undefined;
11
14
  export let initializing = true;
@@ -175,9 +178,11 @@ export async function handleSideEffect(success, errorMessage) {
175
178
  fields={componentInput.fields}
176
179
  bind:result
177
180
  runnable={componentInput.runnable}
178
- hideRefreshButton={componentInput.hideRefreshButton}
181
+ hideRefreshButton={componentInput.hideRefreshButton ?? hideRefreshButton}
179
182
  transformer={componentInput.transformer}
180
183
  {autoRefresh}
184
+ {overrideCallback}
185
+ {overrideAutoRefresh}
181
186
  recomputableByRefreshButton={componentInput.autoRefresh ?? true}
182
187
  bind:recomputeOnInputChanged={componentInput.recomputeOnInputChanged}
183
188
  {id}
@@ -191,6 +196,7 @@ export async function handleSideEffect(success, errorMessage) {
191
196
  on:done
192
197
  on:doneError
193
198
  on:cancel
199
+ on:argsChanged
194
200
  on:resultSet={() => (initializing = false)}
195
201
  on:success={(e) => {
196
202
  onSuccess(e.detail)
@@ -2,10 +2,14 @@ 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;
9
13
  id: string;
10
14
  result?: any;
11
15
  initializing?: boolean | undefined;
@@ -117,6 +121,7 @@ declare const __propDef: {
117
121
  done: CustomEvent<any>;
118
122
  doneError: CustomEvent<any>;
119
123
  cancel: CustomEvent<any>;
124
+ argsChanged: CustomEvent<any>;
120
125
  } & {
121
126
  [evt: string]: CustomEvent<any>;
122
127
  };
@@ -83,7 +83,11 @@ let css = initCss($app.css?.dateinputcomponent, customCss);
83
83
  min={resolvedConfig.minDate}
84
84
  max={resolvedConfig.maxDate}
85
85
  placeholder="Type..."
86
- class={twMerge('windmillapp w-full py-1.5 text-sm px-2', css?.input?.class, 'wm-date-input')}
86
+ class={twMerge(
87
+ 'windmillapp w-full py-1.5 text-sm px-1 app-editor-input',
88
+ css?.input?.class,
89
+ 'wm-date-input'
90
+ )}
87
91
  style={css?.input?.style ?? ''}
88
92
  />
89
93
  {/if}
@@ -10,7 +10,7 @@ export let id;
10
10
  export let configuration;
11
11
  export let customCss = undefined;
12
12
  export let render;
13
- const { app, worldStore, componentControl } = getContext('AppViewerContext');
13
+ const { app, worldStore, componentControl, mode } = getContext('AppViewerContext');
14
14
  let acceptedFileTypes = undefined;
15
15
  let allowMultiple = undefined;
16
16
  let text = undefined;
@@ -36,6 +36,14 @@ $componentControl[id] = {
36
36
  fileInput?.clearFiles();
37
37
  }
38
38
  };
39
+ let files = undefined;
40
+ function preFillFiles() {
41
+ const data = outputs?.result?.peak();
42
+ if (data && Array.isArray(data) && data.length > 0) {
43
+ files = data.map((file) => new File([], file?.name));
44
+ }
45
+ }
46
+ $: outputs.result && files === undefined && $mode === 'dnd' && preFillFiles();
39
47
  </script>
40
48
 
41
49
  {#each Object.keys(css ?? {}) as key (key)}
@@ -67,7 +75,7 @@ $componentControl[id] = {
67
75
  <InitializeComponent {id} />
68
76
 
69
77
  {#if render}
70
- <div class="w-full h-full p-1">
78
+ <div class="w-full h-full">
71
79
  <FileInput
72
80
  bind:this={fileInput}
73
81
  accept={acceptedFileTypes?.length ? acceptedFileTypes?.join(', ') : undefined}
@@ -80,6 +88,7 @@ $componentControl[id] = {
80
88
  class={twMerge('w-full h-full', css?.container?.class, 'wm-file-input')}
81
89
  style={css?.container?.style}
82
90
  submittedText={submittedFileText}
91
+ bind:files
83
92
  >
84
93
  {text}
85
94
  </FileInput>