@xh/hoist 56.3.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.
- package/CHANGELOG.md +47 -1
- package/README.md +1 -1
- package/admin/App.scss +1 -1
- package/admin/App.ts +6 -0
- package/admin/AppComponent.ts +1 -1
- package/admin/AppModel.ts +1 -1
- package/admin/columns/Core.ts +1 -1
- package/admin/columns/Rest.ts +1 -1
- package/admin/columns/Tracking.ts +1 -1
- package/admin/columns/User.ts +1 -1
- package/admin/columns/UserData.ts +1 -1
- package/admin/differ/Differ.scss +1 -1
- package/admin/differ/Differ.ts +1 -1
- package/admin/differ/DifferDetail.ts +1 -1
- package/admin/differ/DifferDetailModel.ts +1 -1
- package/admin/differ/DifferModel.ts +1 -1
- package/admin/regroup/RegroupDialog.ts +1 -1
- package/admin/regroup/RegroupDialogModel.ts +1 -1
- package/admin/tabs/activity/ActivityTab.ts +1 -1
- package/admin/tabs/activity/aggregators/RangeAggregator.ts +1 -1
- package/admin/tabs/activity/clienterrors/ClientErrorDetail.ts +1 -1
- package/admin/tabs/activity/clienterrors/ClientErrorsModel.ts +1 -1
- package/admin/tabs/activity/clienterrors/ClientErrorsPanel.ts +1 -1
- package/admin/tabs/activity/feedback/FeedbackPanel.ts +1 -1
- package/admin/tabs/activity/tracking/ActivityTrackingModel.ts +1 -1
- package/admin/tabs/activity/tracking/ActivityTrackingPanel.ts +1 -1
- package/admin/tabs/activity/tracking/charts/ChartsModel.ts +1 -1
- package/admin/tabs/activity/tracking/charts/ChartsPanel.ts +1 -1
- package/admin/tabs/activity/tracking/detail/ActivityDetailModel.ts +1 -1
- package/admin/tabs/activity/tracking/detail/ActivityDetailView.ts +1 -1
- package/admin/tabs/general/GeneralTab.ts +1 -1
- package/admin/tabs/general/about/AboutPanel.scss +1 -1
- package/admin/tabs/general/about/AboutPanel.ts +1 -1
- package/admin/tabs/general/alertBanner/AlertBannerModel.ts +1 -1
- package/admin/tabs/general/alertBanner/AlertBannerPanel.scss +1 -1
- package/admin/tabs/general/alertBanner/AlertBannerPanel.ts +1 -1
- package/admin/tabs/general/config/ConfigPanel.ts +1 -1
- package/admin/tabs/general/config/ConfigPanelModel.ts +1 -1
- package/admin/tabs/general/users/UserModel.ts +1 -1
- package/admin/tabs/general/users/UserPanel.ts +1 -1
- package/admin/tabs/monitor/MonitorColumns.ts +1 -1
- package/admin/tabs/monitor/MonitorEditorPanel.ts +1 -1
- package/admin/tabs/monitor/MonitorResultsModel.ts +1 -1
- package/admin/tabs/monitor/MonitorResultsPanel.scss +1 -1
- package/admin/tabs/monitor/MonitorResultsPanel.ts +1 -1
- package/admin/tabs/monitor/MonitorResultsToolbar.ts +1 -1
- package/admin/tabs/monitor/MonitorTab.ts +1 -1
- package/admin/tabs/monitor/Tile.scss +1 -1
- package/admin/tabs/monitor/Tile.ts +1 -1
- package/admin/tabs/server/ServerTab.ts +1 -1
- package/admin/tabs/server/ehcache/EhCacheModel.ts +1 -1
- package/admin/tabs/server/ehcache/EhCachePanel.ts +1 -1
- package/admin/tabs/server/environment/ServerEnvModel.ts +1 -1
- package/admin/tabs/server/environment/ServerEnvPanel.ts +1 -1
- package/admin/tabs/server/logLevel/LogLevelColumns.ts +1 -1
- package/admin/tabs/server/logLevel/LogLevelPanel.ts +1 -1
- package/admin/tabs/server/logViewer/LogDisplay.ts +28 -8
- package/admin/tabs/server/logViewer/LogDisplayModel.ts +12 -3
- package/admin/tabs/server/logViewer/LogViewer.scss +11 -1
- package/admin/tabs/server/logViewer/LogViewer.ts +1 -1
- package/admin/tabs/server/logViewer/LogViewerModel.ts +1 -1
- package/admin/tabs/server/memory/MemoryMonitorModel.ts +1 -1
- package/admin/tabs/server/memory/MemoryMonitorPanel.ts +1 -1
- package/admin/tabs/server/services/ServiceModel.ts +1 -1
- package/admin/tabs/server/services/ServicePanel.ts +1 -1
- package/admin/tabs/server/websocket/WebSocketColumns.ts +1 -1
- package/admin/tabs/server/websocket/WebSocketModel.ts +1 -1
- package/admin/tabs/server/websocket/WebSocketPanel.ts +1 -1
- package/admin/tabs/userData/JsonBlobColumns.ts +1 -1
- package/admin/tabs/userData/JsonBlobModel.ts +1 -1
- package/admin/tabs/userData/JsonBlobPanel.ts +1 -1
- package/admin/tabs/userData/PreferenceModel.ts +1 -1
- package/admin/tabs/userData/PreferencePanel.ts +1 -1
- package/admin/tabs/userData/UserDataTab.ts +1 -1
- package/admin/tabs/userData/UserPreferencePanel.ts +1 -1
- package/appcontainer/AboutDialogModel.ts +1 -1
- package/appcontainer/AppContainerModel.ts +1 -1
- package/appcontainer/AppOption.ts +1 -1
- package/appcontainer/BannerModel.ts +1 -1
- package/appcontainer/BannerSourceModel.ts +1 -1
- package/appcontainer/ChangelogDialogModel.ts +1 -1
- package/appcontainer/ErrorBoundary.ts +1 -1
- package/appcontainer/ExceptionDialogModel.ts +1 -1
- package/appcontainer/FeedbackDialogModel.ts +1 -1
- package/appcontainer/ImpersonationBarModel.ts +1 -1
- package/appcontainer/MessageModel.ts +1 -1
- package/appcontainer/MessageSourceModel.ts +1 -1
- package/appcontainer/OptionsDialogModel.ts +1 -1
- package/appcontainer/SizingModeModel.ts +1 -1
- package/appcontainer/ThemeModel.ts +1 -1
- package/appcontainer/ToastModel.ts +1 -1
- package/appcontainer/ToastSourceModel.ts +1 -1
- package/appcontainer/ViewportSizeModel.ts +1 -1
- package/appcontainer/login/LoginPanelModel.ts +1 -1
- package/cmp/ag-grid/AgGrid.scss +1 -1
- package/cmp/ag-grid/AgGrid.ts +1 -1
- package/cmp/ag-grid/AgGridModel.ts +1 -1
- package/cmp/badge/Badge.ts +1 -1
- package/cmp/chart/Chart.ts +1 -1
- package/cmp/chart/ChartModel.ts +1 -1
- package/cmp/chart/impl/copyToClipboard.ts +1 -1
- package/cmp/chart/impl/zoomout.ts +1 -1
- package/cmp/chart/theme/Dark.ts +1 -1
- package/cmp/chart/theme/Light.ts +1 -1
- package/cmp/clock/Clock.ts +1 -1
- package/cmp/dataview/DataView.scss +1 -1
- package/cmp/dataview/DataView.ts +25 -9
- package/cmp/dataview/DataViewModel.ts +1 -1
- package/cmp/filter/FilterChooserFieldSpec.ts +1 -1
- package/cmp/filter/FilterChooserModel.ts +1 -1
- package/cmp/filter/impl/Option.ts +1 -1
- package/cmp/filter/impl/QueryEngine.ts +1 -1
- package/cmp/form/BaseFormFieldProps.ts +1 -1
- package/cmp/form/Form.ts +1 -1
- package/cmp/form/FormModel.ts +1 -1
- package/cmp/form/field/BaseFieldModel.ts +1 -1
- package/cmp/form/field/FieldModel.ts +1 -1
- package/cmp/form/field/SubformsFieldModel.ts +1 -1
- package/cmp/form/index.ts +1 -1
- package/cmp/grid/Grid.scss +1 -1
- package/cmp/grid/Grid.ts +3 -3
- package/cmp/grid/GridAutosizeOptions.ts +1 -1
- package/cmp/grid/GridContextMenu.ts +1 -1
- package/cmp/grid/GridModel.ts +12 -7
- package/cmp/grid/GridSorter.ts +1 -1
- package/cmp/grid/Types.ts +1 -1
- package/cmp/grid/columns/Column.ts +2 -2
- package/cmp/grid/columns/ColumnGroup.ts +1 -1
- package/cmp/grid/columns/Core.ts +1 -1
- package/cmp/grid/columns/DatesTimes.ts +1 -1
- package/cmp/grid/columns/index.ts +1 -1
- package/cmp/grid/enums/ExcelFormat.ts +1 -1
- package/cmp/grid/enums/GridAutosizeMode.ts +1 -1
- package/cmp/grid/enums/TreeStyle.ts +1 -1
- package/cmp/grid/filter/GridFilterFieldSpec.ts +1 -1
- package/cmp/grid/filter/GridFilterModel.ts +1 -1
- package/cmp/grid/helpers/GridCountLabel.ts +1 -1
- package/cmp/grid/impl/ColumnGroupHeader.ts +1 -1
- package/cmp/grid/impl/ColumnHeader.ts +1 -1
- package/cmp/grid/impl/ColumnWidthCalculator.ts +1 -1
- package/cmp/grid/impl/GridPersistenceModel.ts +1 -1
- package/cmp/grid/impl/MenuSupport.ts +1 -1
- package/cmp/grid/impl/RowKeyNavSupport.ts +1 -1
- package/cmp/grid/impl/Utils.ts +6 -0
- package/cmp/grid/index.ts +1 -1
- package/cmp/grid/renderers/MultiFieldRenderer.ts +1 -1
- package/cmp/grid/renderers/TagsRenderer.ts +1 -1
- package/cmp/grouping/GroupingChooserModel.ts +25 -9
- package/cmp/input/HoistInput.scss +1 -1
- package/cmp/input/HoistInputModel.ts +1 -1
- package/cmp/input/HoistInputProps.ts +1 -1
- package/cmp/layout/Box.ts +1 -1
- package/cmp/layout/Frame.ts +1 -1
- package/cmp/layout/Placeholder.ts +1 -1
- package/cmp/layout/Spacer.ts +1 -1
- package/cmp/layout/Tags.ts +1 -1
- package/cmp/layout/TileFrame.scss +1 -1
- package/cmp/layout/TileFrame.ts +1 -1
- package/cmp/layout/Viewport.ts +1 -1
- package/cmp/pinpad/PinPad.ts +1 -1
- package/cmp/pinpad/PinPadModel.ts +1 -1
- package/cmp/relativetimestamp/RelativeTimestamp.ts +1 -1
- package/cmp/spinner/Spinner.ts +1 -1
- package/cmp/store/StoreCountLabel.ts +1 -1
- package/cmp/store/StoreFilterField.ts +1 -1
- package/cmp/store/impl/StoreFilterFieldImplModel.ts +1 -1
- package/cmp/tab/TabContainer.ts +1 -1
- package/cmp/tab/TabContainerModel.ts +1 -1
- package/cmp/tab/TabModel.ts +1 -1
- package/cmp/tab/TabSwitcherProps.ts +6 -0
- package/cmp/websocket/WebSocketIndicator.ts +1 -1
- package/core/AppSpec.ts +1 -3
- package/core/AppState.ts +1 -1
- package/core/HoistAppModel.ts +1 -1
- package/core/HoistBase.ts +2 -2
- package/core/HoistBaseDecorators.ts +1 -1
- package/core/HoistComponent.ts +1 -1
- package/core/HoistProps.ts +1 -1
- package/core/HoistService.ts +1 -1
- package/core/RefreshContextView.ts +1 -1
- package/core/RouterModel.ts +1 -1
- package/core/TaskObserver.ts +1 -1
- package/core/XH.ts +1 -1
- package/core/elem.ts +1 -1
- package/core/enums/RefreshMode.ts +1 -1
- package/core/enums/RenderMode.ts +1 -1
- package/core/enums/SizingMode.ts +1 -1
- package/core/exception/Exception.ts +1 -1
- package/core/exception/ExceptionHandler.ts +1 -1
- package/core/exception/Types.ts +6 -0
- package/core/impl/InstallServices.ts +1 -1
- package/core/impl/InstanceManager.ts +1 -1
- package/core/impl/PlatformManager.ts +1 -1
- package/core/load/LoadSpec.ts +1 -1
- package/core/load/LoadSupport.ts +1 -1
- package/core/load/Loadable.ts +1 -1
- package/core/model/CreatesSpec.ts +1 -1
- package/core/model/HoistModel.ts +1 -1
- package/core/model/Hooks.ts +3 -3
- package/core/model/ManagedRefreshContextModel.ts +1 -1
- package/core/model/ModelLookup.ts +1 -1
- package/core/model/ModelSelector.ts +1 -1
- package/core/model/ModelSpec.ts +1 -1
- package/core/model/RefreshContextModel.ts +1 -1
- package/core/model/RootRefreshContextModel.ts +1 -1
- package/core/model/UsesSpec.ts +1 -1
- package/core/persist/CustomProvider.ts +1 -1
- package/core/persist/DashViewProvider.ts +1 -1
- package/core/persist/LocalStorageProvider.ts +1 -1
- package/core/persist/PersistOptions.ts +1 -1
- package/core/persist/PersistenceProvider.ts +1 -1
- package/core/persist/PrefProvider.ts +1 -1
- package/core/types/Interfaces.ts +1 -1
- package/core/types/Types.ts +1 -1
- package/data/Field.ts +1 -1
- package/data/RecordAction.ts +1 -1
- package/data/Store.ts +1 -1
- package/data/StoreRecord.ts +1 -1
- package/data/StoreSelectionModel.ts +1 -1
- package/data/UrlStore.ts +1 -1
- package/data/cube/BucketSpec.ts +1 -1
- package/data/cube/Cube.ts +2 -2
- package/data/cube/CubeField.ts +1 -1
- package/data/cube/Query.ts +1 -1
- package/data/cube/View.ts +1 -1
- package/data/cube/aggregate/AggregationContext.ts +1 -1
- package/data/cube/aggregate/Aggregator.ts +1 -1
- package/data/cube/aggregate/AverageAggregator.ts +1 -1
- package/data/cube/aggregate/AverageStrictAggregator.ts +1 -1
- package/data/cube/aggregate/ChildCountAggregator.ts +1 -1
- package/data/cube/aggregate/LeafCountAggregator.ts +1 -1
- package/data/cube/aggregate/MaxAggregator.ts +1 -1
- package/data/cube/aggregate/MinAggregator.ts +1 -1
- package/data/cube/aggregate/NullAggregator.ts +1 -1
- package/data/cube/aggregate/SingleAggregator.ts +1 -1
- package/data/cube/aggregate/SumAggregator.ts +1 -1
- package/data/cube/aggregate/SumStrictAggregator.ts +1 -1
- package/data/cube/aggregate/UniqueAggregator.ts +1 -1
- package/data/cube/row/AggregateRow.ts +1 -1
- package/data/cube/row/BaseRow.ts +1 -1
- package/data/cube/row/BucketRow.ts +1 -1
- package/data/cube/row/LeafRow.ts +1 -1
- package/data/cube/row/RowUpdate.ts +1 -1
- package/data/filter/BaseFilterFieldSpec.ts +1 -1
- package/data/filter/CompoundFilter.ts +1 -1
- package/data/filter/FieldFilter.ts +41 -55
- package/data/filter/Filter.ts +1 -1
- package/data/filter/FunctionFilter.ts +1 -1
- package/data/filter/Types.ts +1 -1
- package/data/filter/Utils.ts +1 -1
- package/data/impl/RecordSet.ts +1 -1
- package/data/impl/RecordValidator.ts +1 -1
- package/data/impl/StoreValidator.ts +1 -1
- package/data/index.ts +1 -1
- package/data/validation/Rule.ts +1 -1
- package/data/validation/ValidationState.ts +1 -1
- package/data/validation/constraints.ts +1 -1
- package/deprecated/index.ts +1 -1
- package/desktop/appcontainer/AboutDialog.scss +1 -1
- package/desktop/appcontainer/AboutDialog.ts +1 -1
- package/desktop/appcontainer/AppContainer.ts +1 -1
- package/desktop/appcontainer/Banner.scss +1 -1
- package/desktop/appcontainer/Banner.ts +1 -1
- package/desktop/appcontainer/ChangelogDialog.ts +1 -1
- package/desktop/appcontainer/ExceptionDialog.scss +1 -1
- package/desktop/appcontainer/ExceptionDialog.ts +1 -1
- package/desktop/appcontainer/ExceptionDialogDetails.ts +1 -1
- package/desktop/appcontainer/FeedbackDialog.ts +1 -1
- package/desktop/appcontainer/IdlePanel.scss +1 -1
- package/desktop/appcontainer/IdlePanel.ts +1 -1
- package/desktop/appcontainer/ImpersonationBar.ts +1 -1
- package/desktop/appcontainer/LockoutPanel.scss +1 -1
- package/desktop/appcontainer/LockoutPanel.ts +1 -1
- package/desktop/appcontainer/LoginPanel.scss +1 -1
- package/desktop/appcontainer/LoginPanel.ts +1 -1
- package/desktop/appcontainer/Message.scss +1 -1
- package/desktop/appcontainer/Message.ts +1 -1
- package/desktop/appcontainer/MessageSource.ts +1 -1
- package/desktop/appcontainer/OptionsDialog.scss +1 -1
- package/desktop/appcontainer/OptionsDialog.ts +1 -1
- package/desktop/appcontainer/SuspendPanel.scss +1 -1
- package/desktop/appcontainer/SuspendPanel.ts +1 -1
- package/desktop/appcontainer/Toast.scss +1 -1
- package/desktop/appcontainer/ToastSource.ts +1 -1
- package/desktop/appcontainer/VersionBar.scss +1 -1
- package/desktop/appcontainer/VersionBar.ts +1 -1
- package/desktop/appcontainer/index.ts +1 -1
- package/desktop/cmp/appOption/AutoRefreshAppOption.ts +1 -1
- package/desktop/cmp/appOption/SizingModeAppOption.ts +1 -1
- package/desktop/cmp/appOption/ThemeAppOption.ts +1 -1
- package/desktop/cmp/appbar/AppBar.scss +1 -1
- package/desktop/cmp/appbar/AppBar.ts +1 -1
- package/desktop/cmp/appbar/AppBarSeparator.ts +1 -1
- package/desktop/cmp/button/AppMenuButton.ts +1 -1
- package/desktop/cmp/button/Button.scss +1 -1
- package/desktop/cmp/button/Button.ts +1 -1
- package/desktop/cmp/button/ButtonGroup.ts +1 -1
- package/desktop/cmp/button/ColAutosizeButton.ts +1 -1
- package/desktop/cmp/button/ColChooserButton.ts +1 -1
- package/desktop/cmp/button/DashCanvasAddViewButton.ts +1 -1
- package/desktop/cmp/button/ExportButton.ts +1 -1
- package/desktop/cmp/button/FeedbackButton.ts +1 -1
- package/desktop/cmp/button/LaunchAdminButton.ts +1 -1
- package/desktop/cmp/button/LogoutButton.ts +1 -1
- package/desktop/cmp/button/ModalToggleButton.ts +1 -1
- package/desktop/cmp/button/OptionsButton.ts +1 -1
- package/desktop/cmp/button/RefreshButton.ts +1 -1
- package/desktop/cmp/button/RestoreDefaultsButton.ts +1 -1
- package/desktop/cmp/button/ThemeToggleButton.ts +1 -1
- package/desktop/cmp/button/WhatsNewButton.ts +1 -1
- package/desktop/cmp/clipboard/ClipboardButton.ts +1 -1
- package/desktop/cmp/clipboard/ClipboardMenuItem.ts +1 -1
- package/desktop/cmp/contextmenu/ContextMenu.ts +1 -1
- package/desktop/cmp/dash/DashConfig.ts +1 -1
- package/desktop/cmp/dash/DashModel.ts +1 -1
- package/desktop/cmp/dash/DashViewModel.ts +1 -1
- package/desktop/cmp/dash/DashViewSpec.ts +1 -1
- package/desktop/cmp/dash/canvas/DashCanvas.ts +1 -1
- package/desktop/cmp/dash/canvas/DashCanvasModel.ts +1 -1
- package/desktop/cmp/dash/canvas/DashCanvasViewModel.ts +1 -1
- package/desktop/cmp/dash/canvas/DashCanvasViewSpec.ts +1 -1
- package/desktop/cmp/dash/canvas/impl/DashCanvasContextMenu.ts +1 -1
- package/desktop/cmp/dash/canvas/impl/DashCanvasView.ts +1 -1
- package/desktop/cmp/dash/canvas/impl/utils.ts +1 -1
- package/desktop/cmp/dash/container/DashContainer.ts +1 -1
- package/desktop/cmp/dash/container/DashContainerModel.ts +1 -1
- package/desktop/cmp/dash/container/DashContainerViewSpec.ts +1 -1
- package/desktop/cmp/dash/container/impl/DashContainerContextMenu.ts +1 -1
- package/desktop/cmp/dash/container/impl/DashContainerMenuButton.ts +1 -1
- package/desktop/cmp/dash/container/impl/DashContainerUtils.ts +1 -1
- package/desktop/cmp/dash/container/impl/DashContainerView.ts +1 -1
- package/desktop/cmp/dock/DockContainer.ts +1 -1
- package/desktop/cmp/dock/DockContainerModel.ts +1 -1
- package/desktop/cmp/dock/DockViewModel.ts +1 -1
- package/desktop/cmp/dock/impl/Dock.scss +1 -1
- package/desktop/cmp/dock/impl/DockContainer.ts +1 -1
- package/desktop/cmp/dock/impl/DockView.ts +1 -1
- package/desktop/cmp/error/ErrorMessage.ts +1 -1
- package/desktop/cmp/filechooser/FileChooser.scss +1 -1
- package/desktop/cmp/filechooser/FileChooser.ts +1 -1
- package/desktop/cmp/filechooser/FileChooserModel.ts +1 -1
- package/desktop/cmp/filter/FilterChooser.scss +1 -1
- package/desktop/cmp/filter/FilterChooser.ts +1 -1
- package/desktop/cmp/form/FormField.scss +1 -1
- package/desktop/cmp/form/FormField.ts +1 -1
- package/desktop/cmp/grid/columns/Actions.scss +1 -1
- package/desktop/cmp/grid/columns/Actions.ts +1 -1
- package/desktop/cmp/grid/editors/BooleanEditor.ts +1 -1
- package/desktop/cmp/grid/editors/DateEditor.ts +1 -1
- package/desktop/cmp/grid/editors/EditorProps.ts +1 -1
- package/desktop/cmp/grid/editors/NumberEditor.ts +1 -1
- package/desktop/cmp/grid/editors/SelectEditor.ts +1 -1
- package/desktop/cmp/grid/editors/TextAreaEditor.ts +1 -1
- package/desktop/cmp/grid/editors/TextEditor.ts +1 -1
- package/desktop/cmp/grid/editors/impl/InlineEditorModel.ts +1 -1
- package/desktop/cmp/grid/editors/index.ts +1 -1
- package/desktop/cmp/grid/find/GridFindField.ts +1 -1
- package/desktop/cmp/grid/find/impl/GridFindFieldImplModel.ts +1 -1
- package/desktop/cmp/grid/impl/colchooser/ColChooser.ts +1 -1
- package/desktop/cmp/grid/impl/colchooser/ColChooserDialog.ts +1 -1
- package/desktop/cmp/grid/impl/colchooser/ColChooserModel.ts +1 -1
- package/desktop/cmp/grid/impl/filter/ColumnHeaderFilter.scss +1 -1
- package/desktop/cmp/grid/impl/filter/ColumnHeaderFilter.ts +1 -1
- package/desktop/cmp/grid/impl/filter/ColumnHeaderFilterModel.ts +1 -1
- package/desktop/cmp/grid/impl/filter/GridFilterDialog.ts +1 -1
- package/desktop/cmp/grid/impl/filter/custom/CustomRow.ts +1 -1
- package/desktop/cmp/grid/impl/filter/custom/CustomRowModel.ts +1 -1
- package/desktop/cmp/grid/impl/filter/custom/CustomTab.ts +1 -1
- package/desktop/cmp/grid/impl/filter/custom/CustomTabModel.ts +1 -1
- package/desktop/cmp/grid/impl/filter/values/ValuesTab.ts +1 -1
- package/desktop/cmp/grid/impl/filter/values/ValuesTabModel.ts +2 -2
- package/desktop/cmp/grouping/GroupingChooser.scss +1 -1
- package/desktop/cmp/grouping/GroupingChooser.ts +39 -23
- package/desktop/cmp/input/ButtonGroupInput.ts +1 -1
- package/desktop/cmp/input/Checkbox.ts +1 -1
- package/desktop/cmp/input/CodeInput.scss +1 -1
- package/desktop/cmp/input/CodeInput.ts +5 -5
- package/desktop/cmp/input/DateInput.scss +1 -1
- package/desktop/cmp/input/DateInput.ts +1 -1
- package/desktop/cmp/input/JsonInput.ts +1 -1
- package/desktop/cmp/input/NumberInput.ts +1 -1
- package/desktop/cmp/input/RadioInput.scss +1 -1
- package/desktop/cmp/input/RadioInput.ts +1 -1
- package/desktop/cmp/input/Select.scss +9 -1
- package/desktop/cmp/input/Select.ts +47 -9
- package/desktop/cmp/input/Slider.scss +1 -1
- package/desktop/cmp/input/Slider.ts +1 -1
- package/desktop/cmp/input/SwitchInput.scss +1 -1
- package/desktop/cmp/input/SwitchInput.ts +1 -1
- package/desktop/cmp/input/TextArea.scss +1 -1
- package/desktop/cmp/input/TextArea.ts +1 -1
- package/desktop/cmp/input/TextInput.ts +1 -1
- package/desktop/cmp/leftrightchooser/LeftRightChooser.scss +1 -1
- package/desktop/cmp/leftrightchooser/LeftRightChooser.ts +1 -1
- package/desktop/cmp/leftrightchooser/LeftRightChooserFilter.ts +1 -1
- package/desktop/cmp/leftrightchooser/LeftRightChooserModel.ts +1 -1
- package/desktop/cmp/leftrightchooser/impl/ChooserToolbar.ts +1 -1
- package/desktop/cmp/leftrightchooser/impl/Description.ts +1 -1
- package/desktop/cmp/loadingindicator/LoadingIndicator.ts +1 -1
- package/desktop/cmp/loadingindicator/index.ts +1 -1
- package/desktop/cmp/mask/Mask.ts +1 -1
- package/desktop/cmp/mask/index.ts +1 -1
- package/desktop/cmp/modalsupport/ModalSupport.ts +5 -5
- package/desktop/cmp/modalsupport/ModalSupportModel.ts +1 -1
- package/desktop/cmp/modalsupport/index.ts +1 -1
- package/desktop/cmp/panel/Panel.ts +1 -1
- package/desktop/cmp/panel/PanelModel.ts +1 -1
- package/desktop/cmp/panel/impl/PanelHeader.ts +1 -1
- package/desktop/cmp/panel/impl/ResizeContainer.ts +1 -1
- package/desktop/cmp/panel/impl/Splitter.ts +1 -1
- package/desktop/cmp/panel/impl/dragger/Dragger.ts +1 -1
- package/desktop/cmp/panel/impl/dragger/DraggerModel.ts +1 -1
- package/desktop/cmp/panel/index.ts +1 -1
- package/desktop/cmp/pinpad/impl/PinPad.ts +1 -1
- package/desktop/cmp/record/RecordActionBar.ts +1 -1
- package/desktop/cmp/record/impl/RecordActionButton.ts +1 -1
- package/desktop/cmp/record/index.ts +1 -1
- package/desktop/cmp/rest/Actions.ts +1 -1
- package/desktop/cmp/rest/RestGrid.ts +1 -1
- package/desktop/cmp/rest/RestGridModel.ts +1 -1
- package/desktop/cmp/rest/data/RestField.ts +1 -1
- package/desktop/cmp/rest/data/RestStore.ts +1 -1
- package/desktop/cmp/rest/impl/RestForm.ts +1 -1
- package/desktop/cmp/rest/impl/RestFormField.ts +1 -1
- package/desktop/cmp/rest/impl/RestFormModel.ts +1 -1
- package/desktop/cmp/rest/impl/RestGridToolbar.ts +1 -1
- package/desktop/cmp/rest/index.ts +1 -1
- package/desktop/cmp/store/impl/StoreFilterField.ts +1 -1
- package/desktop/cmp/tab/TabSwitcher.ts +1 -1
- package/desktop/cmp/tab/Tabs.scss +1 -1
- package/desktop/cmp/tab/impl/Tab.ts +1 -1
- package/desktop/cmp/tab/impl/TabContainer.ts +1 -1
- package/desktop/cmp/tab/index.ts +1 -1
- package/desktop/cmp/toolbar/Toolbar.ts +1 -1
- package/desktop/cmp/toolbar/ToolbarSep.ts +1 -1
- package/desktop/cmp/toolbar/index.ts +1 -1
- package/desktop/cmp/treemap/SplitTreeMap.ts +1 -1
- package/desktop/cmp/treemap/SplitTreeMapModel.ts +1 -1
- package/desktop/cmp/treemap/TreeMap.ts +1 -1
- package/desktop/cmp/treemap/TreeMapModel.ts +1 -1
- package/desktop/cmp/treemap/impl/Splitter.ts +1 -1
- package/desktop/cmp/treemap/index.ts +1 -1
- package/desktop/hooks/UseContextMenu.ts +1 -1
- package/desktop/hooks/UseHotkeys.ts +1 -1
- package/desktop/hooks/index.ts +1 -1
- package/docs/build-and-deploy.md +1 -1
- package/docs/development-environment.md +1 -1
- package/dynamics/desktop.ts +1 -1
- package/dynamics/mobile.ts +1 -1
- package/format/FormatDate.ts +1 -1
- package/format/FormatMisc.ts +1 -1
- package/format/FormatNumber.ts +1 -1
- package/format/FormatUtils.ts +1 -1
- package/format/impl/Utils.ts +1 -1
- package/format/index.ts +1 -1
- package/icon/Icon.ts +1 -1
- package/icon/XHLogo.tsx +1 -2
- package/icon/impl/IconCmp.ts +1 -1
- package/icon/impl/IconHtml.ts +1 -1
- package/icon/index.ts +1 -1
- package/inspector/InspectorPanel.ts +6 -0
- package/inspector/instances/InstancesModel.ts +6 -0
- package/inspector/instances/InstancesPanel.ts +6 -0
- package/inspector/stats/StatsModel.ts +6 -0
- package/inspector/stats/StatsPanel.ts +6 -0
- package/kit/ag-grid/index.ts +1 -1
- package/kit/blueprint/Dialog.ts +1 -1
- package/kit/blueprint/Wrappers.ts +1 -1
- package/kit/blueprint/index.ts +1 -1
- package/kit/golden-layout/index.js +1 -1
- package/kit/golden-layout/styles.scss +1 -1
- package/kit/highcharts/index.ts +1 -1
- package/kit/onsen/index.ts +1 -1
- package/kit/react-beautiful-dnd/index.ts +1 -1
- package/kit/react-dates/index.ts +1 -1
- package/kit/react-dropzone/index.ts +1 -1
- package/kit/react-select/index.ts +1 -1
- package/mobile/appcontainer/AboutDialog.ts +1 -1
- package/mobile/appcontainer/AppContainer.ts +1 -1
- package/mobile/appcontainer/Banner.scss +1 -1
- package/mobile/appcontainer/Banner.ts +1 -1
- package/mobile/appcontainer/ExceptionDialog.ts +1 -1
- package/mobile/appcontainer/ExceptionDialogDetails.ts +1 -1
- package/mobile/appcontainer/FeedbackDialog.ts +1 -1
- package/mobile/appcontainer/IdlePanel.scss +1 -1
- package/mobile/appcontainer/IdlePanel.ts +1 -1
- package/mobile/appcontainer/ImpersonationBar.ts +1 -1
- package/mobile/appcontainer/LockoutPanel.ts +1 -1
- package/mobile/appcontainer/LoginPanel.ts +1 -1
- package/mobile/appcontainer/Message.ts +1 -1
- package/mobile/appcontainer/MessageSource.ts +1 -1
- package/mobile/appcontainer/OptionsDialog.ts +1 -1
- package/mobile/appcontainer/SuspendPanel.scss +1 -1
- package/mobile/appcontainer/SuspendPanel.ts +1 -1
- package/mobile/appcontainer/Toast.ts +1 -1
- package/mobile/appcontainer/ToastSource.ts +1 -1
- package/mobile/appcontainer/VersionBar.ts +1 -1
- package/mobile/appcontainer/index.ts +1 -1
- package/mobile/cmp/appOption/AutoRefreshAppOption.ts +1 -1
- package/mobile/cmp/appOption/SizingModeAppOption.ts +1 -1
- package/mobile/cmp/appOption/ThemeAppOption.ts +1 -1
- package/mobile/cmp/appOption/index.ts +1 -1
- package/mobile/cmp/button/Button.scss +1 -1
- package/mobile/cmp/button/Button.ts +1 -1
- package/mobile/cmp/button/ButtonGroup.ts +1 -1
- package/mobile/cmp/button/ColAutosizeButton.ts +1 -1
- package/mobile/cmp/button/ColChooserButton.ts +1 -1
- package/mobile/cmp/button/ExpandCollapseButton.ts +1 -1
- package/mobile/cmp/button/FeedbackButton.ts +1 -1
- package/mobile/cmp/button/LogoutButton.ts +1 -1
- package/mobile/cmp/button/NavigatorBackButton.ts +1 -1
- package/mobile/cmp/button/OptionsButton.ts +1 -1
- package/mobile/cmp/button/RefreshButton.ts +1 -1
- package/mobile/cmp/button/RestoreDefaultsButton.ts +1 -1
- package/mobile/cmp/button/ThemeToggleButton.ts +1 -1
- package/mobile/cmp/button/index.ts +1 -1
- package/mobile/cmp/dialog/Dialog.ts +1 -1
- package/mobile/cmp/dialog/index.ts +1 -1
- package/mobile/cmp/error/ErrorMessage.ts +1 -1
- package/mobile/cmp/error/index.ts +1 -1
- package/mobile/cmp/form/FormField.ts +1 -1
- package/mobile/cmp/form/index.ts +1 -1
- package/mobile/cmp/grid/impl/ColChooser.ts +1 -1
- package/mobile/cmp/grid/impl/ColChooserModel.ts +1 -1
- package/mobile/cmp/grouping/GroupingChooser.scss +1 -1
- package/mobile/cmp/grouping/GroupingChooser.ts +3 -3
- package/mobile/cmp/header/AppBar.ts +1 -1
- package/mobile/cmp/header/AppMenuButton.ts +1 -1
- package/mobile/cmp/header/index.ts +1 -1
- package/mobile/cmp/input/ButtonGroupInput.ts +1 -1
- package/mobile/cmp/input/Checkbox.ts +1 -1
- package/mobile/cmp/input/DateInput.ts +1 -1
- package/mobile/cmp/input/Label.ts +1 -1
- package/mobile/cmp/input/NumberInput.ts +1 -1
- package/mobile/cmp/input/SearchInput.ts +1 -1
- package/mobile/cmp/input/Select.scss +1 -1
- package/mobile/cmp/input/Select.ts +1 -1
- package/mobile/cmp/input/SwitchInput.ts +1 -1
- package/mobile/cmp/input/TextArea.ts +1 -1
- package/mobile/cmp/input/TextInput.ts +1 -1
- package/mobile/cmp/input/index.ts +1 -1
- package/mobile/cmp/loadingindicator/LoadingIndicator.ts +1 -1
- package/mobile/cmp/loadingindicator/index.ts +1 -1
- package/mobile/cmp/mask/Mask.ts +1 -1
- package/mobile/cmp/mask/index.ts +1 -1
- package/mobile/cmp/menu/MenuButton.ts +1 -1
- package/mobile/cmp/menu/impl/Menu.ts +1 -1
- package/mobile/cmp/menu/index.ts +1 -1
- package/mobile/cmp/navigator/Navigator.ts +1 -1
- package/mobile/cmp/navigator/NavigatorModel.ts +1 -1
- package/mobile/cmp/navigator/PageModel.ts +1 -1
- package/mobile/cmp/navigator/impl/Page.ts +1 -1
- package/mobile/cmp/navigator/impl/swipe/BackIndicator.ts +6 -0
- package/mobile/cmp/navigator/impl/swipe/RefreshIndicator.ts +6 -0
- package/mobile/cmp/navigator/impl/swipe/Swiper.scss +1 -1
- package/mobile/cmp/navigator/impl/swipe/Swiper.ts +6 -1
- package/mobile/cmp/navigator/impl/swipe/SwiperModel.ts +6 -0
- package/mobile/cmp/navigator/index.ts +1 -1
- package/mobile/cmp/panel/DialogPanel.ts +1 -1
- package/mobile/cmp/panel/Panel.ts +1 -1
- package/mobile/cmp/panel/impl/PanelHeader.ts +1 -1
- package/mobile/cmp/panel/index.ts +1 -1
- package/mobile/cmp/pinpad/impl/PinPad.ts +1 -1
- package/mobile/cmp/popover/Popover.ts +1 -1
- package/mobile/cmp/popover/index.ts +1 -1
- package/mobile/cmp/store/impl/StoreFilterField.ts +1 -1
- package/mobile/cmp/tab/impl/Tab.ts +1 -1
- package/mobile/cmp/tab/impl/TabContainer.ts +1 -1
- package/mobile/cmp/tab/impl/Tabs.scss +1 -1
- package/mobile/cmp/toolbar/Toolbar.scss +1 -1
- package/mobile/cmp/toolbar/Toolbar.ts +1 -1
- package/mobile/cmp/toolbar/ToolbarSeparator.ts +1 -1
- package/mobile/cmp/toolbar/index.ts +1 -1
- package/mobx/decorators.ts +1 -1
- package/mobx/index.ts +1 -1
- package/mobx/overrides.ts +1 -1
- package/package.json +1 -1
- package/promise/Promise.ts +1 -1
- package/promise/index.ts +1 -1
- package/styles/XH.scss +1 -1
- package/styles/vars.scss +1 -1
- package/svc/AlertBannerService.ts +1 -1
- package/svc/AutoRefreshService.ts +1 -1
- package/svc/ChangelogService.ts +1 -1
- package/svc/ConfigService.ts +1 -1
- package/svc/EnvironmentService.ts +1 -1
- package/svc/FetchService.ts +16 -12
- package/svc/GridAutosizeService.ts +1 -1
- package/svc/GridExportService.ts +1 -1
- package/svc/IdentityService.ts +1 -1
- package/svc/IdleService.ts +1 -1
- package/svc/InspectorService.ts +6 -0
- package/svc/JsonBlobService.ts +1 -1
- package/svc/LocalStorageService.ts +1 -1
- package/svc/PrefService.ts +1 -1
- package/svc/TrackService.ts +1 -1
- package/svc/WebSocketService.ts +1 -1
- package/svc/index.ts +1 -1
- package/utils/async/AsyncUtils.ts +1 -1
- package/utils/async/Timer.ts +1 -1
- package/utils/async/index.ts +1 -1
- package/utils/datetime/DateTimeUtils.ts +1 -1
- package/utils/datetime/LocalDate.ts +1 -1
- package/utils/datetime/index.ts +1 -1
- package/utils/impl/Equals.ts +1 -1
- package/utils/impl/IsOmitted.ts +1 -1
- package/utils/impl/Separators.ts +1 -1
- package/utils/impl/TimeZone.ts +4 -4
- package/utils/impl/index.ts +1 -1
- package/utils/js/BrowserUtils.ts +1 -1
- package/utils/js/Decorators.ts +1 -1
- package/utils/js/DomUtils.ts +1 -1
- package/utils/js/HtmlUtils.ts +1 -1
- package/utils/js/LangUtils.ts +1 -1
- package/utils/js/LogUtils.ts +1 -1
- package/utils/js/VersionUtils.ts +1 -1
- package/utils/js/index.ts +1 -1
- package/utils/react/ClassName.ts +1 -1
- package/utils/react/Hooks.ts +1 -1
- package/utils/react/LayoutPropUtils.ts +1 -1
- package/utils/react/ObservableRef.ts +1 -1
- package/utils/react/ReactUtils.ts +1 -1
- package/utils/react/index.ts +1 -1
|
@@ -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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
import {GroupingChooserModel} from '@xh/hoist/cmp/grouping';
|
|
8
8
|
import {box, div, filler, fragment, hbox, vbox} from '@xh/hoist/cmp/layout';
|
|
@@ -12,7 +12,7 @@ import {select, MENU_PORTAL_ID} from '@xh/hoist/desktop/cmp/input';
|
|
|
12
12
|
import {panel} from '@xh/hoist/desktop/cmp/panel';
|
|
13
13
|
import '@xh/hoist/desktop/register';
|
|
14
14
|
import {Icon} from '@xh/hoist/icon';
|
|
15
|
-
import {menu, menuDivider, menuItem, popover
|
|
15
|
+
import {menu, menuDivider, menuItem, popover} from '@xh/hoist/kit/blueprint';
|
|
16
16
|
import {dragDropContext, draggable, droppable} from '@xh/hoist/kit/react-beautiful-dnd';
|
|
17
17
|
import {splitLayoutProps} from '@xh/hoist/utils/react';
|
|
18
18
|
import classNames from 'classnames';
|
|
@@ -26,8 +26,8 @@ export interface GroupingChooserProps extends ButtonProps<GroupingChooserModel>
|
|
|
26
26
|
/** Min height in pixels of the popover menu itself. */
|
|
27
27
|
popoverMinHeight?: number;
|
|
28
28
|
|
|
29
|
-
/** Position
|
|
30
|
-
popoverPosition?:
|
|
29
|
+
/** Position of popover relative to target button. */
|
|
30
|
+
popoverPosition?: 'bottom' | 'top';
|
|
31
31
|
|
|
32
32
|
/** Title for popover (default "GROUP BY") or null to suppress. */
|
|
33
33
|
popoverTitle?: string;
|
|
@@ -74,12 +74,11 @@ export const [GroupingChooser, groupingChooser] = hoistCmp.withFactory<GroupingC
|
|
|
74
74
|
item: popover({
|
|
75
75
|
isOpen,
|
|
76
76
|
popoverRef: model.popoverRef,
|
|
77
|
-
popoverClassName:
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
minimal: favoritesIsOpen,
|
|
77
|
+
popoverClassName: 'xh-grouping-chooser-popover xh-popup--framed',
|
|
78
|
+
// right align favorites popover to match star icon
|
|
79
|
+
// left align editor to keep in place when button changing size when commitOnChange: true
|
|
80
|
+
position: favoritesIsOpen ? `${popoverPosition}-right` : `${popoverPosition}-left`,
|
|
81
|
+
minimal: styleButtonAsInput,
|
|
83
82
|
target: fragment(
|
|
84
83
|
button({
|
|
85
84
|
text: label,
|
|
@@ -92,23 +91,23 @@ export const [GroupingChooser, groupingChooser] = hoistCmp.withFactory<GroupingC
|
|
|
92
91
|
),
|
|
93
92
|
minimal: styleButtonAsInput,
|
|
94
93
|
...buttonProps,
|
|
95
|
-
onClick: () => model.
|
|
94
|
+
onClick: () => model.toggleEditor()
|
|
96
95
|
}),
|
|
97
96
|
favoritesIcon()
|
|
98
97
|
),
|
|
99
98
|
content: favoritesIsOpen
|
|
100
99
|
? favoritesMenu()
|
|
101
|
-
:
|
|
100
|
+
: editorIsOpen
|
|
101
|
+
? editor({popoverWidth, popoverMinHeight, popoverTitle, emptyText})
|
|
102
|
+
: null,
|
|
102
103
|
onInteraction: (nextOpenState, e) => {
|
|
103
|
-
if (
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
model.commitPendingValueAndClose();
|
|
111
|
-
}
|
|
104
|
+
if (
|
|
105
|
+
isOpen &&
|
|
106
|
+
nextOpenState === false &&
|
|
107
|
+
e?.target &&
|
|
108
|
+
!targetIsControlButtonOrPortal(e.target)
|
|
109
|
+
) {
|
|
110
|
+
model.commitPendingValueAndClose();
|
|
112
111
|
}
|
|
113
112
|
}
|
|
114
113
|
})
|
|
@@ -125,7 +124,7 @@ const editor = hoistCmp.factory<GroupingChooserModel>({
|
|
|
125
124
|
width: popoverWidth,
|
|
126
125
|
minHeight: popoverMinHeight,
|
|
127
126
|
items: [
|
|
128
|
-
div({className: 'xh-popup__title', item: popoverTitle}),
|
|
127
|
+
div({className: 'xh-popup__title', item: popoverTitle, omit: !popoverTitle}),
|
|
129
128
|
dimensionList({emptyText}),
|
|
130
129
|
addDimensionControl(),
|
|
131
130
|
filler()
|
|
@@ -293,6 +292,23 @@ function getDimOptions(dims, model) {
|
|
|
293
292
|
return sortBy(ret, 'label');
|
|
294
293
|
}
|
|
295
294
|
|
|
295
|
+
function targetIsControlButtonOrPortal(target) {
|
|
296
|
+
const selectPortal = document.getElementById(MENU_PORTAL_ID)?.contains(target),
|
|
297
|
+
selectClick = targetWithin(target, 'xh-select__single-value'),
|
|
298
|
+
editorClick = targetWithin(target, 'xh-grouping-chooser-button--with-favorites');
|
|
299
|
+
return selectPortal || selectClick || editorClick;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
/**
|
|
303
|
+
* Determines whether any of the target's parents have a specific class name
|
|
304
|
+
*/
|
|
305
|
+
function targetWithin(target, className): boolean {
|
|
306
|
+
for (let elem = target; elem; elem = elem.parentElement) {
|
|
307
|
+
if (elem.classList.contains(className)) return true;
|
|
308
|
+
}
|
|
309
|
+
return false;
|
|
310
|
+
}
|
|
311
|
+
|
|
296
312
|
//------------------
|
|
297
313
|
// Favorites
|
|
298
314
|
//------------------
|
|
@@ -303,7 +319,7 @@ const favoritesIcon = hoistCmp.factory<GroupingChooserModel>({
|
|
|
303
319
|
item: Icon.favorite(),
|
|
304
320
|
className: 'xh-grouping-chooser__favorite-icon',
|
|
305
321
|
onClick: e => {
|
|
306
|
-
model.
|
|
322
|
+
model.toggleFavoritesMenu();
|
|
307
323
|
e.stopPropagation();
|
|
308
324
|
}
|
|
309
325
|
});
|
|
@@ -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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
import {HoistInputModel, HoistInputProps, useHoistInputModel} from '@xh/hoist/cmp/input';
|
|
8
8
|
import {hoistCmp, HoistModel, Intent, XH} 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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
import {HoistInputModel, HoistInputProps, useHoistInputModel} from '@xh/hoist/cmp/input';
|
|
8
8
|
import {hoistCmp, StyleProps, HoistProps, HSide} 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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
.xh-app .xh-input {
|
|
8
8
|
.CodeMirror {
|
|
@@ -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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
import {HoistInputModel, HoistInputProps, useHoistInputModel} from '@xh/hoist/cmp/input';
|
|
8
8
|
import {box, div, filler, fragment, frame, hbox, label, span, vbox} from '@xh/hoist/cmp/layout';
|
|
@@ -83,7 +83,7 @@ export interface CodeInputProps extends HoistProps, HoistInputProps, LayoutProps
|
|
|
83
83
|
*/
|
|
84
84
|
readonly?: boolean;
|
|
85
85
|
|
|
86
|
-
/** True to display a copy button at bottom-right of input. */
|
|
86
|
+
/** True (default) to display a copy button at bottom-right of input. */
|
|
87
87
|
showCopyButton?: boolean;
|
|
88
88
|
|
|
89
89
|
/**
|
|
@@ -148,7 +148,7 @@ class CodeInputModel extends HoistInputModel {
|
|
|
148
148
|
}
|
|
149
149
|
|
|
150
150
|
get showCopyButton(): boolean {
|
|
151
|
-
return withDefault(this.componentProps.showCopyButton,
|
|
151
|
+
return withDefault(this.componentProps.showCopyButton, true);
|
|
152
152
|
}
|
|
153
153
|
|
|
154
154
|
get showFullscreenButton(): boolean {
|
|
@@ -182,14 +182,14 @@ class CodeInputModel extends HoistInputModel {
|
|
|
182
182
|
}
|
|
183
183
|
|
|
184
184
|
get actionButtons(): ReactElement[] {
|
|
185
|
-
const {showCopyButton, showFormatButton, showFullscreenButton
|
|
185
|
+
const {showCopyButton, showFormatButton, showFullscreenButton} = this;
|
|
186
186
|
return compact([
|
|
187
187
|
showCopyButton
|
|
188
188
|
? clipboardButton({
|
|
189
189
|
text: null,
|
|
190
190
|
title: 'Copy to clipboard',
|
|
191
191
|
successMessage: 'Contents copied to clipboard',
|
|
192
|
-
getCopyText: () =>
|
|
192
|
+
getCopyText: () => this.internalValue
|
|
193
193
|
})
|
|
194
194
|
: null,
|
|
195
195
|
showFormatButton
|
|
@@ -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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
.xh-date-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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
import {HoistInputModel, HoistInputProps, useHoistInputModel} from '@xh/hoist/cmp/input';
|
|
8
8
|
import {div} 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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
import {hoistCmp} from '@xh/hoist/core';
|
|
8
8
|
import '@xh/hoist/desktop/register';
|
|
@@ -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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
import composeRefs from '@seznam/compose-react-refs';
|
|
8
8
|
import {HoistInputModel, HoistInputProps, useHoistInputModel} 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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
.xh-radio-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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
import {HoistInputModel, HoistInputProps, useHoistInputModel} from '@xh/hoist/cmp/input';
|
|
8
8
|
import {hoistCmp, HoistProps, HSide} 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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
// Host div for Select option menu portal.
|
|
@@ -105,6 +105,14 @@
|
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
|
+
|
|
109
|
+
&__tooltip {
|
|
110
|
+
&__target {
|
|
111
|
+
// Required to override tooltip styling applied by Blueprint, which was breaking the
|
|
112
|
+
// react-select styles that elide overly-long values.
|
|
113
|
+
display: inherit;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
108
116
|
}
|
|
109
117
|
}
|
|
110
118
|
|
|
@@ -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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
import {HoistInputModel, HoistInputProps, useHoistInputModel} from '@xh/hoist/cmp/input';
|
|
8
8
|
import {box, div, fragment, hbox, span} from '@xh/hoist/cmp/layout';
|
|
@@ -18,6 +18,7 @@ import {
|
|
|
18
18
|
} from '@xh/hoist/core';
|
|
19
19
|
import '@xh/hoist/desktop/register';
|
|
20
20
|
import {Icon} from '@xh/hoist/icon';
|
|
21
|
+
import {tooltip} from '@xh/hoist/kit/blueprint';
|
|
21
22
|
import {
|
|
22
23
|
reactAsyncCreatableSelect,
|
|
23
24
|
reactAsyncSelect,
|
|
@@ -75,6 +76,12 @@ export interface SelectProps extends HoistProps, HoistInputProps, LayoutProps {
|
|
|
75
76
|
/** True to allow entry/selection of multiple values - "tag picker" style. */
|
|
76
77
|
enableMulti?: boolean;
|
|
77
78
|
|
|
79
|
+
/**
|
|
80
|
+
* True to enable tooltips on selected values. Enable when the space
|
|
81
|
+
* available to the select component might not support showing the value's full text.
|
|
82
|
+
*/
|
|
83
|
+
enableTooltips?: boolean;
|
|
84
|
+
|
|
78
85
|
/**
|
|
79
86
|
* True to use react-windowed-select for improved performance on large option lists.
|
|
80
87
|
* See https://github.com/jacobworrel/react-windowed-select/.
|
|
@@ -362,7 +369,7 @@ class SelectInputModel extends HoistInputModel {
|
|
|
362
369
|
super.noteFocused();
|
|
363
370
|
}
|
|
364
371
|
|
|
365
|
-
selectText() {
|
|
372
|
+
private selectText() {
|
|
366
373
|
const {reactSelect} = this;
|
|
367
374
|
if (!reactSelect) return;
|
|
368
375
|
|
|
@@ -430,7 +437,7 @@ class SelectInputModel extends HoistInputModel {
|
|
|
430
437
|
return this.findOption(external, !isNil(external));
|
|
431
438
|
}
|
|
432
439
|
|
|
433
|
-
findOption(value, createIfNotFound, options = this.internalOptions) {
|
|
440
|
+
private findOption(value, createIfNotFound, options = this.internalOptions) {
|
|
434
441
|
// Do a depth-first search of options
|
|
435
442
|
for (const option of options) {
|
|
436
443
|
if (option.options) {
|
|
@@ -455,7 +462,7 @@ class SelectInputModel extends HoistInputModel {
|
|
|
455
462
|
return internal.value;
|
|
456
463
|
}
|
|
457
464
|
|
|
458
|
-
normalizeOptions(options, depth = 0) {
|
|
465
|
+
private normalizeOptions(options, depth = 0) {
|
|
459
466
|
throwIf(depth > 1, 'Grouped select options support only one-deep nesting.');
|
|
460
467
|
|
|
461
468
|
options = options || [];
|
|
@@ -465,11 +472,11 @@ class SelectInputModel extends HoistInputModel {
|
|
|
465
472
|
// Normalize / clone a single source value into a normalized option object. Supports Strings
|
|
466
473
|
// and Objects. Objects are validated/defaulted to ensure a label+value or label+options sublist,
|
|
467
474
|
// with other fields brought along to support Selects emitting value objects with ad hoc properties.
|
|
468
|
-
toOption(src, depth) {
|
|
475
|
+
private toOption(src, depth) {
|
|
469
476
|
return isPlainObject(src) ? this.objectToOption(src, depth) : this.valueToOption(src);
|
|
470
477
|
}
|
|
471
478
|
|
|
472
|
-
objectToOption(src, depth) {
|
|
479
|
+
private objectToOption(src, depth) {
|
|
473
480
|
const {componentProps} = this,
|
|
474
481
|
labelField = withDefault(componentProps.labelField, 'label'),
|
|
475
482
|
valueField = withDefault(componentProps.valueField, 'value');
|
|
@@ -492,7 +499,7 @@ class SelectInputModel extends HoistInputModel {
|
|
|
492
499
|
};
|
|
493
500
|
}
|
|
494
501
|
|
|
495
|
-
valueToOption(src) {
|
|
502
|
+
private valueToOption(src) {
|
|
496
503
|
return {label: src != null ? src.toString() : '-null-', value: src};
|
|
497
504
|
}
|
|
498
505
|
|
|
@@ -542,7 +549,7 @@ class SelectInputModel extends HoistInputModel {
|
|
|
542
549
|
return optionRenderer(opt);
|
|
543
550
|
};
|
|
544
551
|
|
|
545
|
-
optionRenderer = opt => {
|
|
552
|
+
private optionRenderer = opt => {
|
|
546
553
|
if (this.hideSelectedOptionCheck) {
|
|
547
554
|
return div(opt.label);
|
|
548
555
|
}
|
|
@@ -609,6 +616,24 @@ class SelectInputModel extends HoistInputModel {
|
|
|
609
616
|
};
|
|
610
617
|
}
|
|
611
618
|
|
|
619
|
+
getMultiValueLabelCmp() {
|
|
620
|
+
return this.componentProps.enableTooltips
|
|
621
|
+
? props => {
|
|
622
|
+
props = this.withTooltip(props, 'xh-select__tooltip__target');
|
|
623
|
+
return createElement(components.MultiValueLabel, props);
|
|
624
|
+
}
|
|
625
|
+
: components.MultiValueLabel;
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
getSingleValueCmp() {
|
|
629
|
+
return this.componentProps.enableTooltips
|
|
630
|
+
? props => {
|
|
631
|
+
props = this.withTooltip(props, 'xh-select__tooltip__target');
|
|
632
|
+
return createElement(components.SingleValue, props);
|
|
633
|
+
}
|
|
634
|
+
: components.SingleValue;
|
|
635
|
+
}
|
|
636
|
+
|
|
612
637
|
noOptionsMessageFn = params => {
|
|
613
638
|
// account for bug in react-windowed-select https://github.com/jacobworrel/react-windowed-select/issues/19
|
|
614
639
|
if (!params) return '';
|
|
@@ -635,6 +660,17 @@ class SelectInputModel extends HoistInputModel {
|
|
|
635
660
|
}
|
|
636
661
|
return portal;
|
|
637
662
|
}
|
|
663
|
+
|
|
664
|
+
private withTooltip(props: PlainObject, targetClassName: string): PlainObject {
|
|
665
|
+
return {
|
|
666
|
+
...props,
|
|
667
|
+
children: tooltip({
|
|
668
|
+
targetClassName,
|
|
669
|
+
content: props.children,
|
|
670
|
+
target: props.children
|
|
671
|
+
})
|
|
672
|
+
};
|
|
673
|
+
}
|
|
638
674
|
}
|
|
639
675
|
|
|
640
676
|
const cmp = hoistCmp.factory<SelectInputModel>(({model, className, ...props}, ref) => {
|
|
@@ -663,7 +699,9 @@ const cmp = hoistCmp.factory<SelectInputModel>(({model, className, ...props}, re
|
|
|
663
699
|
DropdownIndicator: model.getDropdownIndicatorCmp(),
|
|
664
700
|
ClearIndicator: model.getClearIndicatorCmp(),
|
|
665
701
|
IndicatorSeparator: () => null,
|
|
666
|
-
ValueContainer: model.getValueContainerCmp()
|
|
702
|
+
ValueContainer: model.getValueContainerCmp(),
|
|
703
|
+
MultiValueLabel: model.getMultiValueLabelCmp(),
|
|
704
|
+
SingleValue: model.getSingleValueCmp()
|
|
667
705
|
},
|
|
668
706
|
|
|
669
707
|
// A shared div is created lazily here as needed, appended to the body, and assigned
|
|
@@ -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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
import {HoistInputModel, HoistInputProps, useHoistInputModel} from '@xh/hoist/cmp/input';
|
|
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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
.xh-switch-input.xh-input-invalid {
|
|
@@ -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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
import {HoistInputModel, HoistInputProps, useHoistInputModel} from '@xh/hoist/cmp/input';
|
|
8
8
|
import {hoistCmp, HoistProps, HSide, StyleProps} 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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
.xh-text-area {
|
|
@@ -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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
import composeRefs from '@seznam/compose-react-refs';
|
|
8
8
|
import {HoistInputModel, HoistInputProps, useHoistInputModel} 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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
import composeRefs from '@seznam/compose-react-refs';
|
|
8
8
|
import {HoistInputModel, HoistInputProps, useHoistInputModel} 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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
.xh-lr-chooser {
|
|
@@ -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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
import {grid, GridProps} from '@xh/hoist/cmp/grid';
|
|
8
8
|
import {hframe, vbox} 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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
import {hoistCmp, HoistModel, HoistProps, lookup, useLocalModel, uses} from '@xh/hoist/core';
|
|
8
8
|
import {textInput} from '@xh/hoist/desktop/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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
import {GridModel} from '@xh/hoist/cmp/grid';
|
|
8
8
|
import {div} 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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
import {vspacer} from '@xh/hoist/cmp/layout';
|
|
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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
import {hoistCmp} from '@xh/hoist/core';
|
|
8
8
|
import {callout} from '@xh/hoist/kit/blueprint';
|
|
@@ -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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
import {hbox} from '@xh/hoist/cmp/layout';
|
|
8
8
|
import {div} from '@xh/hoist/cmp/layout/Tags';
|
|
@@ -2,6 +2,6 @@
|
|
|
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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
export * from './LoadingIndicator';
|
package/desktop/cmp/mask/Mask.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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
import {box, vbox, vspacer} from '@xh/hoist/cmp/layout';
|
|
8
8
|
import {spinner as spinnerCmp} from '@xh/hoist/cmp/spinner';
|
|
@@ -2,6 +2,6 @@
|
|
|
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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
export * from './Mask';
|
|
@@ -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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import {box, fragment} from '@xh/hoist/cmp/layout';
|
|
@@ -67,15 +67,15 @@ const inlineContainer = hoistCmp.factory<ModalSupportModel>({
|
|
|
67
67
|
// Dialog cmp, inside which to place the child cmp when `model.isModal = true`
|
|
68
68
|
const modalContainer = hoistCmp.factory<ModalSupportModel>({
|
|
69
69
|
render({model}) {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
const {width, height, canOutsideClickClose} = model;
|
|
70
|
+
const {isModal, width, height, canOutsideClickClose} = model;
|
|
73
71
|
return dialog({
|
|
74
72
|
className: 'xh-modal-support__modal',
|
|
75
73
|
style: {width, height},
|
|
76
74
|
canOutsideClickClose,
|
|
77
|
-
isOpen:
|
|
75
|
+
isOpen: isModal,
|
|
78
76
|
onClose: () => model.toggleIsModal(),
|
|
77
|
+
// Creates the dialog's portal immediately and keeps it around, to preserve correct ordering relative to any internal popups.
|
|
78
|
+
lazy: false,
|
|
79
79
|
item: box({
|
|
80
80
|
ref: model.modalRef,
|
|
81
81
|
flexDirection: 'column',
|
|
@@ -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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import {HoistModel} 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 ©
|
|
5
|
+
* Copyright © 2023 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
7
|
export * from './ModalSupport';
|
|
8
8
|
export * from './ModalSupportModel';
|