windmill-components 1.309.7 → 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 (382) 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 +10 -6
  91. package/package/components/ScriptEditor.svelte +1 -2
  92. package/package/components/ScriptEditor.svelte.d.ts +1 -1
  93. package/package/components/SimpleEditor.svelte +4 -1
  94. package/package/components/StringTypeNarrowing.svelte +43 -24
  95. package/package/components/StringTypeNarrowing.svelte.d.ts +1 -0
  96. package/package/components/TemplateEditor.svelte +1 -0
  97. package/package/components/TestJobLoader.svelte +14 -5
  98. package/package/components/TestJobLoader.svelte.d.ts +1 -1
  99. package/package/components/Toggle.svelte +1 -1
  100. package/package/components/Tooltip.svelte +8 -2
  101. package/package/components/Tooltip.svelte.d.ts +1 -0
  102. package/package/components/WorkspaceGroup.svelte +74 -9
  103. package/package/components/WorkspaceGroup.svelte.d.ts +1 -0
  104. package/package/components/app_connect.d.ts +7 -0
  105. package/package/components/app_connect.js +78 -0
  106. package/package/components/apps/components/buttons/AppButton.svelte +0 -1
  107. package/package/components/apps/components/display/AppAlert.svelte +1 -1
  108. package/package/components/apps/components/display/AppCustomComponent.svelte +1 -1
  109. package/package/components/apps/components/display/AppDisplayComponent.svelte +2 -2
  110. package/package/components/apps/components/display/AppDownload.svelte +1 -1
  111. package/package/components/apps/components/display/AppIcon.svelte +1 -1
  112. package/package/components/apps/components/display/AppJobIdFlowStatus.svelte +2 -2
  113. package/package/components/apps/components/display/AppJobIdLogComponent.svelte +3 -3
  114. package/package/components/apps/components/display/AppMap.svelte +3 -2
  115. package/package/components/apps/components/display/AppMenu.svelte +1 -1
  116. package/package/components/apps/components/display/AppPdf.svelte +3 -11
  117. package/package/components/apps/components/display/AppText.svelte +7 -2
  118. package/package/components/apps/components/display/charts/AppAgCharts.svelte +6 -3
  119. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +32 -30
  120. package/package/components/apps/components/display/dbtable/InsertRow.svelte +3 -6
  121. package/package/components/apps/components/display/dbtable/queries/delete.js +1 -1
  122. package/package/components/apps/components/display/dbtable/queries/insert.js +1 -12
  123. package/package/components/apps/components/display/dbtable/queries/select.js +1 -1
  124. package/package/components/apps/components/display/dbtable/queries/update.js +2 -2
  125. package/package/components/apps/components/display/dbtable/utils.d.ts +0 -1
  126. package/package/components/apps/components/display/dbtable/utils.js +0 -83
  127. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +75 -44
  128. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte.d.ts +5 -1
  129. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +172 -0
  130. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte.d.ts +27 -0
  131. package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte +38 -0
  132. package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte.d.ts +28 -0
  133. package/package/components/apps/components/display/table/AppAggridTable.svelte +189 -56
  134. package/package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +1 -1
  135. package/package/components/apps/components/display/table/AppAggridTableActions.svelte +11 -2
  136. package/package/components/apps/components/display/table/AppAggridTableActions.svelte.d.ts +1 -0
  137. package/package/components/apps/components/display/table/AppCell.svelte +1 -3
  138. package/package/components/apps/components/display/table/AppTable.svelte +320 -281
  139. package/package/components/apps/components/display/table/AppTableFooter.svelte +42 -23
  140. package/package/components/apps/components/display/table/AppTableFooter.svelte.d.ts +2 -2
  141. package/package/components/apps/components/display/table/SyncColumnDefs.svelte +119 -0
  142. package/package/components/apps/components/display/table/SyncColumnDefs.svelte.d.ts +21 -0
  143. package/package/components/apps/components/display/table/theme/windmill-theme.css +656 -0
  144. package/package/components/apps/components/display/table/utils.js +22 -0
  145. package/package/components/apps/components/helpers/DebouncedInput.svelte +3 -2
  146. package/package/components/apps/components/helpers/NonRunnableComponent.svelte +35 -0
  147. package/package/components/apps/components/helpers/RefreshButton.svelte +30 -12
  148. package/package/components/apps/components/helpers/RefreshButton.svelte.d.ts +1 -3
  149. package/package/components/apps/components/helpers/RefreshIndicator.svelte +19 -0
  150. package/package/components/apps/components/helpers/RefreshIndicator.svelte.d.ts +16 -0
  151. package/package/components/apps/components/helpers/ResolveConfig.svelte +1 -1
  152. package/package/components/apps/components/helpers/RunnableComponent.svelte +86 -35
  153. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +8 -5
  154. package/package/components/apps/components/helpers/RunnableWrapper.svelte +7 -1
  155. package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +5 -0
  156. package/package/components/apps/components/inputs/AppDateInput.svelte +5 -1
  157. package/package/components/apps/components/inputs/AppFileInput.svelte +11 -2
  158. package/package/components/apps/components/inputs/AppMultiSelect.svelte +56 -50
  159. package/package/components/apps/components/inputs/AppMultiSelect.svelte.d.ts +1 -0
  160. package/package/components/apps/components/inputs/AppMultiSelectV2.svelte +178 -0
  161. package/package/components/apps/components/inputs/AppMultiSelectV2.svelte.d.ts +24 -0
  162. package/package/components/apps/components/inputs/AppNumberInput.svelte +1 -1
  163. package/package/components/apps/components/inputs/AppQuillEditor.svelte +26 -0
  164. package/package/components/apps/components/inputs/AppRangeInput.svelte +38 -37
  165. package/package/components/apps/components/inputs/AppSelect.svelte +21 -10
  166. package/package/components/apps/components/inputs/AppSliderInputs.svelte +26 -31
  167. package/package/components/apps/components/inputs/AppTextInput.svelte +1 -1
  168. package/package/components/apps/components/inputs/currency/AppCurrencyInput.svelte +1 -1
  169. package/package/components/apps/components/layout/AppConditionalWrapper.svelte +7 -2
  170. package/package/components/apps/components/layout/AppContainer.svelte +1 -1
  171. package/package/components/apps/components/layout/AppDecisionTree.svelte +1 -1
  172. package/package/components/apps/components/layout/AppDrawer.svelte +16 -3
  173. package/package/components/apps/components/layout/AppDrawer.svelte.d.ts +2 -0
  174. package/package/components/apps/components/layout/AppModal.svelte +85 -79
  175. package/package/components/apps/components/layout/AppModal.svelte.d.ts +2 -0
  176. package/package/components/apps/components/layout/AppStepper.svelte +2 -1
  177. package/package/components/apps/components/layout/AppTabs.svelte +1 -1
  178. package/package/components/apps/editor/AppEditor.svelte +3 -2
  179. package/package/components/apps/editor/AppEditorHeader.svelte +62 -31
  180. package/package/components/apps/editor/AppInputs.svelte +1 -1
  181. package/package/components/apps/editor/AppPreview.svelte +18 -7
  182. package/package/components/apps/editor/ComponentHeader.svelte +37 -1
  183. package/package/components/apps/editor/ComponentHeader.svelte.d.ts +2 -0
  184. package/package/components/apps/editor/GridEditor.svelte +15 -6
  185. package/package/components/apps/editor/GridEditorMenu.svelte +120 -49
  186. package/package/components/apps/editor/GridViewer.svelte +14 -5
  187. package/package/components/apps/editor/GridViewer.svelte.d.ts +5 -1
  188. package/package/components/apps/editor/RecomputeAllComponents.svelte +17 -3
  189. package/package/components/apps/editor/RunnableJobPanel.svelte +9 -5
  190. package/package/components/apps/editor/SettingsPanel.svelte +6 -2
  191. package/package/components/apps/editor/SubGridEditor.svelte +44 -27
  192. package/package/components/apps/editor/appUtils.d.ts +6 -1
  193. package/package/components/apps/editor/appUtils.js +85 -7
  194. package/package/components/apps/editor/component/Component.svelte +78 -2
  195. package/package/components/apps/editor/component/Component.svelte.d.ts +3 -0
  196. package/package/components/apps/editor/component/components.d.ts +274 -21
  197. package/package/components/apps/editor/component/components.js +176 -12
  198. package/package/components/apps/editor/component/default-codes.d.ts +1 -1
  199. package/package/components/apps/editor/component/default-codes.js +241 -9
  200. package/package/components/apps/editor/component/sets.d.ts +3 -0
  201. package/package/components/apps/editor/component/sets.js +12 -2
  202. package/package/components/apps/editor/componentsPanel/ComponentList.svelte +15 -2
  203. package/package/components/apps/editor/componentsPanel/componentControlUtils.js +4 -2
  204. package/package/components/apps/editor/componentsPanel/cssUtils.js +1 -1
  205. package/package/components/apps/editor/componentsPanel/quickStyleProperties.js +5 -0
  206. package/package/components/apps/editor/contextPanel/components/OutputHeader.svelte +9 -5
  207. package/package/components/apps/editor/contextPanel/components/TableActionsOutput.svelte +1 -1
  208. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +46 -6
  209. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelWithTable.svelte +1 -1
  210. package/package/components/apps/editor/inlineScriptsPanel/utils.js +3 -1
  211. package/package/components/apps/editor/settingsPanel/AlignmentEditor.svelte +1 -1
  212. package/package/components/apps/editor/settingsPanel/ComponentControl.svelte +1 -1
  213. package/package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +8 -5
  214. package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +54 -4
  215. package/package/components/apps/editor/settingsPanel/ContextVariables.svelte +61 -0
  216. package/package/components/apps/editor/settingsPanel/ContextVariables.svelte.d.ts +16 -0
  217. package/package/components/apps/editor/settingsPanel/DecisionTreeGraphEditor.svelte +12 -10
  218. package/package/components/apps/editor/settingsPanel/DeleteComponent.svelte +29 -32
  219. package/package/components/apps/editor/settingsPanel/DeleteComponent.svelte.d.ts +0 -5
  220. package/package/components/apps/editor/settingsPanel/GridCondition.svelte +27 -25
  221. package/package/components/apps/editor/settingsPanel/GridTab.svelte +1 -1
  222. package/package/components/apps/editor/settingsPanel/GridTabDisabled.svelte +2 -1
  223. package/package/components/apps/editor/settingsPanel/GridTabDisabled.svelte.d.ts +1 -0
  224. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +24 -3
  225. package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +27 -1
  226. package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +1 -0
  227. package/package/components/apps/editor/settingsPanel/Recompute.svelte +1 -1
  228. package/package/components/apps/editor/settingsPanel/StylePanel.svelte +4 -3
  229. package/package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte +3 -2
  230. package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte +1 -0
  231. package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +4 -4
  232. package/package/components/apps/editor/settingsPanel/secondaryMenu/SecondaryMenu.svelte +6 -3
  233. package/package/components/apps/inputType.d.ts +4 -0
  234. package/package/components/apps/rx.d.ts +1 -1
  235. package/package/components/apps/rx.js +7 -0
  236. package/package/components/apps/svelte-grid/Grid.svelte +13 -4
  237. package/package/components/apps/svelte-grid/Grid.svelte.d.ts +2 -1
  238. package/package/components/apps/svelte-grid/types.d.ts +1 -0
  239. package/package/components/apps/svelte-grid/utils/helper.js +1 -0
  240. package/package/components/apps/svelte-grid/utils/overlap.d.ts +3 -0
  241. package/package/components/apps/svelte-grid/utils/overlap.js +21 -0
  242. package/package/components/apps/svelte-select/lib/Select.svelte.d.ts +2 -2
  243. package/package/components/apps/svelte-select/lib/tailwind.css +1 -1
  244. package/package/components/apps/types.d.ts +1 -0
  245. package/package/components/apps/utils.js +13 -3
  246. package/package/components/auditLogs/AuditLogsTable.svelte +5 -2
  247. package/package/components/build_workers.js +1 -0
  248. package/package/components/common/alert/Alert.svelte +17 -17
  249. package/package/components/common/badge/Badge.svelte +6 -3
  250. package/package/components/common/badge/model.d.ts +1 -1
  251. package/package/components/common/button/Button.svelte +22 -14
  252. package/package/components/common/calendarPicker/CalendarPicker.svelte +2 -0
  253. package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +1 -0
  254. package/package/components/common/drawer/ConditionalPortal.svelte +9 -0
  255. package/package/components/common/drawer/ConditionalPortal.svelte.d.ts +18 -0
  256. package/package/components/common/drawer/Disposable.svelte +66 -0
  257. package/package/components/common/drawer/Disposable.svelte.d.ts +36 -0
  258. package/package/components/common/drawer/Drawer.svelte +29 -55
  259. package/package/components/common/drawer/Drawer.svelte.d.ts +1 -1
  260. package/package/components/common/fileInput/FileInput.svelte +3 -3
  261. package/package/components/common/fileInput/FileInput.svelte.d.ts +1 -0
  262. package/package/components/common/fileUpload/FileUpload.svelte +1 -1
  263. package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
  264. package/package/components/common/table/RowIcon.svelte +4 -4
  265. package/package/components/common/table/ScriptRow.svelte +12 -1
  266. package/package/components/common/table/ScriptRow.svelte.d.ts +1 -0
  267. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte +45 -0
  268. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte.d.ts +24 -0
  269. package/package/components/copilot/CronGen.svelte +2 -2
  270. package/package/components/copilot/FlowCopilotStatus.svelte +1 -1
  271. package/package/components/copilot/RegexGen.svelte +17 -39
  272. package/package/components/copilot/ScriptGen.svelte +14 -5
  273. package/package/components/copilot/StepInputGen.svelte +2 -1
  274. package/package/components/copilot/StepInputsGen.svelte +2 -1
  275. package/package/components/copilot/completion.js +60 -9
  276. package/package/components/copilot/lib.js +5 -3
  277. package/package/components/copilot/prompts/edit.yaml +24 -0
  278. package/package/components/copilot/prompts/editPrompt.d.ts +3 -0
  279. package/package/components/copilot/prompts/editPrompt.js +3 -0
  280. package/package/components/copilot/prompts/fix.yaml +25 -0
  281. package/package/components/copilot/prompts/fixPrompt.d.ts +3 -0
  282. package/package/components/copilot/prompts/fixPrompt.js +3 -0
  283. package/package/components/copilot/prompts/gen.yaml +20 -0
  284. package/package/components/copilot/prompts/genPrompt.d.ts +3 -0
  285. package/package/components/copilot/prompts/genPrompt.js +3 -0
  286. package/package/components/copilot/utils.d.ts +2 -1
  287. package/package/components/copilot/utils.js +38 -0
  288. package/package/components/details/createAppFromScript.d.ts +26 -0
  289. package/package/components/details/createAppFromScript.js +50 -24
  290. package/package/components/flows/CreateActionsApp.svelte +1 -0
  291. package/package/components/flows/CreateActionsFlow.svelte +1 -0
  292. package/package/components/flows/content/FlowInputs.svelte +2 -2
  293. package/package/components/flows/content/FlowModuleComponent.svelte +15 -6
  294. package/package/components/flows/content/ScriptEditorDrawer.svelte +3 -2
  295. package/package/components/flows/flowExplorer.js +4 -1
  296. package/package/components/flows/map/FlowConstantsItem.svelte +1 -1
  297. package/package/components/flows/map/FlowErrorHandlerItem.svelte +1 -1
  298. package/package/components/flows/map/FlowModuleSchemaItem.svelte +3 -0
  299. package/package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +1 -0
  300. package/package/components/flows/map/FlowSettingsItem.svelte +1 -1
  301. package/package/components/flows/map/MapItem.svelte +2 -0
  302. package/package/components/flows/map/MapItem.svelte.d.ts +1 -0
  303. package/package/components/graph/FlowGraph.svelte +1 -0
  304. package/package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte +41 -16
  305. package/package/components/home/ItemsList.svelte +44 -9
  306. package/package/components/home/TreeView.svelte +2 -0
  307. package/package/components/icons/AzureIcon.svelte +25 -1
  308. package/package/components/icons/PHPIcon.svelte +117 -0
  309. package/package/components/icons/PHPIcon.svelte.d.ts +17 -0
  310. package/package/components/instanceSettings.d.ts +1 -1
  311. package/package/components/instanceSettings.js +18 -2
  312. package/package/components/jobs/JobPreview.svelte +5 -0
  313. package/package/components/multiselect/MultiSelect.svelte +782 -0
  314. package/package/components/multiselect/MultiSelect.svelte.d.ts +97 -0
  315. package/package/components/multiselect/types.d.ts +56 -0
  316. package/package/components/multiselect/types.js +1 -0
  317. package/package/components/multiselect/utils.d.ts +7 -0
  318. package/package/components/multiselect/utils.js +54 -0
  319. package/package/components/propertyPicker/ObjectViewer.svelte +14 -1
  320. package/package/components/runs/JobLoader.svelte +135 -17
  321. package/package/components/runs/JobLoader.svelte.d.ts +7 -2
  322. package/package/components/runs/JobPreview.svelte +39 -3
  323. package/package/components/runs/JobPreview.svelte.d.ts +2 -0
  324. package/package/components/runs/RunRow.svelte +78 -31
  325. package/package/components/runs/RunRow.svelte.d.ts +3 -0
  326. package/package/components/runs/RunsFilter.svelte +125 -9
  327. package/package/components/runs/RunsFilter.svelte.d.ts +4 -2
  328. package/package/components/runs/RunsTable.svelte +53 -5
  329. package/package/components/runs/RunsTable.svelte.d.ts +6 -0
  330. package/package/components/scriptEditor/LogPanel.svelte +46 -33
  331. package/package/components/scriptEditor/LogPanel.svelte.d.ts +1 -0
  332. package/package/components/scripts/CreateActionsScript.svelte +1 -1
  333. package/package/components/settings/WorkspaceUserSettings.svelte +246 -226
  334. package/package/components/sidebar/MenuButton.svelte +1 -1
  335. package/package/components/sidebar/MenuLink.svelte +1 -1
  336. package/package/components/sidebar/changelogs.js +40 -0
  337. package/package/components/table/AutoDataTable.svelte +77 -102
  338. package/package/components/table/DataTable.svelte +13 -5
  339. package/package/components/table/DataTable.svelte.d.ts +1 -0
  340. package/package/components/vscode.js +1 -1
  341. package/package/components/wizards/AgGridWizard.svelte +27 -2
  342. package/package/components/wizards/AgGridWizard.svelte.d.ts +1 -0
  343. package/package/consts.js +5 -1
  344. package/package/defaults.d.ts +2 -2
  345. package/package/defaults.js +2 -2
  346. package/package/deno_fetch.d.ts.txt +30 -0
  347. package/package/editorUtils.js +2 -0
  348. package/package/gen/core/OpenAPI.js +5 -6
  349. package/package/gen/core/request.js +4 -1
  350. package/package/gen/index.d.ts +0 -1
  351. package/package/gen/index.js +0 -1
  352. package/package/gen/schemas.gen.d.ts +97 -428
  353. package/package/gen/schemas.gen.js +97 -433
  354. package/package/gen/services.gen.d.ts +3087 -1840
  355. package/package/gen/services.gen.js +3442 -2358
  356. package/package/gen/types.gen.d.ts +5048 -1505
  357. package/package/infer.d.ts +1 -1
  358. package/package/infer.js +6 -2
  359. package/package/inferArgSig.js +5 -2
  360. package/package/init_scripts/python_init_code.d.ts +1 -1
  361. package/package/init_scripts/python_init_code.js +1 -1
  362. package/package/process.d.ts.txt +1770 -0
  363. package/package/script_helpers.d.ts +3 -2
  364. package/package/script_helpers.js +28 -3
  365. package/package/scripts.d.ts +1 -1
  366. package/package/scripts.js +4 -0
  367. package/package/utils.d.ts +3 -0
  368. package/package/utils.js +46 -3
  369. package/package/windmill_fetch.d.ts.txt +16966 -0
  370. package/package/zIndexes.d.ts +12 -0
  371. package/package/zIndexes.js +12 -0
  372. package/package.json +5 -5
  373. package/package/components/AppConnect.svelte +0 -566
  374. package/package/components/AppConnect.svelte.d.ts +0 -23
  375. package/package/components/ContextMenu.svelte +0 -89
  376. package/package/components/ContextMenu.svelte.d.ts +0 -28
  377. package/package/components/apps/components/display/index.d.ts +0 -17
  378. package/package/components/apps/components/display/index.js +0 -17
  379. package/package/components/apps/components/helpers/index.d.ts +0 -10
  380. package/package/components/apps/components/helpers/index.js +0 -10
  381. package/package/components/apps/components/index.d.ts +0 -5
  382. package/package/components/apps/components/index.js +0 -5
@@ -518,6 +518,8 @@ export const quickStyleProperties = {
518
518
  },
519
519
  aggridcomponent: {},
520
520
  aggridcomponentee: {},
521
+ aggridinfinitecomponent: {},
522
+ aggridinfinitecomponentee: {},
521
523
  buttoncomponent: {
522
524
  button: buttonDefaultProps,
523
525
  container: containerDefaultProps
@@ -639,6 +641,9 @@ export const quickStyleProperties = {
639
641
  multiselectcomponent: {
640
642
  input: inputDefaultProps
641
643
  },
644
+ multiselectcomponentv2: {
645
+ input: inputDefaultProps
646
+ },
642
647
  numberinputcomponent: {
643
648
  input: inputDefaultProps
644
649
  },
@@ -27,11 +27,11 @@ const hoverColor = {
27
27
  };
28
28
  const openBackground = {
29
29
  blue: 'bg-blue-50 dark:bg-frost-800',
30
- indigo: 'bg-indigo-50 dark:bg-indigo-800'
30
+ indigo: 'bg-indigo-50 dark:bg-indigo-700/50'
31
31
  };
32
32
  const manuallyOpenColor = {
33
- blue: 'text-primary bg-gray-300 rounded-sm',
34
- indigo: 'text-primary bg-gray-300 rounded-sm'
33
+ blue: 'text-primary dark:text-gray-50 bg-gray-300 rounded-sm dark:bg-gray-600',
34
+ indigo: 'text-primary bg-gray-300 dark:text-gray-50 rounded-sm dark:bg-gray-600'
35
35
  };
36
36
  const idClass = {
37
37
  blue: 'bg-blue-500 text-white',
@@ -69,7 +69,9 @@ function renameId(newId) {
69
69
  }
70
70
  if (item?.data.type == 'aggridcomponent' ||
71
71
  item?.data.type == 'aggridcomponentee' ||
72
- item?.data.type == 'dbexplorercomponent') {
72
+ item?.data.type == 'dbexplorercomponent' ||
73
+ item?.data.type == 'aggridinfinitecomponent' ||
74
+ item?.data.type == 'aggridinfinitecomponentee') {
73
75
  for (let c of item.data.actions ?? []) {
74
76
  let old = c.id;
75
77
  c.id = c.id.replace(id + '_', newId + '_');
@@ -95,7 +97,9 @@ function renameComponent(from, to, data) {
95
97
  }
96
98
  if ((data.type == 'aggridcomponent' ||
97
99
  data.type == 'aggridcomponentee' ||
98
- data.type == 'dbexplorercomponent') &&
100
+ data.type == 'dbexplorercomponent' ||
101
+ data.type == 'aggridinfinitecomponent' ||
102
+ data.type == 'aggridinfinitecomponentee') &&
99
103
  Array.isArray(data.actions)) {
100
104
  for (let c of data.actions) {
101
105
  renameComponent(from, to, c);
@@ -10,7 +10,7 @@ export let gridItem;
10
10
  {/each}
11
11
  </div>
12
12
  {/if}
13
- {#if (gridItem.data.type === 'aggridcomponent' || gridItem.data.type === 'aggridcomponentee' || gridItem.data.type === 'dbexplorercomponent') && gridItem.data.actions?.length > 0}
13
+ {#if (gridItem.data.type === 'aggridcomponent' || gridItem.data.type === 'aggridcomponentee' || gridItem.data.type === 'dbexplorercomponent' || gridItem.data.type === 'aggridinfinitecomponent' || gridItem.data.type === 'aggridinfinitecomponentee') && gridItem.data.actions?.length > 0}
14
14
  <div class="ml-2 border-l">
15
15
  {#each gridItem.data.actions as action, index}
16
16
  <Output id={action.id} first={index === 0} label="Table action" />
@@ -65,16 +65,55 @@ function preConnect(newFields) {
65
65
  const componentOutputs = $worldStore?.outputsById[id];
66
66
  if (componentOutputs.currentStepIndex) {
67
67
  newFields['stepIndex'] = {
68
- type: 'connected',
69
- connection: {
70
- componentId: id,
71
- path: 'currentStepIndex'
72
- },
73
- value: componentOutputs.currentStepIndex.peak(),
68
+ type: 'evalv2',
69
+ expr: `${id}.currentStepIndex`,
74
70
  fieldType: 'number'
75
71
  };
76
72
  }
77
73
  }
74
+ else if (componentType === 'aggridinfinitecomponent' ||
75
+ componentType === 'aggridinfinitecomponentee') {
76
+ newFields['offset'] = {
77
+ type: 'evalv2',
78
+ expr: `${id}.params.offset`,
79
+ fieldType: 'number'
80
+ };
81
+ newFields['limit'] = {
82
+ type: 'evalv2',
83
+ expr: `${id}.params.limit`,
84
+ fieldType: 'number'
85
+ };
86
+ newFields['orderBy'] = {
87
+ type: 'evalv2',
88
+ expr: `${id}.params.orderBy`,
89
+ fieldType: 'string'
90
+ };
91
+ newFields['isDesc'] = {
92
+ type: 'evalv2',
93
+ expr: `${id}.params.isDesc`,
94
+ fieldType: 'boolean'
95
+ };
96
+ newFields['search'] = {
97
+ type: 'evalv2',
98
+ expr: `${id}.params.search`,
99
+ fieldType: 'string'
100
+ };
101
+ }
102
+ }
103
+ function assertConnections(newFields) {
104
+ if (componentType === 'aggridinfinitecomponent' ||
105
+ componentType === 'aggridinfinitecomponentee') {
106
+ const fields = ['offset', 'limit', 'orderBy', 'isDesc', 'search'];
107
+ fields.forEach((field) => {
108
+ if (newFields[field]?.type !== 'evalv2') {
109
+ newFields[field] = {
110
+ type: 'evalv2',
111
+ expr: `${id}.params.${field}`,
112
+ fieldType: newFields[field]?.fieldType ?? 'string'
113
+ };
114
+ }
115
+ });
116
+ }
78
117
  }
79
118
  async function loadSchemaAndInputsByName() {
80
119
  if (syncFields && inlineScript) {
@@ -85,6 +124,7 @@ async function loadSchemaAndInputsByName() {
85
124
  if (!hadPreviousFields && Object.keys(newFields).length > 0) {
86
125
  preConnect(newFields);
87
126
  }
127
+ assertConnections(newFields);
88
128
  if (!deepEqual(newFields, fields)) {
89
129
  fields = newFields;
90
130
  $stateId++;
@@ -30,7 +30,7 @@ export let gridItem;
30
30
  {/each}
31
31
  {/if}
32
32
 
33
- {#if (gridItem?.data?.type === 'aggridcomponent' || gridItem?.data?.type === 'aggridcomponentee' || gridItem?.data?.type === 'dbexplorercomponent') && Array.isArray(gridItem.data.actions)}
33
+ {#if (gridItem?.data?.type === 'aggridcomponent' || gridItem?.data?.type === 'aggridcomponentee' || gridItem?.data?.type === 'dbexplorercomponent' || gridItem?.data?.type === 'aggridinfinitecomponent' || gridItem?.data?.type === 'aggridinfinitecomponentee') && Array.isArray(gridItem.data.actions)}
34
34
  {#each gridItem.data.actions as actionButton, index (index)}
35
35
  {#if actionButton?.id === $selectedComponentInEditor || actionButton?.id + '_transformer' === $selectedComponentInEditor}
36
36
  <InlineScriptEditorPanel
@@ -48,7 +48,9 @@ function processGridItemRunnable(gridItem, list) {
48
48
  }
49
49
  if (component.type === 'aggridcomponent' ||
50
50
  component.type === 'aggridcomponentee' ||
51
- component.type === 'dbexplorercomponent') {
51
+ component.type === 'dbexplorercomponent' ||
52
+ component.type === 'aggridinfinitecomponent' ||
53
+ component.type === 'aggridinfinitecomponentee') {
52
54
  component.actions?.forEach((actionButton) => {
53
55
  if (actionButton.componentInput?.type !== 'runnable') {
54
56
  return;
@@ -12,7 +12,7 @@ export let component;
12
12
  {#if component.horizontalAlignment}
13
13
  <ToggleButtonGroup
14
14
  noWFull
15
- on:selected={() => (component = component)}
15
+ on:selected={() => ($app = $app)}
16
16
  bind:selected={component.horizontalAlignment}
17
17
  >
18
18
  <ToggleButton value="left" icon={AlignStartVertical} />
@@ -25,7 +25,7 @@ let collapsed = true;
25
25
  </div>
26
26
 
27
27
  {#if collapsed}
28
- <div class="flex flex-row gap-1">
28
+ <div class="flex flex-row gap-1 flex-wrap">
29
29
  {#each componentControls as control}
30
30
  <span class="inline-flex items-center rounded-md px-2 py-0.5 text-xs font-medium border">
31
31
  {control.title}
@@ -20,12 +20,15 @@ function applyConnection(connection) {
20
20
  ...componentInput,
21
21
  type: 'evalv2',
22
22
  expr: expr,
23
- connections: [{ componentId: connection.componentId, id: connection.path.split('.')[0].split('[')[0] }]
23
+ connections: [
24
+ { componentId: connection.componentId, id: connection.path.split('.')[0].split('[')[0] }
25
+ ]
24
26
  };
25
27
  evalV2editor?.setCode(expr);
26
28
  $app = $app;
27
29
  }
28
30
  let clientWidth;
31
+ const iconOnlyThreshold = 300;
29
32
  </script>
30
33
 
31
34
  {#if componentInput.fieldType !== 'any'}
@@ -61,7 +64,7 @@ let clientWidth;
61
64
  label="Static"
62
65
  value="static"
63
66
  disabled={disableStatic}
64
- iconOnly={clientWidth < 250}
67
+ iconOnly={clientWidth < iconOnlyThreshold}
65
68
  icon={Pen}
66
69
  />
67
70
  {/if}
@@ -69,21 +72,21 @@ let clientWidth;
69
72
  <ToggleButton
70
73
  value="connected"
71
74
  icon={Plug2}
72
- iconOnly={clientWidth < 250}
75
+ iconOnly={clientWidth < iconOnlyThreshold}
73
76
  label="Connect"
74
77
  />
75
78
  {/if}
76
79
  <ToggleButton
77
80
  value="evalv2"
78
81
  icon={FunctionSquare}
79
- iconOnly={clientWidth < 250}
82
+ iconOnly={clientWidth < iconOnlyThreshold}
80
83
  label="Eval"
81
84
  />
82
85
 
83
86
  <ToggleButton
84
87
  value="runnable"
85
88
  icon={Code}
86
- iconOnly={clientWidth < 250}
89
+ iconOnly={clientWidth < iconOnlyThreshold}
87
90
  label="Compute"
88
91
  id="data-source-compute"
89
92
  />
@@ -5,7 +5,7 @@ import InputsSpecsEditor from './InputsSpecsEditor.svelte';
5
5
  import TableActions from './TableActions.svelte';
6
6
  import StaticInputEditor from './inputEditor/StaticInputEditor.svelte';
7
7
  import ConnectedInputEditor from './inputEditor/ConnectedInputEditor.svelte';
8
- import { classNames, getModifierKey } from '../../../../utils';
8
+ import { classNames, getModifierKey, isMac } from '../../../../utils';
9
9
  import { buildExtraLib } from '../../utils';
10
10
  import Recompute from './Recompute.svelte';
11
11
  import Tooltip from '../../../Tooltip.svelte';
@@ -34,6 +34,8 @@ import ComponentPanelDataSource from './ComponentPanelDataSource.svelte';
34
34
  import MenuItems from './MenuItems.svelte';
35
35
  import DecisionTreeGraphEditor from './DecisionTreeGraphEditor.svelte';
36
36
  import GridAgChartsLicenseKe from './GridAgChartsLicenseKe.svelte';
37
+ import Toggle from '../../../Toggle.svelte';
38
+ import ContextVariables from './ContextVariables.svelte';
37
39
  export let componentSettings = undefined;
38
40
  export let onDelete = undefined;
39
41
  export let noGrid = false;
@@ -127,9 +129,6 @@ function transformToFrontend() {
127
129
  componentSettings.item.data.componentInput = appInput;
128
130
  }
129
131
  }
130
- function isMac() {
131
- return navigator.platform.toUpperCase().indexOf('MAC') >= 0;
132
- }
133
132
  </script>
134
133
 
135
134
  <svelte:window on:keydown={keydown} />
@@ -251,6 +250,8 @@ function isMac() {
251
250
  {/if}
252
251
  </div>
253
252
  {/if}
253
+ <ContextVariables type={component.type} />
254
+
254
255
  {#key $stateId}
255
256
  {#if componentSettings.item.data.componentInput?.type === 'runnable'}
256
257
  {#if Object.keys(componentSettings.item.data.componentInput.fields ?? {}).length > 0}
@@ -274,6 +275,13 @@ function isMac() {
274
275
  recomputeOnInputChanged={componentSettings.item.data.componentInput
275
276
  .recomputeOnInputChanged}
276
277
  showOnDemandOnlyToggle
278
+ acceptSelf={component.type === 'aggridinfinitecomponent' ||
279
+ component.type === 'aggridinfinitecomponentee' ||
280
+ component.type === 'steppercomponent'}
281
+ overridenByComponent={component.type === 'aggridinfinitecomponent' ||
282
+ component.type === 'aggridinfinitecomponentee'
283
+ ? ['offset', 'limit', 'orderBy', 'isDesc', 'search']
284
+ : []}
277
285
  />
278
286
  </div>
279
287
  {/if}
@@ -326,6 +334,11 @@ function isMac() {
326
334
  />
327
335
  {:else if componentSettings.item.data.type === 'aggridcomponent'}
328
336
  <TableActions id={component.id} bind:components={componentSettings.item.data.actions} />
337
+ {:else if componentSettings.item.data.type === 'aggridinfinitecomponent'}
338
+ <TableActions id={component.id} bind:components={componentSettings.item.data.actions} />
339
+ {:else if componentSettings.item.data.type === 'aggridinfinitecomponentee'}
340
+ <GridAgGridLicenseKey bind:license={componentSettings.item.data.license} />
341
+ <TableActions id={component.id} bind:components={componentSettings.item.data.actions} />
329
342
  {:else if componentSettings.item.data.type === 'dbexplorercomponent'}
330
343
  <TableActions id={component.id} bind:components={componentSettings.item.data.actions} />
331
344
  {:else if componentSettings.item.data.type === 'tablecomponent' && Array.isArray(componentSettings.item.data.actionButtons)}
@@ -355,6 +368,22 @@ function isMac() {
355
368
  ownId={component.id}
356
369
  />
357
370
  {/if}
371
+ {#if (`onOpenRecomputeIds` in componentSettings.item.data && Array.isArray(componentSettings.item.data.onOpenRecomputeIds)) || componentSettings.item.data.type === 'modalcomponent' || componentSettings.item.data.type === 'drawercomponent'}
372
+ <Recompute
373
+ bind:recomputeIds={componentSettings.item.data.onOpenRecomputeIds}
374
+ ownId={component.id}
375
+ title="Trigger runnables on open"
376
+ tooltip="Select components to recompute after this component was opened"
377
+ />
378
+ {/if}
379
+ {#if (`onCloseRecomputeIds` in componentSettings.item.data && Array.isArray(componentSettings.item.data.onCloseRecomputeIds)) || componentSettings.item.data.type === 'modalcomponent' || componentSettings.item.data.type === 'drawercomponent'}
380
+ <Recompute
381
+ bind:recomputeIds={componentSettings.item.data.onCloseRecomputeIds}
382
+ ownId={component.id}
383
+ title="Trigger runnables on close"
384
+ tooltip="Select components to recompute after this component was closed"
385
+ />
386
+ {/if}
358
387
  {#if componentSettings.item.data.type === 'checkboxcomponent'}
359
388
  <Recompute
360
389
  title="Recompute on toggle"
@@ -389,6 +418,27 @@ function isMac() {
389
418
  Show
390
419
  </Button>
391
420
  </div>
421
+ <div class="flex gap-2 items-center">
422
+ <div class="!text-2xs">Full height</div>
423
+ {#if componentSettings?.item?.[12]?.fullHeight !== undefined}
424
+ <Toggle
425
+ bind:checked={componentSettings.item[12].fullHeight}
426
+ size="xs"
427
+ options={{
428
+ right: 'Desktop'
429
+ }}
430
+ />
431
+ {/if}
432
+ {#if componentSettings?.item?.[3]?.fullHeight !== undefined}
433
+ <Toggle
434
+ bind:checked={componentSettings.item[3].fullHeight}
435
+ size="xs"
436
+ options={{
437
+ right: 'Mobile'
438
+ }}
439
+ />
440
+ {/if}
441
+ </div>
392
442
  <AlignmentEditor bind:component={componentSettings.item.data} />
393
443
  {#if viewCssOptions}
394
444
  <div transition:slide|local class="w-full">
@@ -0,0 +1,61 @@
1
+ <script>import Popover from '../../../Popover.svelte';
2
+ import Tooltip from '../../../Tooltip.svelte';
3
+ export let type;
4
+ const tables = [
5
+ 'aggridcomponent',
6
+ 'aggridcomponentee',
7
+ 'dbexplorercomponent',
8
+ 'aggridinfinitecomponent',
9
+ 'aggridinfinitecomponentee'
10
+ ];
11
+ const contextVariables = [];
12
+ if (tables.includes(type)) {
13
+ contextVariables.push({
14
+ label: 'row',
15
+ description: 'The current row of a table. Row is an object with keys index and value.'
16
+ });
17
+ }
18
+ else if (type === 's3fileinputcomponent' || type === 'fileinputcomponent') {
19
+ contextVariables.push({
20
+ label: 'file',
21
+ description: 'The current file being processed.'
22
+ });
23
+ }
24
+ else if (type === 'containercomponent') {
25
+ contextVariables.push({
26
+ label: 'group',
27
+ description: 'The group name of the container.'
28
+ });
29
+ }
30
+ else if (type === 'listcomponent') {
31
+ contextVariables.push({
32
+ label: 'iter',
33
+ description: 'The current iteration of the list. Iter is an object with keys index and value.'
34
+ });
35
+ }
36
+ </script>
37
+
38
+ {#if contextVariables.length > 0}
39
+ <div class="my-2">
40
+ <div class="text-xs font-semibold flex flex-row gap-1 items-center">
41
+ <div class="mb-1"> Context </div>
42
+ <Tooltip small light>
43
+ Context are variables available in any expressions of config and runnable inputs that are
44
+ specific to this particular component. Hover over the variables to see their descriptions.
45
+ </Tooltip>
46
+ </div>
47
+ <div class="flex flex-row gap-1">
48
+ {#each contextVariables as contextVariable}
49
+ <Popover>
50
+ <svelte:fragment slot="text">
51
+ {contextVariable.description}
52
+ </svelte:fragment>
53
+
54
+ <span class="inline-flex items-center rounded-md px-2 py-0.5 text-xs font-medium border">
55
+ {contextVariable.label}
56
+ </span>
57
+ </Popover>
58
+ {/each}
59
+ </div>
60
+ </div>
61
+ {/if}
@@ -0,0 +1,16 @@
1
+ import { SvelteComponent } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ type: string;
5
+ };
6
+ events: {
7
+ [evt: string]: CustomEvent<any>;
8
+ };
9
+ slots: {};
10
+ };
11
+ export type ContextVariablesProps = typeof __propDef.props;
12
+ export type ContextVariablesEvents = typeof __propDef.events;
13
+ export type ContextVariablesSlots = typeof __propDef.slots;
14
+ export default class ContextVariables extends SvelteComponent<ContextVariablesProps, ContextVariablesEvents, ContextVariablesSlots> {
15
+ }
16
+ export {};
@@ -31,16 +31,18 @@ setContext('DecisionTreeEditor', { selectedNodeId });
31
31
  <Splitpanes>
32
32
  <Pane size={60}>
33
33
  <div class="w-full h-full" bind:clientWidth={paneWidth} bind:clientHeight={paneHeight}>
34
- <DecisionTreePreview
35
- bind:nodes
36
- bind:component
37
- {rebuildOnChange}
38
- {paneHeight}
39
- {paneWidth}
40
- on:render={() => {
41
- renderCount++
42
- }}
43
- />
34
+ {#if paneWidth && paneHeight}
35
+ <DecisionTreePreview
36
+ bind:nodes
37
+ bind:component
38
+ {rebuildOnChange}
39
+ {paneHeight}
40
+ {paneWidth}
41
+ on:render={() => {
42
+ renderCount++
43
+ }}
44
+ />
45
+ {/if}
44
46
  </div>
45
47
  </Pane>
46
48
  <Pane size={40}>
@@ -1,44 +1,41 @@
1
1
  <script>import { getContext } from 'svelte';
2
- import { deleteGridItem } from '../appUtils';
2
+ import { deleteGridItem, findComponentSettings } from '../appUtils';
3
3
  import { push } from '../../../../history';
4
- export let componentSettings = [];
5
4
  export let onDelete = undefined;
6
5
  export let noGrid = false;
7
6
  const { app, runnableComponents, selectedComponent, worldStore, focusedGrid, errorByComponent, componentControl } = getContext('AppViewerContext');
8
7
  const { history, movingcomponents } = getContext('AppEditorContext');
9
8
  export function removeGridElement() {
9
+ const id = $selectedComponent?.[0];
10
+ const componentSetting = findComponentSettings($app, id);
10
11
  push(history, $app);
11
- componentSettings?.forEach((componentSetting) => {
12
- const id = componentSetting?.item?.id;
13
- const onDeleteComponentControl = id ? $componentControl[id]?.onDelete : undefined;
14
- if (onDeleteComponentControl) {
15
- onDeleteComponentControl();
12
+ const onDeleteComponentControl = id ? $componentControl[id]?.onDelete : undefined;
13
+ if (onDeleteComponentControl) {
14
+ onDeleteComponentControl();
15
+ }
16
+ if (onDelete) {
17
+ onDelete();
18
+ }
19
+ if (id) {
20
+ delete $worldStore.outputsById[id];
21
+ delete $errorByComponent[id];
22
+ if ($movingcomponents?.includes(id)) {
23
+ $movingcomponents = $movingcomponents.filter((_id) => _id !== id);
16
24
  }
17
- if (onDelete) {
18
- onDelete();
25
+ }
26
+ $selectedComponent = undefined;
27
+ $focusedGrid = undefined;
28
+ if (componentSetting?.item && !noGrid) {
29
+ let ids = deleteGridItem($app, componentSetting?.item.data, componentSetting?.parent);
30
+ for (const key of ids) {
31
+ delete $runnableComponents[key];
19
32
  }
20
- let cId = componentSetting?.item.id;
21
- if (cId) {
22
- delete $worldStore.outputsById[cId];
23
- delete $errorByComponent[cId];
24
- if ($movingcomponents?.includes(cId)) {
25
- $movingcomponents = $movingcomponents.filter((id) => id !== cId);
26
- }
27
- }
28
- $selectedComponent = undefined;
29
- $focusedGrid = undefined;
30
- if (componentSetting?.item && !noGrid) {
31
- let ids = deleteGridItem($app, componentSetting?.item.data, componentSetting?.parent);
32
- for (const key of ids) {
33
- delete $runnableComponents[key];
34
- }
35
- }
36
- if (componentSetting?.item?.data?.id) {
37
- delete $runnableComponents[componentSetting?.item?.data?.id];
38
- }
39
- $app = $app;
40
- $runnableComponents = $runnableComponents;
41
- onDelete?.();
42
- });
33
+ }
34
+ if (componentSetting?.item?.data?.id) {
35
+ delete $runnableComponents[componentSetting?.item?.data?.id];
36
+ }
37
+ $app = $app;
38
+ $runnableComponents = $runnableComponents;
39
+ onDelete?.();
43
40
  }
44
41
  </script>
@@ -1,11 +1,6 @@
1
1
  import { SvelteComponent } from "svelte";
2
- import type { GridItem } from '../../types';
3
2
  declare const __propDef: {
4
3
  props: {
5
- componentSettings?: {
6
- item: GridItem;
7
- parent: string;
8
- }[] | any;
9
4
  onDelete?: (() => void) | undefined;
10
5
  noGrid?: boolean | undefined;
11
6
  removeGridElement?: (() => void) | undefined;
@@ -14,12 +14,16 @@ let dragDisabled = true;
14
14
  let items = conditions.slice(0, -1).map((condition, index) => {
15
15
  return { value: condition, id: generateRandomString(), originalIndex: index };
16
16
  });
17
- $: conditions = items.map((item) => item.value).concat([{
17
+ $: conditions = items
18
+ .map((item) => item.value)
19
+ .concat([
20
+ {
18
21
  type: 'evalv2',
19
22
  expr: 'true',
20
23
  fieldType: 'boolean',
21
24
  connections: []
22
- }]);
25
+ }
26
+ ]);
23
27
  const { app, runnableComponents, componentControl } = getContext('AppViewerContext');
24
28
  function handleConsider(e) {
25
29
  const { items: newItems } = e.detail;
@@ -69,7 +73,7 @@ function deleteSubgrid(index) {
69
73
  }
70
74
  }
71
75
  $runnableComponents = $runnableComponents;
72
- for (let i = index; i < items.length - 1; i++) {
76
+ for (let i = index; i < items.length; i++) {
73
77
  $app.subgrids[`${component.id}-${i}`] = $app.subgrids[`${component.id}-${i + 1}`];
74
78
  }
75
79
  // Remove the corresponding item from the items array
@@ -84,7 +88,7 @@ function deleteSubgrid(index) {
84
88
  $app = $app;
85
89
  }
86
90
  function addCondition() {
87
- const numberOfConditions = items.length;
91
+ const numberOfConditions = conditions.length;
88
92
  if (!$app.subgrids) {
89
93
  $app.subgrids = {};
90
94
  }
@@ -102,7 +106,7 @@ function addCondition() {
102
106
  id: generateRandomString(),
103
107
  originalIndex: items.length
104
108
  });
105
- component.numberOfSubgrids = items.length;
109
+ component.numberOfSubgrids = items.length + 1;
106
110
  }
107
111
  </script>
108
112
 
@@ -130,27 +134,26 @@ function addCondition() {
130
134
  <div class="w-full flex flex-row gap-2 items-center relative">
131
135
  <div class={twMerge('grow border p-3 my-2 rounded-md bg-surface relative')}>
132
136
  {#if dragDisabled}
133
- <InputsSpecEditor
134
- key={`Condition ${index + 1}`}
135
- bind:componentInput={item.value}
136
- id={component.id}
137
- userInputEnabled={false}
138
- shouldCapitalize={true}
139
- resourceOnly={false}
140
- fieldType={condition?.['fieldType']}
141
- subFieldType={condition?.['subFieldType']}
142
- format={condition?.['format']}
143
- selectOptions={condition?.['selectOptions']}
144
- tooltip={condition?.['tooltip']}
145
- fileUpload={condition?.['fileUpload']}
146
- placeholder={condition?.['placeholder']}
147
- customTitle={condition?.['customTitle']}
148
- displayType={false}
149
- />
137
+ <InputsSpecEditor
138
+ key={`condition${index + 1}`}
139
+ bind:componentInput={item.value}
140
+ id={component.id}
141
+ userInputEnabled={false}
142
+ shouldCapitalize={true}
143
+ resourceOnly={false}
144
+ fieldType={condition?.['fieldType']}
145
+ subFieldType={condition?.['subFieldType']}
146
+ format={condition?.['format']}
147
+ selectOptions={condition?.['selectOptions']}
148
+ tooltip={condition?.['tooltip']}
149
+ fileUpload={condition?.['fileUpload']}
150
+ placeholder={condition?.['placeholder']}
151
+ customTitle={condition?.['customTitle']}
152
+ displayType={false}
153
+ />
150
154
  {:else}
151
- <pre><code>{condition?.['expr']}</code></pre>
155
+ <pre><code>{condition?.['expr']}</code></pre>
152
156
  {/if}
153
-
154
157
  </div>
155
158
 
156
159
  <div class="flex flex-col justify-center gap-2">
@@ -175,7 +178,6 @@ function addCondition() {
175
178
  </div>
176
179
  </div>
177
180
  </div>
178
-
179
181
  {/each}
180
182
  </section>
181
183
  <div class="border rounded-md p-3 mb-2">
@@ -164,7 +164,7 @@ function handleKeyDown(event) {
164
164
  </div>
165
165
 
166
166
  {#if canDisableTabs && disabledTabs}
167
- <GridTabDisabled bind:field={disabledTabs[index]} id={component.id} />
167
+ <GridTabDisabled {index} bind:field={disabledTabs[index]} id={component.id} />
168
168
  {/if}
169
169
  </div>
170
170
  {/each}
@@ -3,6 +3,7 @@ import InputsSpecEditor from './InputsSpecEditor.svelte';
3
3
  import { slide } from 'svelte/transition';
4
4
  export let id;
5
5
  export let field;
6
+ export let index;
6
7
  let disablable = field && !(field?.type === 'static' && field?.value === false);
7
8
  </script>
8
9
 
@@ -33,7 +34,7 @@ let disablable = field && !(field?.type === 'static' && field?.value === false);
33
34
  {#if disablable}
34
35
  <div transition:slide|local>
35
36
  <InputsSpecEditor
36
- key={`Tab disabled`}
37
+ key="tabDisabled {index}"
37
38
  bind:componentInput={field}
38
39
  {id}
39
40
  userInputEnabled={false}