windmill-components 1.269.4 → 1.291.4

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 (339) hide show
  1. package/package/ata/apis.d.ts +8 -5
  2. package/package/ata/apis.js +20 -9
  3. package/package/ata/edgeCases.js +5 -1
  4. package/package/ata/index.d.ts +3 -3
  5. package/package/ata/index.js +51 -28
  6. package/package/common.d.ts +1 -0
  7. package/package/components/AddUser.svelte +15 -6
  8. package/package/components/ApiConnectForm.svelte +1 -1
  9. package/package/components/ArgEnum.svelte +1 -1
  10. package/package/components/ArgEnum.svelte.d.ts +1 -1
  11. package/package/components/ArgInfo.svelte +2 -1
  12. package/package/components/ArgInput.svelte +7 -6
  13. package/package/components/ArgInput.svelte.d.ts +1 -1
  14. package/package/components/ArrayTypeNarrowing.svelte +2 -0
  15. package/package/components/CenteredModal.svelte +5 -2
  16. package/package/components/ChangeInstanceUsername.svelte +123 -0
  17. package/package/components/ChangeInstanceUsername.svelte.d.ts +20 -0
  18. package/package/components/ContentSearch.svelte +3 -4
  19. package/package/components/ContentSearch.svelte.d.ts +0 -3
  20. package/package/components/DateTimeInput.svelte +73 -9
  21. package/package/components/DateTimeInput.svelte.d.ts +8 -1
  22. package/package/components/DefaultScripts.svelte +26 -0
  23. package/package/components/DefaultScripts.svelte.d.ts +14 -0
  24. package/package/components/DefaultScriptsInner.svelte +75 -0
  25. package/package/components/DefaultScriptsInner.svelte.d.ts +14 -0
  26. package/package/components/Dev.svelte +59 -17
  27. package/package/components/DisplayResult.svelte +73 -67
  28. package/package/components/DurationMs.svelte +9 -8
  29. package/package/components/DurationMs.svelte.d.ts +1 -0
  30. package/package/components/Editor.svelte +23 -7
  31. package/package/components/FieldHeader.svelte +7 -7
  32. package/package/components/FlowBuilder.svelte +24 -13
  33. package/package/components/FlowBuilder.svelte.d.ts +0 -3
  34. package/package/components/FlowLoopIterationPreview.svelte +6 -5
  35. package/package/components/FlowMetadata.svelte +6 -2
  36. package/package/components/FlowPreviewContent.svelte +5 -5
  37. package/package/components/FolderEditor.svelte +20 -39
  38. package/package/components/GroupEditor.svelte +1 -1
  39. package/package/components/HighlightCode.svelte +7 -5
  40. package/package/components/IconedResourceType.svelte +5 -3
  41. package/package/components/IconedResourceType.svelte.d.ts +21 -7
  42. package/package/components/InputTransformForm.svelte +6 -1
  43. package/package/components/InstanceSettings.svelte +29 -17
  44. package/package/components/InstanceSettings.svelte.d.ts +3 -0
  45. package/package/components/InviteGlobalUser.svelte +1 -1
  46. package/package/components/JobArgs.svelte +20 -7
  47. package/package/components/JobStatus.svelte +8 -2
  48. package/package/components/LightweightArgInput.svelte +30 -14
  49. package/package/components/LightweightSchemaForm.svelte +1 -0
  50. package/package/components/LogViewer.svelte +21 -6
  51. package/package/components/ModulePreview.svelte +19 -11
  52. package/package/components/ModulePreview.svelte.d.ts +3 -2
  53. package/package/components/ObjectResourceInput.svelte +2 -0
  54. package/package/components/ObjectResourceInput.svelte.d.ts +1 -0
  55. package/package/components/Password.svelte +5 -2
  56. package/package/components/Password.svelte.d.ts +1 -0
  57. package/package/components/Path.svelte +10 -11
  58. package/package/components/ResourcePicker.svelte +28 -9
  59. package/package/components/ResourcePicker.svelte.d.ts +1 -0
  60. package/package/components/RunChart.svelte +1 -0
  61. package/package/components/RunForm.svelte +9 -17
  62. package/package/components/RunFormAdvancedPopup.svelte +11 -12
  63. package/package/components/S3FilePicker.svelte +1 -0
  64. package/package/components/ScheduleEditorInner.svelte +10 -9
  65. package/package/components/ScheduleEditorInner.svelte.d.ts +2 -2
  66. package/package/components/SchemaEditor.svelte +12 -1
  67. package/package/components/SchemaForm.svelte +1 -2
  68. package/package/components/SchemaModal.svelte +2 -2
  69. package/package/components/ScriptBuilder.svelte +152 -79
  70. package/package/components/ScriptBuilder.svelte.d.ts +1 -1
  71. package/package/components/ScriptEditor.svelte +8 -9
  72. package/package/components/ScriptSchedules.svelte +99 -0
  73. package/package/components/ScriptSchedules.svelte.d.ts +20 -0
  74. package/package/components/ShareModal.svelte +1 -0
  75. package/package/components/StringTypeNarrowing.svelte +9 -3
  76. package/package/components/SuperadminSettings.svelte +114 -10
  77. package/package/components/TestJobLoader.svelte +8 -0
  78. package/package/components/TestJobLoader.svelte.d.ts +1 -0
  79. package/package/components/TimeAgo.svelte +2 -2
  80. package/package/components/TimelineBar.svelte +5 -2
  81. package/package/components/Toggle.svelte +5 -2
  82. package/package/components/Toggle.svelte.d.ts +1 -0
  83. package/package/components/Tooltip.svelte +13 -2
  84. package/package/components/Tooltip.svelte.d.ts +1 -0
  85. package/package/components/Uptodate.svelte +12 -6
  86. package/package/components/UserSettings.svelte +87 -73
  87. package/package/components/WorkerTagPicker.svelte +4 -2
  88. package/package/components/WorkflowTimeline.svelte +106 -0
  89. package/package/components/WorkflowTimeline.svelte.d.ts +18 -0
  90. package/package/components/WorkspaceGroup.svelte +1 -0
  91. package/package/components/apps/components/buttons/AppButton.svelte +9 -19
  92. package/package/components/apps/components/display/AppCustomComponent.svelte +2 -4
  93. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +246 -94
  94. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte.d.ts +0 -3
  95. package/package/components/apps/components/display/dbtable/DbExplorerCount.svelte +17 -5
  96. package/package/components/apps/components/display/dbtable/DbExplorerCount.svelte.d.ts +6 -2
  97. package/package/components/apps/components/display/dbtable/DeleteRow.svelte +6 -4
  98. package/package/components/apps/components/display/dbtable/DeleteRow.svelte.d.ts +3 -3
  99. package/package/components/apps/components/display/dbtable/InsertRow.svelte +55 -37
  100. package/package/components/apps/components/display/dbtable/InsertRow.svelte.d.ts +17 -1
  101. package/package/components/apps/components/display/dbtable/InsertRowRunnable.svelte +4 -3
  102. package/package/components/apps/components/display/dbtable/InsertRowRunnable.svelte.d.ts +2 -2
  103. package/package/components/apps/components/display/dbtable/UpdateCell.svelte +5 -4
  104. package/package/components/apps/components/display/dbtable/UpdateCell.svelte.d.ts +3 -3
  105. package/package/components/apps/components/display/dbtable/queries/count.d.ts +4 -0
  106. package/package/components/apps/components/display/dbtable/queries/count.js +140 -0
  107. package/package/components/apps/components/display/dbtable/queries/delete.d.ts +3 -0
  108. package/package/components/apps/components/display/dbtable/queries/delete.js +68 -0
  109. package/package/components/apps/components/display/dbtable/queries/insert.d.ts +5 -0
  110. package/package/components/apps/components/display/dbtable/queries/insert.js +121 -0
  111. package/package/components/apps/components/display/dbtable/queries/select.d.ts +7 -0
  112. package/package/components/apps/components/display/dbtable/queries/select.js +196 -0
  113. package/package/components/apps/components/display/dbtable/queries/update.d.ts +3 -0
  114. package/package/components/apps/components/display/dbtable/queries/update.js +75 -0
  115. package/package/components/apps/components/display/dbtable/utils.d.ts +79 -0
  116. package/package/components/apps/components/display/dbtable/utils.js +284 -309
  117. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +39 -19
  118. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte.d.ts +0 -2
  119. package/package/components/apps/components/display/table/AppAggridTable.svelte +4 -1
  120. package/package/components/apps/components/display/table/AppTable.svelte +4 -0
  121. package/package/components/apps/components/display/table/AppTable.svelte.d.ts +2 -2
  122. package/package/components/apps/components/display/table/utils.js +42 -0
  123. package/package/components/apps/components/helpers/InputValue.svelte +10 -8
  124. package/package/components/apps/components/helpers/InputValue.svelte.d.ts +1 -0
  125. package/package/components/apps/components/helpers/RefreshButton.svelte +1 -1
  126. package/package/components/apps/components/helpers/ResolveConfig.svelte +2 -0
  127. package/package/components/apps/components/helpers/RunnableComponent.svelte +6 -2
  128. package/package/components/apps/components/helpers/eval.d.ts +2 -2
  129. package/package/components/apps/components/helpers/eval.js +33 -11
  130. package/package/components/apps/components/inputs/AppCheckbox.svelte +4 -0
  131. package/package/components/apps/components/inputs/AppCheckbox.svelte.d.ts +1 -0
  132. package/package/components/apps/components/inputs/AppDateInput.svelte +2 -2
  133. package/package/components/apps/components/inputs/AppDateTimeInput.svelte +121 -0
  134. package/package/components/apps/components/inputs/AppDateTimeInput.svelte.d.ts +22 -0
  135. package/package/components/apps/components/inputs/AppSelect.svelte +5 -0
  136. package/package/components/apps/components/inputs/AppSelect.svelte.d.ts +1 -0
  137. package/package/components/apps/components/inputs/AppTimeInput.svelte +103 -0
  138. package/package/components/apps/components/inputs/AppTimeInput.svelte.d.ts +21 -0
  139. package/package/components/apps/components/layout/AppConditionalWrapper.svelte +0 -1
  140. package/package/components/apps/components/layout/AppDecisionTree.svelte +12 -0
  141. package/package/components/apps/components/layout/AppStepper.svelte +4 -2
  142. package/package/components/apps/editor/AppEditor.svelte +19 -4
  143. package/package/components/apps/editor/AppEditorHeader.svelte +42 -14
  144. package/package/components/apps/editor/AppEditorHeader.svelte.d.ts +2 -0
  145. package/package/components/apps/editor/AppTimeline.svelte +4 -4
  146. package/package/components/apps/editor/DecisionTreeDebug.svelte +1 -1
  147. package/package/components/apps/editor/DeploymentHistory.svelte +1 -1
  148. package/package/components/apps/editor/GridEditorMenu.svelte +3 -3
  149. package/package/components/apps/editor/RecomputeAllComponents.svelte +1 -1
  150. package/package/components/apps/editor/SettingsPanel.svelte +2 -0
  151. package/package/components/apps/editor/TabsDebug.svelte +2 -2
  152. package/package/components/apps/editor/appUtils.js +8 -0
  153. package/package/components/apps/editor/component/Component.svelte +21 -0
  154. package/package/components/apps/editor/component/components.d.ts +168 -9
  155. package/package/components/apps/editor/component/components.js +203 -10
  156. package/package/components/apps/editor/component/sets.js +2 -0
  157. package/package/components/apps/editor/componentsPanel/ComponentList.svelte +3 -3
  158. package/package/components/apps/editor/componentsPanel/ThemeList.svelte +1 -0
  159. package/package/components/apps/editor/componentsPanel/ThemeList.svelte.d.ts +2 -0
  160. package/package/components/apps/editor/componentsPanel/ThemeRow.svelte +8 -4
  161. package/package/components/apps/editor/componentsPanel/componentControlUtils.js +2 -0
  162. package/package/components/apps/editor/componentsPanel/quickStyleProperties.js +6 -0
  163. package/package/components/apps/editor/contextPanel/DebugPanel.svelte +178 -0
  164. package/package/components/apps/editor/contextPanel/DebugPanel.svelte.d.ts +14 -0
  165. package/package/components/apps/editor/inlineScriptsPanel/CacheTtlPopup.svelte +3 -1
  166. package/package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +9 -18
  167. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +11 -16
  168. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorPanel.svelte +2 -2
  169. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptHiddenRunnable.svelte +2 -2
  170. package/package/components/apps/editor/inlineScriptsPanel/RunButton.svelte +4 -12
  171. package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +27 -4
  172. package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte.d.ts +3 -1
  173. package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +68 -28
  174. package/package/components/apps/editor/settingsPanel/DecisionTreeGraphEditor.svelte +1 -1
  175. package/package/components/apps/editor/settingsPanel/GridCondition.svelte +57 -43
  176. package/package/components/apps/editor/settingsPanel/GridTab.svelte +15 -12
  177. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +9 -3
  178. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +4 -0
  179. package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +8 -0
  180. package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +2 -0
  181. package/package/components/apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte +6 -0
  182. package/package/components/apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte.d.ts +2 -0
  183. package/package/components/apps/editor/settingsPanel/Recompute.svelte +4 -5
  184. package/package/components/apps/editor/settingsPanel/Recompute.svelte.d.ts +3 -0
  185. package/package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte +4 -2
  186. package/package/components/apps/editor/settingsPanel/inputEditor/DBTableSelect.svelte +42 -0
  187. package/package/components/apps/editor/settingsPanel/inputEditor/DBTableSelect.svelte.d.ts +19 -0
  188. package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte +24 -2
  189. package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte.d.ts +2 -0
  190. package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +25 -15
  191. package/package/components/apps/editor/settingsPanel/script/BackgroundScriptSettings.svelte +1 -1
  192. package/package/components/apps/editor/settingsPanel/script/ComponentScriptSettings.svelte +1 -1
  193. package/package/components/apps/editor/settingsPanel/script/shared/ScriptSettingHeader.svelte +8 -1
  194. package/package/components/apps/editor/settingsPanel/script/shared/ScriptSettingHeader.svelte.d.ts +1 -0
  195. package/package/components/apps/editor/settingsPanel/script/shared/ScriptTriggers.svelte +13 -0
  196. package/package/components/apps/inputType.d.ts +2 -2
  197. package/package/components/apps/svelte-select/lib/Select.svelte +2 -1
  198. package/package/components/apps/types.d.ts +5 -3
  199. package/package/components/build_workers.js +9 -13
  200. package/package/components/common/button/Button.svelte +78 -36
  201. package/package/components/common/button/Button.svelte.d.ts +7 -0
  202. package/package/components/common/button/model.d.ts +0 -1
  203. package/package/components/common/button/model.js +0 -8
  204. package/package/components/common/calendarPicker/CalendarPicker.svelte +11 -37
  205. package/package/components/common/confirmationModal/ConfirmationModal.svelte +11 -10
  206. package/package/components/common/confirmationModal/UnsavedConfirmationModal.svelte +5 -12
  207. package/package/components/common/confirmationModal/UnsavedConfirmationModal.svelte.d.ts +0 -3
  208. package/package/components/common/table/ScriptRow.svelte +28 -1
  209. package/package/components/common/tabs/Tab.svelte +6 -4
  210. package/package/components/common/tabs/Tab.svelte.d.ts +1 -0
  211. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +4 -2
  212. package/package/components/copilot/IteratorGen.svelte +10 -5
  213. package/package/components/copilot/MetadataGen.svelte +6 -1
  214. package/package/components/copilot/PredicateGen.svelte +3 -4
  215. package/package/components/copilot/ScriptFix.svelte +1 -1
  216. package/package/components/copilot/StepGen.svelte +2 -1
  217. package/package/components/copilot/StepGen.svelte.d.ts +1 -0
  218. package/package/components/copilot/StepInputGen.svelte +13 -7
  219. package/package/components/copilot/StepInputsGen.svelte +12 -7
  220. package/package/components/copilot/lib.d.ts +1 -1
  221. package/package/components/copilot/lib.js +2 -2
  222. package/package/components/details/Menu.svelte +11 -6
  223. package/package/components/details/Menu.svelte.d.ts +1 -3
  224. package/package/components/details/WebhooksPanel.svelte +1 -1
  225. package/package/components/flows/content/FlowBranchesAllWrapper.svelte +11 -10
  226. package/package/components/flows/content/FlowBranchesOneWrapper.svelte +11 -9
  227. package/package/components/flows/content/FlowInputs.svelte +84 -238
  228. package/package/components/flows/content/FlowLoop.svelte +25 -16
  229. package/package/components/flows/content/FlowModuleComponent.svelte +17 -2
  230. package/package/components/flows/content/FlowModuleComponent.svelte.d.ts +1 -0
  231. package/package/components/flows/content/FlowModuleWrapper.svelte +5 -0
  232. package/package/components/flows/content/FlowSchedules.svelte +75 -1
  233. package/package/components/flows/content/FlowSettings.svelte +5 -0
  234. package/package/components/flows/content/SuspendDrawer.svelte +1 -1
  235. package/package/components/flows/flowStateUtils.d.ts +1 -1
  236. package/package/components/flows/flowStateUtils.js +2 -2
  237. package/package/components/flows/idUtils.js +12 -1
  238. package/package/components/flows/map/FlowModuleSchemaMap.svelte +2 -2
  239. package/package/components/flows/map/InsertModuleButton.svelte +1 -3
  240. package/package/components/flows/map/MapItem.svelte +1 -1
  241. package/package/components/flows/pickers/FlowScriptPicker.svelte.d.ts +1 -1
  242. package/package/components/flows/scheduleUtils.d.ts +2 -1
  243. package/package/components/flows/scheduleUtils.js +2 -1
  244. package/package/components/home/ItemsList.svelte +10 -9
  245. package/package/components/icons/AsanaIcon.svelte +5 -0
  246. package/package/components/icons/AsanaIcon.svelte.d.ts +17 -0
  247. package/package/components/icons/BitbucketIcon.svelte +19 -0
  248. package/package/components/icons/BitbucketIcon.svelte.d.ts +17 -0
  249. package/package/components/icons/CACertificate.svelte +7 -0
  250. package/package/components/icons/CACertificate.svelte.d.ts +17 -0
  251. package/package/components/icons/CurrencyApiIcon.svelte +24 -0
  252. package/package/components/icons/CurrencyApiIcon.svelte.d.ts +17 -0
  253. package/package/components/icons/DynatraceIcon.svelte +26 -0
  254. package/package/components/icons/DynatraceIcon.svelte.d.ts +17 -0
  255. package/package/components/icons/EdgeDbIcon.svelte +25 -0
  256. package/package/components/icons/EdgeDbIcon.svelte.d.ts +17 -0
  257. package/package/components/icons/GitIcon.svelte +7 -0
  258. package/package/components/icons/GitIcon.svelte.d.ts +17 -0
  259. package/package/components/icons/GoogleCloudIcon.svelte +20 -0
  260. package/package/components/icons/GoogleCloudIcon.svelte.d.ts +17 -0
  261. package/package/components/icons/IpinfoIcon.svelte +8 -0
  262. package/package/components/icons/IpinfoIcon.svelte.d.ts +17 -0
  263. package/package/components/icons/MSTeamsIcon.svelte +5 -0
  264. package/package/components/icons/MSTeamsIcon.svelte.d.ts +17 -0
  265. package/package/components/icons/MailgunIcon.svelte +11 -0
  266. package/package/components/icons/MailgunIcon.svelte.d.ts +17 -0
  267. package/package/components/icons/PushoverIcon.svelte +8 -0
  268. package/package/components/icons/PushoverIcon.svelte.d.ts +17 -0
  269. package/package/components/icons/QuickbooksIcon.svelte +5 -0
  270. package/package/components/icons/QuickbooksIcon.svelte.d.ts +17 -0
  271. package/package/components/icons/ResendIcon.svelte +7 -0
  272. package/package/components/icons/ResendIcon.svelte.d.ts +17 -0
  273. package/package/components/icons/TrelloIcon.svelte +5 -0
  274. package/package/components/icons/TrelloIcon.svelte.d.ts +17 -0
  275. package/package/components/icons/TwilioIcon.svelte +11 -0
  276. package/package/components/icons/TwilioIcon.svelte.d.ts +17 -0
  277. package/package/components/icons/ZendeskIcon.svelte +11 -0
  278. package/package/components/icons/ZendeskIcon.svelte.d.ts +17 -0
  279. package/package/components/icons/index.d.ts +36 -1
  280. package/package/components/icons/index.js +37 -2
  281. package/package/components/instanceSettings.js +38 -1
  282. package/package/components/jobs/JobPreview.svelte +4 -1
  283. package/package/components/runs/JobLoader.svelte +6 -4
  284. package/package/components/runs/JobPreview.svelte +15 -1
  285. package/package/components/runs/ManuelDatePicker.svelte +1 -1
  286. package/package/components/runs/NoWorkerWithTagWarning.svelte +5 -3
  287. package/package/components/runs/RunRow.svelte +5 -19
  288. package/package/components/runs/RunsFilter.svelte +1 -1
  289. package/package/components/runs/RunsTable.svelte +1 -1
  290. package/package/components/scriptEditor/LogPanel.svelte +12 -0
  291. package/package/components/settings/PremiumInfo.svelte +92 -31
  292. package/package/components/settings/WorkspaceUserSettings.svelte +42 -6
  293. package/package/components/sidebar/changelogs.js +20 -0
  294. package/package/components/table/AutoDataTable.svelte +18 -4
  295. package/package/consts.d.ts +0 -3
  296. package/package/consts.js +0 -3
  297. package/package/enterpriseUtils.d.ts +1 -0
  298. package/package/enterpriseUtils.js +17 -0
  299. package/package/gen/core/OpenAPI.js +1 -1
  300. package/package/gen/index.d.ts +5 -2
  301. package/package/gen/models/LargeFileStorage.d.ts +3 -1
  302. package/package/gen/models/LargeFileStorage.js +2 -0
  303. package/package/gen/models/User.d.ts +0 -2
  304. package/package/gen/models/UserUsage.d.ts +4 -0
  305. package/package/gen/models/WorkflowStatus.d.ts +6 -0
  306. package/package/gen/models/WorkflowStatusRecord.d.ts +2 -0
  307. package/package/gen/models/WorkflowStatusRecord.js +5 -0
  308. package/package/gen/models/WorkflowTask.d.ts +4 -0
  309. package/package/gen/models/WorkflowTask.js +5 -0
  310. package/package/gen/models/WorkspaceDefaultScripts.d.ts +5 -0
  311. package/package/gen/models/WorkspaceDefaultScripts.js +5 -0
  312. package/package/gen/services/AdminService.d.ts +6 -9
  313. package/package/gen/services/AdminService.js +6 -7
  314. package/package/gen/services/FolderService.d.ts +3 -2
  315. package/package/gen/services/JobService.d.ts +27 -2
  316. package/package/gen/services/JobService.js +22 -2
  317. package/package/gen/services/SettingService.d.ts +11 -0
  318. package/package/gen/services/SettingService.js +13 -0
  319. package/package/gen/services/UserService.d.ts +14 -9
  320. package/package/gen/services/UserService.js +20 -7
  321. package/package/gen/services/WorkspaceService.d.ts +62 -0
  322. package/package/gen/services/WorkspaceService.js +76 -0
  323. package/package/infer.d.ts +20 -1
  324. package/package/infer.js +39 -19
  325. package/package/script_helpers.d.ts +7 -6
  326. package/package/script_helpers.js +24 -7
  327. package/package/scripts.d.ts +11 -0
  328. package/package/scripts.js +38 -1
  329. package/package/stores.d.ts +2 -1
  330. package/package/stores.js +2 -0
  331. package/package/utils.d.ts +1 -1
  332. package/package/utils.js +3 -3
  333. package/package.json +3 -4
  334. package/package/components/common/confirmationModal/model.d.ts +0 -9
  335. package/package/components/common/confirmationModal/model.js +0 -1
  336. package/package/gen/models/NewUser.d.ts +0 -5
  337. package/package/gen/models/Usage.d.ts +0 -3
  338. /package/package/gen/models/{NewUser.js → UserUsage.js} +0 -0
  339. /package/package/gen/models/{Usage.js → WorkflowStatus.js} +0 -0
@@ -1,7 +1,7 @@
1
1
  <script>import { components } from '../../../editor/component';
2
2
  import ResolveConfig from '../../helpers/ResolveConfig.svelte';
3
3
  import { findGridItem, initConfig, initOutput } from '../../../editor/appUtils';
4
- import { createPostgresInput, getDbSchemas, loadTableMetaData, getPrimaryKeys } from './utils';
4
+ import { getDbSchemas, loadTableMetaData, getPrimaryKeys, getTablesByResource } from './utils';
5
5
  import { getContext, tick } from 'svelte';
6
6
  import UpdateCell from './UpdateCell.svelte';
7
7
  import { workspaceStore } from '../../../../../stores';
@@ -17,29 +17,66 @@ import { RunnableWrapper } from '../../helpers';
17
17
  import InsertRowRunnable from './InsertRowRunnable.svelte';
18
18
  import DeleteRow from './DeleteRow.svelte';
19
19
  import InitializeComponent from '../../helpers/InitializeComponent.svelte';
20
+ import { getSelectInput } from './queries/select';
21
+ import DebouncedInput from '../../helpers/DebouncedInput.svelte';
20
22
  export let id;
21
23
  export let configuration;
22
24
  export let customCss = undefined;
23
25
  export let render;
24
26
  export let initializing = true;
27
+ $: table = resolvedConfig.type.configuration?.[resolvedConfig.type?.selected]?.table;
28
+ $: table !== null && render && clearColumns();
29
+ function clearColumns() {
30
+ // We only want to clear the columns if the table has changed
31
+ if (!(lastTable && table && lastTable !== table) && !(lastTable && !table)) {
32
+ return;
33
+ }
34
+ if (lastTable && !table) {
35
+ lastTable = undefined;
36
+ }
37
+ const gridItem = findGridItem($app, id);
38
+ if (!gridItem) {
39
+ return;
40
+ }
41
+ // @ts-ignore
42
+ gridItem.data.configuration.columnDefs = { value: [], type: 'static', loading: false };
43
+ $app = {
44
+ ...$app
45
+ };
46
+ }
25
47
  const resolvedConfig = initConfig(components['dbexplorercomponent'].initialData.configuration, configuration);
48
+ $: resolvedConfig.type.selected &&
49
+ render &&
50
+ computeInput(resolvedConfig.columnDefs, resolvedConfig.whereClause, resolvedConfig.type.configuration[resolvedConfig.type.selected].resource);
51
+ let timeoutInput = undefined;
52
+ function computeInput(columnDefs, whereClause, resource) {
53
+ if (timeoutInput) {
54
+ clearTimeout(timeoutInput);
55
+ }
56
+ timeoutInput = setTimeout(() => {
57
+ timeoutInput = undefined;
58
+ console.log('compute input');
59
+ input = getSelectInput(resource, resolvedConfig.type.configuration[resolvedConfig.type.selected].table, columnDefs, whereClause, resolvedConfig.type.selected);
60
+ }, 1000);
61
+ }
26
62
  const { app, worldStore, mode, selectedComponent } = getContext('AppViewerContext');
27
63
  const editorContext = getContext('AppEditorContext');
28
64
  let input = undefined;
29
65
  let quicksearch = '';
30
66
  let aggrid;
31
- $: computeInput(resolvedConfig.columnDefs, resolvedConfig.whereClause, resolvedConfig.type.configuration.postgresql.resource);
32
- function computeInput(columnDefs, whereClause, resource) {
33
- aggrid?.clearRows();
34
- input = createPostgresInput(resource, resolvedConfig.type.configuration.postgresql.table, columnDefs, whereClause);
35
- }
36
- $: editorContext != undefined && $mode == 'dnd' && resolvedConfig.type && listTableIfAvailable();
67
+ $: editorContext != undefined && $mode == 'dnd' && resolvedConfig.type && listTables();
37
68
  $: editorContext != undefined &&
38
69
  $mode == 'dnd' &&
39
- resolvedConfig.type.configuration?.postgresql?.table &&
70
+ resolvedConfig.type.configuration?.[resolvedConfig?.type?.selected]?.table &&
40
71
  listColumnsIfAvailable();
41
- $: if (quicksearch) {
42
- aggrid?.clearRows();
72
+ let firstQuicksearch = true;
73
+ $: if (quicksearch !== undefined) {
74
+ if (firstQuicksearch) {
75
+ firstQuicksearch = false;
76
+ }
77
+ else {
78
+ aggrid?.clearRows();
79
+ }
43
80
  }
44
81
  initializing = false;
45
82
  let updateCell;
@@ -49,7 +86,7 @@ let componentContainerHeight = undefined;
49
86
  let buttonContainerHeight = undefined;
50
87
  function onUpdate(e) {
51
88
  const { columnDef, value, data, oldValue } = e.detail;
52
- updateCell?.triggerUpdate(resolvedConfig.type.configuration.postgresql.resource, resolvedConfig.type.configuration.postgresql.table ?? 'unknown', columnDef, resolvedConfig.columnDefs, value, data, oldValue);
89
+ updateCell?.triggerUpdate(resolvedConfig.type.configuration[resolvedConfig.type.selected].resource, resolvedConfig.type.configuration[resolvedConfig.type.selected].table ?? 'unknown', columnDef, resolvedConfig.columnDefs, value, data, oldValue, resolvedConfig.type.selected);
53
90
  }
54
91
  let args = {};
55
92
  let outputs = initOutput($worldStore, id, {
@@ -63,8 +100,23 @@ let outputs = initOutput($worldStore, id, {
63
100
  ready: undefined
64
101
  });
65
102
  let lastResource = undefined;
66
- async function listTableIfAvailable() {
67
- let resource = resolvedConfig.type.configuration?.postgresql?.resource;
103
+ function updateOneOfConfiguration(oneOfConfiguration, resolvedConfig, patch) {
104
+ const selectedConfig = oneOfConfiguration.configuration[resolvedConfig.selected];
105
+ if (!selectedConfig) {
106
+ console.warn(`Selected configuration '${resolvedConfig.selected}' does not exist.`);
107
+ return;
108
+ }
109
+ Object.keys(patch).forEach((key) => {
110
+ oneOfConfiguration.configuration[resolvedConfig.selected][key] = {
111
+ ...oneOfConfiguration.configuration[resolvedConfig.selected][key],
112
+ ...patch[key]
113
+ };
114
+ });
115
+ }
116
+ async function listTables() {
117
+ let resource = resolvedConfig.type.configuration?.[resolvedConfig.type.selected]?.resource;
118
+ if (!resource)
119
+ return;
68
120
  if (lastResource === resource)
69
121
  return;
70
122
  lastResource = resource;
@@ -72,100 +124,140 @@ async function listTableIfAvailable() {
72
124
  if (!gridItem) {
73
125
  return;
74
126
  }
75
- if ('configuration' in gridItem.data?.configuration?.type &&
76
- 'selectOptions' in gridItem.data?.configuration?.type?.configuration?.postgresql?.table) {
77
- gridItem.data.configuration.type.configuration.postgresql.table.selectOptions = [];
78
- }
79
- if (!resolvedConfig.type?.configuration?.postgresql?.resource) {
127
+ updateOneOfConfiguration(gridItem.data.configuration.type, resolvedConfig.type, {
128
+ table: {
129
+ selectOptions: [],
130
+ loading: true
131
+ }
132
+ });
133
+ if (!resolvedConfig.type?.configuration?.[resolvedConfig.type.selected]?.resource) {
80
134
  $app = {
81
135
  ...$app
82
136
  };
83
137
  return;
84
138
  }
85
- if ('configuration' in gridItem.data?.configuration?.type &&
86
- gridItem.data.configuration.type.configuration.postgresql.table) {
87
- gridItem.data.configuration.type.configuration.postgresql.table.loading = true;
88
- }
89
139
  try {
90
140
  const dbSchemas = {};
91
- await getDbSchemas('postgresql', resolvedConfig.type.configuration.postgresql.resource.split(':')[1], $workspaceStore, dbSchemas, (message) => { });
92
- if ('configuration' in gridItem.data.configuration.type) {
93
- gridItem.data.configuration.type.configuration.postgresql.table['selectOptions'] = dbSchemas
94
- ? // @ts-ignore
95
- Object.keys(Object.values(dbSchemas)?.[0]?.schema?.public ?? {})
96
- : [];
97
- }
141
+ await getDbSchemas(resolvedConfig?.type?.selected, resolvedConfig.type.configuration[resolvedConfig?.type?.selected].resource.split(':')[1], $workspaceStore, dbSchemas, (message) => { });
142
+ updateOneOfConfiguration(gridItem.data.configuration.type, resolvedConfig.type, {
143
+ table: {
144
+ selectOptions: dbSchemas
145
+ ? getTablesByResource(dbSchemas, resolvedConfig?.type?.selected)
146
+ : [],
147
+ loading: false
148
+ }
149
+ });
98
150
  $app = {
99
151
  ...$app
100
152
  };
101
153
  }
102
154
  catch (e) { }
103
- if ('configuration' in gridItem.data?.configuration?.type &&
104
- gridItem.data.configuration.type.configuration.postgresql.table) {
105
- gridItem.data.configuration.type.configuration.postgresql.table.loading = false;
106
- }
107
155
  }
108
156
  let datasource = {
109
157
  rowCount: 0,
110
158
  getRows: async function (params) {
111
- refreshCount++;
112
- let uuid = await runnableComponent?.runComponent(undefined, undefined, undefined, {
159
+ const currentParams = {
113
160
  offset: params.startRow,
114
161
  limit: params.endRow - params.startRow,
115
162
  quicksearch,
116
- orderBy: params.sortModel?.[0]?.colId ?? resolvedConfig.columnDefs?.[0]?.field,
163
+ order_by: params.sortModel?.[0]?.colId ?? resolvedConfig.columnDefs?.[0]?.field,
117
164
  is_desc: params.sortModel?.[0]?.sort === 'desc'
118
- }, {
119
- done: (x) => {
120
- if (x && Array.isArray(x)) {
121
- params.successCallback(x.map((x) => {
165
+ };
166
+ if (!render) {
167
+ return;
168
+ }
169
+ runnableComponent?.runComponent(undefined, undefined, undefined, currentParams, {
170
+ done: (items) => {
171
+ let lastRow = -1;
172
+ if (datasource?.rowCount && datasource.rowCount <= params.endRow) {
173
+ lastRow = datasource.rowCount;
174
+ }
175
+ if (items && Array.isArray(items)) {
176
+ // MsSql response have an outer array, we need to flatten it
177
+ if (resolvedConfig.type.selected === 'ms_sql_server') {
178
+ items = items?.[0];
179
+ }
180
+ let processedData = items.map((item) => {
122
181
  let primaryKeys = getPrimaryKeys(resolvedConfig.columnDefs);
123
182
  let o = {};
124
183
  primaryKeys.forEach((pk) => {
125
- o[pk] = x[pk];
184
+ o[pk] = item[pk];
126
185
  });
127
- x['__index'] = JSON.stringify(o);
128
- return x;
129
- }), datasource.rowCount);
186
+ item['__index'] = JSON.stringify(o);
187
+ return item;
188
+ });
189
+ if (items.length < params.endRow - params.startRow) {
190
+ lastRow = params.startRow + items.length;
191
+ }
192
+ params.successCallback(processedData, lastRow);
130
193
  }
131
194
  else {
132
195
  params.failCallback();
133
196
  }
134
197
  },
135
198
  cancel: () => {
136
- console.log('cancel datasource request');
137
199
  params.failCallback();
138
200
  },
139
201
  error: () => {
140
- console.log('error datasource request');
141
202
  params.failCallback();
142
203
  }
143
204
  });
144
- console.log('asking for ' + params.startRow + ' to ' + params.endRow, uuid);
145
205
  }
146
206
  };
147
207
  let lastTable = undefined;
208
+ let timeout = undefined;
209
+ function isSubset(subset, superset) {
210
+ return Object.keys(subset).every((key) => {
211
+ return superset[key] === subset[key];
212
+ });
213
+ }
214
+ function shouldReturnEarly(subset, superset) {
215
+ const subsetKeys = Object.keys(subset);
216
+ const supersetKeys = Object.keys(superset);
217
+ if (supersetKeys.length === 0)
218
+ return false;
219
+ if (subsetKeys.length !== supersetKeys.length) {
220
+ return false;
221
+ }
222
+ if (JSON.stringify(supersetKeys.sort()) === JSON.stringify(subsetKeys.sort()) &&
223
+ !subsetKeys.every((key) => isSubset(subset[key], superset[key]))) {
224
+ return false;
225
+ }
226
+ return true;
227
+ }
148
228
  async function listColumnsIfAvailable() {
149
- let table = resolvedConfig.type.configuration?.postgresql?.table;
229
+ const selected = resolvedConfig.type.selected;
230
+ let table = resolvedConfig.type.configuration?.[resolvedConfig.type.selected]?.table;
150
231
  if (lastTable === table)
151
232
  return;
152
233
  lastTable = table;
153
- let tableMetadata = await loadTableMetaData(resolvedConfig.type.configuration.postgresql.resource, $workspaceStore, resolvedConfig.type.configuration.postgresql.table);
154
- if (!tableMetadata)
155
- return;
156
234
  const gridItem = findGridItem($app, id);
157
235
  if (!gridItem)
158
236
  return;
159
237
  let columnDefs = gridItem.data.configuration.columnDefs;
238
+ if (columnDefs.type !== 'static')
239
+ return;
240
+ //@ts-ignore
241
+ gridItem.data.configuration.columnDefs.loading = true;
242
+ gridItem.data = gridItem.data;
243
+ $app = $app;
244
+ let tableMetadata = await loadTableMetaData(resolvedConfig.type.configuration[selected].resource, $workspaceStore, resolvedConfig.type.configuration[selected].table, selected);
245
+ if (!tableMetadata)
246
+ return;
160
247
  let old = columnDefs?.value ?? [];
161
248
  if (!Array.isArray(old)) {
162
249
  console.log('old is not an array RESET');
163
250
  old = [];
164
251
  }
165
- // console.log('OLD', old)
166
- // console.log(tableMetadata)
167
252
  const oldMap = Object.fromEntries(old.filter((x) => x != undefined).map((x) => [x.field, x]));
168
253
  const newMap = Object.fromEntries(tableMetadata?.map((x) => [x.field, x]) ?? []);
254
+ if (shouldReturnEarly(newMap, oldMap)) {
255
+ //@ts-ignore
256
+ gridItem.data.configuration.columnDefs.loading = false;
257
+ gridItem.data = gridItem.data;
258
+ $app = $app;
259
+ return;
260
+ }
169
261
  let ncols = [];
170
262
  Object.entries(oldMap).forEach(([key, value]) => {
171
263
  if (newMap[key]) {
@@ -180,9 +272,30 @@ async function listColumnsIfAvailable() {
180
272
  ncols.push(value);
181
273
  }
182
274
  });
275
+ // Mysql capitalizes the column names, so we make sure to lowercase them
276
+ ncols = ncols.map((x) => {
277
+ let o = {};
278
+ Object.keys(x).forEach((k) => {
279
+ if ([
280
+ 'field',
281
+ 'datatype',
282
+ 'defaultvalue',
283
+ 'isprimarykey',
284
+ 'isidentity',
285
+ 'isnullable',
286
+ 'isenum'
287
+ ].includes(k.toLocaleLowerCase())) {
288
+ o[k.toLowerCase()] = x[k];
289
+ }
290
+ else {
291
+ o[k] = x[k];
292
+ }
293
+ });
294
+ return o;
295
+ });
183
296
  state = undefined;
184
297
  //@ts-ignore
185
- gridItem.data.configuration.columnDefs = { value: ncols, type: 'static' };
298
+ gridItem.data.configuration.columnDefs = { value: ncols, type: 'static', loading: false };
186
299
  gridItem.data = gridItem.data;
187
300
  $app = $app;
188
301
  let oldS = $selectedComponent;
@@ -191,18 +304,41 @@ async function listColumnsIfAvailable() {
191
304
  $selectedComponent = oldS;
192
305
  //@ts-ignore
193
306
  resolvedConfig.columnDefs = ncols;
194
- renderCount += 1;
307
+ timeout && clearTimeout(timeout);
308
+ timeout = setTimeout(() => {
309
+ timeout = undefined;
310
+ renderCount += 1;
311
+ }, 1500);
195
312
  }
196
313
  let isInsertable = false;
197
- $: $worldStore && connectToComponents();
314
+ $: $worldStore && render && connectToComponents();
198
315
  function connectToComponents() {
199
- if ($worldStore) {
316
+ if ($worldStore && datasource !== undefined) {
200
317
  const outputs = $worldStore.outputsById[`${id}_count`];
201
318
  if (outputs) {
202
319
  outputs.result.subscribe({
203
320
  id: 'dbexplorer-count-' + id,
204
321
  next: (value) => {
205
- datasource.rowCount = value?.[0]?.count;
322
+ if (value?.error) {
323
+ const message = value?.error?.message ?? value?.error;
324
+ sendUserToast(message, true);
325
+ return;
326
+ }
327
+ // MsSql response have an outer array, we need to flatten it
328
+ if (Array.isArray(value) &&
329
+ value.length === 1 &&
330
+ resolvedConfig.type.selected === 'ms_sql_server') {
331
+ // @ts-ignore
332
+ datasource.rowCount = value?.[0]?.[0]?.count;
333
+ }
334
+ else if (resolvedConfig.type.selected === 'snowflake') {
335
+ // @ts-ignore
336
+ datasource.rowCount = value?.[0]?.COUNT;
337
+ }
338
+ else {
339
+ // @ts-ignore
340
+ datasource.rowCount = value?.[0]?.count;
341
+ }
206
342
  }
207
343
  }, datasource.rowCount);
208
344
  }
@@ -210,7 +346,8 @@ function connectToComponents() {
210
346
  }
211
347
  async function insert() {
212
348
  try {
213
- await insertRowRunnable?.insertRow(resolvedConfig.type.configuration.postgresql.resource, $workspaceStore, resolvedConfig.type.configuration.postgresql.table, resolvedConfig.columnDefs, args);
349
+ const selected = resolvedConfig.type.selected;
350
+ await insertRowRunnable?.insertRow(resolvedConfig.type.configuration[selected].resource, $workspaceStore, resolvedConfig.type.configuration[selected].table, resolvedConfig.columnDefs, args, selected);
214
351
  insertDrawer?.closeDrawer();
215
352
  renderCount++;
216
353
  }
@@ -226,11 +363,12 @@ let deleteRow;
226
363
  function onDelete(e) {
227
364
  const data = { ...e.detail };
228
365
  delete data['__index'];
229
- let primaryColumns = getPrimaryKeys(resolvedConfig.columnDefs);
230
- let getPrimaryKeysresolvedConfig = resolvedConfig.columnDefs?.filter((x) => primaryColumns.includes(x.field));
231
- deleteRow?.triggerDelete(resolvedConfig.type.configuration.postgresql.resource, resolvedConfig.type.configuration.postgresql.table ?? 'unknown', getPrimaryKeysresolvedConfig, data);
366
+ const selected = resolvedConfig.type.selected;
367
+ deleteRow?.triggerDelete(resolvedConfig.type.configuration[selected].resource, resolvedConfig.type.configuration[selected].table ?? 'unknown', resolvedConfig.columnDefs, data, selected);
232
368
  }
233
369
  let refreshCount = 0;
370
+ $: hideSearch = resolvedConfig.hideSearch;
371
+ $: hideInsert = resolvedConfig.hideInsert;
234
372
  </script>
235
373
 
236
374
  {#each Object.keys(components['dbexplorercomponent'].initialData.configuration) as key (key)}
@@ -262,13 +400,18 @@ let refreshCount = 0;
262
400
  />
263
401
  {/if}
264
402
  <UpdateCell {id} bind:this={updateCell} />
265
- <DbExplorerCount
266
- renderCount={refreshCount}
267
- {id}
268
- {quicksearch}
269
- table={resolvedConfig?.type?.configuration?.postgresql?.table ?? ''}
270
- resource={resolvedConfig?.type?.configuration?.postgresql?.resource ?? ''}
271
- />
403
+ {#if render}
404
+ <DbExplorerCount
405
+ renderCount={refreshCount}
406
+ {id}
407
+ {quicksearch}
408
+ {table}
409
+ resource={resolvedConfig?.type?.configuration?.[resolvedConfig?.type?.selected]?.resource}
410
+ resourceType={resolvedConfig?.type?.selected}
411
+ columnDefs={resolvedConfig?.columnDefs}
412
+ whereClause={resolvedConfig?.whereClause}
413
+ />
414
+ {/if}
272
415
 
273
416
  <InitializeComponent {id} />
274
417
 
@@ -283,31 +426,35 @@ let refreshCount = 0;
283
426
  {outputs}
284
427
  >
285
428
  <div class="h-full" bind:clientHeight={componentContainerHeight}>
286
- <div class="flex p-2 justify-between gap-4" bind:clientHeight={buttonContainerHeight}>
287
- <input
288
- on:pointerdown|stopPropagation
289
- on:keydown|stopPropagation
290
- class="w-full max-w-[300px]"
291
- type="text"
292
- bind:value={quicksearch}
293
- placeholder="Quicksearch"
294
- />
295
- <Button
296
- startIcon={{ icon: Plus }}
297
- color="dark"
298
- size="xs2"
299
- on:click={() => {
300
- args = {}
301
- insertDrawer?.openDrawer()
302
- }}
303
- >
304
- Insert
305
- </Button>
306
- </div>
307
- {#if resolvedConfig.type.configuration?.postgresql?.resource && resolvedConfig.type.configuration?.postgresql?.table}
429
+ {#if !(hideSearch === true && hideInsert === true)}
430
+ <div class="flex p-2 justify-between gap-4" bind:clientHeight={buttonContainerHeight}>
431
+ {#if hideSearch !== true}
432
+ <DebouncedInput
433
+ class="w-full max-w-[300px]"
434
+ type="text"
435
+ bind:value={quicksearch}
436
+ placeholder="Quicksearch"
437
+ />
438
+ {/if}
439
+ {#if hideInsert !== true}
440
+ <Button
441
+ startIcon={{ icon: Plus }}
442
+ color="dark"
443
+ size="xs"
444
+ on:click={() => {
445
+ args = {}
446
+ insertDrawer?.openDrawer()
447
+ }}
448
+ >
449
+ Insert
450
+ </Button>
451
+ {/if}
452
+ </div>
453
+ {/if}
454
+ {#if resolvedConfig.type.configuration?.[resolvedConfig?.type?.selected]?.resource && resolvedConfig.type.configuration?.[resolvedConfig?.type?.selected]?.table}
308
455
  <!-- {JSON.stringify(lastInput)} -->
309
456
  <!-- <span class="text-xs">{JSON.stringify(configuration.columnDefs)}</span> -->
310
- {#key renderCount}
457
+ {#key renderCount && render}
311
458
  <!-- {JSON.stringify(resolvedConfig.columnDefs)} -->
312
459
  <AppAggridExplorerTable
313
460
  bind:this={aggrid}
@@ -318,7 +465,7 @@ let refreshCount = 0;
318
465
  {customCss}
319
466
  {outputs}
320
467
  allowDelete={resolvedConfig.allowDelete ?? false}
321
- containerHeight={componentContainerHeight - buttonContainerHeight}
468
+ containerHeight={componentContainerHeight - (buttonContainerHeight ?? 0)}
322
469
  on:update={onUpdate}
323
470
  on:delete={onDelete}
324
471
  />
@@ -333,7 +480,12 @@ let refreshCount = 0;
333
480
  <Button color="dark" size="xs" on:click={insert} disabled={!isInsertable}>Insert</Button>
334
481
  </svelte:fragment>
335
482
 
336
- <InsertRow bind:args bind:isInsertable columnDefs={resolvedConfig.columnDefs} />
483
+ <InsertRow
484
+ bind:args
485
+ bind:isInsertable
486
+ columnDefs={resolvedConfig.columnDefs}
487
+ dbType={resolvedConfig.type.selected}
488
+ />
337
489
  </DrawerContent>
338
490
  </Drawer>
339
491
  </Portal>
@@ -9,9 +9,6 @@ declare const __propDef: {
9
9
  initializing?: boolean | undefined;
10
10
  };
11
11
  events: {
12
- pointerdown: PointerEvent;
13
- keydown: KeyboardEvent;
14
- } & {
15
12
  [evt: string]: CustomEvent<any>;
16
13
  };
17
14
  slots: {};
@@ -1,12 +1,16 @@
1
1
  <script>import { getContext, tick } from 'svelte';
2
2
  import RunnableWrapper from '../../helpers/RunnableWrapper.svelte';
3
3
  import { initOutput } from '../../../editor/appUtils';
4
- import { getCountPostgresql } from './utils';
4
+ import {} from './utils';
5
+ import { getCountInput } from './queries/count';
5
6
  export let id;
6
7
  export let table;
7
8
  export let resource;
8
9
  export let renderCount;
9
10
  export let quicksearch;
11
+ export let resourceType;
12
+ export let columnDefs;
13
+ export let whereClause;
10
14
  const { worldStore } = getContext('AppViewerContext');
11
15
  let outputs = initOutput($worldStore, `${id}_count`, {
12
16
  result: undefined,
@@ -16,16 +20,24 @@ let outputs = initOutput($worldStore, `${id}_count`, {
16
20
  let runnableComponent;
17
21
  let loading = false;
18
22
  let input = undefined;
19
- $: table && renderCount != undefined && quicksearch != undefined && computeCount();
20
- let lastTableCount = '';
23
+ let lastTableCount = undefined;
21
24
  let renderCountLast = -1;
22
25
  let quicksearchLast = undefined;
26
+ let localColumnDefs = columnDefs;
27
+ let lastTable = table;
28
+ $: {
29
+ if (table !== lastTable) {
30
+ localColumnDefs = [];
31
+ lastTable = table;
32
+ }
33
+ }
34
+ $: table && renderCount != undefined && quicksearch != undefined && computeCount();
23
35
  async function computeCount() {
24
36
  if (lastTableCount === table &&
25
37
  renderCount == renderCountLast &&
26
38
  quicksearch == quicksearchLast)
27
39
  return;
28
- if (table != '' && resource != '') {
40
+ if (table != undefined && resource !== undefined) {
29
41
  renderCountLast = renderCount;
30
42
  lastTableCount = table;
31
43
  quicksearchLast = quicksearch;
@@ -33,7 +45,7 @@ async function computeCount() {
33
45
  }
34
46
  }
35
47
  async function getCount(resource, table, quicksearch) {
36
- input = getCountPostgresql(resource, table);
48
+ input = getCountInput(resource, table, resourceType, localColumnDefs, whereClause);
37
49
  await tick();
38
50
  if (runnableComponent) {
39
51
  await runnableComponent?.runComponent(undefined, undefined, undefined, {
@@ -1,11 +1,15 @@
1
1
  import { SvelteComponent } from "svelte";
2
+ import { type ColumnDef } from './utils';
2
3
  declare const __propDef: {
3
4
  props: {
4
5
  id: string;
5
- table: string;
6
- resource: string;
6
+ table: string | undefined;
7
+ resource: string | undefined;
7
8
  renderCount: number;
8
9
  quicksearch: string;
10
+ resourceType: string;
11
+ columnDefs: ColumnDef[];
12
+ whereClause: string | undefined;
9
13
  };
10
14
  events: {
11
15
  [evt: string]: CustomEvent<any>;
@@ -1,8 +1,9 @@
1
1
  <script>import { createEventDispatcher, getContext, tick } from 'svelte';
2
2
  import RunnableWrapper from '../../helpers/RunnableWrapper.svelte';
3
3
  import { initOutput } from '../../../editor/appUtils';
4
- import { createDeletePostgresInput } from './utils';
4
+ import { getPrimaryKeys } from './utils';
5
5
  import { sendUserToast } from '../../../../../toast';
6
+ import { getDeleteInput } from './queries/delete';
6
7
  export let id;
7
8
  const { worldStore } = getContext('AppViewerContext');
8
9
  let outputs = initOutput($worldStore, `${id}_delete`, {
@@ -14,9 +15,10 @@ let runnableComponent;
14
15
  let loading = false;
15
16
  let input = undefined;
16
17
  const dispatch = createEventDispatcher();
17
- export async function triggerDelete(resource, table, columns, data) {
18
- // const datatype = tableMetaData?.find((column) => column.isprimarykey)?.datatype
19
- input = createDeletePostgresInput(resource, table, columns);
18
+ export async function triggerDelete(resource, table, allColumns, data, dbType) {
19
+ let primaryColumns = getPrimaryKeys(allColumns);
20
+ let columns = allColumns?.filter((x) => primaryColumns.includes(x.field));
21
+ input = getDeleteInput(resource, table, columns, dbType);
20
22
  await tick();
21
23
  if (runnableComponent) {
22
24
  let ndata = {};
@@ -1,9 +1,9 @@
1
1
  import { SvelteComponent } from "svelte";
2
- import { type ColumnMetadata } from './utils';
2
+ import { type ColumnDef, type DbType } from './utils';
3
3
  declare const __propDef: {
4
4
  props: {
5
5
  id: string;
6
- triggerDelete?: ((resource: string, table: string, columns: ColumnMetadata[], data: Record<string, any>) => Promise<void>) | undefined;
6
+ triggerDelete?: ((resource: string, table: string, allColumns: ColumnDef[], data: Record<string, any>, dbType: DbType) => Promise<void>) | undefined;
7
7
  };
8
8
  events: {
9
9
  deleted: CustomEvent<any>;
@@ -16,6 +16,6 @@ export type DeleteRowProps = typeof __propDef.props;
16
16
  export type DeleteRowEvents = typeof __propDef.events;
17
17
  export type DeleteRowSlots = typeof __propDef.slots;
18
18
  export default class DeleteRow extends SvelteComponent<DeleteRowProps, DeleteRowEvents, DeleteRowSlots> {
19
- get triggerDelete(): (resource: string, table: string, columns: ColumnMetadata[], data: Record<string, any>) => Promise<void>;
19
+ get triggerDelete(): (resource: string, table: string, allColumns: ColumnDef[], data: Record<string, any>, dbType: DbType) => Promise<void>;
20
20
  }
21
21
  export {};