@xh/hoist 56.4.0 → 56.5.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 (623) hide show
  1. package/CHANGELOG.md +30 -4
  2. package/README.md +1 -1
  3. package/admin/App.scss +1 -1
  4. package/admin/App.ts +6 -0
  5. package/admin/AppComponent.ts +1 -1
  6. package/admin/AppModel.ts +1 -1
  7. package/admin/columns/Core.ts +1 -1
  8. package/admin/columns/Rest.ts +1 -1
  9. package/admin/columns/Tracking.ts +1 -1
  10. package/admin/columns/User.ts +1 -1
  11. package/admin/columns/UserData.ts +1 -1
  12. package/admin/differ/Differ.scss +1 -1
  13. package/admin/differ/Differ.ts +1 -1
  14. package/admin/differ/DifferDetail.ts +1 -1
  15. package/admin/differ/DifferDetailModel.ts +1 -1
  16. package/admin/differ/DifferModel.ts +1 -1
  17. package/admin/regroup/RegroupDialog.ts +1 -1
  18. package/admin/regroup/RegroupDialogModel.ts +1 -1
  19. package/admin/tabs/activity/ActivityTab.ts +1 -1
  20. package/admin/tabs/activity/aggregators/RangeAggregator.ts +1 -1
  21. package/admin/tabs/activity/clienterrors/ClientErrorDetail.ts +1 -1
  22. package/admin/tabs/activity/clienterrors/ClientErrorsModel.ts +1 -1
  23. package/admin/tabs/activity/clienterrors/ClientErrorsPanel.ts +1 -1
  24. package/admin/tabs/activity/feedback/FeedbackPanel.ts +1 -1
  25. package/admin/tabs/activity/tracking/ActivityTrackingModel.ts +1 -1
  26. package/admin/tabs/activity/tracking/ActivityTrackingPanel.ts +1 -1
  27. package/admin/tabs/activity/tracking/charts/ChartsModel.ts +1 -1
  28. package/admin/tabs/activity/tracking/charts/ChartsPanel.ts +1 -1
  29. package/admin/tabs/activity/tracking/detail/ActivityDetailModel.ts +1 -1
  30. package/admin/tabs/activity/tracking/detail/ActivityDetailView.ts +1 -1
  31. package/admin/tabs/general/GeneralTab.ts +1 -1
  32. package/admin/tabs/general/about/AboutPanel.scss +1 -1
  33. package/admin/tabs/general/about/AboutPanel.ts +1 -1
  34. package/admin/tabs/general/alertBanner/AlertBannerModel.ts +1 -1
  35. package/admin/tabs/general/alertBanner/AlertBannerPanel.scss +1 -1
  36. package/admin/tabs/general/alertBanner/AlertBannerPanel.ts +1 -1
  37. package/admin/tabs/general/config/ConfigPanel.ts +1 -1
  38. package/admin/tabs/general/config/ConfigPanelModel.ts +1 -1
  39. package/admin/tabs/general/users/UserModel.ts +1 -1
  40. package/admin/tabs/general/users/UserPanel.ts +1 -1
  41. package/admin/tabs/monitor/MonitorColumns.ts +1 -1
  42. package/admin/tabs/monitor/MonitorEditorPanel.ts +1 -1
  43. package/admin/tabs/monitor/MonitorResultsModel.ts +1 -1
  44. package/admin/tabs/monitor/MonitorResultsPanel.scss +1 -1
  45. package/admin/tabs/monitor/MonitorResultsPanel.ts +1 -1
  46. package/admin/tabs/monitor/MonitorResultsToolbar.ts +1 -1
  47. package/admin/tabs/monitor/MonitorTab.ts +1 -1
  48. package/admin/tabs/monitor/Tile.scss +1 -1
  49. package/admin/tabs/monitor/Tile.ts +1 -1
  50. package/admin/tabs/server/ServerTab.ts +1 -1
  51. package/admin/tabs/server/ehcache/EhCacheModel.ts +1 -1
  52. package/admin/tabs/server/ehcache/EhCachePanel.ts +1 -1
  53. package/admin/tabs/server/environment/ServerEnvModel.ts +1 -1
  54. package/admin/tabs/server/environment/ServerEnvPanel.ts +1 -1
  55. package/admin/tabs/server/logLevel/LogLevelColumns.ts +1 -1
  56. package/admin/tabs/server/logLevel/LogLevelPanel.ts +1 -1
  57. package/admin/tabs/server/logViewer/LogDisplay.ts +24 -5
  58. package/admin/tabs/server/logViewer/LogDisplayModel.ts +12 -3
  59. package/admin/tabs/server/logViewer/LogViewer.scss +11 -1
  60. package/admin/tabs/server/logViewer/LogViewer.ts +1 -1
  61. package/admin/tabs/server/logViewer/LogViewerModel.ts +1 -1
  62. package/admin/tabs/server/memory/MemoryMonitorModel.ts +1 -1
  63. package/admin/tabs/server/memory/MemoryMonitorPanel.ts +1 -1
  64. package/admin/tabs/server/services/ServiceModel.ts +1 -1
  65. package/admin/tabs/server/services/ServicePanel.ts +1 -1
  66. package/admin/tabs/server/websocket/WebSocketColumns.ts +1 -1
  67. package/admin/tabs/server/websocket/WebSocketModel.ts +1 -1
  68. package/admin/tabs/server/websocket/WebSocketPanel.ts +1 -1
  69. package/admin/tabs/userData/JsonBlobColumns.ts +1 -1
  70. package/admin/tabs/userData/JsonBlobModel.ts +1 -1
  71. package/admin/tabs/userData/JsonBlobPanel.ts +1 -1
  72. package/admin/tabs/userData/PreferenceModel.ts +1 -1
  73. package/admin/tabs/userData/PreferencePanel.ts +1 -1
  74. package/admin/tabs/userData/UserDataTab.ts +1 -1
  75. package/admin/tabs/userData/UserPreferencePanel.ts +1 -1
  76. package/appcontainer/AboutDialogModel.ts +1 -1
  77. package/appcontainer/AppContainerModel.ts +1 -1
  78. package/appcontainer/AppOption.ts +1 -1
  79. package/appcontainer/BannerModel.ts +1 -1
  80. package/appcontainer/BannerSourceModel.ts +1 -1
  81. package/appcontainer/ChangelogDialogModel.ts +1 -1
  82. package/appcontainer/ErrorBoundary.ts +1 -1
  83. package/appcontainer/ExceptionDialogModel.ts +1 -1
  84. package/appcontainer/FeedbackDialogModel.ts +1 -1
  85. package/appcontainer/ImpersonationBarModel.ts +1 -1
  86. package/appcontainer/MessageModel.ts +1 -1
  87. package/appcontainer/MessageSourceModel.ts +1 -1
  88. package/appcontainer/OptionsDialogModel.ts +1 -1
  89. package/appcontainer/SizingModeModel.ts +1 -1
  90. package/appcontainer/ThemeModel.ts +1 -1
  91. package/appcontainer/ToastModel.ts +1 -1
  92. package/appcontainer/ToastSourceModel.ts +1 -1
  93. package/appcontainer/ViewportSizeModel.ts +1 -1
  94. package/appcontainer/login/LoginPanelModel.ts +1 -1
  95. package/cmp/ag-grid/AgGrid.scss +1 -1
  96. package/cmp/ag-grid/AgGrid.ts +1 -1
  97. package/cmp/ag-grid/AgGridModel.ts +1 -1
  98. package/cmp/badge/Badge.ts +1 -1
  99. package/cmp/chart/Chart.ts +1 -1
  100. package/cmp/chart/ChartModel.ts +1 -1
  101. package/cmp/chart/impl/copyToClipboard.ts +1 -1
  102. package/cmp/chart/impl/zoomout.ts +1 -1
  103. package/cmp/chart/theme/Dark.ts +1 -1
  104. package/cmp/chart/theme/Light.ts +1 -1
  105. package/cmp/clock/Clock.ts +1 -1
  106. package/cmp/dataview/DataView.scss +1 -1
  107. package/cmp/dataview/DataView.ts +25 -9
  108. package/cmp/dataview/DataViewModel.ts +1 -1
  109. package/cmp/filter/FilterChooserFieldSpec.ts +1 -1
  110. package/cmp/filter/FilterChooserModel.ts +1 -1
  111. package/cmp/filter/impl/Option.ts +1 -1
  112. package/cmp/filter/impl/QueryEngine.ts +1 -1
  113. package/cmp/form/BaseFormFieldProps.ts +1 -1
  114. package/cmp/form/Form.ts +1 -1
  115. package/cmp/form/FormModel.ts +1 -1
  116. package/cmp/form/field/BaseFieldModel.ts +1 -1
  117. package/cmp/form/field/FieldModel.ts +1 -1
  118. package/cmp/form/field/SubformsFieldModel.ts +1 -1
  119. package/cmp/form/index.ts +1 -1
  120. package/cmp/grid/Grid.scss +1 -1
  121. package/cmp/grid/Grid.ts +1 -1
  122. package/cmp/grid/GridAutosizeOptions.ts +1 -1
  123. package/cmp/grid/GridContextMenu.ts +1 -1
  124. package/cmp/grid/GridModel.ts +12 -7
  125. package/cmp/grid/GridSorter.ts +1 -1
  126. package/cmp/grid/Types.ts +1 -1
  127. package/cmp/grid/columns/Column.ts +1 -1
  128. package/cmp/grid/columns/ColumnGroup.ts +1 -1
  129. package/cmp/grid/columns/Core.ts +1 -1
  130. package/cmp/grid/columns/DatesTimes.ts +1 -1
  131. package/cmp/grid/columns/index.ts +1 -1
  132. package/cmp/grid/enums/ExcelFormat.ts +1 -1
  133. package/cmp/grid/enums/GridAutosizeMode.ts +1 -1
  134. package/cmp/grid/enums/TreeStyle.ts +1 -1
  135. package/cmp/grid/filter/GridFilterFieldSpec.ts +1 -1
  136. package/cmp/grid/filter/GridFilterModel.ts +1 -1
  137. package/cmp/grid/helpers/GridCountLabel.ts +1 -1
  138. package/cmp/grid/impl/ColumnGroupHeader.ts +1 -1
  139. package/cmp/grid/impl/ColumnHeader.ts +1 -1
  140. package/cmp/grid/impl/ColumnWidthCalculator.ts +1 -1
  141. package/cmp/grid/impl/GridPersistenceModel.ts +1 -1
  142. package/cmp/grid/impl/MenuSupport.ts +1 -1
  143. package/cmp/grid/impl/RowKeyNavSupport.ts +1 -1
  144. package/cmp/grid/impl/Utils.ts +6 -0
  145. package/cmp/grid/index.ts +1 -1
  146. package/cmp/grid/renderers/MultiFieldRenderer.ts +1 -1
  147. package/cmp/grid/renderers/TagsRenderer.ts +1 -1
  148. package/cmp/grouping/GroupingChooserModel.ts +25 -9
  149. package/cmp/input/HoistInput.scss +1 -1
  150. package/cmp/input/HoistInputModel.ts +1 -1
  151. package/cmp/input/HoistInputProps.ts +1 -1
  152. package/cmp/layout/Box.ts +1 -1
  153. package/cmp/layout/Frame.ts +1 -1
  154. package/cmp/layout/Placeholder.ts +1 -1
  155. package/cmp/layout/Spacer.ts +1 -1
  156. package/cmp/layout/Tags.ts +1 -1
  157. package/cmp/layout/TileFrame.scss +1 -1
  158. package/cmp/layout/TileFrame.ts +1 -1
  159. package/cmp/layout/Viewport.ts +1 -1
  160. package/cmp/pinpad/PinPad.ts +1 -1
  161. package/cmp/pinpad/PinPadModel.ts +1 -1
  162. package/cmp/relativetimestamp/RelativeTimestamp.ts +1 -1
  163. package/cmp/spinner/Spinner.ts +1 -1
  164. package/cmp/store/StoreCountLabel.ts +1 -1
  165. package/cmp/store/StoreFilterField.ts +1 -1
  166. package/cmp/store/impl/StoreFilterFieldImplModel.ts +1 -1
  167. package/cmp/tab/TabContainer.ts +1 -1
  168. package/cmp/tab/TabContainerModel.ts +1 -1
  169. package/cmp/tab/TabModel.ts +1 -1
  170. package/cmp/tab/TabSwitcherProps.ts +6 -0
  171. package/cmp/websocket/WebSocketIndicator.ts +1 -1
  172. package/core/AppSpec.ts +1 -3
  173. package/core/AppState.ts +1 -1
  174. package/core/HoistAppModel.ts +1 -1
  175. package/core/HoistBase.ts +2 -2
  176. package/core/HoistBaseDecorators.ts +1 -1
  177. package/core/HoistComponent.ts +1 -1
  178. package/core/HoistProps.ts +1 -1
  179. package/core/HoistService.ts +1 -1
  180. package/core/RefreshContextView.ts +1 -1
  181. package/core/RouterModel.ts +1 -1
  182. package/core/TaskObserver.ts +1 -1
  183. package/core/XH.ts +1 -1
  184. package/core/elem.ts +1 -1
  185. package/core/enums/RefreshMode.ts +1 -1
  186. package/core/enums/RenderMode.ts +1 -1
  187. package/core/enums/SizingMode.ts +1 -1
  188. package/core/exception/Exception.ts +1 -1
  189. package/core/exception/ExceptionHandler.ts +1 -1
  190. package/core/exception/Types.ts +6 -0
  191. package/core/impl/InstallServices.ts +1 -1
  192. package/core/impl/InstanceManager.ts +1 -1
  193. package/core/impl/PlatformManager.ts +1 -1
  194. package/core/load/LoadSpec.ts +1 -1
  195. package/core/load/LoadSupport.ts +1 -1
  196. package/core/load/Loadable.ts +1 -1
  197. package/core/model/CreatesSpec.ts +1 -1
  198. package/core/model/HoistModel.ts +1 -1
  199. package/core/model/Hooks.ts +1 -1
  200. package/core/model/ManagedRefreshContextModel.ts +1 -1
  201. package/core/model/ModelLookup.ts +1 -1
  202. package/core/model/ModelSelector.ts +1 -1
  203. package/core/model/ModelSpec.ts +1 -1
  204. package/core/model/RefreshContextModel.ts +1 -1
  205. package/core/model/RootRefreshContextModel.ts +1 -1
  206. package/core/model/UsesSpec.ts +1 -1
  207. package/core/persist/CustomProvider.ts +1 -1
  208. package/core/persist/DashViewProvider.ts +1 -1
  209. package/core/persist/LocalStorageProvider.ts +1 -1
  210. package/core/persist/PersistOptions.ts +1 -1
  211. package/core/persist/PersistenceProvider.ts +1 -1
  212. package/core/persist/PrefProvider.ts +1 -1
  213. package/core/types/Interfaces.ts +1 -1
  214. package/core/types/Types.ts +1 -1
  215. package/data/Field.ts +1 -1
  216. package/data/RecordAction.ts +1 -1
  217. package/data/Store.ts +1 -1
  218. package/data/StoreRecord.ts +1 -1
  219. package/data/StoreSelectionModel.ts +1 -1
  220. package/data/UrlStore.ts +1 -1
  221. package/data/cube/BucketSpec.ts +1 -1
  222. package/data/cube/Cube.ts +2 -2
  223. package/data/cube/CubeField.ts +1 -1
  224. package/data/cube/Query.ts +1 -1
  225. package/data/cube/View.ts +1 -1
  226. package/data/cube/aggregate/AggregationContext.ts +1 -1
  227. package/data/cube/aggregate/Aggregator.ts +1 -1
  228. package/data/cube/aggregate/AverageAggregator.ts +1 -1
  229. package/data/cube/aggregate/AverageStrictAggregator.ts +1 -1
  230. package/data/cube/aggregate/ChildCountAggregator.ts +1 -1
  231. package/data/cube/aggregate/LeafCountAggregator.ts +1 -1
  232. package/data/cube/aggregate/MaxAggregator.ts +1 -1
  233. package/data/cube/aggregate/MinAggregator.ts +1 -1
  234. package/data/cube/aggregate/NullAggregator.ts +1 -1
  235. package/data/cube/aggregate/SingleAggregator.ts +1 -1
  236. package/data/cube/aggregate/SumAggregator.ts +1 -1
  237. package/data/cube/aggregate/SumStrictAggregator.ts +1 -1
  238. package/data/cube/aggregate/UniqueAggregator.ts +1 -1
  239. package/data/cube/row/AggregateRow.ts +1 -1
  240. package/data/cube/row/BaseRow.ts +1 -1
  241. package/data/cube/row/BucketRow.ts +1 -1
  242. package/data/cube/row/LeafRow.ts +1 -1
  243. package/data/cube/row/RowUpdate.ts +1 -1
  244. package/data/filter/BaseFilterFieldSpec.ts +1 -1
  245. package/data/filter/CompoundFilter.ts +1 -1
  246. package/data/filter/FieldFilter.ts +1 -1
  247. package/data/filter/Filter.ts +1 -1
  248. package/data/filter/FunctionFilter.ts +1 -1
  249. package/data/filter/Types.ts +1 -1
  250. package/data/filter/Utils.ts +1 -1
  251. package/data/impl/RecordSet.ts +1 -1
  252. package/data/impl/RecordValidator.ts +1 -1
  253. package/data/impl/StoreValidator.ts +1 -1
  254. package/data/index.ts +1 -1
  255. package/data/validation/Rule.ts +1 -1
  256. package/data/validation/ValidationState.ts +1 -1
  257. package/data/validation/constraints.ts +1 -1
  258. package/deprecated/index.ts +1 -1
  259. package/desktop/appcontainer/AboutDialog.scss +1 -1
  260. package/desktop/appcontainer/AboutDialog.ts +1 -1
  261. package/desktop/appcontainer/AppContainer.ts +1 -1
  262. package/desktop/appcontainer/Banner.scss +1 -1
  263. package/desktop/appcontainer/Banner.ts +1 -1
  264. package/desktop/appcontainer/ChangelogDialog.ts +1 -1
  265. package/desktop/appcontainer/ExceptionDialog.scss +1 -1
  266. package/desktop/appcontainer/ExceptionDialog.ts +1 -1
  267. package/desktop/appcontainer/ExceptionDialogDetails.ts +1 -1
  268. package/desktop/appcontainer/FeedbackDialog.ts +1 -1
  269. package/desktop/appcontainer/IdlePanel.scss +1 -1
  270. package/desktop/appcontainer/IdlePanel.ts +1 -1
  271. package/desktop/appcontainer/ImpersonationBar.ts +1 -1
  272. package/desktop/appcontainer/LockoutPanel.scss +1 -1
  273. package/desktop/appcontainer/LockoutPanel.ts +1 -1
  274. package/desktop/appcontainer/LoginPanel.scss +1 -1
  275. package/desktop/appcontainer/LoginPanel.ts +1 -1
  276. package/desktop/appcontainer/Message.scss +1 -1
  277. package/desktop/appcontainer/Message.ts +1 -1
  278. package/desktop/appcontainer/MessageSource.ts +1 -1
  279. package/desktop/appcontainer/OptionsDialog.scss +1 -1
  280. package/desktop/appcontainer/OptionsDialog.ts +1 -1
  281. package/desktop/appcontainer/SuspendPanel.scss +1 -1
  282. package/desktop/appcontainer/SuspendPanel.ts +1 -1
  283. package/desktop/appcontainer/Toast.scss +1 -1
  284. package/desktop/appcontainer/ToastSource.ts +1 -1
  285. package/desktop/appcontainer/VersionBar.scss +1 -1
  286. package/desktop/appcontainer/VersionBar.ts +1 -1
  287. package/desktop/appcontainer/index.ts +1 -1
  288. package/desktop/cmp/appOption/AutoRefreshAppOption.ts +1 -1
  289. package/desktop/cmp/appOption/SizingModeAppOption.ts +1 -1
  290. package/desktop/cmp/appOption/ThemeAppOption.ts +1 -1
  291. package/desktop/cmp/appbar/AppBar.scss +1 -1
  292. package/desktop/cmp/appbar/AppBar.ts +1 -1
  293. package/desktop/cmp/appbar/AppBarSeparator.ts +1 -1
  294. package/desktop/cmp/button/AppMenuButton.ts +1 -1
  295. package/desktop/cmp/button/Button.scss +1 -1
  296. package/desktop/cmp/button/Button.ts +1 -1
  297. package/desktop/cmp/button/ButtonGroup.ts +1 -1
  298. package/desktop/cmp/button/ColAutosizeButton.ts +1 -1
  299. package/desktop/cmp/button/ColChooserButton.ts +1 -1
  300. package/desktop/cmp/button/DashCanvasAddViewButton.ts +1 -1
  301. package/desktop/cmp/button/ExportButton.ts +1 -1
  302. package/desktop/cmp/button/FeedbackButton.ts +1 -1
  303. package/desktop/cmp/button/LaunchAdminButton.ts +1 -1
  304. package/desktop/cmp/button/LogoutButton.ts +1 -1
  305. package/desktop/cmp/button/ModalToggleButton.ts +1 -1
  306. package/desktop/cmp/button/OptionsButton.ts +1 -1
  307. package/desktop/cmp/button/RefreshButton.ts +1 -1
  308. package/desktop/cmp/button/RestoreDefaultsButton.ts +1 -1
  309. package/desktop/cmp/button/ThemeToggleButton.ts +1 -1
  310. package/desktop/cmp/button/WhatsNewButton.ts +1 -1
  311. package/desktop/cmp/clipboard/ClipboardButton.ts +1 -1
  312. package/desktop/cmp/clipboard/ClipboardMenuItem.ts +1 -1
  313. package/desktop/cmp/contextmenu/ContextMenu.ts +1 -1
  314. package/desktop/cmp/dash/DashConfig.ts +1 -1
  315. package/desktop/cmp/dash/DashModel.ts +1 -1
  316. package/desktop/cmp/dash/DashViewModel.ts +1 -1
  317. package/desktop/cmp/dash/DashViewSpec.ts +1 -1
  318. package/desktop/cmp/dash/canvas/DashCanvas.ts +1 -1
  319. package/desktop/cmp/dash/canvas/DashCanvasModel.ts +1 -1
  320. package/desktop/cmp/dash/canvas/DashCanvasViewModel.ts +1 -1
  321. package/desktop/cmp/dash/canvas/DashCanvasViewSpec.ts +1 -1
  322. package/desktop/cmp/dash/canvas/impl/DashCanvasContextMenu.ts +1 -1
  323. package/desktop/cmp/dash/canvas/impl/DashCanvasView.ts +1 -1
  324. package/desktop/cmp/dash/canvas/impl/utils.ts +1 -1
  325. package/desktop/cmp/dash/container/DashContainer.ts +1 -1
  326. package/desktop/cmp/dash/container/DashContainerModel.ts +1 -1
  327. package/desktop/cmp/dash/container/DashContainerViewSpec.ts +1 -1
  328. package/desktop/cmp/dash/container/impl/DashContainerContextMenu.ts +1 -1
  329. package/desktop/cmp/dash/container/impl/DashContainerMenuButton.ts +1 -1
  330. package/desktop/cmp/dash/container/impl/DashContainerUtils.ts +1 -1
  331. package/desktop/cmp/dash/container/impl/DashContainerView.ts +1 -1
  332. package/desktop/cmp/dock/DockContainer.ts +1 -1
  333. package/desktop/cmp/dock/DockContainerModel.ts +1 -1
  334. package/desktop/cmp/dock/DockViewModel.ts +1 -1
  335. package/desktop/cmp/dock/impl/Dock.scss +1 -1
  336. package/desktop/cmp/dock/impl/DockContainer.ts +1 -1
  337. package/desktop/cmp/dock/impl/DockView.ts +1 -1
  338. package/desktop/cmp/error/ErrorMessage.ts +1 -1
  339. package/desktop/cmp/filechooser/FileChooser.scss +1 -1
  340. package/desktop/cmp/filechooser/FileChooser.ts +1 -1
  341. package/desktop/cmp/filechooser/FileChooserModel.ts +1 -1
  342. package/desktop/cmp/filter/FilterChooser.scss +1 -1
  343. package/desktop/cmp/filter/FilterChooser.ts +1 -1
  344. package/desktop/cmp/form/FormField.scss +1 -1
  345. package/desktop/cmp/form/FormField.ts +1 -1
  346. package/desktop/cmp/grid/columns/Actions.scss +1 -1
  347. package/desktop/cmp/grid/columns/Actions.ts +1 -1
  348. package/desktop/cmp/grid/editors/BooleanEditor.ts +1 -1
  349. package/desktop/cmp/grid/editors/DateEditor.ts +1 -1
  350. package/desktop/cmp/grid/editors/EditorProps.ts +1 -1
  351. package/desktop/cmp/grid/editors/NumberEditor.ts +1 -1
  352. package/desktop/cmp/grid/editors/SelectEditor.ts +1 -1
  353. package/desktop/cmp/grid/editors/TextAreaEditor.ts +1 -1
  354. package/desktop/cmp/grid/editors/TextEditor.ts +1 -1
  355. package/desktop/cmp/grid/editors/impl/InlineEditorModel.ts +1 -1
  356. package/desktop/cmp/grid/editors/index.ts +1 -1
  357. package/desktop/cmp/grid/find/GridFindField.ts +1 -1
  358. package/desktop/cmp/grid/find/impl/GridFindFieldImplModel.ts +1 -1
  359. package/desktop/cmp/grid/impl/colchooser/ColChooser.ts +1 -1
  360. package/desktop/cmp/grid/impl/colchooser/ColChooserDialog.ts +1 -1
  361. package/desktop/cmp/grid/impl/colchooser/ColChooserModel.ts +1 -1
  362. package/desktop/cmp/grid/impl/filter/ColumnHeaderFilter.scss +1 -1
  363. package/desktop/cmp/grid/impl/filter/ColumnHeaderFilter.ts +1 -1
  364. package/desktop/cmp/grid/impl/filter/ColumnHeaderFilterModel.ts +1 -1
  365. package/desktop/cmp/grid/impl/filter/GridFilterDialog.ts +1 -1
  366. package/desktop/cmp/grid/impl/filter/custom/CustomRow.ts +1 -1
  367. package/desktop/cmp/grid/impl/filter/custom/CustomRowModel.ts +1 -1
  368. package/desktop/cmp/grid/impl/filter/custom/CustomTab.ts +1 -1
  369. package/desktop/cmp/grid/impl/filter/custom/CustomTabModel.ts +1 -1
  370. package/desktop/cmp/grid/impl/filter/values/ValuesTab.ts +1 -1
  371. package/desktop/cmp/grid/impl/filter/values/ValuesTabModel.ts +2 -2
  372. package/desktop/cmp/grouping/GroupingChooser.scss +1 -1
  373. package/desktop/cmp/grouping/GroupingChooser.ts +39 -23
  374. package/desktop/cmp/input/ButtonGroupInput.ts +1 -1
  375. package/desktop/cmp/input/Checkbox.ts +1 -1
  376. package/desktop/cmp/input/CodeInput.scss +1 -1
  377. package/desktop/cmp/input/CodeInput.ts +5 -5
  378. package/desktop/cmp/input/DateInput.scss +1 -1
  379. package/desktop/cmp/input/DateInput.ts +1 -1
  380. package/desktop/cmp/input/JsonInput.ts +1 -1
  381. package/desktop/cmp/input/NumberInput.ts +1 -1
  382. package/desktop/cmp/input/RadioInput.scss +1 -1
  383. package/desktop/cmp/input/RadioInput.ts +1 -1
  384. package/desktop/cmp/input/Select.scss +9 -1
  385. package/desktop/cmp/input/Select.ts +47 -9
  386. package/desktop/cmp/input/Slider.scss +1 -1
  387. package/desktop/cmp/input/Slider.ts +1 -1
  388. package/desktop/cmp/input/SwitchInput.scss +1 -1
  389. package/desktop/cmp/input/SwitchInput.ts +1 -1
  390. package/desktop/cmp/input/TextArea.scss +1 -1
  391. package/desktop/cmp/input/TextArea.ts +1 -1
  392. package/desktop/cmp/input/TextInput.ts +1 -1
  393. package/desktop/cmp/leftrightchooser/LeftRightChooser.scss +1 -1
  394. package/desktop/cmp/leftrightchooser/LeftRightChooser.ts +1 -1
  395. package/desktop/cmp/leftrightchooser/LeftRightChooserFilter.ts +1 -1
  396. package/desktop/cmp/leftrightchooser/LeftRightChooserModel.ts +1 -1
  397. package/desktop/cmp/leftrightchooser/impl/ChooserToolbar.ts +1 -1
  398. package/desktop/cmp/leftrightchooser/impl/Description.ts +1 -1
  399. package/desktop/cmp/loadingindicator/LoadingIndicator.ts +1 -1
  400. package/desktop/cmp/loadingindicator/index.ts +1 -1
  401. package/desktop/cmp/mask/Mask.ts +1 -1
  402. package/desktop/cmp/mask/index.ts +1 -1
  403. package/desktop/cmp/modalsupport/ModalSupport.ts +5 -5
  404. package/desktop/cmp/modalsupport/ModalSupportModel.ts +1 -1
  405. package/desktop/cmp/modalsupport/index.ts +1 -1
  406. package/desktop/cmp/panel/Panel.ts +1 -1
  407. package/desktop/cmp/panel/PanelModel.ts +1 -1
  408. package/desktop/cmp/panel/impl/PanelHeader.ts +1 -1
  409. package/desktop/cmp/panel/impl/ResizeContainer.ts +1 -1
  410. package/desktop/cmp/panel/impl/Splitter.ts +1 -1
  411. package/desktop/cmp/panel/impl/dragger/Dragger.ts +1 -1
  412. package/desktop/cmp/panel/impl/dragger/DraggerModel.ts +1 -1
  413. package/desktop/cmp/panel/index.ts +1 -1
  414. package/desktop/cmp/pinpad/impl/PinPad.ts +1 -1
  415. package/desktop/cmp/record/RecordActionBar.ts +1 -1
  416. package/desktop/cmp/record/impl/RecordActionButton.ts +1 -1
  417. package/desktop/cmp/record/index.ts +1 -1
  418. package/desktop/cmp/rest/Actions.ts +1 -1
  419. package/desktop/cmp/rest/RestGrid.ts +1 -1
  420. package/desktop/cmp/rest/RestGridModel.ts +1 -1
  421. package/desktop/cmp/rest/data/RestField.ts +1 -1
  422. package/desktop/cmp/rest/data/RestStore.ts +1 -1
  423. package/desktop/cmp/rest/impl/RestForm.ts +1 -1
  424. package/desktop/cmp/rest/impl/RestFormField.ts +1 -1
  425. package/desktop/cmp/rest/impl/RestFormModel.ts +1 -1
  426. package/desktop/cmp/rest/impl/RestGridToolbar.ts +1 -1
  427. package/desktop/cmp/rest/index.ts +1 -1
  428. package/desktop/cmp/store/impl/StoreFilterField.ts +1 -1
  429. package/desktop/cmp/tab/TabSwitcher.ts +1 -1
  430. package/desktop/cmp/tab/Tabs.scss +1 -1
  431. package/desktop/cmp/tab/impl/Tab.ts +1 -1
  432. package/desktop/cmp/tab/impl/TabContainer.ts +1 -1
  433. package/desktop/cmp/tab/index.ts +1 -1
  434. package/desktop/cmp/toolbar/Toolbar.ts +1 -1
  435. package/desktop/cmp/toolbar/ToolbarSep.ts +1 -1
  436. package/desktop/cmp/toolbar/index.ts +1 -1
  437. package/desktop/cmp/treemap/SplitTreeMap.ts +1 -1
  438. package/desktop/cmp/treemap/SplitTreeMapModel.ts +1 -1
  439. package/desktop/cmp/treemap/TreeMap.ts +1 -1
  440. package/desktop/cmp/treemap/TreeMapModel.ts +1 -1
  441. package/desktop/cmp/treemap/impl/Splitter.ts +1 -1
  442. package/desktop/cmp/treemap/index.ts +1 -1
  443. package/desktop/hooks/UseContextMenu.ts +1 -1
  444. package/desktop/hooks/UseHotkeys.ts +1 -1
  445. package/desktop/hooks/index.ts +1 -1
  446. package/docs/build-and-deploy.md +1 -1
  447. package/docs/development-environment.md +1 -1
  448. package/dynamics/desktop.ts +1 -1
  449. package/dynamics/mobile.ts +1 -1
  450. package/format/FormatDate.ts +1 -1
  451. package/format/FormatMisc.ts +1 -1
  452. package/format/FormatNumber.ts +1 -1
  453. package/format/FormatUtils.ts +1 -1
  454. package/format/impl/Utils.ts +1 -1
  455. package/format/index.ts +1 -1
  456. package/icon/Icon.ts +1 -1
  457. package/icon/XHLogo.tsx +1 -2
  458. package/icon/impl/IconCmp.ts +1 -1
  459. package/icon/impl/IconHtml.ts +1 -1
  460. package/icon/index.ts +1 -1
  461. package/inspector/InspectorPanel.ts +6 -0
  462. package/inspector/instances/InstancesModel.ts +6 -0
  463. package/inspector/instances/InstancesPanel.ts +6 -0
  464. package/inspector/stats/StatsModel.ts +6 -0
  465. package/inspector/stats/StatsPanel.ts +6 -0
  466. package/kit/ag-grid/index.ts +1 -1
  467. package/kit/blueprint/Dialog.ts +1 -1
  468. package/kit/blueprint/Wrappers.ts +1 -1
  469. package/kit/blueprint/index.ts +1 -1
  470. package/kit/golden-layout/index.js +1 -1
  471. package/kit/golden-layout/styles.scss +1 -1
  472. package/kit/highcharts/index.ts +1 -1
  473. package/kit/onsen/index.ts +1 -1
  474. package/kit/react-beautiful-dnd/index.ts +1 -1
  475. package/kit/react-dates/index.ts +1 -1
  476. package/kit/react-dropzone/index.ts +1 -1
  477. package/kit/react-select/index.ts +1 -1
  478. package/mobile/appcontainer/AboutDialog.ts +1 -1
  479. package/mobile/appcontainer/AppContainer.ts +1 -1
  480. package/mobile/appcontainer/Banner.scss +1 -1
  481. package/mobile/appcontainer/Banner.ts +1 -1
  482. package/mobile/appcontainer/ExceptionDialog.ts +1 -1
  483. package/mobile/appcontainer/ExceptionDialogDetails.ts +1 -1
  484. package/mobile/appcontainer/FeedbackDialog.ts +1 -1
  485. package/mobile/appcontainer/IdlePanel.scss +1 -1
  486. package/mobile/appcontainer/IdlePanel.ts +1 -1
  487. package/mobile/appcontainer/ImpersonationBar.ts +1 -1
  488. package/mobile/appcontainer/LockoutPanel.ts +1 -1
  489. package/mobile/appcontainer/LoginPanel.ts +1 -1
  490. package/mobile/appcontainer/Message.ts +1 -1
  491. package/mobile/appcontainer/MessageSource.ts +1 -1
  492. package/mobile/appcontainer/OptionsDialog.ts +1 -1
  493. package/mobile/appcontainer/SuspendPanel.scss +1 -1
  494. package/mobile/appcontainer/SuspendPanel.ts +1 -1
  495. package/mobile/appcontainer/Toast.ts +1 -1
  496. package/mobile/appcontainer/ToastSource.ts +1 -1
  497. package/mobile/appcontainer/VersionBar.ts +1 -1
  498. package/mobile/appcontainer/index.ts +1 -1
  499. package/mobile/cmp/appOption/AutoRefreshAppOption.ts +1 -1
  500. package/mobile/cmp/appOption/SizingModeAppOption.ts +1 -1
  501. package/mobile/cmp/appOption/ThemeAppOption.ts +1 -1
  502. package/mobile/cmp/appOption/index.ts +1 -1
  503. package/mobile/cmp/button/Button.scss +1 -1
  504. package/mobile/cmp/button/Button.ts +1 -1
  505. package/mobile/cmp/button/ButtonGroup.ts +1 -1
  506. package/mobile/cmp/button/ColAutosizeButton.ts +1 -1
  507. package/mobile/cmp/button/ColChooserButton.ts +1 -1
  508. package/mobile/cmp/button/ExpandCollapseButton.ts +1 -1
  509. package/mobile/cmp/button/FeedbackButton.ts +1 -1
  510. package/mobile/cmp/button/LogoutButton.ts +1 -1
  511. package/mobile/cmp/button/NavigatorBackButton.ts +1 -1
  512. package/mobile/cmp/button/OptionsButton.ts +1 -1
  513. package/mobile/cmp/button/RefreshButton.ts +1 -1
  514. package/mobile/cmp/button/RestoreDefaultsButton.ts +1 -1
  515. package/mobile/cmp/button/ThemeToggleButton.ts +1 -1
  516. package/mobile/cmp/button/index.ts +1 -1
  517. package/mobile/cmp/dialog/Dialog.ts +1 -1
  518. package/mobile/cmp/dialog/index.ts +1 -1
  519. package/mobile/cmp/error/ErrorMessage.ts +1 -1
  520. package/mobile/cmp/error/index.ts +1 -1
  521. package/mobile/cmp/form/FormField.ts +1 -1
  522. package/mobile/cmp/form/index.ts +1 -1
  523. package/mobile/cmp/grid/impl/ColChooser.ts +1 -1
  524. package/mobile/cmp/grid/impl/ColChooserModel.ts +1 -1
  525. package/mobile/cmp/grouping/GroupingChooser.scss +1 -1
  526. package/mobile/cmp/grouping/GroupingChooser.ts +3 -3
  527. package/mobile/cmp/header/AppBar.ts +1 -1
  528. package/mobile/cmp/header/AppMenuButton.ts +1 -1
  529. package/mobile/cmp/header/index.ts +1 -1
  530. package/mobile/cmp/input/ButtonGroupInput.ts +1 -1
  531. package/mobile/cmp/input/Checkbox.ts +1 -1
  532. package/mobile/cmp/input/DateInput.ts +1 -1
  533. package/mobile/cmp/input/Label.ts +1 -1
  534. package/mobile/cmp/input/NumberInput.ts +1 -1
  535. package/mobile/cmp/input/SearchInput.ts +1 -1
  536. package/mobile/cmp/input/Select.scss +1 -1
  537. package/mobile/cmp/input/Select.ts +1 -1
  538. package/mobile/cmp/input/SwitchInput.ts +1 -1
  539. package/mobile/cmp/input/TextArea.ts +1 -1
  540. package/mobile/cmp/input/TextInput.ts +1 -1
  541. package/mobile/cmp/input/index.ts +1 -1
  542. package/mobile/cmp/loadingindicator/LoadingIndicator.ts +1 -1
  543. package/mobile/cmp/loadingindicator/index.ts +1 -1
  544. package/mobile/cmp/mask/Mask.ts +1 -1
  545. package/mobile/cmp/mask/index.ts +1 -1
  546. package/mobile/cmp/menu/MenuButton.ts +1 -1
  547. package/mobile/cmp/menu/impl/Menu.ts +1 -1
  548. package/mobile/cmp/menu/index.ts +1 -1
  549. package/mobile/cmp/navigator/Navigator.ts +1 -1
  550. package/mobile/cmp/navigator/NavigatorModel.ts +1 -1
  551. package/mobile/cmp/navigator/PageModel.ts +1 -1
  552. package/mobile/cmp/navigator/impl/Page.ts +1 -1
  553. package/mobile/cmp/navigator/impl/swipe/BackIndicator.ts +6 -0
  554. package/mobile/cmp/navigator/impl/swipe/RefreshIndicator.ts +6 -0
  555. package/mobile/cmp/navigator/impl/swipe/Swiper.scss +1 -1
  556. package/mobile/cmp/navigator/impl/swipe/Swiper.ts +6 -1
  557. package/mobile/cmp/navigator/impl/swipe/SwiperModel.ts +6 -0
  558. package/mobile/cmp/navigator/index.ts +1 -1
  559. package/mobile/cmp/panel/DialogPanel.ts +1 -1
  560. package/mobile/cmp/panel/Panel.ts +1 -1
  561. package/mobile/cmp/panel/impl/PanelHeader.ts +1 -1
  562. package/mobile/cmp/panel/index.ts +1 -1
  563. package/mobile/cmp/pinpad/impl/PinPad.ts +1 -1
  564. package/mobile/cmp/popover/Popover.ts +1 -1
  565. package/mobile/cmp/popover/index.ts +1 -1
  566. package/mobile/cmp/store/impl/StoreFilterField.ts +1 -1
  567. package/mobile/cmp/tab/impl/Tab.ts +1 -1
  568. package/mobile/cmp/tab/impl/TabContainer.ts +1 -1
  569. package/mobile/cmp/tab/impl/Tabs.scss +1 -1
  570. package/mobile/cmp/toolbar/Toolbar.scss +1 -1
  571. package/mobile/cmp/toolbar/Toolbar.ts +1 -1
  572. package/mobile/cmp/toolbar/ToolbarSeparator.ts +1 -1
  573. package/mobile/cmp/toolbar/index.ts +1 -1
  574. package/mobx/decorators.ts +1 -1
  575. package/mobx/index.ts +1 -1
  576. package/mobx/overrides.ts +1 -1
  577. package/package.json +1 -1
  578. package/promise/Promise.ts +1 -1
  579. package/promise/index.ts +1 -1
  580. package/styles/XH.scss +1 -1
  581. package/styles/vars.scss +1 -1
  582. package/svc/AlertBannerService.ts +1 -1
  583. package/svc/AutoRefreshService.ts +1 -1
  584. package/svc/ChangelogService.ts +1 -1
  585. package/svc/ConfigService.ts +1 -1
  586. package/svc/EnvironmentService.ts +1 -1
  587. package/svc/FetchService.ts +1 -1
  588. package/svc/GridAutosizeService.ts +1 -1
  589. package/svc/GridExportService.ts +1 -1
  590. package/svc/IdentityService.ts +1 -1
  591. package/svc/IdleService.ts +1 -1
  592. package/svc/InspectorService.ts +6 -0
  593. package/svc/JsonBlobService.ts +1 -1
  594. package/svc/LocalStorageService.ts +1 -1
  595. package/svc/PrefService.ts +1 -1
  596. package/svc/TrackService.ts +1 -1
  597. package/svc/WebSocketService.ts +1 -1
  598. package/svc/index.ts +1 -1
  599. package/utils/async/AsyncUtils.ts +1 -1
  600. package/utils/async/Timer.ts +1 -1
  601. package/utils/async/index.ts +1 -1
  602. package/utils/datetime/DateTimeUtils.ts +1 -1
  603. package/utils/datetime/LocalDate.ts +1 -1
  604. package/utils/datetime/index.ts +1 -1
  605. package/utils/impl/Equals.ts +1 -1
  606. package/utils/impl/IsOmitted.ts +1 -1
  607. package/utils/impl/Separators.ts +1 -1
  608. package/utils/impl/TimeZone.ts +1 -1
  609. package/utils/impl/index.ts +1 -1
  610. package/utils/js/BrowserUtils.ts +1 -1
  611. package/utils/js/Decorators.ts +1 -1
  612. package/utils/js/DomUtils.ts +1 -1
  613. package/utils/js/HtmlUtils.ts +1 -1
  614. package/utils/js/LangUtils.ts +1 -1
  615. package/utils/js/LogUtils.ts +1 -1
  616. package/utils/js/VersionUtils.ts +1 -1
  617. package/utils/js/index.ts +1 -1
  618. package/utils/react/ClassName.ts +1 -1
  619. package/utils/react/Hooks.ts +1 -1
  620. package/utils/react/LayoutPropUtils.ts +1 -1
  621. package/utils/react/ObservableRef.ts +1 -1
  622. package/utils/react/ReactUtils.ts +1 -1
  623. package/utils/react/index.ts +1 -1
@@ -2,27 +2,38 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {AgGrid} from '@xh/hoist/cmp/ag-grid';
8
8
  import {grid} from '@xh/hoist/cmp/grid';
9
9
  import {
10
+ BoxProps,
10
11
  hoistCmp,
11
12
  HoistModel,
12
- useLocalModel,
13
- uses,
13
+ HoistProps,
14
14
  lookup,
15
15
  PlainObject,
16
- HoistProps,
17
- BoxProps
16
+ useLocalModel,
17
+ uses
18
18
  } from '@xh/hoist/core';
19
+ import type {GridOptions} from '@xh/hoist/kit/ag-grid';
19
20
  import {splitLayoutProps} from '@xh/hoist/utils/react';
20
- import {isFunction} from 'lodash';
21
-
21
+ import {isFunction, merge} from 'lodash';
22
22
  import './DataView.scss';
23
23
  import {DataViewModel} from './DataViewModel';
24
24
 
25
- export interface DataViewProps extends HoistProps<DataViewModel>, BoxProps {}
25
+ export interface DataViewProps extends HoistProps<DataViewModel>, BoxProps {
26
+ /**
27
+ * Options for ag-Grid's API.
28
+ *
29
+ * This constitutes an 'escape hatch' for applications that need to get to the underlying
30
+ * ag-Grid API. It should be used with care. Settings made here might be overwritten and/or
31
+ * interfere with the implementation of this component and its use of the ag-Grid API.
32
+ *
33
+ * Note that changes to these options after the component's initial render will be ignored.
34
+ */
35
+ agOptions?: GridOptions;
36
+ }
26
37
 
27
38
  /**
28
39
  * A DataView is a specialized version of the Grid component. It displays its data within a
@@ -61,7 +72,12 @@ class DataViewLocalModel extends HoistModel {
61
72
  run: () => model.gridModel.agApi?.resetRowHeights()
62
73
  });
63
74
 
64
- this.agOptions = {
75
+ this.agOptions = merge(this.createDefaultAgOptions(), this.componentProps.agOptions || {});
76
+ }
77
+
78
+ private createDefaultAgOptions(): GridOptions {
79
+ const {model} = this;
80
+ return {
65
81
  headerHeight: 0,
66
82
  suppressMakeColumnVisibleAfterUnGroup: true,
67
83
  getRowHeight: agParams => {
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {
8
8
  ColumnRenderer,
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {
8
8
  BaseFilterFieldSpec,
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {
8
8
  HoistModel,
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  import {parseFieldValue} from '@xh/hoist/data';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  import {Some} from '@xh/hoist/core';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  import {BoxProps, HoistProps} from '@xh/hoist/core';
package/cmp/form/Form.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {DefaultHoistProps, elementFactory, hoistCmp, HoistProps, uses} from '@xh/hoist/core';
8
8
  import equal from 'fast-deep-equal';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {HoistModel, managed, PlainObject} from '@xh/hoist/core';
8
8
  import {ValidationState} from '@xh/hoist/data';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {HoistModel, managed, TaskObserver} from '@xh/hoist/core';
8
8
  import {genDisplayName, required, Rule, RuleLike, ValidationState} from '@xh/hoist/data';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {BaseFieldModel} from './BaseFieldModel';
8
8
 
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {managed, PlainObject, XH} from '@xh/hoist/core';
8
8
  import {ValidationState} from '@xh/hoist/data';
package/cmp/form/index.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  export * from './Form';
8
8
  export * from './FormModel';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  @use 'sass:math';
package/cmp/grid/Grid.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import composeRefs from '@seznam/compose-react-refs';
8
8
  import {agGrid, AgGrid} from '@xh/hoist/cmp/ag-grid';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  import {Some} from '@xh/hoist/core';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {PlainObject} from '@xh/hoist/core';
8
8
  import {GridModel} from '@xh/hoist/cmp/grid';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {AgGridModel} from '@xh/hoist/cmp/ag-grid';
8
8
  import {
@@ -49,7 +49,6 @@ import {ExportOptions} from '@xh/hoist/svc/GridExportService';
49
49
  import {SECONDS} from '@xh/hoist/utils/datetime';
50
50
  import {
51
51
  deepFreeze,
52
- ensureUnique,
53
52
  logWithDebug,
54
53
  throwIf,
55
54
  warnIf,
@@ -57,7 +56,7 @@ import {
57
56
  withDefault
58
57
  } from '@xh/hoist/utils/js';
59
58
  import equal from 'fast-deep-equal';
60
- import {
59
+ import _, {
61
60
  castArray,
62
61
  clone,
63
62
  cloneDeep,
@@ -1524,10 +1523,16 @@ export class GridModel extends HoistModel {
1524
1523
  if (isEmpty(cols)) return;
1525
1524
 
1526
1525
  const ids = this.collectIds(cols);
1527
- ensureUnique(
1528
- ids,
1529
- 'All colIds and groupIds in a GridModel columns collection must be unique.'
1530
- );
1526
+ const nonUnique = _(ids)
1527
+ .groupBy()
1528
+ .pickBy(x => x.length > 1)
1529
+ .keys();
1530
+ if (!nonUnique.isEmpty()) {
1531
+ const msg =
1532
+ `Non-unique ids: [${nonUnique}] ` +
1533
+ "Use 'ColumnSpec'/'ColumnGroupSpec' configs to resolve a unique ID for each column/group.";
1534
+ throw XH.exception(msg);
1535
+ }
1531
1536
 
1532
1537
  const treeCols = cols.filter(it => it.isTreeColumn);
1533
1538
  warnIf(
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {isNumber, isNil, isString} from 'lodash';
8
8
 
package/cmp/grid/Types.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  import {ValueGetterParams} from '@ag-grid-community/core';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {div, li, span, ul} from '@xh/hoist/cmp/layout';
8
8
  import {HAlign, HSide, PlainObject, Some, XH, Thunkable} from '@xh/hoist/core';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {HAlign, PlainObject, Some, Thunkable} from '@xh/hoist/core';
8
8
  import {genDisplayName} from '@xh/hoist/data';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {numberRenderer} from '@xh/hoist/format';
8
8
  import {Icon} from '@xh/hoist/icon';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {ColumnSpec} from '@xh/hoist/cmp/grid';
8
8
  import {
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  export * from './Core';
8
8
  export * from './DatesTimes';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  /**
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  /**
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  /**
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {ColumnRenderer} from '@xh/hoist/cmp/grid';
8
8
  import {HoistInputProps} from '@xh/hoist/cmp/input';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  import {GridFilterFieldSpec, GridFilterModelConfig} from '@xh/hoist/cmp/grid';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {GridModel} from '../GridModel';
8
8
  import {box} from '@xh/hoist/cmp/layout';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {ColumnGroup, GridModel} from '@xh/hoist/cmp/grid';
8
8
  import {div, span} from '@xh/hoist/cmp/layout';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {XH, hoistCmp, HoistModel, creates, managed, HoistProps} from '@xh/hoist/core';
8
8
  import {div, span} from '@xh/hoist/cmp/layout';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  import {GridAutosizeOptions} from '@xh/hoist/cmp/grid/GridAutosizeOptions';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {HoistModel, managed, PersistenceProvider, PlainObject, XH} from '@xh/hoist/core';
8
8
  import {action, makeObservable, observable} from '@xh/hoist/mobx';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {Some, XH} from '@xh/hoist/core';
8
8
  import {Column, GridModel} from '@xh/hoist/cmp/grid';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  import {GridModel} from '../GridModel';
@@ -1,3 +1,9 @@
1
+ /*
2
+ * This file belongs to Hoist, an application development toolkit
3
+ * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
+ *
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
+ */
1
7
  import {ColumnRenderer, GroupRowRenderer} from '@xh/hoist/cmp/grid';
2
8
  import {isFunction} from 'lodash';
3
9
 
package/cmp/grid/index.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  export * from './enums/TreeStyle';
8
8
  export * from './enums/GridAutosizeMode';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {ColumnRenderer} from '@xh/hoist/cmp/grid';
8
8
  import {div, span} from '@xh/hoist/cmp/layout';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {isEmpty} from 'lodash';
8
8
  import {div, hbox} from '@xh/hoist/cmp/layout';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  import {
@@ -32,8 +32,8 @@ import {
32
32
  export interface GroupingChooserConfig {
33
33
  /**
34
34
  * Dimensions available for selection. When using GroupingChooser to create Cube queries,
35
- * it is recommended to pass the `dimensions` from the related cube (or a filtered subset thereof).
36
- * (Note that CubeField meets the DimensionSpec interface).
35
+ * it is recommended to pass the `dimensions` from the related cube (or a subset thereof).
36
+ * Note that {@link CubeField} meets the `DimensionSpec` interface.
37
37
  */
38
38
  dimensions?: (DimensionSpec | string)[];
39
39
 
@@ -51,6 +51,12 @@ export interface GroupingChooserConfig {
51
51
 
52
52
  /** Maximum number of dimensions allowed in a single grouping. */
53
53
  maxDepth?: number;
54
+
55
+ /**
56
+ * False (default) waits for the user to dismiss the popover before updating the
57
+ * external/observable value.
58
+ */
59
+ commitOnChange?: boolean;
54
60
  }
55
61
 
56
62
  /**
@@ -82,6 +88,7 @@ export class GroupingChooserModel extends HoistModel {
82
88
  dimensionNames: string[];
83
89
  allowEmpty: boolean;
84
90
  maxDepth: number;
91
+ commitOnChange: boolean;
85
92
 
86
93
  @managed provider: PersistenceProvider = null;
87
94
  persistValue: boolean = false;
@@ -119,7 +126,8 @@ export class GroupingChooserModel extends HoistModel {
119
126
  initialFavorites = [],
120
127
  persistWith = null,
121
128
  allowEmpty = false,
122
- maxDepth = null
129
+ maxDepth = null,
130
+ commitOnChange = false
123
131
  }: GroupingChooserConfig) {
124
132
  super();
125
133
  makeObservable(this);
@@ -128,6 +136,7 @@ export class GroupingChooserModel extends HoistModel {
128
136
  this.dimensionNames = keys(this.dimensions);
129
137
  this.allowEmpty = allowEmpty;
130
138
  this.maxDepth = maxDepth;
139
+ this.commitOnChange = commitOnChange;
131
140
 
132
141
  throwIf(isEmpty(this.dimensions), 'Must provide valid dimensions available for selection.');
133
142
 
@@ -167,6 +176,13 @@ export class GroupingChooserModel extends HoistModel {
167
176
  }
168
177
  }
169
178
 
179
+ this.addReaction({
180
+ track: () => this.pendingValue,
181
+ run: () => {
182
+ if (this.commitOnChange) this.setValue(this.pendingValue);
183
+ }
184
+ });
185
+
170
186
  this.setValue(value);
171
187
  this.setFavorites(favorites);
172
188
  }
@@ -174,7 +190,7 @@ export class GroupingChooserModel extends HoistModel {
174
190
  @action
175
191
  setValue(value: string[]) {
176
192
  if (!this.validateValue(value)) {
177
- console.warn('Attempted to set GroupingChooser to invalid value: ' + value);
193
+ console.warn('Attempted to set GroupingChooser to invalid value: ', value);
178
194
  return;
179
195
  }
180
196
  this.value = value;
@@ -182,15 +198,15 @@ export class GroupingChooserModel extends HoistModel {
182
198
  }
183
199
 
184
200
  @action
185
- showEditor() {
201
+ toggleEditor() {
186
202
  this.pendingValue = this.value;
187
- this.editorIsOpen = true;
203
+ this.editorIsOpen = !this.editorIsOpen;
188
204
  this.favoritesIsOpen = false;
189
205
  }
190
206
 
191
207
  @action
192
- openFavoritesMenu() {
193
- this.favoritesIsOpen = true;
208
+ toggleFavoritesMenu() {
209
+ this.favoritesIsOpen = !this.favoritesIsOpen;
194
210
  this.editorIsOpen = false;
195
211
  }
196
212
 
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  .xh-input {
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {DefaultHoistProps, HoistModel, HoistModelClass, useLocalModel} from '@xh/hoist/core';
8
8
  import {FieldModel} from '@xh/hoist/cmp/form';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  export interface HoistInputProps {
package/cmp/layout/Box.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {hoistCmp, BoxProps, HoistProps} from '@xh/hoist/core';
8
8
  import {splitLayoutProps} from '@xh/hoist/utils/react';