windmill-components 1.309.7 → 1.352.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (509) hide show
  1. package/package/assets/app.css +22 -13
  2. package/package/ata/index.js +1 -0
  3. package/package/autosize.js +2 -2
  4. package/package/common.d.ts +14 -2
  5. package/package/common.js +6 -1
  6. package/package/components/AllFlowLogs.svelte +30 -0
  7. package/package/components/AllFlowLogs.svelte.d.ts +18 -0
  8. package/package/components/ApiConnectForm.svelte +10 -4
  9. package/package/components/AppConnectDrawer.svelte +74 -0
  10. package/package/components/AppConnectDrawer.svelte.d.ts +20 -0
  11. package/package/components/AppConnectInner.svelte +507 -0
  12. package/package/components/AppConnectInner.svelte.d.ts +28 -0
  13. package/package/components/ArgEnum.svelte +4 -1
  14. package/package/components/ArgEnum.svelte.d.ts +3 -1
  15. package/package/components/ArgInfo.svelte +19 -3
  16. package/package/components/ArgInput.svelte +222 -122
  17. package/package/components/ArgInput.svelte.d.ts +11 -7
  18. package/package/components/ArrayTypeNarrowing.svelte +29 -27
  19. package/package/components/CenteredPage.svelte +2 -2
  20. package/package/components/ConcurrentJobsChart.svelte +212 -0
  21. package/package/components/ConcurrentJobsChart.svelte.d.ts +23 -0
  22. package/package/components/CustomOauth.svelte +2 -2
  23. package/package/components/DateInput.svelte +47 -0
  24. package/package/components/DateInput.svelte.d.ts +24 -0
  25. package/package/components/DateTimeInput.svelte +25 -3
  26. package/package/components/DefaultScripts.svelte +5 -8
  27. package/package/components/DefaultTags.svelte +3 -2
  28. package/package/components/DefaultTags.svelte.d.ts +3 -1
  29. package/package/components/DefaultTagsInner.svelte +2 -11
  30. package/package/components/DefaultTagsInner.svelte.d.ts +3 -1
  31. package/package/components/Dev.svelte +72 -10
  32. package/package/components/DiffDrawer.svelte +1 -2
  33. package/package/components/DiffEditor.svelte +3 -0
  34. package/package/components/DisplayResult.svelte +467 -344
  35. package/package/components/DisplayResult.svelte.d.ts +1 -0
  36. package/package/components/DropdownV2.svelte.d.ts +2 -2
  37. package/package/components/DurationMs.svelte +11 -3
  38. package/package/components/DurationMs.svelte.d.ts +2 -0
  39. package/package/components/EditableSchemaForm.svelte +447 -100
  40. package/package/components/EditableSchemaForm.svelte.d.ts +16 -6
  41. package/package/components/Editor.svelte +112 -93
  42. package/package/components/Editor.svelte.d.ts +4 -2
  43. package/package/components/EditorBar.svelte +101 -10
  44. package/package/components/EditorBar.svelte.d.ts +0 -1
  45. package/package/components/ErrorOrRecoveryHandler.svelte +0 -1
  46. package/package/components/FlowBuilder.svelte +14 -6
  47. package/package/components/FlowGraphViewer.svelte +2 -1
  48. package/package/components/FlowGraphViewerStep.svelte +56 -10
  49. package/package/components/FlowGraphViewerStep.svelte.d.ts +2 -7
  50. package/package/components/FlowJobResult.svelte +14 -3
  51. package/package/components/FlowJobResult.svelte.d.ts +3 -0
  52. package/package/components/FlowMetadata.svelte +41 -36
  53. package/package/components/FlowMetadata.svelte.d.ts +3 -1
  54. package/package/components/FlowPreviewContent.svelte +18 -9
  55. package/package/components/FlowStatusViewer.svelte +4 -0
  56. package/package/components/FlowStatusViewer.svelte.d.ts +3 -0
  57. package/package/components/FlowStatusViewerInner.svelte +96 -19
  58. package/package/components/FlowStatusViewerInner.svelte.d.ts +3 -0
  59. package/package/components/FlowTimeline.svelte +13 -0
  60. package/package/components/FlowTimeline.svelte.d.ts +2 -0
  61. package/package/components/FlowViewer.svelte +0 -5
  62. package/package/components/FolderEditor.svelte +25 -0
  63. package/package/components/FolderEditor.svelte.d.ts +2 -0
  64. package/package/components/GroupEditor.svelte +36 -91
  65. package/package/components/GroupInfo.svelte +1 -1
  66. package/package/components/HighlightCode.svelte +3 -0
  67. package/package/components/InputTransformForm.svelte +19 -1
  68. package/package/components/InputTransformForm.svelte.d.ts +2 -0
  69. package/package/components/InputTransformSchemaForm.svelte +6 -0
  70. package/package/components/InputTransformSchemaForm.svelte.d.ts +2 -0
  71. package/package/components/InstanceSettings.svelte +196 -16
  72. package/package/components/InstanceSettings.svelte.d.ts +4 -0
  73. package/package/components/JobLogs.svelte +12 -0
  74. package/package/components/JobLogs.svelte.d.ts +16 -0
  75. package/package/components/JobStatus.svelte +3 -3
  76. package/package/components/Label.svelte +1 -1
  77. package/package/components/Label.svelte.d.ts +1 -0
  78. package/package/components/LightweightArgInput.svelte +342 -264
  79. package/package/components/LightweightArgInput.svelte.d.ts +6 -2
  80. package/package/components/LightweightResourcePicker.svelte +74 -26
  81. package/package/components/LightweightSchemaForm.svelte +49 -39
  82. package/package/components/LogViewer.svelte +52 -15
  83. package/package/components/LogViewer.svelte.d.ts +1 -0
  84. package/package/components/Login.svelte +288 -0
  85. package/package/components/Login.svelte.d.ts +19 -0
  86. package/package/components/ModulePreviewForm.svelte +4 -0
  87. package/package/components/NoMainFuncBadge.svelte +8 -0
  88. package/package/components/NoMainFuncBadge.svelte.d.ts +14 -0
  89. package/package/components/NumberTypeNarrowing.svelte +71 -44
  90. package/package/components/OauthExtraParams.svelte +1 -1
  91. package/package/components/OauthScopes.svelte +1 -1
  92. package/package/components/ObjectResourceInput.svelte +2 -0
  93. package/package/components/ObjectResourceInput.svelte.d.ts +1 -0
  94. package/package/components/ObjectStoreConfigSettings.svelte +12 -1
  95. package/package/components/ObjectStoreConfigSettings.svelte.d.ts +1 -0
  96. package/package/components/ObjectTypeNarrowing.svelte +0 -1
  97. package/package/components/ParqetCsvTableRenderer.svelte +181 -0
  98. package/package/components/ParqetCsvTableRenderer.svelte.d.ts +21 -0
  99. package/package/components/Password.svelte +1 -0
  100. package/package/components/Password.svelte.d.ts +2 -0
  101. package/package/components/PasswordArgInput.svelte +49 -0
  102. package/package/components/PasswordArgInput.svelte.d.ts +17 -0
  103. package/package/components/Path.svelte +2 -2
  104. package/package/components/PersistentScriptDrawer.svelte +6 -3
  105. package/package/components/QueueMetricsDrawer.svelte +225 -0
  106. package/package/components/QueueMetricsDrawer.svelte.d.ts +18 -0
  107. package/package/components/Range.svelte +88 -286
  108. package/package/components/Range.svelte.d.ts +9 -23
  109. package/package/components/ResourceEditor.svelte +138 -140
  110. package/package/components/ResourceEditor.svelte.d.ts +9 -2
  111. package/package/components/ResourceEditorDrawer.svelte +45 -0
  112. package/package/components/ResourceEditorDrawer.svelte.d.ts +21 -0
  113. package/package/components/ResourcePicker.svelte +8 -9
  114. package/package/components/ResourceTypePicker.svelte +88 -36
  115. package/package/components/ResultJobLoader.svelte +2 -2
  116. package/package/components/ResultJobLoader.svelte.d.ts +9 -9
  117. package/package/components/RunChart.svelte +55 -5
  118. package/package/components/RunChart.svelte.d.ts +1 -0
  119. package/package/components/RunForm.svelte +1 -1
  120. package/package/components/S3FilePicker.svelte +21 -9
  121. package/package/components/S3FilePicker.svelte.d.ts +2 -0
  122. package/package/components/SavedInputs.svelte +49 -13
  123. package/package/components/ScheduleEditorInner.svelte +294 -264
  124. package/package/components/SchemaForm.svelte +193 -99
  125. package/package/components/SchemaForm.svelte.d.ts +17 -2
  126. package/package/components/ScriptBuilder.svelte +23 -14
  127. package/package/components/ScriptEditor.svelte +1 -2
  128. package/package/components/ScriptEditor.svelte.d.ts +1 -1
  129. package/package/components/ScriptSchedules.svelte +11 -8
  130. package/package/components/ScriptSchema.svelte +3 -21
  131. package/package/components/ScriptVersionHistory.svelte +1 -1
  132. package/package/components/SimpleEditor.svelte +4 -1
  133. package/package/components/StringTypeNarrowing.svelte +229 -167
  134. package/package/components/StringTypeNarrowing.svelte.d.ts +6 -1
  135. package/package/components/TemplateEditor.svelte +1 -0
  136. package/package/components/TestJobLoader.svelte +14 -5
  137. package/package/components/TestJobLoader.svelte.d.ts +1 -1
  138. package/package/components/Toggle.svelte +6 -3
  139. package/package/components/Toggle.svelte.d.ts +1 -0
  140. package/package/components/Tooltip.svelte +8 -2
  141. package/package/components/Tooltip.svelte.d.ts +1 -0
  142. package/package/components/UserSettings.svelte +24 -1
  143. package/package/components/WorkspaceGroup.svelte +84 -21
  144. package/package/components/WorkspaceGroup.svelte.d.ts +1 -0
  145. package/package/components/app_connect.d.ts +7 -0
  146. package/package/components/app_connect.js +78 -0
  147. package/package/components/apps/components/buttons/AppButton.svelte +2 -1
  148. package/package/components/apps/components/buttons/AppButton.svelte.d.ts +1 -0
  149. package/package/components/apps/components/display/AppAlert.svelte +1 -1
  150. package/package/components/apps/components/display/AppCustomComponent.svelte +1 -1
  151. package/package/components/apps/components/display/AppDisplayComponent.svelte +2 -2
  152. package/package/components/apps/components/display/AppDownload.svelte +1 -1
  153. package/package/components/apps/components/display/AppFlowStatusComponent.svelte +13 -70
  154. package/package/components/apps/components/display/AppFlowStatusComponent.svelte.d.ts +1 -9
  155. package/package/components/apps/components/display/AppIcon.svelte +1 -1
  156. package/package/components/apps/components/display/AppJobIdFlowStatus.svelte +23 -10
  157. package/package/components/apps/components/display/AppJobIdFlowStatus.svelte.d.ts +1 -3
  158. package/package/components/apps/components/display/AppJobIdLogComponent.svelte +22 -10
  159. package/package/components/apps/components/display/AppJobIdLogComponent.svelte.d.ts +1 -3
  160. package/package/components/apps/components/display/AppLogsComponent.svelte +13 -70
  161. package/package/components/apps/components/display/AppLogsComponent.svelte.d.ts +1 -9
  162. package/package/components/apps/components/display/AppMap.svelte +3 -2
  163. package/package/components/apps/components/display/AppMenu.svelte +1 -1
  164. package/package/components/apps/components/display/AppPdf.svelte +3 -11
  165. package/package/components/apps/components/display/AppText.svelte +7 -2
  166. package/package/components/apps/components/display/charts/AppAgCharts.svelte +31 -18
  167. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +32 -30
  168. package/package/components/apps/components/display/dbtable/InsertRow.svelte +3 -6
  169. package/package/components/apps/components/display/dbtable/queries/delete.js +1 -1
  170. package/package/components/apps/components/display/dbtable/queries/insert.js +1 -12
  171. package/package/components/apps/components/display/dbtable/queries/select.js +1 -1
  172. package/package/components/apps/components/display/dbtable/queries/update.js +2 -2
  173. package/package/components/apps/components/display/dbtable/utils.d.ts +0 -1
  174. package/package/components/apps/components/display/dbtable/utils.js +0 -83
  175. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +75 -44
  176. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte.d.ts +5 -1
  177. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +172 -0
  178. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte.d.ts +27 -0
  179. package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte +38 -0
  180. package/package/components/apps/components/display/table/AppAggridInfiniteTableEe.svelte.d.ts +28 -0
  181. package/package/components/apps/components/display/table/AppAggridTable.svelte +189 -56
  182. package/package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +1 -1
  183. package/package/components/apps/components/display/table/AppAggridTableActions.svelte +13 -2
  184. package/package/components/apps/components/display/table/AppAggridTableActions.svelte.d.ts +1 -0
  185. package/package/components/apps/components/display/table/AppCell.svelte +1 -3
  186. package/package/components/apps/components/display/table/AppTable.svelte +320 -281
  187. package/package/components/apps/components/display/table/AppTableFooter.svelte +42 -23
  188. package/package/components/apps/components/display/table/AppTableFooter.svelte.d.ts +2 -2
  189. package/package/components/apps/components/display/table/SyncColumnDefs.svelte +119 -0
  190. package/package/components/apps/components/display/table/SyncColumnDefs.svelte.d.ts +21 -0
  191. package/package/components/apps/components/display/table/theme/windmill-theme.css +656 -0
  192. package/package/components/apps/components/display/table/utils.js +22 -0
  193. package/package/components/apps/components/helpers/DebouncedInput.svelte +3 -2
  194. package/package/components/apps/components/helpers/HiddenComponent.svelte +2 -1
  195. package/package/components/apps/components/helpers/NonRunnableComponent.svelte +35 -0
  196. package/package/components/apps/components/helpers/RefreshButton.svelte +30 -12
  197. package/package/components/apps/components/helpers/RefreshButton.svelte.d.ts +1 -3
  198. package/package/components/apps/components/helpers/RefreshIndicator.svelte +19 -0
  199. package/package/components/apps/components/helpers/RefreshIndicator.svelte.d.ts +16 -0
  200. package/package/components/apps/components/helpers/ResolveConfig.svelte +1 -1
  201. package/package/components/apps/components/helpers/RunnableComponent.svelte +102 -41
  202. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +9 -5
  203. package/package/components/apps/components/helpers/RunnableWrapper.svelte +9 -1
  204. package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +6 -0
  205. package/package/components/apps/components/helpers/eval.js +1 -36
  206. package/package/components/apps/components/inputs/AppDateInput.svelte +5 -1
  207. package/package/components/apps/components/inputs/AppFileInput.svelte +13 -2
  208. package/package/components/apps/components/inputs/AppFileInput.svelte.d.ts +1 -0
  209. package/package/components/apps/components/inputs/AppMultiSelect.svelte +56 -50
  210. package/package/components/apps/components/inputs/AppMultiSelect.svelte.d.ts +1 -0
  211. package/package/components/apps/components/inputs/AppMultiSelectV2.svelte +178 -0
  212. package/package/components/apps/components/inputs/AppMultiSelectV2.svelte.d.ts +24 -0
  213. package/package/components/apps/components/inputs/AppNumberInput.svelte +1 -1
  214. package/package/components/apps/components/inputs/AppQuillEditor.svelte +26 -0
  215. package/package/components/apps/components/inputs/AppRangeInput.svelte +38 -37
  216. package/package/components/apps/components/inputs/AppS3FileInput.svelte +3 -1
  217. package/package/components/apps/components/inputs/AppS3FileInput.svelte.d.ts +1 -0
  218. package/package/components/apps/components/inputs/AppSelect.svelte +21 -10
  219. package/package/components/apps/components/inputs/AppSliderInputs.svelte +26 -31
  220. package/package/components/apps/components/inputs/AppTextInput.svelte +1 -1
  221. package/package/components/apps/components/inputs/currency/AppCurrencyInput.svelte +1 -1
  222. package/package/components/apps/components/layout/AppConditionalWrapper.svelte +10 -3
  223. package/package/components/apps/components/layout/AppConditionalWrapper.svelte.d.ts +1 -0
  224. package/package/components/apps/components/layout/AppContainer.svelte +1 -1
  225. package/package/components/apps/components/layout/AppDecisionTree.svelte +1 -1
  226. package/package/components/apps/components/layout/AppDrawer.svelte +16 -3
  227. package/package/components/apps/components/layout/AppDrawer.svelte.d.ts +2 -0
  228. package/package/components/apps/components/layout/AppModal.svelte +85 -79
  229. package/package/components/apps/components/layout/AppModal.svelte.d.ts +2 -0
  230. package/package/components/apps/components/layout/AppStepper.svelte +7 -2
  231. package/package/components/apps/components/layout/AppStepper.svelte.d.ts +2 -0
  232. package/package/components/apps/components/layout/AppTabs.svelte +4 -2
  233. package/package/components/apps/components/layout/AppTabs.svelte.d.ts +1 -0
  234. package/package/components/apps/editor/AppEditor.svelte +3 -2
  235. package/package/components/apps/editor/AppEditorHeader.svelte +68 -38
  236. package/package/components/apps/editor/AppInputs.svelte +1 -1
  237. package/package/components/apps/editor/AppPreview.svelte +18 -7
  238. package/package/components/apps/editor/ComponentHeader.svelte +37 -1
  239. package/package/components/apps/editor/ComponentHeader.svelte.d.ts +2 -0
  240. package/package/components/apps/editor/GridEditor.svelte +15 -6
  241. package/package/components/apps/editor/GridEditorMenu.svelte +120 -49
  242. package/package/components/apps/editor/GridViewer.svelte +14 -5
  243. package/package/components/apps/editor/GridViewer.svelte.d.ts +5 -1
  244. package/package/components/apps/editor/RecomputeAllComponents.svelte +17 -3
  245. package/package/components/apps/editor/RunnableJobPanel.svelte +9 -5
  246. package/package/components/apps/editor/SettingsPanel.svelte +19 -5
  247. package/package/components/apps/editor/SubGridEditor.svelte +44 -27
  248. package/package/components/apps/editor/appUtils.d.ts +6 -1
  249. package/package/components/apps/editor/appUtils.js +85 -7
  250. package/package/components/apps/editor/component/Component.svelte +86 -18
  251. package/package/components/apps/editor/component/Component.svelte.d.ts +3 -0
  252. package/package/components/apps/editor/component/components.d.ts +285 -23
  253. package/package/components/apps/editor/component/components.js +178 -13
  254. package/package/components/apps/editor/component/default-codes.d.ts +1 -1
  255. package/package/components/apps/editor/component/default-codes.js +241 -9
  256. package/package/components/apps/editor/component/sets.d.ts +3 -0
  257. package/package/components/apps/editor/component/sets.js +12 -2
  258. package/package/components/apps/editor/componentsPanel/ComponentList.svelte +15 -2
  259. package/package/components/apps/editor/componentsPanel/componentControlUtils.js +4 -2
  260. package/package/components/apps/editor/componentsPanel/cssUtils.js +1 -1
  261. package/package/components/apps/editor/componentsPanel/quickStyleProperties.js +5 -0
  262. package/package/components/apps/editor/contextPanel/components/OutputHeader.svelte +9 -5
  263. package/package/components/apps/editor/contextPanel/components/TableActionsOutput.svelte +1 -1
  264. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +46 -6
  265. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +1 -1
  266. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanelWithTable.svelte +1 -1
  267. package/package/components/apps/editor/inlineScriptsPanel/utils.js +3 -1
  268. package/package/components/apps/editor/settingsPanel/AlignmentEditor.svelte +1 -1
  269. package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +5 -34
  270. package/package/components/apps/editor/settingsPanel/ComponentControl.svelte +1 -1
  271. package/package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +8 -5
  272. package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +41 -29
  273. package/package/components/apps/editor/settingsPanel/ContextVariables.svelte +61 -0
  274. package/package/components/apps/editor/settingsPanel/ContextVariables.svelte.d.ts +16 -0
  275. package/package/components/apps/editor/settingsPanel/DecisionTreeGraphEditor.svelte +12 -10
  276. package/package/components/apps/editor/settingsPanel/DeleteComponent.svelte +29 -32
  277. package/package/components/apps/editor/settingsPanel/DeleteComponent.svelte.d.ts +0 -5
  278. package/package/components/apps/editor/settingsPanel/EventHandlerItem.svelte +33 -0
  279. package/package/components/apps/editor/settingsPanel/EventHandlerItem.svelte.d.ts +19 -0
  280. package/package/components/apps/editor/settingsPanel/EventHandlers.svelte +103 -0
  281. package/package/components/apps/editor/settingsPanel/EventHandlers.svelte.d.ts +18 -0
  282. package/package/components/apps/editor/settingsPanel/GridCondition.svelte +14 -36
  283. package/package/components/apps/editor/settingsPanel/GridTab.svelte +4 -24
  284. package/package/components/apps/editor/settingsPanel/GridTabDisabled.svelte +2 -1
  285. package/package/components/apps/editor/settingsPanel/GridTabDisabled.svelte.d.ts +1 -0
  286. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +24 -3
  287. package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +32 -2
  288. package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte.d.ts +1 -0
  289. package/package/components/apps/editor/settingsPanel/StylePanel.svelte +4 -3
  290. package/package/components/apps/editor/settingsPanel/SubTypeEditor.svelte +0 -2
  291. package/package/components/apps/editor/settingsPanel/SubTypeEditor.svelte.d.ts +0 -1
  292. package/package/components/apps/editor/settingsPanel/inputEditor/ColorInput.svelte +3 -2
  293. package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte +8 -1
  294. package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +7 -14
  295. package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte.d.ts +0 -1
  296. package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +4 -4
  297. package/package/components/apps/editor/settingsPanel/secondaryMenu/SecondaryMenu.svelte +6 -3
  298. package/package/components/apps/inputType.d.ts +4 -0
  299. package/package/components/apps/rx.d.ts +1 -1
  300. package/package/components/apps/rx.js +7 -0
  301. package/package/components/apps/svelte-grid/Grid.svelte +13 -4
  302. package/package/components/apps/svelte-grid/Grid.svelte.d.ts +2 -1
  303. package/package/components/apps/svelte-grid/types.d.ts +1 -0
  304. package/package/components/apps/svelte-grid/utils/helper.js +1 -0
  305. package/package/components/apps/svelte-grid/utils/overlap.d.ts +3 -0
  306. package/package/components/apps/svelte-grid/utils/overlap.js +21 -0
  307. package/package/components/apps/svelte-select/lib/Select.svelte.d.ts +2 -2
  308. package/package/components/apps/svelte-select/lib/tailwind.css +1 -1
  309. package/package/components/apps/types.d.ts +1 -0
  310. package/package/components/apps/utils.js +13 -3
  311. package/package/components/auditLogs/AuditLogsTable.svelte +5 -2
  312. package/package/components/build_workers.js +1 -0
  313. package/package/components/common/alert/Alert.svelte +17 -17
  314. package/package/components/common/badge/Badge.svelte +6 -3
  315. package/package/components/common/badge/model.d.ts +1 -1
  316. package/package/components/common/button/Button.svelte +22 -14
  317. package/package/components/common/button/ButtonDropdown.svelte +1 -0
  318. package/package/components/common/calendarPicker/CalendarPicker.svelte +2 -0
  319. package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +1 -0
  320. package/package/components/common/drawer/ConditionalPortal.svelte +9 -0
  321. package/package/components/common/drawer/ConditionalPortal.svelte.d.ts +18 -0
  322. package/package/components/common/drawer/Disposable.svelte +67 -0
  323. package/package/components/common/drawer/Disposable.svelte.d.ts +37 -0
  324. package/package/components/common/drawer/Drawer.svelte +40 -56
  325. package/package/components/common/drawer/Drawer.svelte.d.ts +2 -1
  326. package/package/components/common/fileDownload/FileDownload.svelte +4 -2
  327. package/package/components/common/fileInput/FileInput.svelte +3 -3
  328. package/package/components/common/fileInput/FileInput.svelte.d.ts +1 -0
  329. package/package/components/common/fileUpload/FileUpload.svelte +5 -4
  330. package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
  331. package/package/components/common/modal/Modal.svelte +4 -1
  332. package/package/components/common/modal/Modal.svelte.d.ts +1 -0
  333. package/package/components/common/popup/Popup.svelte +1 -1
  334. package/package/components/common/table/RowIcon.svelte +4 -4
  335. package/package/components/common/table/ScriptRow.svelte +12 -1
  336. package/package/components/common/table/ScriptRow.svelte.d.ts +1 -0
  337. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +4 -1
  338. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte.d.ts +1 -0
  339. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte +45 -0
  340. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte.d.ts +24 -0
  341. package/package/components/common/waitTimeWarning/WaitTimeWarning.svelte +79 -0
  342. package/package/components/common/waitTimeWarning/WaitTimeWarning.svelte.d.ts +18 -0
  343. package/package/components/copilot/CronGen.svelte +2 -2
  344. package/package/components/copilot/FlowCopilotStatus.svelte +1 -1
  345. package/package/components/copilot/RegexGen.svelte +17 -39
  346. package/package/components/copilot/ScriptGen.svelte +14 -5
  347. package/package/components/copilot/StepInputGen.svelte +2 -1
  348. package/package/components/copilot/StepInputsGen.svelte +2 -1
  349. package/package/components/copilot/completion.js +60 -9
  350. package/package/components/copilot/lib.js +5 -3
  351. package/package/components/copilot/prompts/edit.yaml +24 -0
  352. package/package/components/copilot/prompts/editPrompt.d.ts +3 -0
  353. package/package/components/copilot/prompts/editPrompt.js +3 -0
  354. package/package/components/copilot/prompts/fix.yaml +25 -0
  355. package/package/components/copilot/prompts/fixPrompt.d.ts +3 -0
  356. package/package/components/copilot/prompts/fixPrompt.js +3 -0
  357. package/package/components/copilot/prompts/gen.yaml +20 -0
  358. package/package/components/copilot/prompts/genPrompt.d.ts +3 -0
  359. package/package/components/copilot/prompts/genPrompt.js +3 -0
  360. package/package/components/copilot/utils.d.ts +2 -1
  361. package/package/components/copilot/utils.js +38 -0
  362. package/package/components/details/createAppFromScript.d.ts +26 -0
  363. package/package/components/details/createAppFromScript.js +50 -24
  364. package/package/components/flows/CreateActionsApp.svelte +1 -0
  365. package/package/components/flows/CreateActionsFlow.svelte +1 -0
  366. package/package/components/flows/content/FlowEditorPanel.svelte +16 -2
  367. package/package/components/flows/content/FlowInput.svelte +63 -53
  368. package/package/components/flows/content/FlowInputs.svelte +2 -2
  369. package/package/components/flows/content/FlowModuleComponent.svelte +41 -9
  370. package/package/components/flows/content/FlowModuleScript.svelte +40 -1
  371. package/package/components/flows/content/FlowModuleScript.svelte.d.ts +2 -0
  372. package/package/components/flows/content/FlowModuleSuspend.svelte +99 -59
  373. package/package/components/flows/content/FlowModuleWrapper.svelte +16 -1
  374. package/package/components/flows/content/FlowSchedules.svelte +11 -8
  375. package/package/components/flows/content/ScriptEditorDrawer.svelte +6 -6
  376. package/package/components/flows/flowExplorer.js +4 -1
  377. package/package/components/flows/flowStateUtils.js +4 -1
  378. package/package/components/flows/map/FlowConstantsItem.svelte +1 -1
  379. package/package/components/flows/map/FlowErrorHandlerItem.svelte +1 -1
  380. package/package/components/flows/map/FlowModuleSchemaItem.svelte +19 -1
  381. package/package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +1 -0
  382. package/package/components/flows/map/FlowModuleSchemaMap.svelte +6 -1
  383. package/package/components/flows/map/FlowSettingsItem.svelte +1 -1
  384. package/package/components/flows/map/MapItem.svelte +2 -0
  385. package/package/components/flows/map/MapItem.svelte.d.ts +1 -0
  386. package/package/components/flows/types.d.ts +4 -0
  387. package/package/components/flows/utils.d.ts +5 -1
  388. package/package/components/flows/utils.js +36 -0
  389. package/package/components/graph/FlowGraph.svelte +6 -2
  390. package/package/components/graph/FlowGraph.svelte.d.ts +2 -0
  391. package/package/components/graph/svelvet/container/models/index.d.ts +0 -5
  392. package/package/components/graph/svelvet/container/models/index.js +1 -1
  393. package/package/components/graph/svelvet/container/views/Svelvet.svelte +2 -5
  394. package/package/components/graph/svelvet/edges/views/Edges/SimpleBezierEdge.svelte +41 -16
  395. package/package/components/graph/util.d.ts +1 -37
  396. package/package/components/graph/util.js +0 -34
  397. package/package/components/home/ItemsList.svelte +44 -9
  398. package/package/components/home/TreeView.svelte +2 -0
  399. package/package/components/icons/AzureIcon.svelte +25 -1
  400. package/package/components/icons/PHPIcon.svelte +117 -0
  401. package/package/components/icons/PHPIcon.svelte.d.ts +17 -0
  402. package/package/components/instanceSettings.d.ts +1 -1
  403. package/package/components/instanceSettings.js +20 -3
  404. package/package/components/jobs/JobPreview.svelte +6 -1
  405. package/package/components/multiselect/MultiSelect.svelte +783 -0
  406. package/package/components/multiselect/MultiSelect.svelte.d.ts +98 -0
  407. package/package/components/multiselect/MultiSelectWrapper.svelte +89 -0
  408. package/package/components/multiselect/MultiSelectWrapper.svelte.d.ts +20 -0
  409. package/package/components/multiselect/types.d.ts +56 -0
  410. package/package/components/multiselect/types.js +1 -0
  411. package/package/components/multiselect/utils.d.ts +7 -0
  412. package/package/components/multiselect/utils.js +54 -0
  413. package/package/components/propertyPicker/ObjectViewer.svelte +19 -2
  414. package/package/components/runs/JobLoader.svelte +135 -17
  415. package/package/components/runs/JobLoader.svelte.d.ts +7 -2
  416. package/package/components/runs/JobPreview.svelte +44 -4
  417. package/package/components/runs/JobPreview.svelte.d.ts +2 -0
  418. package/package/components/runs/RunRow.svelte +99 -33
  419. package/package/components/runs/RunRow.svelte.d.ts +5 -1
  420. package/package/components/runs/RunsFilter.svelte +125 -9
  421. package/package/components/runs/RunsFilter.svelte.d.ts +4 -2
  422. package/package/components/runs/RunsTable.svelte +71 -10
  423. package/package/components/runs/RunsTable.svelte.d.ts +8 -1
  424. package/package/components/schema/AddProperty.svelte +149 -0
  425. package/package/components/schema/AddProperty.svelte.d.ts +23 -0
  426. package/package/components/schema/AddPropertyForm.svelte +33 -0
  427. package/package/components/schema/AddPropertyForm.svelte.d.ts +16 -0
  428. package/package/components/schema/EditableSchemaDrawer.svelte +198 -0
  429. package/package/components/schema/EditableSchemaDrawer.svelte.d.ts +21 -0
  430. package/package/components/schema/EditableSchemaWrapper.svelte +31 -0
  431. package/package/components/schema/EditableSchemaWrapper.svelte.d.ts +22 -0
  432. package/package/components/schema/FlowPropertyEditor.svelte +393 -0
  433. package/package/components/schema/FlowPropertyEditor.svelte.d.ts +47 -0
  434. package/package/components/schema/PropertyEditor.svelte +185 -0
  435. package/package/components/schema/PropertyEditor.svelte.d.ts +46 -0
  436. package/package/components/schema/SchemaFormDND.svelte +75 -0
  437. package/package/components/schema/SchemaFormDND.svelte.d.ts +28 -0
  438. package/package/components/scriptEditor/LogPanel.svelte +46 -33
  439. package/package/components/scriptEditor/LogPanel.svelte.d.ts +1 -0
  440. package/package/components/scripts/CreateActionsScript.svelte +1 -1
  441. package/package/components/settings/WorkspaceUserSettings.svelte +246 -226
  442. package/package/components/sidebar/MenuButton.svelte +1 -1
  443. package/package/components/sidebar/MenuLink.svelte +1 -1
  444. package/package/components/sidebar/changelogs.js +40 -0
  445. package/package/components/table/AutoDataTable.svelte +124 -163
  446. package/package/components/table/Cell.svelte +4 -1
  447. package/package/components/table/Cell.svelte.d.ts +1 -0
  448. package/package/components/table/DataTable.svelte +13 -5
  449. package/package/components/table/DataTable.svelte.d.ts +1 -0
  450. package/package/components/table/DownloadCsv.svelte +30 -0
  451. package/package/components/table/DownloadCsv.svelte.d.ts +17 -0
  452. package/package/components/table/tableUtils.d.ts +8 -0
  453. package/package/components/table/tableUtils.js +37 -0
  454. package/package/components/vscode.js +1 -1
  455. package/package/components/wizards/AgGridWizard.svelte +27 -2
  456. package/package/components/wizards/AgGridWizard.svelte.d.ts +1 -0
  457. package/package/consts.js +7 -1
  458. package/package/defaults.d.ts +2 -2
  459. package/package/defaults.js +2 -2
  460. package/package/deno_fetch.d.ts.txt +36 -0
  461. package/package/editorUtils.js +2 -0
  462. package/package/gen/core/OpenAPI.js +5 -6
  463. package/package/gen/core/request.js +4 -1
  464. package/package/gen/index.d.ts +0 -1
  465. package/package/gen/index.js +0 -1
  466. package/package/gen/schemas.gen.d.ts +173 -428
  467. package/package/gen/schemas.gen.js +173 -433
  468. package/package/gen/services.gen.d.ts +3182 -1840
  469. package/package/gen/services.gen.js +3652 -2368
  470. package/package/gen/types.gen.d.ts +5445 -1529
  471. package/package/infer.d.ts +1 -1
  472. package/package/infer.js +6 -2
  473. package/package/inferArgSig.d.ts +10 -0
  474. package/package/inferArgSig.js +64 -4
  475. package/package/init_scripts/python_init_code.d.ts +1 -1
  476. package/package/init_scripts/python_init_code.js +1 -1
  477. package/package/process.d.ts.txt +1770 -0
  478. package/package/script_helpers.d.ts +3 -2
  479. package/package/script_helpers.js +28 -3
  480. package/package/scripts.d.ts +3 -1
  481. package/package/scripts.js +10 -3
  482. package/package/utils.d.ts +5 -1
  483. package/package/utils.js +53 -5
  484. package/package/windmill_fetch.d.ts.txt +16966 -0
  485. package/package/workspace_settings.d.ts +15 -0
  486. package/package/workspace_settings.js +81 -0
  487. package/package/zIndexes.d.ts +12 -0
  488. package/package/zIndexes.js +12 -0
  489. package/package.json +19 -10
  490. package/package/components/AppConnect.svelte +0 -566
  491. package/package/components/AppConnect.svelte.d.ts +0 -23
  492. package/package/components/ContextMenu.svelte +0 -89
  493. package/package/components/ContextMenu.svelte.d.ts +0 -28
  494. package/package/components/ParqetTableRenderer.svelte +0 -121
  495. package/package/components/ParqetTableRenderer.svelte.d.ts +0 -18
  496. package/package/components/PropertyRow.svelte +0 -80
  497. package/package/components/PropertyRow.svelte.d.ts +0 -23
  498. package/package/components/SchemaEditor.svelte +0 -344
  499. package/package/components/SchemaEditor.svelte.d.ts +0 -23
  500. package/package/components/SchemaModal.svelte +0 -350
  501. package/package/components/SchemaModal.svelte.d.ts +0 -31
  502. package/package/components/apps/components/display/index.d.ts +0 -17
  503. package/package/components/apps/components/display/index.js +0 -17
  504. package/package/components/apps/components/helpers/index.d.ts +0 -10
  505. package/package/components/apps/components/helpers/index.js +0 -10
  506. package/package/components/apps/components/index.d.ts +0 -5
  507. package/package/components/apps/components/index.js +0 -5
  508. package/package/components/apps/editor/settingsPanel/Recompute.svelte +0 -55
  509. package/package/components/apps/editor/settingsPanel/Recompute.svelte.d.ts +0 -20
@@ -35,7 +35,6 @@ import ButtonDropdown from '../../common/button/ButtonDropdown.svelte';
35
35
  import { MenuItem } from '@rgossiaux/svelte-headlessui';
36
36
  import AppEditorTutorial from './AppEditorTutorial.svelte';
37
37
  import AppTimeline from './AppTimeline.svelte';
38
- import { cloneDeep } from 'lodash';
39
38
  import AppReportsDrawer from './AppReportsDrawer.svelte';
40
39
  import HighlightCode from '../../HighlightCode.svelte';
41
40
  import { getPrimaryKeys } from '../components/display/dbtable/utils';
@@ -45,6 +44,7 @@ import { getSelectInput } from '../components/display/dbtable/queries/select';
45
44
  import { getInsertInput } from '../components/display/dbtable/queries/insert';
46
45
  import { getUpdateInput } from '../components/display/dbtable/queries/update';
47
46
  import { getDeleteInput } from '../components/display/dbtable/queries/delete';
47
+ import { collectOneOfFields } from './appUtils';
48
48
  async function hash(message) {
49
49
  try {
50
50
  const msgUint8 = new TextEncoder().encode(message); // encode as (utf-8) Uint8Array
@@ -114,7 +114,9 @@ async function computeTriggerables() {
114
114
  }
115
115
  if ((c.type === 'aggridcomponent' ||
116
116
  c.type === 'aggridcomponentee' ||
117
- c.type === 'dbexplorercomponent') &&
117
+ c.type === 'dbexplorercomponent' ||
118
+ c.type === 'aggridinfinitecomponent' ||
119
+ c.type === 'aggridinfinitecomponentee') &&
118
120
  Array.isArray(c.actions)) {
119
121
  r.push(...c.actions.map((x) => ({ input: x.componentInput, id: x.id })));
120
122
  }
@@ -175,20 +177,40 @@ async function computeTriggerables() {
175
177
  .concat(Object.values($app.hiddenInlineScripts ?? {}).map(async (v, i) => {
176
178
  return await processRunnable(BG_PREFIX + i, v, v.fields);
177
179
  }))));
178
- console.log('allTriggers', allTriggers);
179
- policy.triggerables = Object.fromEntries(allTriggers.filter(Boolean));
180
+ delete policy.triggerables;
181
+ const ntriggerables = Object.fromEntries(allTriggers.filter(Boolean));
182
+ policy.triggerables_v2 = ntriggerables;
180
183
  }
181
184
  async function processRunnable(id, runnable, fields) {
182
185
  const staticInputs = collectStaticFields(fields);
186
+ const oneOfInputs = collectOneOfFields(fields, $app);
187
+ const allowUserResources = Object.entries(fields)
188
+ .map(([k, v]) => {
189
+ return v['allowUserResources'] ? k : undefined;
190
+ })
191
+ .filter(Boolean);
183
192
  if (runnable?.type == 'runnableByName') {
184
- console.log('processRunnable:content', runnable.inlineScript?.content);
185
193
  let hex = await hash(runnable.inlineScript?.content);
186
194
  console.log('hex', hex, id);
187
- return [`${id}:rawscript/${hex}`, staticInputs];
195
+ return [
196
+ `${id}:rawscript/${hex}`,
197
+ {
198
+ static_inputs: staticInputs,
199
+ one_of_inputs: oneOfInputs,
200
+ allow_user_resources: allowUserResources
201
+ }
202
+ ];
188
203
  }
189
204
  else if (runnable?.type == 'runnableByPath') {
190
205
  let prefix = runnable.runType !== 'hubscript' ? runnable.runType : 'script';
191
- return [`${id}:${prefix}/${runnable.path}`, staticInputs];
206
+ return [
207
+ `${id}:${prefix}/${runnable.path}`,
208
+ {
209
+ static_inputs: staticInputs,
210
+ one_of_inputs: oneOfInputs,
211
+ allow_user_resources: allowUserResources
212
+ }
213
+ ];
192
214
  }
193
215
  }
194
216
  async function createApp(path) {
@@ -206,7 +228,7 @@ async function createApp(path) {
206
228
  });
207
229
  savedApp = {
208
230
  summary: $summary,
209
- value: cloneDeep($app),
231
+ value: structuredClone($app),
210
232
  path: path,
211
233
  policy: policy
212
234
  };
@@ -239,7 +261,7 @@ async function updateApp(npath) {
239
261
  });
240
262
  savedApp = {
241
263
  summary: $summary,
242
- value: cloneDeep($app),
264
+ value: structuredClone($app),
243
265
  path: npath,
244
266
  policy
245
267
  };
@@ -261,7 +283,7 @@ async function updateApp(npath) {
261
283
  }
262
284
  }
263
285
  let secretUrl = undefined;
264
- $: secretUrl == undefined && policy.execution_mode == 'anonymous' && getSecretUrl();
286
+ $: appPath != '' && secretUrl == undefined && getSecretUrl();
265
287
  async function getSecretUrl() {
266
288
  secretUrl = await AppService.getPublicSecretOfApp({
267
289
  workspace: $workspaceStore,
@@ -269,16 +291,17 @@ async function getSecretUrl() {
269
291
  });
270
292
  }
271
293
  async function setPublishState() {
294
+ await computeTriggerables();
272
295
  await AppService.updateApp({
273
296
  workspace: $workspaceStore,
274
297
  path: appPath,
275
298
  requestBody: { policy }
276
299
  });
277
300
  if (policy.execution_mode == 'anonymous') {
278
- sendUserToast('App made visible publicly at the secret URL.');
301
+ sendUserToast('App require no login to be accessed');
279
302
  }
280
303
  else {
281
- sendUserToast('App made unaccessible publicly');
304
+ sendUserToast('App require login and read-access');
282
305
  }
283
306
  }
284
307
  async function save() {
@@ -315,13 +338,13 @@ async function saveInitialDraft() {
315
338
  });
316
339
  savedApp = {
317
340
  summary: $summary,
318
- value: cloneDeep($app),
341
+ value: structuredClone($app),
319
342
  path: newPath,
320
343
  policy,
321
344
  draft_only: true,
322
345
  draft: {
323
346
  summary: $summary,
324
- value: cloneDeep($app),
347
+ value: structuredClone($app),
325
348
  path: newPath,
326
349
  policy
327
350
  }
@@ -398,14 +421,14 @@ async function saveDraft(forceSave = false) {
398
421
  ...(savedApp?.draft_only
399
422
  ? {
400
423
  summary: $summary,
401
- value: cloneDeep($app),
424
+ value: structuredClone($app),
402
425
  path: savedApp.draft_only ? newPath || path : path,
403
426
  policy
404
427
  }
405
428
  : savedApp),
406
429
  draft: {
407
430
  summary: $summary,
408
- value: cloneDeep($app),
431
+ value: structuredClone($app),
409
432
  path: newPath || path,
410
433
  policy
411
434
  }
@@ -591,7 +614,6 @@ export function openTroubleshootPanel() {
591
614
  <svelte:window on:keydown={onKeyDown} />
592
615
 
593
616
  <TestJobLoader bind:this={testJobLoader} bind:isLoading={testIsLoading} bind:job />
594
-
595
617
  <UnsavedConfirmationModal
596
618
  {diffDrawer}
597
619
  savedValue={savedApp}
@@ -772,22 +794,26 @@ export function openTroubleshootPanel() {
772
794
  </Alert>
773
795
  {:else}
774
796
  <Alert title="App executed on behalf of you">
775
- A viewer of the app will execute the runnables of the app on behalf of the publisher (you).
797
+ A viewer of the app will execute the runnables of the app on behalf of the publisher (you)
776
798
  <Tooltip>
777
- This is to ensure that all resources/runnable available at time of creating the app would
778
- prevent the good execution of the app. To guarantee tight security, a policy is computed
779
- at time of deployment of the app which only allow the scripts/flows referred to in the app
780
- to be called on behalf of, and the resources are passed by reference so that their actual
781
- value is . Furthermore, static parameters are not overridable. Hence, users will only be
782
- able to use the app as intended by the publisher without risk for leaking resources not
783
- used in the app.
799
+ It ensures that all required resources/runnable visible for publisher but not for viewer
800
+ at time of creating the app would prevent the execution of the app. To guarantee tight
801
+ security, a policy is computed at time of deployment of the app which only allow the
802
+ scripts/flows referred to in the app to be called on behalf of. Furthermore, static
803
+ parameters are not overridable. Hence, users will only be able to use the app as intended
804
+ by the publisher without risk for leaking resources not used in the app.
784
805
  </Tooltip>
785
806
  </Alert>
807
+
808
+ <div class="mt-10" />
809
+
810
+ <h2>Secret public URL</h2>
786
811
  <div class="mt-4" />
812
+
787
813
  <Toggle
788
814
  options={{
789
- left: `Require read-access`,
790
- right: `Publish publicly for anyone knowing the secret url`
815
+ left: `Require login and read-access`,
816
+ right: `No login required`
791
817
  }}
792
818
  checked={policy.execution_mode == 'anonymous'}
793
819
  on:change={(e) => {
@@ -796,11 +822,11 @@ export function openTroubleshootPanel() {
796
822
  }}
797
823
  />
798
824
 
799
- {#if policy.execution_mode == 'anonymous' && secretUrl}
800
- {@const url = `${$page.url.hostname}/public/${$workspaceStore}/${secretUrl}`}
801
- {@const href = $page.url.protocol + '//' + url}
802
- <div class="my-6 box">
803
- Public url:
825
+ <div class="my-6 box">
826
+ Secret public url:
827
+ {#if secretUrl}
828
+ {@const url = `${$page.url.hostname}/public/${$workspaceStore}/${secretUrl}`}
829
+ {@const href = $page.url.protocol + '//' + url}
804
830
  <a
805
831
  on:click={(e) => {
806
832
  e.preventDefault()
@@ -814,12 +840,16 @@ export function openTroubleshootPanel() {
814
840
  <Clipboard />
815
841
  </span>
816
842
  </a>
817
- </div>
843
+ {:else}<Loader2 class="animate-spin" />
844
+ {/if}
845
+ <div class="text-xs text-secondary"
846
+ >You may share this url directly or embed it using an iframe (if not requiring login)</div
847
+ >
848
+ </div>
818
849
 
819
- <Alert type="info" title="Only latest saved app is publicly available">
820
- Once made public, you will still need to deploy the app to make visible the latest changes
821
- </Alert>
822
- {/if}
850
+ <Alert type="info" title="Only latest deployed app is publicly available">
851
+ You will still need to deploy the app to make visible the latest changes
852
+ </Alert>
823
853
  {/if}
824
854
  </DrawerContent>
825
855
  </Drawer>
@@ -842,7 +872,7 @@ export function openTroubleshootPanel() {
842
872
  </DrawerContent>
843
873
  </Drawer>
844
874
 
845
- <Drawer bind:open={$jobsDrawerOpen} size="900px" --zIndex={1003}>
875
+ <Drawer bind:open={$jobsDrawerOpen} size="900px">
846
876
  <DrawerContent
847
877
  noPadding
848
878
  title="Debug Runs"
@@ -25,7 +25,7 @@ let resourceOnly = true;
25
25
  {/each}
26
26
  </div>
27
27
  </div>
28
- {:else if gridItem?.data?.type === 'aggridcomponent' || gridItem?.data?.type === 'aggridcomponentee' || gridItem?.data?.type === 'dbexplorercomponent'}
28
+ {:else if gridItem?.data?.type === 'aggridcomponent' || gridItem?.data?.type === 'aggridcomponentee' || gridItem?.data?.type === 'dbexplorercomponent' || gridItem?.data?.type === 'aggridinfinitecomponent' || gridItem?.data?.type === 'aggridinfinitecomponentee'}
29
29
  <div>
30
30
  <AppComponentInput bind:component={gridItem.data} {resourceOnly} />
31
31
  <div class="ml-4 mt-4">
@@ -9,13 +9,13 @@ import GridViewer from './GridViewer.svelte';
9
9
  import Component from './component/Component.svelte';
10
10
  import { twMerge } from 'tailwind-merge';
11
11
  import { columnConfiguration } from '../gridUtils';
12
- import { HiddenComponent } from '../components';
13
12
  import { deepEqual } from 'fast-equals';
14
- import { dfs } from './appUtils';
13
+ import { dfs, maxHeight } from './appUtils';
15
14
  import { BG_PREFIX, migrateApp } from '../utils';
16
15
  import { workspaceStore, enterpriseLicense } from '../../../stores';
17
16
  import DarkModeObserver from '../../DarkModeObserver.svelte';
18
17
  import { getTheme } from './componentsPanel/themeUtils';
18
+ import HiddenComponent from '../components/helpers/HiddenComponent.svelte';
19
19
  export let app;
20
20
  export let appPath = '';
21
21
  export let breakpoint = writable('lg');
@@ -133,13 +133,15 @@ function addOrRemoveCss(isPremium, cssString) {
133
133
  }
134
134
  }
135
135
  }
136
+ let appHeight = 0;
137
+ $: maxRow = maxHeight($appStore.grid, appHeight, $breakpoint);
136
138
  </script>
137
139
 
138
140
  <DarkModeObserver on:change={onThemeChange} />
139
141
 
140
142
  <svelte:window on:hashchange={hashchange} on:resize={resizeWindow} />
141
143
 
142
- <div class="relative h-full">
144
+ <div class="relative min-h-screen h-full" bind:clientHeight={appHeight}>
143
145
  <div id="app-editor-top-level-drawer" />
144
146
  <div id="app-editor-select" />
145
147
 
@@ -173,7 +175,7 @@ function addOrRemoveCss(isPremium, cssString) {
173
175
  class={twMerge(
174
176
  'p-2 overflow-visible',
175
177
  app.css?.['app']?.['grid']?.class ?? '',
176
- 'wm-app-grid subgrid'
178
+ 'wm-app-grid subgrid'
177
179
  )}
178
180
  bind:clientWidth={$parentWidth}
179
181
  >
@@ -182,16 +184,24 @@ function addOrRemoveCss(isPremium, cssString) {
182
184
  allIdsInPath={$allIdsInPath}
183
185
  items={app.grid}
184
186
  let:dataItem
185
- rowHeight={36}
187
+ let:hidden
186
188
  cols={columnConfiguration}
187
- gap={[4, 2]}
189
+ {maxRow}
190
+ breakpoint={$breakpoint}
188
191
  >
189
192
  <!-- svelte-ignore a11y-click-events-have-key-events -->
190
193
  <div
191
194
  class={'h-full w-full center-center'}
192
195
  on:pointerdown={() => ($selectedComponent = [dataItem.id])}
193
196
  >
194
- <Component render={true} component={dataItem.data} selected={false} locked={true} />
197
+ <Component
198
+ render={true}
199
+ component={dataItem.data}
200
+ selected={false}
201
+ locked={true}
202
+ fullHeight={dataItem?.[$breakpoint === 'sm' ? 3 : 12]?.fullHeight}
203
+ {hidden}
204
+ />
195
205
  </div>
196
206
  </GridViewer>
197
207
  </div>
@@ -200,6 +210,7 @@ function addOrRemoveCss(isPremium, cssString) {
200
210
 
201
211
  {#if isLocked}
202
212
  <!-- svelte-ignore a11y-click-events-have-key-events -->
213
+ <!-- svelte-ignore a11y-no-static-element-interactions -->
203
214
  <div
204
215
  on:click={() => (isLocked = false)}
205
216
  class="absolute inset-0 center-center bg-black/20 z-50 backdrop-blur-[1px] cursor-pointer"
@@ -1,5 +1,5 @@
1
1
  <script>import { classNames } from '../../../utils';
2
- import { Anchor, Bug, Expand, Move, Network, Pen, Plug2 } from 'lucide-svelte';
2
+ import { Anchor, ArrowDownFromLine, Bug, Expand, Move, Network, Pen, Plug2 } from 'lucide-svelte';
3
3
  import { createEventDispatcher, getContext } from 'svelte';
4
4
  import Popover from '../../Popover.svelte';
5
5
  import { Button, Popup } from '../../common';
@@ -16,6 +16,8 @@ export let connecting = false;
16
16
  export let hasInlineEditor = false;
17
17
  export let inlineEditorOpened = false;
18
18
  export let errorHandledByComponent = false;
19
+ export let fullHeight = false;
20
+ //export let willNotDisplay: boolean = false
19
21
  const dispatch = createEventDispatcher();
20
22
  const { errorByComponent, openDebugRun, connectingInput } = getContext('AppViewerContext');
21
23
  </script>
@@ -107,6 +109,40 @@ const { errorByComponent, openDebugRun, connectingInput } = getContext('AppViewe
107
109
  <DecisionTreeDebug id={component.id} nodes={component.nodes ?? []} />
108
110
  {/if}
109
111
 
112
+ <!-- {#if willNotDisplay}
113
+ <Popover>
114
+ <svelte:fragment slot="text">
115
+ This component won't render, because an other component above it is set to fill the
116
+ height.
117
+ </svelte:fragment>
118
+ <div
119
+ title="Fill height"
120
+ class={classNames(
121
+ 'px-1 text-2xs py-0.5 font-bold w-fit border cursor-pointer rounded-sm',
122
+ 'bg-red-100 text-red-600 border-red-500 hover:bg-red-200 hover:text-red-800'
123
+ )}
124
+ >
125
+ <EyeOff aria-label="Expand position" size={14} />
126
+ </div>
127
+ </Popover>
128
+ {/if} -->
129
+
130
+ <button
131
+ title="Fill height"
132
+ class={classNames(
133
+ 'px-1 text-2xs py-0.5 font-bold w-fit border cursor-pointer rounded-sm',
134
+ 'bg-indigo-100 text-indigo-600 border-indigo-500 hover:bg-indigo-200 hover:text-indigo-800'
135
+ )}
136
+ on:click={() => dispatch('fillHeight')}
137
+ on:pointerdown|stopPropagation
138
+ >
139
+ <ArrowDownFromLine
140
+ aria-label="Expand position"
141
+ size={14}
142
+ class={fullHeight ? 'text-orange-500' : ''}
143
+ />
144
+ </button>
145
+
110
146
  <button
111
147
  title="Expand"
112
148
  class={classNames(
@@ -10,12 +10,14 @@ declare const __propDef: {
10
10
  hasInlineEditor?: boolean | undefined;
11
11
  inlineEditorOpened?: boolean | undefined;
12
12
  errorHandledByComponent?: boolean | undefined;
13
+ fullHeight?: boolean | undefined;
13
14
  };
14
15
  events: {
15
16
  mousedown: MouseEvent;
16
17
  pointerdown: PointerEvent;
17
18
  mouseover: CustomEvent<any>;
18
19
  triggerInlineEditor: CustomEvent<any>;
20
+ fillHeight: CustomEvent<any>;
19
21
  expand: CustomEvent<any>;
20
22
  lock: CustomEvent<any>;
21
23
  } & {
@@ -67,10 +67,10 @@ $: if (!deepEqual(previousSelectedIds, $selectedComponent)) {
67
67
  </div>
68
68
  <div>
69
69
  {policy.on_behalf_of ? `Author ${policy.on_behalf_of_email}` : ''}
70
- <Tooltip
71
- >The scripts will be run on behalf of the author and a tight policy ensure security about
72
- the possible inputs of the runnables.</Tooltip
73
- >
70
+ <Tooltip>
71
+ The scripts will be run on behalf of the author and a tight policy ensure security about
72
+ the possible inputs of the runnables.
73
+ </Tooltip>
74
74
  </div>
75
75
  </div>
76
76
  </div>
@@ -106,9 +106,8 @@ $: if (!deepEqual(previousSelectedIds, $selectedComponent)) {
106
106
  $app.grid = e.detail
107
107
  }}
108
108
  let:dataItem
109
- rowHeight={36}
109
+ let:hidden
110
110
  cols={columnConfiguration}
111
- gap={[4, 2]}
112
111
  >
113
112
  <ComponentWrapper
114
113
  id={dataItem.id}
@@ -120,10 +119,12 @@ $: if (!deepEqual(previousSelectedIds, $selectedComponent)) {
120
119
  >
121
120
  <GridEditorMenu id={dataItem.id}>
122
121
  <Component
122
+ {hidden}
123
123
  render={true}
124
124
  component={dataItem.data}
125
125
  selected={Boolean($selectedComponent?.includes(dataItem.id))}
126
126
  locked={isFixed(dataItem)}
127
+ fullHeight={dataItem?.[$breakpoint === 'sm' ? 3 : 12]?.fullHeight}
127
128
  on:lock={() => {
128
129
  const gridItem = findGridItem($app, dataItem.id)
129
130
  if (gridItem) {
@@ -137,6 +138,14 @@ $: if (!deepEqual(previousSelectedIds, $selectedComponent)) {
137
138
  expandGriditem($app.grid, dataItem.id, $breakpoint)
138
139
  $app = $app
139
140
  }}
141
+ on:fillHeight={() => {
142
+ const gridItem = findGridItem($app, dataItem.id)
143
+ const b = $breakpoint === 'sm' ? 3 : 12
144
+ if (gridItem?.[b]) {
145
+ gridItem[b].fullHeight = !gridItem[b].fullHeight
146
+ }
147
+ $app = $app
148
+ }}
140
149
  />
141
150
  </GridEditorMenu>
142
151
  </ComponentWrapper>
@@ -1,64 +1,135 @@
1
+ <script context="module">import { writable } from 'svelte/store';
2
+ // Using a Svelte store for global state management
3
+ const openedContextMenus = writable(new Set());
4
+ </script>
5
+
1
6
  <script>import { getModifierKey } from '../../../utils';
2
7
  import { Copy, Paintbrush2, Scissors, Trash } from 'lucide-svelte';
3
- import ContextMenu from '../../ContextMenu.svelte';
4
8
  import ComponentCallbacks from './component/ComponentCallbacks.svelte';
5
9
  import { getContext } from 'svelte';
6
10
  import DeleteComponent from './settingsPanel/DeleteComponent.svelte';
7
- import { findComponentSettings } from './appUtils';
8
11
  import { secondaryMenuLeft } from './settingsPanel/secondaryMenu';
9
- import StylePanel from './settingsPanel/StylePanel.svelte';
12
+ import { clickOutside } from '../../../utils';
13
+ import Portal from 'svelte-portal';
14
+ import { twMerge } from 'tailwind-merge';
15
+ let contextMenuVisible = false;
16
+ let menuX = 0;
17
+ let menuY = 0;
18
+ function handleRightClick(event) {
19
+ event.preventDefault();
20
+ contextMenuVisible = true;
21
+ menuX = event.clientX;
22
+ menuY = event.clientY;
23
+ openedContextMenus.update((menus) => {
24
+ menus.forEach((menu) => menu.id !== id && menu.close());
25
+ menus.clear();
26
+ menus.add({ id, close: () => (contextMenuVisible = false) });
27
+ return menus;
28
+ });
29
+ }
30
+ function closeContextMenu() {
31
+ contextMenuVisible = false;
32
+ openedContextMenus.update((menus) => {
33
+ menus.clear();
34
+ return menus;
35
+ });
36
+ }
37
+ function handleClickOutside(event) {
38
+ if (contextMenuVisible) {
39
+ closeContextMenu();
40
+ }
41
+ }
10
42
  export let id;
11
43
  let componentCallbacks = undefined;
12
- const { selectedComponent, app } = getContext('AppViewerContext');
13
- const { movingcomponents } = getContext('AppEditorContext');
44
+ const { selectedComponent } = getContext('AppViewerContext');
45
+ const { movingcomponents, stylePanel } = getContext('AppEditorContext');
14
46
  let deleteComponent = undefined;
15
- $: componentSettings = $selectedComponent?.map((sc) => findComponentSettings($app, sc));
47
+ const menuItems = [
48
+ {
49
+ label: 'Cut',
50
+ onClick: () => {
51
+ componentCallbacks?.handleCut(new KeyboardEvent('keydown'));
52
+ },
53
+ icon: Scissors,
54
+ shortcut: `${getModifierKey()}X`,
55
+ disabled: $movingcomponents?.includes($selectedComponent?.[0] ?? '')
56
+ },
57
+ {
58
+ label: 'Copy',
59
+ onClick: () => {
60
+ componentCallbacks?.handleCopy(new KeyboardEvent('keydown'));
61
+ },
62
+ icon: Copy,
63
+ shortcut: `${getModifierKey()}C`
64
+ },
65
+ {
66
+ label: 'Show style panel',
67
+ onClick: () => {
68
+ secondaryMenuLeft?.toggle(stylePanel(), { type: 'style' });
69
+ },
70
+ icon: Paintbrush2,
71
+ disabled: $secondaryMenuLeft.isOpen
72
+ },
73
+ {
74
+ label: 'Delete',
75
+ onClick: () => {
76
+ deleteComponent?.removeGridElement();
77
+ },
78
+ icon: Trash,
79
+ shortcut: `Del`,
80
+ color: 'red'
81
+ }
82
+ ];
16
83
  </script>
17
84
 
18
85
  <ComponentCallbacks bind:this={componentCallbacks} />
19
- <ContextMenu
20
- contextMenu={{
21
- menuItems: [
22
- {
23
- label: 'Cut',
24
- onClick: () => {
25
- componentCallbacks?.handleCut(new KeyboardEvent('keydown'))
26
- },
27
- icon: Scissors,
28
- shortcut: `${getModifierKey()}X`,
29
- disabled: $movingcomponents?.includes($selectedComponent?.[0] ?? '')
30
- },
31
- {
32
- label: 'Copy',
33
- onClick: () => {
34
- componentCallbacks?.handleCopy(new KeyboardEvent('keydown'))
35
- },
36
- icon: Copy,
37
- shortcut: `${getModifierKey()}C`
38
- },
39
- {
40
- label: 'Show style panel',
41
- onClick: () => {
42
- secondaryMenuLeft?.toggle(StylePanel, {})
43
- },
44
- icon: Paintbrush2,
45
- disabled: $secondaryMenuLeft.isOpen
46
- },
86
+ <DeleteComponent bind:this={deleteComponent} />
47
87
 
48
- {
49
- label: 'Delete',
50
- onClick: () => {
51
- deleteComponent?.removeGridElement()
52
- },
53
- icon: Trash,
54
- shortcut: `Del`,
55
- color: 'red'
56
- }
57
- ]
58
- }}
59
- {id}
60
- >
88
+ <svelte:window on:click={handleClickOutside} />
89
+
90
+ <!-- svelte-ignore a11y-click-events-have-key-events -->
91
+ <!-- svelte-ignore a11y-no-static-element-interactions -->
92
+ <div on:click={closeContextMenu} on:contextmenu={handleRightClick} class="h-full w-full">
93
+ <!-- svelte-ignore a11y-no-static-element-interactions -->
61
94
  <slot />
62
- </ContextMenu>
63
95
 
64
- <DeleteComponent {componentSettings} bind:this={deleteComponent} />
96
+ {#if contextMenuVisible}
97
+ <Portal>
98
+ <div style="position: fixed; top: {menuY}px; left: {menuX}px; z-index:6000;">
99
+ <div class="rounded-md bg-surface border shadow-md divide-y w-64">
100
+ <div class="p-1" use:clickOutside={false}>
101
+ <!-- svelte-ignore a11y-click-events-have-key-events -->
102
+ {#each menuItems as item}
103
+ <!-- svelte-ignore a11y-no-static-element-interactions -->
104
+ <!-- svelte-ignore a11y-click-events-have-key-events -->
105
+ <button
106
+ class={twMerge(
107
+ 'flex items-center p-2 hover:bg-surface-hover cursor-pointer transition-all rounded-md w-full',
108
+ item.color === 'red' && 'text-red-500',
109
+ item.color === 'green' && 'text-green-500',
110
+ item.color === 'blue' && 'text-blue-500',
111
+ item.disabled && 'opacity-50 cursor-not-allowed'
112
+ )}
113
+ on:click={() => {
114
+ item.onClick()
115
+ closeContextMenu()
116
+ }}
117
+ disabled={item.disabled}
118
+ >
119
+ <!-- svelte-ignore missing-declaration -->
120
+ <svelte:component this={item.icon} class="w-4 h-4" />
121
+
122
+ <span class="ml-2 text-xs">{item.label}</span>
123
+ {#if item.shortcut}
124
+ <span class="ml-auto text-xs text-gray-400">
125
+ {item.shortcut}
126
+ </span>
127
+ {/if}
128
+ </button>
129
+ {/each}
130
+ </div>
131
+ </div>
132
+ </div>
133
+ </Portal>
134
+ {/if}
135
+ </div>