@xh/hoist 60.1.0 → 60.2.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 (669) hide show
  1. package/.husky/pre-commit +1 -4
  2. package/CHANGELOG.md +256 -224
  3. package/LICENSE.md +1 -1
  4. package/README.md +1 -1
  5. package/admin/AdminUtils.ts +1 -1
  6. package/admin/App.scss +1 -1
  7. package/admin/AppComponent.ts +1 -1
  8. package/admin/AppModel.ts +1 -1
  9. package/admin/columns/Core.ts +1 -1
  10. package/admin/columns/Rest.ts +1 -1
  11. package/admin/columns/Tracking.ts +1 -1
  12. package/admin/columns/User.ts +1 -1
  13. package/admin/columns/UserData.ts +1 -1
  14. package/admin/differ/Differ.scss +1 -1
  15. package/admin/differ/Differ.ts +1 -1
  16. package/admin/differ/DifferDetail.ts +1 -1
  17. package/admin/differ/DifferDetailModel.ts +1 -1
  18. package/admin/differ/DifferModel.ts +12 -7
  19. package/admin/regroup/RegroupDialog.ts +1 -1
  20. package/admin/regroup/RegroupDialogModel.ts +1 -1
  21. package/admin/tabs/activity/ActivityTab.scss +7 -0
  22. package/admin/tabs/activity/ActivityTab.ts +1 -1
  23. package/admin/tabs/activity/aggregators/RangeAggregator.ts +1 -1
  24. package/admin/tabs/activity/clienterrors/ClientErrorDetail.ts +2 -2
  25. package/admin/tabs/activity/clienterrors/ClientErrorsModel.ts +1 -1
  26. package/admin/tabs/activity/clienterrors/ClientErrorsPanel.ts +1 -1
  27. package/admin/tabs/activity/feedback/FeedbackPanel.ts +1 -1
  28. package/admin/tabs/activity/tracking/ActivityTrackingModel.ts +1 -1
  29. package/admin/tabs/activity/tracking/ActivityTrackingPanel.ts +1 -1
  30. package/admin/tabs/activity/tracking/charts/ChartsModel.ts +1 -1
  31. package/admin/tabs/activity/tracking/charts/ChartsPanel.ts +1 -1
  32. package/admin/tabs/activity/tracking/detail/ActivityDetailModel.ts +1 -1
  33. package/admin/tabs/activity/tracking/detail/ActivityDetailView.ts +1 -1
  34. package/admin/tabs/general/GeneralTab.ts +1 -1
  35. package/admin/tabs/general/about/AboutPanel.scss +1 -1
  36. package/admin/tabs/general/about/AboutPanel.ts +1 -1
  37. package/admin/tabs/general/alertBanner/AlertBannerModel.ts +1 -1
  38. package/admin/tabs/general/alertBanner/AlertBannerPanel.scss +1 -1
  39. package/admin/tabs/general/alertBanner/AlertBannerPanel.ts +1 -1
  40. package/admin/tabs/general/config/ConfigPanel.ts +1 -1
  41. package/admin/tabs/general/config/ConfigPanelModel.ts +66 -15
  42. package/admin/tabs/general/roles/RoleModel.ts +6 -0
  43. package/admin/tabs/general/roles/RolePanel.ts +6 -0
  44. package/admin/tabs/general/roles/Types.ts +6 -0
  45. package/admin/tabs/general/roles/details/RoleDetails.ts +6 -0
  46. package/admin/tabs/general/roles/details/RoleDetailsModel.ts +6 -0
  47. package/admin/tabs/general/roles/details/members/RoleMembers.ts +6 -0
  48. package/admin/tabs/general/roles/details/members/RoleMembersModel.ts +6 -0
  49. package/admin/tabs/general/roles/editor/RoleEditor.ts +6 -0
  50. package/admin/tabs/general/roles/editor/RoleEditorModel.ts +6 -0
  51. package/admin/tabs/general/roles/editor/form/RoleForm.ts +7 -0
  52. package/admin/tabs/general/roles/editor/form/RoleFormModel.ts +24 -3
  53. package/admin/tabs/general/roles/graph/RoleGraph.ts +6 -0
  54. package/admin/tabs/general/roles/graph/RoleGraphModel.ts +8 -1
  55. package/admin/tabs/general/roles/warning/WarningBanner.scss +6 -0
  56. package/admin/tabs/general/roles/warning/WarningBanner.ts +6 -0
  57. package/admin/tabs/general/users/UserModel.ts +1 -1
  58. package/admin/tabs/general/users/UserPanel.ts +1 -1
  59. package/admin/tabs/monitor/MonitorColumns.ts +1 -1
  60. package/admin/tabs/monitor/MonitorEditorPanel.ts +1 -1
  61. package/admin/tabs/monitor/MonitorResultsModel.ts +1 -1
  62. package/admin/tabs/monitor/MonitorResultsPanel.scss +1 -1
  63. package/admin/tabs/monitor/MonitorResultsPanel.ts +1 -1
  64. package/admin/tabs/monitor/MonitorTab.ts +1 -1
  65. package/admin/tabs/monitor/Tile.scss +1 -1
  66. package/admin/tabs/monitor/Tile.ts +1 -1
  67. package/admin/tabs/server/ServerTab.ts +1 -1
  68. package/admin/tabs/server/connectionpool/ConnPoolMonitorModel.ts +1 -1
  69. package/admin/tabs/server/connectionpool/ConnPoolMonitorPanel.ts +1 -1
  70. package/admin/tabs/server/ehcache/EhCacheModel.ts +1 -1
  71. package/admin/tabs/server/ehcache/EhCachePanel.ts +1 -1
  72. package/admin/tabs/server/environment/ServerEnvModel.ts +1 -1
  73. package/admin/tabs/server/environment/ServerEnvPanel.ts +1 -1
  74. package/admin/tabs/server/logLevel/LogLevelColumns.ts +1 -1
  75. package/admin/tabs/server/logLevel/LogLevelPanel.ts +1 -1
  76. package/admin/tabs/server/logViewer/LogDisplay.ts +1 -1
  77. package/admin/tabs/server/logViewer/LogDisplayModel.ts +1 -1
  78. package/admin/tabs/server/logViewer/LogViewer.scss +1 -1
  79. package/admin/tabs/server/logViewer/LogViewer.ts +1 -1
  80. package/admin/tabs/server/logViewer/LogViewerModel.ts +1 -1
  81. package/admin/tabs/server/memory/MemoryMonitorModel.ts +1 -1
  82. package/admin/tabs/server/memory/MemoryMonitorPanel.ts +1 -1
  83. package/admin/tabs/server/services/ServiceModel.ts +1 -1
  84. package/admin/tabs/server/services/ServicePanel.ts +1 -1
  85. package/admin/tabs/server/websocket/WebSocketColumns.ts +1 -1
  86. package/admin/tabs/server/websocket/WebSocketModel.ts +1 -1
  87. package/admin/tabs/server/websocket/WebSocketPanel.ts +1 -1
  88. package/admin/tabs/userData/UserDataTab.ts +1 -1
  89. package/admin/tabs/userData/jsonblob/JsonBlobColumns.ts +1 -1
  90. package/admin/tabs/userData/jsonblob/JsonBlobModel.ts +1 -1
  91. package/admin/tabs/userData/jsonblob/JsonBlobPanel.ts +1 -1
  92. package/admin/tabs/userData/prefs/PreferenceModel.ts +1 -1
  93. package/admin/tabs/userData/prefs/PreferencePanel.ts +1 -1
  94. package/admin/tabs/userData/prefs/UserPreferencePanel.ts +1 -1
  95. package/appcontainer/AboutDialogModel.ts +1 -1
  96. package/appcontainer/AppContainerModel.ts +1 -1
  97. package/appcontainer/AppOption.ts +1 -1
  98. package/appcontainer/AppStateModel.ts +1 -1
  99. package/appcontainer/BannerModel.ts +1 -1
  100. package/appcontainer/BannerSourceModel.ts +1 -1
  101. package/appcontainer/ChangelogDialogModel.ts +1 -1
  102. package/appcontainer/ExceptionDialogModel.ts +1 -1
  103. package/appcontainer/FeedbackDialogModel.ts +1 -1
  104. package/appcontainer/ImpersonationBarModel.ts +1 -1
  105. package/appcontainer/MessageModel.ts +1 -1
  106. package/appcontainer/MessageSourceModel.ts +1 -1
  107. package/appcontainer/OptionsDialogModel.ts +1 -1
  108. package/appcontainer/PageStateModel.ts +3 -3
  109. package/appcontainer/RouterModel.ts +1 -1
  110. package/appcontainer/SizingModeModel.ts +1 -1
  111. package/appcontainer/ThemeModel.ts +1 -1
  112. package/appcontainer/ToastModel.ts +1 -1
  113. package/appcontainer/ToastSourceModel.ts +1 -1
  114. package/appcontainer/UserAgentModel.ts +1 -1
  115. package/appcontainer/ViewportSizeModel.ts +1 -1
  116. package/appcontainer/login/LoginPanelModel.ts +1 -1
  117. package/cmp/ag-grid/AgGrid.scss +1 -1
  118. package/cmp/ag-grid/AgGrid.ts +1 -1
  119. package/cmp/ag-grid/AgGridModel.ts +6 -9
  120. package/cmp/badge/Badge.scss +7 -0
  121. package/cmp/badge/Badge.ts +1 -1
  122. package/cmp/chart/Chart.scss +7 -0
  123. package/cmp/chart/Chart.ts +1 -1
  124. package/cmp/chart/ChartModel.ts +1 -1
  125. package/cmp/chart/impl/copyToClipboard.ts +1 -1
  126. package/cmp/chart/impl/zoomout.ts +1 -1
  127. package/cmp/chart/theme/Dark.ts +1 -1
  128. package/cmp/chart/theme/Light.ts +1 -1
  129. package/cmp/clock/Clock.ts +1 -1
  130. package/cmp/dataview/DataView.scss +1 -1
  131. package/cmp/dataview/DataView.ts +1 -1
  132. package/cmp/dataview/DataViewModel.ts +1 -1
  133. package/cmp/error/ErrorBoundary.ts +1 -1
  134. package/cmp/error/ErrorBoundaryModel.ts +1 -1
  135. package/cmp/filter/FilterChooserFieldSpec.ts +1 -1
  136. package/cmp/filter/FilterChooserModel.ts +15 -14
  137. package/cmp/filter/impl/Option.ts +1 -1
  138. package/cmp/filter/impl/QueryEngine.ts +2 -5
  139. package/cmp/form/BaseFormFieldProps.ts +2 -2
  140. package/cmp/form/Form.ts +1 -1
  141. package/cmp/form/FormModel.ts +3 -3
  142. package/cmp/form/field/BaseFieldModel.ts +1 -1
  143. package/cmp/form/field/FieldModel.ts +1 -1
  144. package/cmp/form/field/SubformsFieldModel.ts +1 -1
  145. package/cmp/form/index.ts +1 -1
  146. package/cmp/grid/Grid.scss +1 -1
  147. package/cmp/grid/Grid.ts +1 -1
  148. package/cmp/grid/GridAutosizeOptions.ts +1 -1
  149. package/cmp/grid/GridContextMenu.ts +1 -1
  150. package/cmp/grid/GridModel.ts +3 -3
  151. package/cmp/grid/GridSorter.ts +1 -1
  152. package/cmp/grid/Types.ts +1 -1
  153. package/cmp/grid/columns/Column.ts +1 -1
  154. package/cmp/grid/columns/ColumnGroup.ts +1 -1
  155. package/cmp/grid/columns/Core.ts +1 -1
  156. package/cmp/grid/columns/DatesTimes.ts +1 -1
  157. package/cmp/grid/columns/index.ts +1 -1
  158. package/cmp/grid/enums/ExcelFormat.ts +1 -1
  159. package/cmp/grid/enums/GridAutosizeMode.ts +1 -1
  160. package/cmp/grid/enums/TreeStyle.ts +1 -1
  161. package/cmp/grid/filter/GridFilterFieldSpec.ts +1 -1
  162. package/cmp/grid/filter/GridFilterModel.ts +1 -1
  163. package/cmp/grid/helpers/GridCountLabel.ts +1 -1
  164. package/cmp/grid/impl/ColumnGroupHeader.ts +1 -1
  165. package/cmp/grid/impl/ColumnHeader.ts +1 -1
  166. package/cmp/grid/impl/ColumnWidthCalculator.ts +1 -1
  167. package/cmp/grid/impl/GridHScrollbar.ts +6 -0
  168. package/cmp/grid/impl/GridPersistenceModel.ts +1 -1
  169. package/cmp/grid/impl/MenuSupport.ts +1 -1
  170. package/cmp/grid/impl/RowKeyNavSupport.ts +1 -1
  171. package/cmp/grid/impl/Utils.ts +1 -1
  172. package/cmp/grid/index.ts +1 -1
  173. package/cmp/grid/renderers/MultiFieldRenderer.ts +1 -1
  174. package/cmp/grid/renderers/TagsRenderer.ts +1 -1
  175. package/cmp/grouping/GroupingChooserModel.ts +1 -1
  176. package/cmp/input/HoistInput.scss +1 -1
  177. package/cmp/input/HoistInputModel.ts +1 -1
  178. package/cmp/input/HoistInputProps.ts +1 -1
  179. package/cmp/layout/Box.ts +1 -1
  180. package/cmp/layout/Frame.ts +1 -1
  181. package/cmp/layout/Placeholder.ts +1 -1
  182. package/cmp/layout/Spacer.ts +1 -1
  183. package/cmp/layout/Tags.ts +1 -1
  184. package/cmp/layout/TileFrame.scss +1 -1
  185. package/cmp/layout/TileFrame.ts +1 -1
  186. package/cmp/layout/Viewport.ts +1 -1
  187. package/cmp/markdown/Markdown.ts +1 -1
  188. package/cmp/pinpad/PinPad.ts +1 -1
  189. package/cmp/pinpad/PinPadModel.ts +1 -1
  190. package/cmp/relativetimestamp/RelativeTimestamp.ts +1 -1
  191. package/cmp/spinner/Spinner.ts +1 -1
  192. package/cmp/store/StoreCountLabel.ts +1 -1
  193. package/cmp/store/StoreFilterField.ts +1 -1
  194. package/cmp/store/impl/StoreFilterFieldImplModel.ts +1 -1
  195. package/cmp/tab/TabContainer.ts +1 -1
  196. package/cmp/tab/TabContainerModel.ts +1 -1
  197. package/cmp/tab/TabModel.ts +1 -1
  198. package/cmp/tab/TabSwitcherProps.ts +1 -1
  199. package/cmp/websocket/WebSocketIndicator.ts +1 -1
  200. package/cmp/zoneGrid/Types.ts +1 -1
  201. package/cmp/zoneGrid/ZoneGrid.ts +1 -1
  202. package/cmp/zoneGrid/ZoneGridModel.ts +1 -1
  203. package/cmp/zoneGrid/impl/ZoneGridPersistenceModel.ts +1 -1
  204. package/cmp/zoneGrid/impl/ZoneMapperModel.ts +1 -1
  205. package/core/AppSpec.ts +1 -1
  206. package/core/HoistAppModel.ts +1 -1
  207. package/core/HoistBase.ts +1 -1
  208. package/core/HoistBaseDecorators.ts +1 -1
  209. package/core/HoistComponent.ts +1 -1
  210. package/core/HoistProps.ts +1 -1
  211. package/core/HoistService.ts +1 -1
  212. package/core/RefreshContextView.ts +1 -1
  213. package/core/TaskObserver.ts +1 -1
  214. package/core/XH.ts +1 -1
  215. package/core/elem.ts +1 -1
  216. package/core/enums/RefreshMode.ts +1 -1
  217. package/core/enums/RenderMode.ts +1 -1
  218. package/core/enums/SizingMode.ts +1 -1
  219. package/core/exception/Exception.ts +1 -1
  220. package/core/exception/ExceptionHandler.ts +1 -1
  221. package/core/exception/Types.ts +1 -1
  222. package/core/impl/InstallServices.ts +1 -1
  223. package/core/impl/InstanceManager.ts +1 -1
  224. package/core/impl/PlatformManager.ts +1 -1
  225. package/core/load/LoadSpec.ts +1 -1
  226. package/core/load/LoadSupport.ts +1 -1
  227. package/core/load/Loadable.ts +1 -1
  228. package/core/model/CreatesSpec.ts +1 -1
  229. package/core/model/HoistModel.ts +1 -1
  230. package/core/model/Hooks.ts +1 -1
  231. package/core/model/ManagedRefreshContextModel.ts +1 -1
  232. package/core/model/ModelLookup.ts +1 -1
  233. package/core/model/ModelSelector.ts +1 -1
  234. package/core/model/ModelSpec.ts +1 -1
  235. package/core/model/RefreshContextModel.ts +1 -1
  236. package/core/model/RootRefreshContextModel.ts +1 -1
  237. package/core/model/UsesSpec.ts +1 -1
  238. package/core/persist/CustomProvider.ts +1 -1
  239. package/core/persist/DashViewProvider.ts +1 -1
  240. package/core/persist/LocalStorageProvider.ts +1 -1
  241. package/core/persist/PersistOptions.ts +1 -1
  242. package/core/persist/PersistenceProvider.ts +1 -1
  243. package/core/persist/PrefProvider.ts +1 -1
  244. package/core/types/AppState.ts +1 -1
  245. package/core/types/Interfaces.ts +1 -1
  246. package/core/types/Types.ts +1 -1
  247. package/data/Field.ts +1 -1
  248. package/data/RecordAction.ts +1 -1
  249. package/data/Store.ts +1 -1
  250. package/data/StoreRecord.ts +1 -1
  251. package/data/StoreSelectionModel.ts +1 -1
  252. package/data/UrlStore.ts +1 -1
  253. package/data/cube/BucketSpec.ts +1 -1
  254. package/data/cube/Cube.ts +1 -1
  255. package/data/cube/CubeField.ts +1 -1
  256. package/data/cube/Query.ts +1 -1
  257. package/data/cube/View.ts +1 -1
  258. package/data/cube/aggregate/AggregationContext.ts +1 -1
  259. package/data/cube/aggregate/Aggregator.ts +1 -1
  260. package/data/cube/aggregate/AverageAggregator.ts +1 -1
  261. package/data/cube/aggregate/AverageStrictAggregator.ts +1 -1
  262. package/data/cube/aggregate/ChildCountAggregator.ts +1 -1
  263. package/data/cube/aggregate/LeafCountAggregator.ts +1 -1
  264. package/data/cube/aggregate/MaxAggregator.ts +1 -1
  265. package/data/cube/aggregate/MinAggregator.ts +1 -1
  266. package/data/cube/aggregate/NullAggregator.ts +1 -1
  267. package/data/cube/aggregate/SingleAggregator.ts +1 -1
  268. package/data/cube/aggregate/SumAggregator.ts +1 -1
  269. package/data/cube/aggregate/SumStrictAggregator.ts +1 -1
  270. package/data/cube/aggregate/UniqueAggregator.ts +1 -1
  271. package/data/cube/row/AggregateRow.ts +1 -1
  272. package/data/cube/row/BaseRow.ts +1 -1
  273. package/data/cube/row/BucketRow.ts +1 -1
  274. package/data/cube/row/LeafRow.ts +1 -1
  275. package/data/cube/row/RowUpdate.ts +1 -1
  276. package/data/filter/BaseFilterFieldSpec.ts +1 -1
  277. package/data/filter/CompoundFilter.ts +1 -1
  278. package/data/filter/FieldFilter.ts +1 -1
  279. package/data/filter/Filter.ts +1 -1
  280. package/data/filter/FunctionFilter.ts +1 -1
  281. package/data/filter/Types.ts +1 -1
  282. package/data/filter/Utils.ts +1 -1
  283. package/data/impl/RecordSet.ts +1 -1
  284. package/data/impl/RecordValidator.ts +1 -1
  285. package/data/impl/StoreValidator.ts +1 -1
  286. package/data/index.ts +1 -1
  287. package/data/validation/Rule.ts +1 -1
  288. package/data/validation/ValidationState.ts +1 -1
  289. package/data/validation/constraints.ts +1 -1
  290. package/deprecated/index.ts +1 -1
  291. package/desktop/appcontainer/AboutDialog.scss +1 -1
  292. package/desktop/appcontainer/AboutDialog.ts +1 -1
  293. package/desktop/appcontainer/AppContainer.ts +1 -1
  294. package/desktop/appcontainer/Banner.scss +1 -1
  295. package/desktop/appcontainer/Banner.ts +1 -1
  296. package/desktop/appcontainer/ChangelogDialog.scss +7 -0
  297. package/desktop/appcontainer/ChangelogDialog.ts +1 -1
  298. package/desktop/appcontainer/ExceptionDialog.scss +1 -1
  299. package/desktop/appcontainer/ExceptionDialog.ts +1 -1
  300. package/desktop/appcontainer/ExceptionDialogDetails.ts +1 -1
  301. package/desktop/appcontainer/FeedbackDialog.ts +1 -1
  302. package/desktop/appcontainer/IdlePanel.scss +1 -1
  303. package/desktop/appcontainer/IdlePanel.ts +1 -1
  304. package/desktop/appcontainer/ImpersonationBar.scss +7 -0
  305. package/desktop/appcontainer/ImpersonationBar.ts +1 -1
  306. package/desktop/appcontainer/LockoutPanel.scss +1 -1
  307. package/desktop/appcontainer/LockoutPanel.ts +1 -1
  308. package/desktop/appcontainer/LoginPanel.scss +1 -1
  309. package/desktop/appcontainer/LoginPanel.ts +1 -1
  310. package/desktop/appcontainer/Message.scss +1 -1
  311. package/desktop/appcontainer/Message.ts +1 -1
  312. package/desktop/appcontainer/MessageSource.ts +1 -1
  313. package/desktop/appcontainer/OptionsDialog.scss +1 -1
  314. package/desktop/appcontainer/OptionsDialog.ts +1 -1
  315. package/desktop/appcontainer/SuspendPanel.scss +1 -1
  316. package/desktop/appcontainer/SuspendPanel.ts +1 -1
  317. package/desktop/appcontainer/Toast.scss +1 -1
  318. package/desktop/appcontainer/ToastSource.ts +1 -1
  319. package/desktop/appcontainer/VersionBar.scss +1 -1
  320. package/desktop/appcontainer/VersionBar.ts +1 -1
  321. package/desktop/appcontainer/index.ts +1 -1
  322. package/desktop/cmp/appOption/AutoRefreshAppOption.ts +1 -1
  323. package/desktop/cmp/appOption/SizingModeAppOption.ts +1 -1
  324. package/desktop/cmp/appOption/ThemeAppOption.ts +1 -1
  325. package/desktop/cmp/appbar/AppBar.scss +1 -1
  326. package/desktop/cmp/appbar/AppBar.ts +1 -1
  327. package/desktop/cmp/appbar/AppBarSeparator.ts +1 -1
  328. package/desktop/cmp/button/AppMenuButton.ts +1 -1
  329. package/desktop/cmp/button/Button.scss +1 -1
  330. package/desktop/cmp/button/Button.ts +1 -1
  331. package/desktop/cmp/button/ButtonGroup.ts +1 -1
  332. package/desktop/cmp/button/ColAutosizeButton.ts +1 -1
  333. package/desktop/cmp/button/ColChooserButton.ts +1 -1
  334. package/desktop/cmp/button/DashCanvasAddViewButton.ts +1 -1
  335. package/desktop/cmp/button/ExportButton.ts +1 -1
  336. package/desktop/cmp/button/FeedbackButton.ts +1 -1
  337. package/desktop/cmp/button/LaunchAdminButton.ts +1 -1
  338. package/desktop/cmp/button/LogoutButton.ts +1 -1
  339. package/desktop/cmp/button/ModalToggleButton.ts +1 -1
  340. package/desktop/cmp/button/OptionsButton.ts +1 -1
  341. package/desktop/cmp/button/RefreshButton.ts +1 -1
  342. package/desktop/cmp/button/RestoreDefaultsButton.ts +1 -1
  343. package/desktop/cmp/button/ThemeToggleButton.ts +1 -1
  344. package/desktop/cmp/button/WhatsNewButton.ts +1 -1
  345. package/desktop/cmp/button/ZoneMapperButton.ts +1 -1
  346. package/desktop/cmp/clipboard/ClipboardButton.ts +1 -1
  347. package/desktop/cmp/clipboard/ClipboardMenuItem.ts +1 -1
  348. package/desktop/cmp/contextmenu/ContextMenu.ts +1 -1
  349. package/desktop/cmp/dash/DashConfig.ts +1 -1
  350. package/desktop/cmp/dash/DashModel.ts +1 -1
  351. package/desktop/cmp/dash/DashViewModel.ts +1 -1
  352. package/desktop/cmp/dash/DashViewSpec.ts +1 -1
  353. package/desktop/cmp/dash/canvas/DashCanvas.ts +1 -1
  354. package/desktop/cmp/dash/canvas/DashCanvasModel.ts +1 -1
  355. package/desktop/cmp/dash/canvas/DashCanvasViewModel.ts +1 -1
  356. package/desktop/cmp/dash/canvas/DashCanvasViewSpec.ts +1 -1
  357. package/desktop/cmp/dash/canvas/impl/DashCanvasContextMenu.ts +1 -1
  358. package/desktop/cmp/dash/canvas/impl/DashCanvasView.ts +1 -1
  359. package/desktop/cmp/dash/canvas/impl/utils.ts +1 -1
  360. package/desktop/cmp/dash/container/DashContainer.ts +1 -1
  361. package/desktop/cmp/dash/container/DashContainerModel.ts +1 -1
  362. package/desktop/cmp/dash/container/DashContainerViewSpec.ts +1 -1
  363. package/desktop/cmp/dash/container/impl/DashContainerContextMenu.ts +1 -1
  364. package/desktop/cmp/dash/container/impl/DashContainerMenuButton.ts +1 -1
  365. package/desktop/cmp/dash/container/impl/DashContainerUtils.ts +1 -1
  366. package/desktop/cmp/dash/container/impl/DashContainerView.ts +1 -1
  367. package/desktop/cmp/dock/DockContainer.ts +1 -1
  368. package/desktop/cmp/dock/DockContainerModel.ts +1 -1
  369. package/desktop/cmp/dock/DockViewModel.ts +1 -1
  370. package/desktop/cmp/dock/impl/Dock.scss +1 -1
  371. package/desktop/cmp/dock/impl/DockContainer.ts +1 -1
  372. package/desktop/cmp/dock/impl/DockView.ts +1 -1
  373. package/desktop/cmp/error/ErrorMessage.scss +7 -0
  374. package/desktop/cmp/error/ErrorMessage.ts +1 -1
  375. package/desktop/cmp/filechooser/FileChooser.scss +1 -1
  376. package/desktop/cmp/filechooser/FileChooser.ts +1 -1
  377. package/desktop/cmp/filechooser/FileChooserModel.ts +1 -1
  378. package/desktop/cmp/filter/FilterChooser.scss +1 -1
  379. package/desktop/cmp/filter/FilterChooser.ts +7 -5
  380. package/desktop/cmp/form/FormField.scss +1 -1
  381. package/desktop/cmp/form/FormField.ts +35 -22
  382. package/desktop/cmp/grid/columns/Actions.scss +1 -1
  383. package/desktop/cmp/grid/columns/Actions.ts +1 -1
  384. package/desktop/cmp/grid/editors/BooleanEditor.ts +1 -1
  385. package/desktop/cmp/grid/editors/DateEditor.ts +1 -1
  386. package/desktop/cmp/grid/editors/EditorProps.ts +1 -1
  387. package/desktop/cmp/grid/editors/Editors.scss +7 -0
  388. package/desktop/cmp/grid/editors/NumberEditor.ts +1 -1
  389. package/desktop/cmp/grid/editors/SelectEditor.ts +1 -1
  390. package/desktop/cmp/grid/editors/TextAreaEditor.ts +1 -1
  391. package/desktop/cmp/grid/editors/TextEditor.ts +1 -1
  392. package/desktop/cmp/grid/editors/impl/InlineEditorModel.ts +1 -1
  393. package/desktop/cmp/grid/editors/index.ts +1 -1
  394. package/desktop/cmp/grid/find/GridFindField.scss +7 -0
  395. package/desktop/cmp/grid/find/GridFindField.ts +1 -1
  396. package/desktop/cmp/grid/find/impl/GridFindFieldImplModel.ts +1 -1
  397. package/desktop/cmp/grid/impl/colchooser/ColChooser.ts +1 -1
  398. package/desktop/cmp/grid/impl/colchooser/ColChooserDialog.ts +1 -1
  399. package/desktop/cmp/grid/impl/colchooser/ColChooserModel.ts +1 -1
  400. package/desktop/cmp/grid/impl/filter/ColumnHeaderFilter.scss +1 -1
  401. package/desktop/cmp/grid/impl/filter/ColumnHeaderFilter.ts +1 -1
  402. package/desktop/cmp/grid/impl/filter/ColumnHeaderFilterModel.ts +1 -1
  403. package/desktop/cmp/grid/impl/filter/GridFilterDialog.ts +1 -1
  404. package/desktop/cmp/grid/impl/filter/custom/CustomRow.ts +1 -1
  405. package/desktop/cmp/grid/impl/filter/custom/CustomRowModel.ts +1 -1
  406. package/desktop/cmp/grid/impl/filter/custom/CustomTab.ts +1 -1
  407. package/desktop/cmp/grid/impl/filter/custom/CustomTabModel.ts +1 -1
  408. package/desktop/cmp/grid/impl/filter/values/ValuesTab.ts +1 -1
  409. package/desktop/cmp/grid/impl/filter/values/ValuesTabModel.ts +1 -1
  410. package/desktop/cmp/grouping/GroupingChooser.scss +1 -1
  411. package/desktop/cmp/grouping/GroupingChooser.ts +9 -9
  412. package/desktop/cmp/input/ButtonGroupInput.ts +1 -1
  413. package/desktop/cmp/input/Checkbox.scss +1 -1
  414. package/desktop/cmp/input/Checkbox.ts +1 -1
  415. package/desktop/cmp/input/CodeInput.scss +1 -1
  416. package/desktop/cmp/input/CodeInput.ts +1 -1
  417. package/desktop/cmp/input/DateInput.scss +1 -1
  418. package/desktop/cmp/input/DateInput.ts +1 -1
  419. package/desktop/cmp/input/JsonInput.ts +1 -1
  420. package/desktop/cmp/input/NumberInput.ts +1 -1
  421. package/desktop/cmp/input/RadioInput.scss +1 -1
  422. package/desktop/cmp/input/RadioInput.ts +1 -1
  423. package/desktop/cmp/input/Select.scss +1 -1
  424. package/desktop/cmp/input/Select.ts +3 -3
  425. package/desktop/cmp/input/Slider.scss +1 -1
  426. package/desktop/cmp/input/Slider.ts +1 -1
  427. package/desktop/cmp/input/SwitchInput.scss +1 -1
  428. package/desktop/cmp/input/SwitchInput.ts +1 -1
  429. package/desktop/cmp/input/TextArea.scss +1 -1
  430. package/desktop/cmp/input/TextArea.ts +1 -1
  431. package/desktop/cmp/input/TextInput.ts +1 -1
  432. package/desktop/cmp/leftrightchooser/LeftRightChooser.scss +1 -1
  433. package/desktop/cmp/leftrightchooser/LeftRightChooser.ts +1 -1
  434. package/desktop/cmp/leftrightchooser/LeftRightChooserFilter.ts +1 -1
  435. package/desktop/cmp/leftrightchooser/LeftRightChooserModel.ts +1 -1
  436. package/desktop/cmp/leftrightchooser/impl/ChooserToolbar.ts +1 -1
  437. package/desktop/cmp/leftrightchooser/impl/Description.ts +1 -1
  438. package/desktop/cmp/loadingindicator/LoadingIndicator.ts +1 -1
  439. package/desktop/cmp/loadingindicator/index.ts +1 -1
  440. package/desktop/cmp/mask/Mask.ts +1 -1
  441. package/desktop/cmp/mask/index.ts +1 -1
  442. package/desktop/cmp/modalsupport/ModalSupport.ts +1 -1
  443. package/desktop/cmp/modalsupport/ModalSupportModel.ts +1 -1
  444. package/desktop/cmp/modalsupport/index.ts +1 -1
  445. package/desktop/cmp/panel/Panel.ts +1 -1
  446. package/desktop/cmp/panel/PanelModel.ts +1 -1
  447. package/desktop/cmp/panel/impl/PanelHeader.ts +1 -1
  448. package/desktop/cmp/panel/impl/ResizeContainer.ts +1 -1
  449. package/desktop/cmp/panel/impl/Splitter.ts +1 -1
  450. package/desktop/cmp/panel/impl/dragger/Dragger.ts +1 -1
  451. package/desktop/cmp/panel/impl/dragger/DraggerModel.ts +1 -1
  452. package/desktop/cmp/panel/index.ts +1 -1
  453. package/desktop/cmp/pinpad/impl/PinPad.ts +1 -1
  454. package/desktop/cmp/record/RecordActionBar.ts +1 -1
  455. package/desktop/cmp/record/impl/RecordActionButton.ts +1 -1
  456. package/desktop/cmp/record/index.ts +1 -1
  457. package/desktop/cmp/rest/Actions.ts +1 -1
  458. package/desktop/cmp/rest/RestGrid.ts +1 -1
  459. package/desktop/cmp/rest/RestGridModel.ts +7 -1
  460. package/desktop/cmp/rest/data/RestField.ts +1 -1
  461. package/desktop/cmp/rest/data/RestStore.ts +1 -1
  462. package/desktop/cmp/rest/impl/RestForm.ts +1 -1
  463. package/desktop/cmp/rest/impl/RestFormField.ts +12 -11
  464. package/desktop/cmp/rest/impl/RestFormModel.ts +1 -1
  465. package/desktop/cmp/rest/impl/RestGridToolbar.ts +1 -1
  466. package/desktop/cmp/rest/index.ts +1 -1
  467. package/desktop/cmp/store/impl/StoreFilterField.ts +1 -1
  468. package/desktop/cmp/tab/TabSwitcher.ts +1 -1
  469. package/desktop/cmp/tab/Tabs.scss +1 -1
  470. package/desktop/cmp/tab/impl/Tab.ts +1 -1
  471. package/desktop/cmp/tab/impl/TabContainer.ts +1 -1
  472. package/desktop/cmp/tab/index.ts +1 -1
  473. package/desktop/cmp/toolbar/Toolbar.ts +1 -1
  474. package/desktop/cmp/toolbar/ToolbarSep.ts +1 -1
  475. package/desktop/cmp/toolbar/index.ts +1 -1
  476. package/desktop/cmp/treemap/SplitTreeMap.ts +1 -1
  477. package/desktop/cmp/treemap/SplitTreeMapModel.ts +1 -1
  478. package/desktop/cmp/treemap/TreeMap.ts +1 -1
  479. package/desktop/cmp/treemap/TreeMapModel.ts +1 -1
  480. package/desktop/cmp/treemap/impl/Splitter.ts +1 -1
  481. package/desktop/cmp/treemap/index.ts +1 -1
  482. package/desktop/cmp/zoneGrid/impl/ZoneMapper.ts +1 -1
  483. package/desktop/cmp/zoneGrid/impl/ZoneMapperDialog.ts +1 -1
  484. package/desktop/hooks/UseContextMenu.ts +1 -1
  485. package/desktop/hooks/UseHotkeys.ts +1 -1
  486. package/desktop/hooks/index.ts +1 -1
  487. package/docs/build-and-deploy.md +1 -1
  488. package/docs/development-environment.md +1 -1
  489. package/dynamics/desktop.ts +1 -1
  490. package/dynamics/mobile.ts +1 -1
  491. package/format/FormatDate.ts +1 -1
  492. package/format/FormatMisc.ts +1 -1
  493. package/format/FormatNumber.ts +3 -3
  494. package/format/FormatUtils.ts +1 -1
  495. package/format/impl/Utils.ts +1 -1
  496. package/format/index.ts +1 -1
  497. package/icon/Icon.ts +1 -1
  498. package/icon/XHLogo.tsx +1 -1
  499. package/icon/impl/IconCmp.ts +1 -1
  500. package/icon/impl/IconHtml.ts +1 -1
  501. package/icon/index.ts +1 -1
  502. package/inspector/InspectorPanel.ts +1 -1
  503. package/inspector/instances/InstancesModel.ts +1 -1
  504. package/inspector/instances/InstancesPanel.ts +1 -1
  505. package/inspector/stats/StatsModel.ts +1 -1
  506. package/inspector/stats/StatsPanel.ts +1 -1
  507. package/kit/ag-grid/index.ts +1 -1
  508. package/kit/blueprint/Dialog.ts +1 -1
  509. package/kit/blueprint/Wrappers.ts +1 -1
  510. package/kit/blueprint/index.ts +1 -1
  511. package/kit/golden-layout/index.js +1 -1
  512. package/kit/golden-layout/styles.scss +1 -1
  513. package/kit/highcharts/index.ts +1 -1
  514. package/kit/onsen/index.ts +1 -1
  515. package/kit/react-beautiful-dnd/index.ts +1 -1
  516. package/kit/react-dates/index.ts +1 -1
  517. package/kit/react-dropzone/index.ts +1 -1
  518. package/kit/react-markdown/index.ts +1 -1
  519. package/kit/react-select/index.ts +1 -1
  520. package/mobile/appcontainer/AboutDialog.ts +1 -1
  521. package/mobile/appcontainer/AppContainer.ts +1 -1
  522. package/mobile/appcontainer/Banner.scss +1 -1
  523. package/mobile/appcontainer/Banner.ts +1 -1
  524. package/mobile/appcontainer/ExceptionDialog.ts +1 -1
  525. package/mobile/appcontainer/ExceptionDialogDetails.ts +1 -1
  526. package/mobile/appcontainer/FeedbackDialog.ts +1 -1
  527. package/mobile/appcontainer/IdlePanel.scss +1 -1
  528. package/mobile/appcontainer/IdlePanel.ts +1 -1
  529. package/mobile/appcontainer/ImpersonationBar.ts +1 -1
  530. package/mobile/appcontainer/LockoutPanel.ts +1 -1
  531. package/mobile/appcontainer/LoginPanel.ts +1 -1
  532. package/mobile/appcontainer/Message.ts +1 -1
  533. package/mobile/appcontainer/MessageSource.ts +1 -1
  534. package/mobile/appcontainer/OptionsDialog.ts +1 -1
  535. package/mobile/appcontainer/SuspendPanel.scss +1 -1
  536. package/mobile/appcontainer/SuspendPanel.ts +1 -1
  537. package/mobile/appcontainer/Toast.ts +1 -1
  538. package/mobile/appcontainer/ToastSource.ts +1 -1
  539. package/mobile/appcontainer/VersionBar.ts +1 -1
  540. package/mobile/appcontainer/index.ts +1 -1
  541. package/mobile/cmp/appOption/AutoRefreshAppOption.ts +1 -1
  542. package/mobile/cmp/appOption/SizingModeAppOption.ts +1 -1
  543. package/mobile/cmp/appOption/ThemeAppOption.ts +1 -1
  544. package/mobile/cmp/appOption/index.ts +1 -1
  545. package/mobile/cmp/button/Button.scss +1 -1
  546. package/mobile/cmp/button/Button.ts +1 -1
  547. package/mobile/cmp/button/ButtonGroup.ts +1 -1
  548. package/mobile/cmp/button/ColAutosizeButton.ts +1 -1
  549. package/mobile/cmp/button/ColChooserButton.ts +1 -1
  550. package/mobile/cmp/button/ExpandCollapseButton.ts +1 -1
  551. package/mobile/cmp/button/FeedbackButton.ts +1 -1
  552. package/mobile/cmp/button/LogoutButton.ts +1 -1
  553. package/mobile/cmp/button/NavigatorBackButton.ts +1 -1
  554. package/mobile/cmp/button/OptionsButton.ts +1 -1
  555. package/mobile/cmp/button/RefreshButton.ts +1 -1
  556. package/mobile/cmp/button/RestoreDefaultsButton.ts +1 -1
  557. package/mobile/cmp/button/ThemeToggleButton.ts +1 -1
  558. package/mobile/cmp/button/ZoneMapperButton.ts +1 -1
  559. package/mobile/cmp/button/index.ts +1 -1
  560. package/mobile/cmp/dialog/Dialog.ts +1 -1
  561. package/mobile/cmp/dialog/index.ts +1 -1
  562. package/mobile/cmp/error/ErrorMessage.ts +1 -1
  563. package/mobile/cmp/error/index.ts +1 -1
  564. package/mobile/cmp/form/FormField.ts +24 -16
  565. package/mobile/cmp/form/index.ts +1 -1
  566. package/mobile/cmp/grid/impl/ColChooser.ts +1 -1
  567. package/mobile/cmp/grid/impl/ColChooserModel.ts +1 -1
  568. package/mobile/cmp/grouping/GroupingChooser.scss +1 -1
  569. package/mobile/cmp/grouping/GroupingChooser.ts +1 -1
  570. package/mobile/cmp/header/AppBar.ts +1 -1
  571. package/mobile/cmp/header/AppMenuButton.ts +1 -1
  572. package/mobile/cmp/header/index.ts +1 -1
  573. package/mobile/cmp/input/ButtonGroupInput.ts +1 -1
  574. package/mobile/cmp/input/Checkbox.ts +1 -1
  575. package/mobile/cmp/input/DateInput.ts +1 -1
  576. package/mobile/cmp/input/Label.ts +1 -1
  577. package/mobile/cmp/input/NumberInput.ts +1 -1
  578. package/mobile/cmp/input/SearchInput.ts +1 -1
  579. package/mobile/cmp/input/Select.scss +1 -1
  580. package/mobile/cmp/input/Select.ts +1 -1
  581. package/mobile/cmp/input/SwitchInput.ts +1 -1
  582. package/mobile/cmp/input/TextArea.ts +1 -1
  583. package/mobile/cmp/input/TextInput.ts +1 -1
  584. package/mobile/cmp/input/index.ts +1 -1
  585. package/mobile/cmp/loadingindicator/LoadingIndicator.ts +1 -1
  586. package/mobile/cmp/loadingindicator/index.ts +1 -1
  587. package/mobile/cmp/mask/Mask.ts +1 -1
  588. package/mobile/cmp/mask/index.ts +1 -1
  589. package/mobile/cmp/menu/MenuButton.ts +1 -1
  590. package/mobile/cmp/menu/impl/Menu.ts +1 -1
  591. package/mobile/cmp/menu/index.ts +1 -1
  592. package/mobile/cmp/navigator/Navigator.ts +1 -1
  593. package/mobile/cmp/navigator/NavigatorModel.ts +1 -1
  594. package/mobile/cmp/navigator/PageModel.ts +1 -1
  595. package/mobile/cmp/navigator/impl/Page.ts +1 -1
  596. package/mobile/cmp/navigator/impl/swipe/BackIndicator.ts +1 -1
  597. package/mobile/cmp/navigator/impl/swipe/RefreshIndicator.ts +1 -1
  598. package/mobile/cmp/navigator/impl/swipe/Swiper.scss +1 -1
  599. package/mobile/cmp/navigator/impl/swipe/Swiper.ts +1 -1
  600. package/mobile/cmp/navigator/impl/swipe/SwiperModel.ts +1 -1
  601. package/mobile/cmp/navigator/index.ts +1 -1
  602. package/mobile/cmp/panel/DialogPanel.ts +1 -1
  603. package/mobile/cmp/panel/Panel.ts +1 -1
  604. package/mobile/cmp/panel/impl/PanelHeader.ts +1 -1
  605. package/mobile/cmp/panel/index.ts +1 -1
  606. package/mobile/cmp/pinpad/impl/PinPad.ts +1 -1
  607. package/mobile/cmp/popover/Popover.ts +1 -1
  608. package/mobile/cmp/popover/index.ts +1 -1
  609. package/mobile/cmp/store/impl/StoreFilterField.ts +1 -1
  610. package/mobile/cmp/tab/impl/Tab.ts +1 -1
  611. package/mobile/cmp/tab/impl/TabContainer.ts +1 -1
  612. package/mobile/cmp/tab/impl/Tabs.scss +1 -1
  613. package/mobile/cmp/toolbar/Toolbar.scss +1 -1
  614. package/mobile/cmp/toolbar/Toolbar.ts +1 -1
  615. package/mobile/cmp/toolbar/ToolbarSeparator.ts +1 -1
  616. package/mobile/cmp/toolbar/index.ts +1 -1
  617. package/mobile/cmp/zoneGrid/impl/ZoneMapper.ts +1 -1
  618. package/mobx/decorators.ts +1 -1
  619. package/mobx/index.ts +1 -1
  620. package/mobx/overrides.ts +1 -1
  621. package/package.json +6 -6
  622. package/promise/Promise.ts +1 -1
  623. package/promise/index.ts +1 -1
  624. package/styles/XH.scss +1 -1
  625. package/styles/helpers.scss +7 -0
  626. package/styles/vars.scss +1 -1
  627. package/svc/AlertBannerService.ts +1 -1
  628. package/svc/AutoRefreshService.ts +1 -1
  629. package/svc/ChangelogService.ts +1 -1
  630. package/svc/ConfigService.ts +1 -1
  631. package/svc/EnvironmentService.ts +1 -1
  632. package/svc/FetchService.ts +1 -1
  633. package/svc/GridAutosizeService.ts +1 -1
  634. package/svc/GridExportService.ts +1 -1
  635. package/svc/IdentityService.ts +1 -1
  636. package/svc/IdleService.ts +1 -1
  637. package/svc/InspectorService.ts +1 -1
  638. package/svc/JsonBlobService.ts +1 -1
  639. package/svc/LocalStorageService.ts +1 -1
  640. package/svc/PrefService.ts +1 -1
  641. package/svc/TrackService.ts +1 -1
  642. package/svc/WebSocketService.ts +1 -1
  643. package/svc/index.ts +1 -1
  644. package/utils/async/AsyncUtils.ts +1 -1
  645. package/utils/async/Timer.ts +1 -1
  646. package/utils/async/index.ts +1 -1
  647. package/utils/datetime/DateTimeUtils.ts +1 -1
  648. package/utils/datetime/LocalDate.ts +1 -1
  649. package/utils/datetime/index.ts +1 -1
  650. package/utils/impl/Equals.ts +1 -1
  651. package/utils/impl/IsOmitted.ts +1 -1
  652. package/utils/impl/Separators.ts +1 -1
  653. package/utils/impl/TimeZone.ts +1 -1
  654. package/utils/impl/index.ts +1 -1
  655. package/utils/js/BrowserUtils.ts +1 -1
  656. package/utils/js/Decorators.ts +1 -1
  657. package/utils/js/DomUtils.ts +1 -1
  658. package/utils/js/HtmlUtils.ts +1 -1
  659. package/utils/js/LangUtils.ts +1 -1
  660. package/utils/js/LogUtils.ts +1 -1
  661. package/utils/js/TestUtils.ts +6 -0
  662. package/utils/js/VersionUtils.ts +1 -1
  663. package/utils/js/index.ts +1 -1
  664. package/utils/react/ClassName.ts +1 -1
  665. package/utils/react/Hooks.ts +1 -1
  666. package/utils/react/LayoutPropUtils.ts +1 -1
  667. package/utils/react/ObservableRef.ts +1 -1
  668. package/utils/react/ReactUtils.ts +1 -1
  669. package/utils/react/index.ts +1 -1
package/LICENSE.md CHANGED
@@ -175,7 +175,7 @@
175
175
 
176
176
  END OF TERMS AND CONDITIONS
177
177
 
178
- Copyright 2014-2022 Extremely Heavy Industries, Inc.
178
+ Copyright 2014-2024 Extremely Heavy Industries, Inc.
179
179
 
180
180
  Licensed under the Apache License, Version 2.0 (the "License");
181
181
  you may not use this file except in compliance with the License.
package/README.md CHANGED
@@ -403,4 +403,4 @@ will be filled in as soon as possible. These include planned notes on:
403
403
 
404
404
  📫☎️🌎 info@xh.io | <https://xh.io/contact>
405
405
 
406
- Copyright © 2023 Extremely Heavy Industries Inc.
406
+ Copyright © 2024 Extremely Heavy Industries Inc.
@@ -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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {XH} from '@xh/hoist/core';
8
8
  import {LocalDate} from '@xh/hoist/utils/datetime';
package/admin/App.scss 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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  .xh-admin-app-frame {
@@ -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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {tabContainer} from '@xh/hoist/cmp/tab';
8
8
  import {hoistCmp, uses} from '@xh/hoist/core';
package/admin/AppModel.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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {GridModel} from '@xh/hoist/cmp/grid';
8
8
  import {TabConfig, TabContainerModel} from '@xh/hoist/cmp/tab';
@@ -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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {ColumnSpec} from '@xh/hoist/cmp/grid';
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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {ColumnSpec} from '@xh/hoist/cmp/grid/columns';
8
8
  import * as Col from '@xh/hoist/cmp/grid/columns';
@@ -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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {RangeAggregator} from '@xh/hoist/admin/tabs/activity/aggregators/RangeAggregator';
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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {tagsRenderer} from '@xh/hoist/cmp/grid';
8
8
  import {ColumnSpec} from '@xh/hoist/cmp/grid/columns';
@@ -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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import * as Col from '@xh/hoist/cmp/grid/columns';
8
8
  import {truncate} from 'lodash';
@@ -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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  .xh-admin-diff-detail {
@@ -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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {grid} from '@xh/hoist/cmp/grid';
8
8
  import {filler, fragment, frame, 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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {filler, table, tbody, td, th, tr} from '@xh/hoist/cmp/layout';
8
8
  import {hoistCmp, uses} 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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {HoistModel} from '@xh/hoist/core';
8
8
  import {action, observable, makeObservable} 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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  import {GridModel} from '@xh/hoist/cmp/grid';
@@ -219,8 +219,8 @@ export class DifferModel extends HoistModel {
219
219
  status: this.rawRecordsAreEqual(local, remote)
220
220
  ? 'Identical'
221
221
  : remote
222
- ? 'Diff'
223
- : 'Local Only'
222
+ ? 'Diff'
223
+ : 'Local Only'
224
224
  });
225
225
 
226
226
  if (remote) {
@@ -278,8 +278,8 @@ export class DifferModel extends HoistModel {
278
278
  }
279
279
 
280
280
  confirmApplyRemote(records) {
281
- const filteredRecords = records.filter(it => !this.isPwd(it)),
282
- hadPwd = records.length !== filteredRecords.length,
281
+ const filteredRecords = records.filter(it => !this.isPwd(it) && !this.isOverridden(it)),
282
+ hadProtectedRecords = records.length !== filteredRecords.length,
283
283
  willDelete = filteredRecords.some(it => !it.data.remoteValue),
284
284
  confirmMsg = `Are you sure you want to apply remote values to ${pluralize(
285
285
  this.displayName,
@@ -299,8 +299,8 @@ export class DifferModel extends HoistModel {
299
299
  p(confirmMsg),
300
300
  p(prodWarning),
301
301
  p({
302
- omit: !hadPwd,
303
- item: 'Warning: No changes will be applied to password records. These must be changed manually.'
302
+ omit: !hadProtectedRecords,
303
+ item: 'Warning: No changes will be applied to password and/or overridden records. These must be changed manually.'
304
304
  }),
305
305
  p({omit: !willDelete, item: 'Warning: Operation includes deletions.'})
306
306
  );
@@ -322,6 +322,11 @@ export class DifferModel extends HoistModel {
322
322
  return localValue?.valueType === 'pwd' || remoteValue?.valueType === 'pwd';
323
323
  }
324
324
 
325
+ isOverridden(rec) {
326
+ const {localValue, remoteValue} = rec.data;
327
+ return !isNil(localValue?.overrideValue) || !isNil(remoteValue?.overrideValue);
328
+ }
329
+
325
330
  doApplyRemote(records) {
326
331
  const recsForPost = records.map(rec => {
327
332
  const ret = {remoteValue: omit(rec.data.remoteValue, 'lastUpdated', 'lastUpdatedBy')};
@@ -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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {filler} from '@xh/hoist/cmp/layout';
8
8
  import {hoistCmp, uses} 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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {uniq} from 'lodash';
8
8
  import {HoistModel, XH} from '@xh/hoist/core';
@@ -1,3 +1,10 @@
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 © 2024 Extremely Heavy Industries Inc.
6
+ */
7
+
1
8
  .xh-admin-activity-panel {
2
9
  .xh-toolbar .xh-form-field {
3
10
  margin: 0 0 0 var(--xh-tbar-item-pad-px);
@@ -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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {tabContainer} from '@xh/hoist/cmp/tab';
8
8
  import {hoistCmp} 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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  import {Aggregator} 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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {form} from '@xh/hoist/cmp/form';
8
8
  import {a, div, h3, hframe, span, vbox} from '@xh/hoist/cmp/layout';
@@ -38,7 +38,7 @@ export const clientErrorDetail = hoistCmp.factory<ClientErrorsModel>(({model}) =
38
38
  formField({field: 'username'}),
39
39
  formField({
40
40
  field: 'dateCreated',
41
- readonlyRenderer: fmtDateTimeSec
41
+ readonlyRenderer: v => fmtDateTimeSec(v)
42
42
  }),
43
43
  formField({field: 'appVersion'}),
44
44
  formField({
@@ -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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {exportFilename} from '@xh/hoist/admin/AdminUtils';
8
8
  import {FilterChooserModel} from '@xh/hoist/cmp/filter';
@@ -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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {grid, gridCountLabel} from '@xh/hoist/cmp/grid';
8
8
  import {hspacer} 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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {exportFilenameWithDate} from '@xh/hoist/admin/AdminUtils';
8
8
  import {AppModel} from '@xh/hoist/admin/AppModel';
@@ -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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {exportFilename} from '@xh/hoist/admin/AdminUtils';
8
8
  import {GroupingChooserModel} from '@xh/hoist/cmp/grouping';
@@ -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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {form} from '@xh/hoist/cmp/form';
8
8
  import {grid} 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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {ChartModel} from '@xh/hoist/cmp/chart';
8
8
  import {br, fragment} 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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {chart} from '@xh/hoist/cmp/chart';
8
8
  import {hoistCmp, creates} 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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {exportFilename} from '@xh/hoist/admin/AdminUtils';
8
8
  import {FormModel} 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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {form} from '@xh/hoist/cmp/form';
8
8
  import {grid, gridCountLabel} 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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {configPanel} from '@xh/hoist/admin/tabs/general/config/ConfigPanel';
8
8
  import {rolePanel} from '@xh/hoist/admin/tabs/general/roles/RolePanel';
@@ -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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  .xh-admin-about-panel {
@@ -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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {div, h2, hbox, span, table, tbody, td, th, tr, a, p} from '@xh/hoist/cmp/layout';
8
8
  import {relativeTimestamp} from '@xh/hoist/cmp/relativetimestamp';
@@ -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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {BannerModel} from '@xh/hoist/appcontainer/BannerModel';
8
8
  import {FormModel} 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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  .xh-alert-banner-panel {
8
8
  &__form-panel {
@@ -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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {AppModel} from '@xh/hoist/admin/AppModel';
8
8
  import {form} 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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {fragment} from '@xh/hoist/cmp/layout';
8
8
  import {creates, hoistCmp} from '@xh/hoist/core';
@@ -2,13 +2,15 @@
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 © 2023 Extremely Heavy Industries Inc.
5
+ * Copyright © 2024 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {exportFilenameWithDate} from '@xh/hoist/admin/AdminUtils';
8
8
  import {AppModel} from '@xh/hoist/admin/AppModel';
9
9
  import * as Col from '@xh/hoist/admin/columns';
10
+ import {hbox, hspacer} from '@xh/hoist/cmp/layout';
10
11
  import {HoistModel, LoadSpec, managed, XH} from '@xh/hoist/core';
11
12
  import {FieldSpec} from '@xh/hoist/data';
13
+ import {defaultReadonlyRenderer} from '@xh/hoist/desktop/cmp/form';
12
14
  import {textArea} from '@xh/hoist/desktop/cmp/input';
13
15
  import {
14
16
  addAction,
@@ -22,6 +24,7 @@ import {action, makeObservable, observable} from '@xh/hoist/mobx';
22
24
  import {isNil, truncate} from 'lodash';
23
25
  import {DifferModel} from '../../../differ/DifferModel';
24
26
  import {RegroupDialogModel} from '../../../regroup/RegroupDialogModel';
27
+ import {Icon} from '@xh/hoist/icon';
25
28
 
26
29
  export class ConfigPanelModel extends HoistModel {
27
30
  override persistWith = {localStorageKey: 'xhAdminConfigState'};
@@ -73,7 +76,12 @@ export class ConfigPanelModel extends HoistModel {
73
76
  {...(Col.clientVisible.field as FieldSpec), defaultValue: false, required},
74
77
  {...(Col.note.field as FieldSpec)},
75
78
  {...(Col.lastUpdated.field as FieldSpec), editable: false},
76
- {...(Col.lastUpdatedBy.field as FieldSpec), editable: false}
79
+ {...(Col.lastUpdatedBy.field as FieldSpec), editable: false},
80
+ {
81
+ name: 'overrideValue',
82
+ typeField: 'valueType',
83
+ editable: false
84
+ }
77
85
  ]
78
86
  }),
79
87
  actionWarning: {
@@ -97,7 +105,12 @@ export class ConfigPanelModel extends HoistModel {
97
105
  {...Col.groupName, hidden},
98
106
  {...Col.name},
99
107
  {...Col.valueType},
100
- {...Col.value, renderer: this.configRenderer, tooltip: this.configRenderer},
108
+ {
109
+ ...Col.value,
110
+ renderer: this.valueRenderer,
111
+ tooltip: this.valueTooltip,
112
+ rendererIsComplex: true
113
+ },
101
114
  {...Col.clientVisible},
102
115
  {...Col.note},
103
116
  {...Col.lastUpdatedBy, hidden},
@@ -108,6 +121,18 @@ export class ConfigPanelModel extends HoistModel {
108
121
  {field: 'groupName'},
109
122
  {field: 'valueType'},
110
123
  {field: 'value'},
124
+ {
125
+ field: 'overrideValue',
126
+ omit: isNil,
127
+ formField: {
128
+ className: 'xh-bg-intent-warning',
129
+ info: 'Editable (database) value overridden by instance config / env variable.',
130
+ readonlyRenderer: (v, model) =>
131
+ model.formModel.values.valueType === 'pwd'
132
+ ? '*****'
133
+ : defaultReadonlyRenderer(v)
134
+ }
135
+ },
111
136
  {field: 'note', formField: {item: textArea({height: 100})}},
112
137
  {field: 'clientVisible'},
113
138
  {field: 'lastUpdated'},
@@ -120,17 +145,6 @@ export class ConfigPanelModel extends HoistModel {
120
145
  return this.gridModel.loadAsync(loadSpec).catchDefault();
121
146
  }
122
147
 
123
- configRenderer(value, {record}) {
124
- switch (record.data.valueType) {
125
- case 'pwd':
126
- return '*****';
127
- case 'json':
128
- return truncate(value, {length: 500});
129
- default:
130
- return value?.toString();
131
- }
132
- }
133
-
134
148
  @action
135
149
  openDiffer() {
136
150
  this.differModel = new DifferModel({
@@ -140,7 +154,11 @@ export class ConfigPanelModel extends HoistModel {
140
154
  matchFields: ['name'],
141
155
  valueRenderer: v => {
142
156
  if (isNil(v)) return '';
143
- return v.valueType === 'pwd' ? '*****' : v.value;
157
+ return v.valueType === 'pwd'
158
+ ? '*****'
159
+ : !isNil(v.overrideValue)
160
+ ? this.withOverrideWarning(v.value)
161
+ : v.value;
144
162
  }
145
163
  });
146
164
  }
@@ -151,4 +169,37 @@ export class ConfigPanelModel extends HoistModel {
151
169
  this.differModel = null;
152
170
  XH.safeDestroy(differModel);
153
171
  }
172
+
173
+ private valueRenderer = (value, {record}) => {
174
+ value = this.fmtValue(value, record);
175
+ if (isNil(record.get('overrideValue'))) return value;
176
+ return this.withOverrideWarning(value);
177
+ };
178
+
179
+ private valueTooltip = (value, {record}) =>
180
+ !isNil(record.get('overrideValue'))
181
+ ? 'Overridden by instance config / env variable. Open to view effective value.'
182
+ : this.fmtValue(value, record);
183
+
184
+ private fmtValue(value, record) {
185
+ switch (record.data.valueType) {
186
+ case 'pwd':
187
+ return '*****';
188
+ case 'json':
189
+ return truncate(value, {length: 500});
190
+ default:
191
+ return value?.toString();
192
+ }
193
+ }
194
+
195
+ private withOverrideWarning(value) {
196
+ return hbox({
197
+ alignItems: 'center',
198
+ items: [Icon.warning({intent: 'warning', prefix: 'fas'}), hspacer(), value],
199
+ style: {
200
+ color: 'var(--xh-text-color-muted)',
201
+ textDecoration: 'line-through'
202
+ }
203
+ });
204
+ }
154
205
  }
@@ -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 © 2024 Extremely Heavy Industries Inc.
6
+ */
1
7
  import {FilterChooserModel} from '@xh/hoist/cmp/filter';
2
8
  import {GridModel} from '@xh/hoist/cmp/grid';
3
9
  import * as Col from '@xh/hoist/cmp/grid/columns';
@@ -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 © 2024 Extremely Heavy Industries Inc.
6
+ */
1
7
  import {roleGraph} from '@xh/hoist/admin/tabs/general/roles/graph/RoleGraph';
2
8
  import {grid} from '@xh/hoist/cmp/grid';
3
9
  import {filler, fragment, hframe, vframe} from '@xh/hoist/cmp/layout';
@@ -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 © 2024 Extremely Heavy Industries Inc.
6
+ */
1
7
  export interface HoistRole {
2
8
  name: string;
3
9
  category: string;
@@ -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 © 2024 Extremely Heavy Industries Inc.
6
+ */
1
7
  import {RoleDetailsModel} from '@xh/hoist/admin/tabs/general/roles/details/RoleDetailsModel';
2
8
  import {form} from '@xh/hoist/cmp/form';
3
9
  import {div, frame, placeholder, span, vframe} from '@xh/hoist/cmp/layout';
@@ -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 © 2024 Extremely Heavy Industries Inc.
6
+ */
1
7
  import {roleMembers} from '@xh/hoist/admin/tabs/general/roles/details/members/RoleMembers';
2
8
  import {RoleModel} from '@xh/hoist/admin/tabs/general/roles/RoleModel';
3
9
  import {FormModel} from '@xh/hoist/cmp/form';
@@ -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 © 2024 Extremely Heavy Industries Inc.
6
+ */
1
7
  import {RoleMembersModel} from '@xh/hoist/admin/tabs/general/roles/details/members/RoleMembersModel';
2
8
  import {RoleMemberType} from '@xh/hoist/admin/tabs/general/roles/Types';
3
9
  import {warningBanner} from '@xh/hoist/admin/tabs/general/roles/warning/WarningBanner';