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
@@ -0,0 +1,22 @@
1
+ import { SvelteComponent } from "svelte";
2
+ import type { ComponentCustomCSS, VerticalAlignment, RichConfigurations } from '../../types';
3
+ declare const __propDef: {
4
+ props: {
5
+ id: string;
6
+ configuration: RichConfigurations;
7
+ inputType: 'date';
8
+ verticalAlignment?: VerticalAlignment | undefined;
9
+ customCss?: ComponentCustomCSS<'datetimeinputcomponent'> | undefined;
10
+ render: boolean;
11
+ };
12
+ events: {
13
+ [evt: string]: CustomEvent<any>;
14
+ };
15
+ slots: {};
16
+ };
17
+ export type AppDateTimeInputProps = typeof __propDef.props;
18
+ export type AppDateTimeInputEvents = typeof __propDef.events;
19
+ export type AppDateTimeInputSlots = typeof __propDef.slots;
20
+ export default class AppDateTimeInput extends SvelteComponent<AppDateTimeInputProps, AppDateTimeInputEvents, AppDateTimeInputSlots> {
21
+ }
22
+ export {};
@@ -23,6 +23,7 @@ export let recomputeIds = undefined;
23
23
  export let noInitialize = false;
24
24
  export let controls = undefined;
25
25
  export let noDefault = false;
26
+ export let onSelect = undefined;
26
27
  const { app, worldStore, connectingInput, selectedComponent, runnableComponents, componentControl, darkMode } = getContext('AppViewerContext');
27
28
  const iterContext = getContext('ListWrapperContext');
28
29
  const listInputs = getContext('ListInputs');
@@ -84,6 +85,9 @@ function onChange(e) {
84
85
  }
85
86
  preclickAction?.();
86
87
  setValue(e.detail?.['value']);
88
+ if (onSelect) {
89
+ onSelect.forEach((id) => $runnableComponents?.[id]?.cb?.forEach((f) => f()));
90
+ }
87
91
  }
88
92
  function setValue(nvalue) {
89
93
  let result = undefined;
@@ -184,6 +188,7 @@ let filterText = '';
184
188
  : SELECT_INPUT_DEFAULT_STYLE.containerStyles) +
185
189
  css?.input?.style}
186
190
  {value}
191
+ class={css?.input?.class}
187
192
  placeholder={resolvedConfig.placeholder}
188
193
  disabled={resolvedConfig.disabled}
189
194
  on:focus={() => {
@@ -16,6 +16,7 @@ declare const __propDef: {
16
16
  right: () => boolean | string;
17
17
  } | undefined;
18
18
  noDefault?: boolean | undefined;
19
+ onSelect?: string[] | undefined;
19
20
  };
20
21
  events: {
21
22
  [evt: string]: CustomEvent<any>;
@@ -0,0 +1,103 @@
1
+ <script>import { getContext } from 'svelte';
2
+ import { twMerge } from 'tailwind-merge';
3
+ import { initConfig, initOutput } from '../../editor/appUtils';
4
+ import { initCss } from '../../utils';
5
+ import AlignWrapper from '../helpers/AlignWrapper.svelte';
6
+ import InitializeComponent from '../helpers/InitializeComponent.svelte';
7
+ import { components } from '../../editor/component';
8
+ import ResolveConfig from '../helpers/ResolveConfig.svelte';
9
+ import ResolveStyle from '../helpers/ResolveStyle.svelte';
10
+ export let id;
11
+ export let configuration;
12
+ export let verticalAlignment = undefined;
13
+ export let customCss = undefined;
14
+ export let render;
15
+ const { app, worldStore, selectedComponent, componentControl } = getContext('AppViewerContext');
16
+ let resolvedConfig = initConfig(components['timeinputcomponent'].initialData.configuration, configuration);
17
+ let value = undefined;
18
+ $componentControl[id] = {
19
+ setValue(nvalue) {
20
+ value = nvalue;
21
+ }
22
+ };
23
+ let outputs = initOutput($worldStore, id, {
24
+ result: undefined,
25
+ validity: true
26
+ });
27
+ $: !value && handleDefault(resolvedConfig.defaultValue);
28
+ function convertToMinutes(time) {
29
+ const [hours, minutes] = time.split(':').map(Number);
30
+ return hours * 60 + minutes;
31
+ }
32
+ $: {
33
+ if (value) {
34
+ if (!resolvedConfig['24hFormat']) {
35
+ let time = value.split(':');
36
+ let hours = parseInt(time[0]);
37
+ let minutes = time[1];
38
+ let ampm = hours >= 12 ? 'pm' : 'am';
39
+ hours = hours % 12;
40
+ hours = hours ? hours : 12;
41
+ outputs?.result.set(hours + ':' + minutes + ' ' + ampm);
42
+ }
43
+ else {
44
+ outputs?.result.set(value);
45
+ }
46
+ let currentValueInMinutes = convertToMinutes(value);
47
+ let isValid = true;
48
+ if (resolvedConfig.minTime) {
49
+ const minTimeInMinutes = convertToMinutes(resolvedConfig.minTime);
50
+ if (currentValueInMinutes < minTimeInMinutes) {
51
+ isValid = false;
52
+ }
53
+ }
54
+ if (resolvedConfig.maxTime) {
55
+ const maxTimeInMinutes = convertToMinutes(resolvedConfig.maxTime);
56
+ if (currentValueInMinutes > maxTimeInMinutes) {
57
+ isValid = false;
58
+ }
59
+ }
60
+ // At the end, set the validity
61
+ outputs?.validity.set(isValid);
62
+ }
63
+ }
64
+ function handleDefault(defaultValue) {
65
+ value = defaultValue;
66
+ }
67
+ let css = initCss($app.css?.timeinputcomponent, customCss);
68
+ </script>
69
+
70
+ {#each Object.keys(components['timeinputcomponent'].initialData.configuration) as key (key)}
71
+ <ResolveConfig
72
+ {id}
73
+ {key}
74
+ bind:resolvedConfig={resolvedConfig[key]}
75
+ configuration={configuration[key]}
76
+ />
77
+ {/each}
78
+
79
+ {#each Object.keys(css ?? {}) as key (key)}
80
+ <ResolveStyle
81
+ {id}
82
+ {customCss}
83
+ {key}
84
+ bind:css={css[key]}
85
+ componentStyle={$app.css?.timeinputcomponent}
86
+ />
87
+ {/each}
88
+
89
+ <InitializeComponent {id} />
90
+
91
+ <AlignWrapper {render} {verticalAlignment}>
92
+ <input
93
+ on:focus={() => ($selectedComponent = [id])}
94
+ on:pointerdown|stopPropagation={() => ($selectedComponent = [id])}
95
+ type="time"
96
+ bind:value
97
+ min={resolvedConfig.minTime}
98
+ max={resolvedConfig.maxTime}
99
+ placeholder="Type..."
100
+ class={twMerge('windmillapp w-full py-1.5 text-sm px-2', css?.input?.class)}
101
+ style={css?.input?.style ?? ''}
102
+ />
103
+ </AlignWrapper>
@@ -0,0 +1,21 @@
1
+ import { SvelteComponent } from "svelte";
2
+ import type { ComponentCustomCSS, RichConfigurations } from '../../types';
3
+ declare const __propDef: {
4
+ props: {
5
+ id: string;
6
+ configuration: RichConfigurations;
7
+ verticalAlignment?: 'top' | 'center' | 'bottom' | undefined;
8
+ customCss?: ComponentCustomCSS<'timeinputcomponent'> | undefined;
9
+ render: boolean;
10
+ };
11
+ events: {
12
+ [evt: string]: CustomEvent<any>;
13
+ };
14
+ slots: {};
15
+ };
16
+ export type AppTimeInputProps = typeof __propDef.props;
17
+ export type AppTimeInputEvents = typeof __propDef.events;
18
+ export type AppTimeInputSlots = typeof __propDef.slots;
19
+ export default class AppTimeInput extends SvelteComponent<AppTimeInputProps, AppTimeInputEvents, AppTimeInputSlots> {
20
+ }
21
+ export {};
@@ -17,7 +17,6 @@ const outputs = initOutput($worldStore, id, {
17
17
  selectedTabIndex: 0
18
18
  });
19
19
  function onFocus() {
20
- console.log('onFocus', id, selectedConditionIndex);
21
20
  $focusedGrid = {
22
21
  parentComponentId: id,
23
22
  subGridIndex: selectedConditionIndex
@@ -110,6 +110,18 @@ $: if ($selectedComponent?.[0] === id && !$focusedGrid) {
110
110
  subGridIndex: nodes.findIndex((node) => node.id === currentNodeId)
111
111
  };
112
112
  }
113
+ function updateDebuggingComponents() {
114
+ const nodeIds = nodes.map((node) => node.id).sort();
115
+ const debuggingComponentsIds = Object.keys($debuggingComponents).sort();
116
+ if (JSON.stringify(nodeIds) !== JSON.stringify(debuggingComponentsIds)) {
117
+ debuggingComponentsIds.forEach((id) => {
118
+ if (!nodeIds.includes(id)) {
119
+ delete $debuggingComponents[id];
120
+ }
121
+ });
122
+ }
123
+ }
124
+ $: nodes && $debuggingComponents && updateDebuggingComponents();
113
125
  </script>
114
126
 
115
127
  {#if Object.keys(resolvedConditions).length === nodes.length}
@@ -175,7 +175,8 @@ let directionClicked = undefined;
175
175
  color="light"
176
176
  variant="contained"
177
177
  disabled={selectedIndex === 0}
178
- on:click={() => {
178
+ on:click={(e) => {
179
+ e.preventDefault()
179
180
  directionClicked = 'left'
180
181
  runStep(selectedIndex - 1)
181
182
  }}
@@ -195,7 +196,8 @@ let directionClicked = undefined;
195
196
  color="dark"
196
197
  variant="contained"
197
198
  disabled={lastStep}
198
- on:click={() => {
199
+ on:click={(e) => {
200
+ e.preventDefault()
199
201
  directionClicked = 'right'
200
202
  runStep(selectedIndex + 1)
201
203
  }}
@@ -10,7 +10,7 @@ import { Button, Tab } from '../../common';
10
10
  import TabContent from '../../common/tabs/TabContent.svelte';
11
11
  import Tabs from '../../common/tabs/Tabs.svelte';
12
12
  import { userStore, workspaceStore } from '../../../stores';
13
- import { classNames, encodeState } from '../../../utils';
13
+ import { classNames, encodeState, sendUserToast } from '../../../utils';
14
14
  import AppPreview from './AppPreview.svelte';
15
15
  import ComponentList from './componentsPanel/ComponentList.svelte';
16
16
  import ContextPanel from './contextPanel/ContextPanel.svelte';
@@ -69,13 +69,14 @@ let context = {
69
69
  const darkMode = writable(document.documentElement.classList.contains('dark'));
70
70
  const worldStore = buildWorld(context);
71
71
  const previewTheme = writable(undefined);
72
+ const initialized = writable({ initialized: false, initializedComponents: [] });
72
73
  $secondaryMenuRightStore.isOpen = false;
73
74
  $secondaryMenuLeftStore.isOpen = false;
74
75
  setContext('AppViewerContext', {
75
76
  worldStore,
76
77
  app: appStore,
77
78
  summary: summaryStore,
78
- initialized: writable({ initialized: false, initializedComponents: [] }),
79
+ initialized: initialized,
79
80
  selectedComponent,
80
81
  mode,
81
82
  connectingInput,
@@ -348,6 +349,18 @@ function parseScroll() {
348
349
  let mounted = false;
349
350
  onMount(() => {
350
351
  mounted = true;
352
+ setTimeout(() => {
353
+ if ($initialized?.initialized === false) {
354
+ sendUserToast('App is not yet initialized, please check the Troubleshoot Panel for more information', true, [
355
+ {
356
+ label: 'Open Troubleshoot Panel',
357
+ callback: () => {
358
+ appEditorHeader?.openTroubleshootPanel();
359
+ }
360
+ }
361
+ ]);
362
+ }
363
+ }, 10000);
351
364
  parseScroll();
352
365
  });
353
366
  $: setGridPanelSize($componentActive);
@@ -447,7 +460,7 @@ let runnableJobEnterTimeout = undefined;
447
460
  style={$appStore.css?.['app']?.['viewer']?.style}
448
461
  >
449
462
  <div class="absolute bottom-2 left-2 z-50 border bg-surface">
450
- <div class="flex flex-row gap-2 text-xs items-center p-0.5">
463
+ <div class="flex flex-row gap-2 text-xs items-center h-8 px-1">
451
464
  <Button
452
465
  color="light"
453
466
  size="xs2"
@@ -458,7 +471,9 @@ let runnableJobEnterTimeout = undefined;
458
471
  >
459
472
  <Minus size={14} />
460
473
  </Button>
461
- {$scale}%
474
+ <div class="w-8 flex justify-center text-2xs h-full items-center">
475
+ {$scale}%
476
+ </div>
462
477
  <Button
463
478
  color="light"
464
479
  size="xs2"
@@ -1,6 +1,6 @@
1
- <script>import { beforeNavigate, goto } from '$app/navigation';
1
+ <script>import { goto } from '$app/navigation';
2
2
  import { page } from '$app/stores';
3
- import { Alert, Badge, Drawer, DrawerContent, Kbd, Tab, Tabs, UndoRedo } from '../../common';
3
+ import { Alert, Badge, Drawer, DrawerContent, Tab, Tabs, UndoRedo } from '../../common';
4
4
  import Button from '../../common/button/Button.svelte';
5
5
  import DisplayResult from '../../DisplayResult.svelte';
6
6
  import FlowProgressBar from '../../flows/FlowProgressBar.svelte';
@@ -38,7 +38,13 @@ import AppTimeline from './AppTimeline.svelte';
38
38
  import { cloneDeep } from 'lodash';
39
39
  import AppReportsDrawer from './AppReportsDrawer.svelte';
40
40
  import HighlightCode from '../../HighlightCode.svelte';
41
- import { getCountPostgresql, createPostgresInput, createPostgresInsert, createUpdatePostgresInput, getPrimaryKeys } from '../components/display/dbtable/utils';
41
+ import { getPrimaryKeys } from '../components/display/dbtable/utils';
42
+ import DebugPanel from './contextPanel/DebugPanel.svelte';
43
+ import { getCountInput } from '../components/display/dbtable/queries/count';
44
+ import { getSelectInput } from '../components/display/dbtable/queries/select';
45
+ import { getInsertInput } from '../components/display/dbtable/queries/insert';
46
+ import { getUpdateInput } from '../components/display/dbtable/queries/update';
47
+ import { getDeleteInput } from '../components/display/dbtable/queries/delete';
42
48
  async function hash(message) {
43
49
  try {
44
50
  const msgUint8 = new TextEncoder().encode(message); // encode as (utf-8) Uint8Array
@@ -81,6 +87,7 @@ let draftDrawerOpen = false;
81
87
  let saveDrawerOpen = false;
82
88
  let inputsDrawerOpen = fromHub;
83
89
  let historyBrowserDrawerOpen = false;
90
+ let debugAppDrawerOpen = false;
84
91
  let deploymentMsg = undefined;
85
92
  function closeSaveDrawer() {
86
93
  saveDrawerOpen = false;
@@ -111,34 +118,38 @@ async function computeTriggerables() {
111
118
  if (c.type === 'dbexplorercomponent') {
112
119
  let nr = [];
113
120
  let config = c.configuration;
114
- let pg = config?.type?.configuration?.postgresql;
115
- if (pg) {
121
+ const dbType = config?.type?.selected;
122
+ let pg = config?.type?.configuration?.[dbType];
123
+ if (pg && dbType) {
116
124
  const { table, resource } = pg;
117
125
  const tableValue = table.value;
118
126
  const resourceValue = resource.value;
119
127
  const columnDefs = c.configuration.columnDefs.value;
120
128
  const whereClause = c.configuration.whereClause.value;
121
- console.log(columnDefs);
122
129
  if (tableValue && resourceValue && columnDefs) {
123
130
  r.push({
124
- input: createPostgresInput(resourceValue, tableValue, columnDefs, whereClause),
131
+ input: getSelectInput(resourceValue, tableValue, columnDefs, whereClause, dbType),
125
132
  id: x.id
126
133
  });
127
134
  r.push({
128
- input: getCountPostgresql(resourceValue, tableValue),
135
+ input: getCountInput(resourceValue, tableValue, dbType, columnDefs, whereClause),
129
136
  id: x.id + '_count'
130
137
  });
131
138
  r.push({
132
- input: createPostgresInsert(tableValue, columnDefs, resourceValue),
139
+ input: getInsertInput(tableValue, columnDefs, resourceValue, dbType),
133
140
  id: x.id + '_insert'
134
141
  });
135
142
  let primaryColumns = getPrimaryKeys(columnDefs);
136
143
  let columns = columnDefs?.filter((x) => primaryColumns.includes(x.field));
144
+ r.push({
145
+ input: getDeleteInput(resourceValue, tableValue, columns, dbType),
146
+ id: x.id + '_delete'
147
+ });
137
148
  columnDefs
138
149
  .filter((col) => col.editable || config.allEditable.value)
139
150
  .forEach((column) => {
140
151
  r.push({
141
- input: createUpdatePostgresInput(resourceValue, tableValue, column, columns),
152
+ input: getUpdateInput(resourceValue, tableValue, column, columns, dbType),
142
153
  id: x.id + '_update'
143
154
  });
144
155
  });
@@ -158,12 +169,13 @@ async function computeTriggerables() {
158
169
  .concat(Object.values($app.hiddenInlineScripts ?? {}).map(async (v, i) => {
159
170
  return await processRunnable(BG_PREFIX + i, v, v.fields);
160
171
  }))));
172
+ console.log('allTriggers', allTriggers);
161
173
  policy.triggerables = Object.fromEntries(allTriggers.filter(Boolean));
162
174
  }
163
175
  async function processRunnable(id, runnable, fields) {
164
176
  const staticInputs = collectStaticFields(fields);
165
177
  if (runnable?.type == 'runnableByName') {
166
- console.log(runnable.inlineScript?.content);
178
+ console.log('processRunnable:content', runnable.inlineScript?.content);
167
179
  let hex = await hash(runnable.inlineScript?.content);
168
180
  console.log('hex', hex, id);
169
181
  return [`${id}:rawscript/${hex}`, staticInputs];
@@ -549,6 +561,14 @@ let moreItems = [
549
561
  });
550
562
  },
551
563
  disabled: !savedApp
564
+ },
565
+ // App debug menu
566
+ {
567
+ displayName: 'Troubleshoot panel',
568
+ icon: Bug,
569
+ action: () => {
570
+ debugAppDrawerOpen = true;
571
+ }
552
572
  }
553
573
  ];
554
574
  let appEditorTutorial = undefined;
@@ -557,6 +577,9 @@ export function toggleTutorial() {
557
577
  }
558
578
  let rightColumnSelect = 'timeline';
559
579
  let appReportingDrawerOpen = false;
580
+ export function openTroubleshootPanel() {
581
+ debugAppDrawerOpen = true;
582
+ }
560
583
  </script>
561
584
 
562
585
  <svelte:window on:keydown={onKeyDown} />
@@ -564,8 +587,6 @@ let appReportingDrawerOpen = false;
564
587
  <TestJobLoader bind:this={testJobLoader} bind:isLoading={testIsLoading} bind:job />
565
588
 
566
589
  <UnsavedConfirmationModal
567
- gotoUrl={goto}
568
- {beforeNavigate}
569
590
  {diffDrawer}
570
591
  savedValue={savedApp}
571
592
  modifiedValue={{
@@ -811,6 +832,12 @@ let appReportingDrawerOpen = false;
811
832
  </DrawerContent>
812
833
  </Drawer>
813
834
 
835
+ <Drawer bind:open={debugAppDrawerOpen} size="800px">
836
+ <DrawerContent title="Troubleshoot Panel" on:close={() => (debugAppDrawerOpen = false)}>
837
+ <DebugPanel />
838
+ </DrawerContent>
839
+ </Drawer>
840
+
814
841
  <Drawer bind:open={$jobsDrawerOpen} size="900px" --zIndex={1003}>
815
842
  <DrawerContent
816
843
  noPadding
@@ -1181,8 +1208,9 @@ let appReportingDrawerOpen = false;
1181
1208
  on:click={() => saveDraft()}
1182
1209
  size="xs"
1183
1210
  disabled={$page.params.path !== undefined && !savedApp}
1211
+ shortCut={{ key: 'S' }}
1184
1212
  >
1185
- Draft&nbsp;<Kbd small>Ctrl</Kbd><Kbd small>S</Kbd>
1213
+ Draft
1186
1214
  </Button>
1187
1215
  <Button
1188
1216
  loading={loading.save}
@@ -17,6 +17,7 @@ declare const __propDef: {
17
17
  } | undefined;
18
18
  version?: number | undefined;
19
19
  toggleTutorial?: (() => void) | undefined;
20
+ openTroubleshootPanel?: (() => void) | undefined;
20
21
  };
21
22
  events: {
22
23
  keydown: KeyboardEvent;
@@ -31,5 +32,6 @@ export type AppEditorHeaderEvents = typeof __propDef.events;
31
32
  export type AppEditorHeaderSlots = typeof __propDef.slots;
32
33
  export default class AppEditorHeader extends SvelteComponent<AppEditorHeaderProps, AppEditorHeaderEvents, AppEditorHeaderSlots> {
33
34
  get toggleTutorial(): () => void;
35
+ get openTroubleshootPanel(): () => void;
34
36
  }
35
37
  export {};
@@ -91,14 +91,14 @@ onDestroy(() => {
91
91
  <div class="divide-y">
92
92
  <div class="flex flex-row-reverse mb-2 items-center text-sm text-secondary px-2">
93
93
  <div class="flex gap-4 items-center">
94
- <div class="flex gap-2 items-center">
94
+ <div class="flex gap-2 items-center text-xs">
95
95
  <div>Waiting for executor</div>
96
- <div class="h-4 w-4 bg-gray-500" />
96
+ <div class="h-4 w-4 bg-gray-300 dark:bg-gray-600 rounded" />
97
97
  </div>
98
98
 
99
- <div class="flex gap-2 items-center">
99
+ <div class="flex gap-2 items-center text-xs">
100
100
  <div>Execution</div>
101
- <div class="h-4 w-4 bg-blue-500/90" />
101
+ <div class="h-4 w-4 bg-blue-500/90 rounded" />
102
102
  </div>
103
103
  </div>
104
104
  </div>
@@ -8,7 +8,7 @@ export let nodes = [];
8
8
  export let id;
9
9
  const { componentControl, debuggingComponents, worldStore } = getContext('AppViewerContext');
10
10
  const dispatch = createEventDispatcher();
11
- let currentNodeId = '';
11
+ let currentNodeId = $worldStore.outputsById[id]?.currentNodeId?.peak() ?? 'a';
12
12
  $worldStore.outputsById[id]?.currentNodeId?.subscribe({
13
13
  id: id,
14
14
  next: (value) => {
@@ -158,7 +158,7 @@ loadVersions();
158
158
  <div class="flex p-1 gap-2">
159
159
  <Button
160
160
  size="xs"
161
- on:click={() => window.open(`/apps/add?template_id=${selectedVersion}`)}
161
+ on:click={() => window.open(`/apps/add?template_id=${selectedVersion?.version}`)}
162
162
  >
163
163
  Restore as fork
164
164
  </Button>
@@ -23,7 +23,7 @@ $: componentSettings = $selectedComponent?.map((sc) => findComponentSettings($ap
23
23
  componentCallbacks?.handleCut(new KeyboardEvent('keydown'))
24
24
  },
25
25
  icon: Scissors,
26
- shortcut: `${getModifierKey()} + X`,
26
+ shortcut: `${getModifierKey()}X`,
27
27
  disabled: $movingcomponents?.includes($selectedComponent?.[0] ?? '')
28
28
  },
29
29
  {
@@ -32,7 +32,7 @@ $: componentSettings = $selectedComponent?.map((sc) => findComponentSettings($ap
32
32
  componentCallbacks?.handleCopy(new KeyboardEvent('keydown'))
33
33
  },
34
34
  icon: Copy,
35
- shortcut: `${getModifierKey()} + C`
35
+ shortcut: `${getModifierKey()}C`
36
36
  },
37
37
 
38
38
  {
@@ -41,7 +41,7 @@ $: componentSettings = $selectedComponent?.map((sc) => findComponentSettings($ap
41
41
  deleteComponent?.removeGridElement()
42
42
  },
43
43
  icon: Trash,
44
- shortcut: `${getModifierKey()} + Del`,
44
+ shortcut: `Del`,
45
45
  color: 'red'
46
46
  }
47
47
  ]
@@ -139,7 +139,7 @@ let items = [
139
139
  >
140
140
  <div
141
141
  class={classNames(
142
- '!text-tertiary text-left px-4 py-2 gap-2 cursor-pointer hover:bg-gray-100 !text-xs font-semibold'
142
+ '!text-tertiary text-left px-4 py-2 gap-2 cursor-pointer hover:bg-surface-hover !text-xs font-semibold'
143
143
  )}
144
144
  >
145
145
  {#if index === 0}
@@ -108,6 +108,8 @@ const dispatch = createEventDispatcher();
108
108
  shouldCapitalize={false}
109
109
  bind:inputSpecs={hiddenInlineScript.script.fields}
110
110
  userInputEnabled={false}
111
+ recomputeOnInputChanged={hiddenInlineScript.script.recomputeOnInputChanged}
112
+ showOnDemandOnlyToggle
111
113
  />
112
114
  {/key}
113
115
  </PanelSection>
@@ -49,7 +49,7 @@ let selected = null;
49
49
  >
50
50
  <div
51
51
  class={classNames(
52
- '!text-tertiary text-left px-4 py-2 gap-2 cursor-pointer hover:bg-gray-100 !text-xs font-semibold'
52
+ '!text-tertiary text-left px-4 py-2 gap-2 cursor-pointer hover:bg-surface-hover !text-xs font-semibold'
53
53
  )}
54
54
  >
55
55
  {#if index === tabs.length - 1}
@@ -69,7 +69,7 @@ let selected = null;
69
69
  >
70
70
  <div
71
71
  class={classNames(
72
- '!text-red-600 text-left px-4 py-2 gap-2 cursor-pointer hover:bg-gray-100 !text-xs font-semibold'
72
+ '!text-red-600 dark:!text-red-400 text-left px-4 py-2 gap-2 cursor-pointer hover:bg-surface-hover !text-xs font-semibold'
73
73
  )}
74
74
  >
75
75
  {`Reset debug mode`}
@@ -277,6 +277,14 @@ export function insertNewGridItem(app, builddata, focusedGrid, columns, keepId)
277
277
  ? `${focusedGrid?.parentComponentId}-${focusedGrid?.subGridIndex ?? 0}`
278
278
  : undefined;
279
279
  if (key && app.subgrids[key] === undefined) {
280
+ let parent = findGridItemById(app.grid, app.subgrids, key)?.data;
281
+ let subgrids = parent?.numberOfSubgrids;
282
+ if (subgrids === undefined) {
283
+ throw Error(`Invalid subgrid selected, the parent has no subgrids: ${key}, parent: ${JSON.stringify(parent)}`);
284
+ }
285
+ if (focusedGrid?.subGridIndex && (focusedGrid?.subGridIndex < 0 || focusedGrid?.subGridIndex >= subgrids)) {
286
+ throw Error(`Invalid subgrid selected: ${key}, max subgrids: ${subgrids}`);
287
+ }
280
288
  // If ever the subgrid is undefined, we want to make sure it is defined
281
289
  app.subgrids[key] = [];
282
290
  }
@@ -33,6 +33,8 @@ import AppDbExplorer from '../../components/display/dbtable/AppDbExplorer.svelte
33
33
  import AppS3FileInput from '../../components/inputs/AppS3FileInput.svelte';
34
34
  import AppAlert from '../../components/display/AppAlert.svelte';
35
35
  import AppDateSliderInput from '../../components/inputs/AppDateSliderInput.svelte';
36
+ import AppTimeInput from '../../components/inputs/AppTimeInput.svelte';
37
+ import AppDateTimeInput from '../../components/inputs/AppDateTimeInput.svelte';
36
38
  export let component;
37
39
  export let selected;
38
40
  export let locked = false;
@@ -356,6 +358,7 @@ function mouseOut() {
356
358
  verticalAlignment={component.verticalAlignment}
357
359
  configuration={component.configuration}
358
360
  customCss={component.customCss}
361
+ onSelect={component.onSelect}
359
362
  {render}
360
363
  />
361
364
  {:else if component.type === 'multiselectcomponent'}
@@ -396,6 +399,7 @@ function mouseOut() {
396
399
  configuration={component.configuration}
397
400
  customCss={component.customCss}
398
401
  recomputeIds={component.recomputeIds}
402
+ onToggle={component.onToggle}
399
403
  {render}
400
404
  />
401
405
  {:else if component.type === 'textinputcomponent'}
@@ -447,6 +451,23 @@ function mouseOut() {
447
451
  customCss={component.customCss}
448
452
  {render}
449
453
  />
454
+ {:else if component.type === 'timeinputcomponent'}
455
+ <AppTimeInput
456
+ verticalAlignment={component.verticalAlignment}
457
+ configuration={component.configuration}
458
+ id={component.id}
459
+ customCss={component.customCss}
460
+ {render}
461
+ />
462
+ {:else if component.type === 'datetimeinputcomponent'}
463
+ <AppDateTimeInput
464
+ verticalAlignment={component.verticalAlignment}
465
+ configuration={component.configuration}
466
+ inputType="date"
467
+ id={component.id}
468
+ customCss={component.customCss}
469
+ {render}
470
+ />
450
471
  {:else if component.type === 'numberinputcomponent'}
451
472
  <AppNumberInput
452
473
  verticalAlignment={component.verticalAlignment}