@sapui5/sap.ushell 1.126.1 → 1.127.1
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/package.json +1 -1
- package/src/main/js/sap/ushell/.library +1 -1
- package/src/main/js/sap/ushell/Fiori20Adapter.js +1 -1
- package/src/main/js/sap/ushell/Fiori20AdapterTest.js +1 -1
- package/src/main/js/sap/ushell/NWBCInterface.js +1 -1
- package/src/main/js/sap/ushell/SessionHandler.js +2 -2
- package/src/main/js/sap/ushell/TechnicalParameters.js +1 -1
- package/src/main/js/sap/ushell/URLTemplateProcessor.js +1 -1
- package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +1 -1
- package/src/main/js/sap/ushell/Ui5ServiceFactory.js +1 -1
- package/src/main/js/sap/ushell/User.js +7 -7
- package/src/main/js/sap/ushell/UserActivityLog.js +8 -13
- package/src/main/js/sap/ushell/_ApplicationType/urlTemplateResolution.js +10 -3
- package/src/main/js/sap/ushell/_Config/utils.js +18 -0
- package/src/main/js/sap/ushell/_URLTemplateProcessor/DefinitionParameterSetBuilder.js +1 -1
- package/src/main/js/sap/ushell/_URLTemplateProcessor/DependencyGraph.js +1 -1
- package/src/main/js/sap/ushell/_URLTemplateProcessor/Functions.js +1 -1
- package/src/main/js/sap/ushell/_URLTemplateProcessor/Resolvers.js +1 -1
- package/src/main/js/sap/ushell/_URLTemplateProcessor/TemplateParameterParser.js +1 -1
- package/src/main/js/sap/ushell/_URLTemplateProcessor/utils.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +28 -9
- package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +4 -3
- package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/PersonalizationV2Adapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/FlpLaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/utilsCdm.js +6 -1
- package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionInternalAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/FlpLaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionInternalAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/PersonalizationV2Adapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/neo/AppInfoService.js +1 -0
- package/src/main/js/sap/ushell/appRuntime/neo/AppRuntimeNeo.js +1 -0
- package/src/main/js/sap/ushell/appRuntime/neo/ProxyAppUtils.js +1 -0
- package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +6 -0
- package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/Renderer.js +19 -0
- package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/RendererExtensions.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/AppConfiguration.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/AppLifeCycle.js +51 -0
- package/src/main/js/sap/ushell/appRuntime/ui5/services/AppState.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Bookmark.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/BookmarkV2.js +6 -6
- package/src/main/js/sap/ushell/appRuntime/ui5/services/CommonDataModel.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Container.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/CrossApplicationNavigation.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension/Item.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/FrameBoundExtension.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/LaunchPage.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/MessageBroker.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolution.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolutionInternal.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Navigation.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/ReferenceResolver.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigation.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigationInternal.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellUIService.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/UserInfo.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
- package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/FLPScheduler.js +47 -16
- package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/StepConfiguration.json +10 -3
- package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/logger.js +1 -1
- package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/state.js +1 -1
- package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5.js +9 -0
- package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5datetimeformat.js +1 -1
- package/src/main/js/sap/ushell/bootstrap/common/common.create.configcontract.core.js +13 -33
- package/src/main/js/sap/ushell/bootstrap/sandbox2.js +1 -1
- package/src/main/js/sap/ushell/components/_HeaderManager/ShellHeader.controller.js +135 -8
- package/src/main/js/sap/ushell/components/_HomepageManager/DashboardLoadingManager.js +1 -1
- package/src/main/js/sap/ushell/components/_HomepageManager/PagingManager.js +1 -1
- package/src/main/js/sap/ushell/components/_HomepageManager/PersistentPageOperationAdapter.js +1 -1
- package/src/main/js/sap/ushell/components/_HomepageManager/TransientPageOperationAdapter.js +1 -1
- package/src/main/js/sap/ushell/components/appfinder/AppFinder.controller.js +0 -6
- package/src/main/js/sap/ushell/components/appfinder/Component.js +1 -1
- package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +74 -72
- package/src/main/js/sap/ushell/components/applicationIntegration/application/Application.js +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxHandler.js +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPI.js +35 -18
- package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +42 -27
- package/src/main/js/sap/ushell/components/applicationIntegration/relatedServices/RelatedServices.js +1 -1
- package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/Component.js +19 -12
- package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +24 -5
- package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/controller/WidgetGallery.controller.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/model/formatter.js +47 -7
- package/src/main/js/sap/ushell/components/contentFinder/view/AppSearch.view.xml +7 -6
- package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchBox.fragment.xml +5 -4
- package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchCategoryTree.view.xml +34 -22
- package/src/main/js/sap/ushell/components/contentFinderStandalone/Component.js +7 -6
- package/src/main/js/sap/ushell/components/contentFinderStandalone/controller/ContentFinderStandalone.controller.js +3 -1
- package/src/main/js/sap/ushell/components/contentFinderStandalone/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/contentFinderStandalone/manifestAppSearch.json +1 -1
- package/src/main/js/sap/ushell/components/factsheet/Component.js +1 -1
- package/src/main/js/sap/ushell/components/homepage/ActionMode.js +1 -1
- package/src/main/js/sap/ushell/components/homepage/Component.js +1 -1
- package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +1 -1
- package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +29 -24
- package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +1 -1
- package/src/main/js/sap/ushell/components/homepage/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/pages/ActionMode.js +1 -1
- package/src/main/js/sap/ushell/components/pages/Component.js +10 -3
- package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +1 -1
- package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +26 -5
- package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/runtimeSwitcher/Component.js +3 -2
- package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +1 -1
- package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +19 -3
- package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/view/NavigationBarMenu.view.xml +1 -0
- package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +24 -22
- package/src/main/js/sap/ushell/components/shell/Notifications/Notifications.controller.js +1 -1
- package/src/main/js/sap/ushell/components/shell/PostLoadingHeaderEnhancement/Component.js +80 -17
- package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchServiceProvider.js +1 -1
- package/src/main/js/sap/ushell/components/shell/Settings/Component.js +12 -16
- package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.controller.js +9 -4
- package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.view.xml +9 -9
- package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +3 -45
- package/src/main/js/sap/ushell/components/shell/UserActionsMenu/UserActionsMenu.controller.js +31 -23
- package/src/main/js/sap/ushell/components/shell/UserActionsMenu/UserActionsMenuPopover.fragment.xml +7 -2
- package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +3 -3
- package/src/main/js/sap/ushell/components/tiles/applauncher/StaticTile.controller.js +0 -4
- package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/DynamicTile.controller.js +0 -1
- package/src/main/js/sap/ushell/components/tiles/indicatorcomparison/ComparisonTile.controller.js +1 -1
- package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +2 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +1939 -1946
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +3 -2
- package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +1 -1
- package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +1 -1
- package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
- package/src/main/js/sap/ushell/library.js +1 -1
- package/src/main/js/sap/ushell/navigationMode.js +1 -1
- package/src/main/js/sap/ushell/performance/ShellAnalytics.js +15 -12
- package/src/main/js/sap/ushell/performance/StatisticalRecord.js +1 -1
- package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
- package/src/main/js/sap/ushell/renderer/AccessKeysHandler.js +31 -9
- package/src/main/js/sap/ushell/renderer/Renderer.js +304 -287
- package/src/main/js/sap/ushell/renderer/Shell.controller.js +99 -101
- package/src/main/js/sap/ushell/renderer/Shell.view.js +110 -89
- package/src/main/js/sap/ushell/renderer/allMyApps/AllMyApps.controller.js +29 -15
- package/src/main/js/sap/ushell/renderer/allMyApps/AllMyApps.view.xml +2 -2
- package/src/main/js/sap/ushell/renderer/resources/resources.properties +2 -0
- package/src/main/js/sap/ushell/renderer/search/searchComponent/manifest.json +1 -1
- package/src/main/js/sap/ushell/renderers/fiori2/History.js +1 -0
- package/src/main/js/sap/ushell/renderers/fiori2/LogonFrameProvider.js +1 -0
- package/src/main/js/sap/ushell/renderers/fiori2/Shell.view.js +108 -87
- package/src/main/js/sap/ushell/renderers/fiori2/allMyApps/AllMyAppsManager.js +1 -0
- package/src/main/js/sap/ushell/services/AppLifeCycle.js +1 -1
- package/src/main/js/sap/ushell/services/AppState.js +1 -1
- package/src/main/js/sap/ushell/services/Bookmark.js +1 -1
- package/src/main/js/sap/ushell/services/BookmarkV2.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +1 -1
- package/src/main/js/sap/ushell/services/CommonDataModel.js +2 -15
- package/src/main/js/sap/ushell/services/Configuration.js +1 -1
- package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +1 -1
- package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +1 -1
- package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +1 -1
- package/src/main/js/sap/ushell/services/DarkModeSupport.js +11 -5
- package/src/main/js/sap/ushell/services/Extension/Item.js +4 -4
- package/src/main/js/sap/ushell/services/Extension.js +36 -2
- package/src/main/js/sap/ushell/services/FlpLaunchPage.js +1 -1
- package/src/main/js/sap/ushell/services/FrameBoundExtension/FloatingContainer.js +1 -1
- package/src/main/js/sap/ushell/services/FrameBoundExtension/Footer.js +1 -1
- package/src/main/js/sap/ushell/services/FrameBoundExtension/Item.js +4 -4
- package/src/main/js/sap/ushell/services/FrameBoundExtension/SidePane.js +18 -2
- package/src/main/js/sap/ushell/services/FrameBoundExtension/ToolArea.js +20 -2
- package/src/main/js/sap/ushell/services/FrameBoundExtension.js +96 -2
- package/src/main/js/sap/ushell/services/LaunchPage.js +1 -1
- package/src/main/js/sap/ushell/services/Menu.js +1 -1
- package/src/main/js/sap/ushell/services/Message.js +1 -1
- package/src/main/js/sap/ushell/services/MessageBroker.js +1 -1
- package/src/main/js/sap/ushell/services/MessageInternal.js +13 -8
- package/src/main/js/sap/ushell/services/Navigation/compatibility.js +1 -1
- package/src/main/js/sap/ushell/services/Navigation/utils.js +1 -1
- package/src/main/js/sap/ushell/services/Navigation.js +1 -1
- package/src/main/js/sap/ushell/services/NavigationDataProvider.js +1 -1
- package/src/main/js/sap/ushell/services/PageBuilding.js +1 -1
- package/src/main/js/sap/ushell/services/PagePersistence.js +1 -1
- package/src/main/js/sap/ushell/services/PageReferencing.js +1 -1
- package/src/main/js/sap/ushell/services/Pages.js +4 -3
- package/src/main/js/sap/ushell/services/Personalization.js +1 -1
- package/src/main/js/sap/ushell/services/PersonalizationV2.js +1 -1
- package/src/main/js/sap/ushell/services/PluginManager.js +1 -1
- package/src/main/js/sap/ushell/services/ReferenceResolver.js +1 -1
- package/src/main/js/sap/ushell/services/Search.js +1 -1
- package/src/main/js/sap/ushell/services/SearchCEP.js +1 -1
- package/src/main/js/sap/ushell/services/SearchableContent.js +6 -5
- package/src/main/js/sap/ushell/services/ShellNavigation.js +1 -1
- package/src/main/js/sap/ushell/services/SmartNavigation.js +1 -1
- package/src/main/js/sap/ushell/services/SpaceContent.js +1 -1
- package/src/main/js/sap/ushell/services/UITracer.js +1 -1
- package/src/main/js/sap/ushell/services/URLParsing.js +16 -0
- package/src/main/js/sap/ushell/services/URLShortening.js +1 -1
- package/src/main/js/sap/ushell/services/URLTemplate.js +1 -1
- package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +3 -3
- package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +1 -1
- package/src/main/js/sap/ushell/services/UserDefaultParameters.js +1 -1
- package/src/main/js/sap/ushell/services/UserInfo.js +1 -1
- package/src/main/js/sap/ushell/services/UserRecents.js +1 -1
- package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +1 -1
- package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +1 -1
- package/src/main/js/sap/ushell/services/_AppState/AppStatePersistencyMethod.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Formatter.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundIndex.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundProvider.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/PrelaunchOperations.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Search.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/StagedLogger.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/SystemContext.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Utils.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/VirtualInbounds.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/XAppStateProcessing.js +1 -1
- package/src/main/js/sap/ushell/services/_CommonDataModel/SiteConverter.js +1 -1
- package/src/main/js/sap/ushell/services/_CommonDataModel/vizTypeDefaults/VizTypeDefaults.js +1 -1
- package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +2 -2
- package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +1 -1
- package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +1 -1
- package/src/main/js/sap/ushell/services/_MessageBroker/MessageBrokerEngine.js +1 -1
- package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +1 -1
- package/src/main/js/sap/ushell/services/_Personalization/VariantSetAdapter.js +1 -0
- package/src/main/js/sap/ushell/services/_Personalization/WindowAdapter.js +1 -0
- package/src/main/js/sap/ushell/services/_Personalization/WindowAdapterContainer.js +1 -0
- package/src/main/js/sap/ushell/services/_Personalization/constants.js +1 -0
- package/src/main/js/sap/ushell/services/_Personalization/constants.private.js +1 -0
- package/src/main/js/sap/ushell/services/_Personalization/utils.js +1 -0
- package/src/main/js/sap/ushell/services/_PluginManager/Extensions.js +1 -1
- package/src/main/js/sap/ushell/services/_PluginManager/HeaderExtensions.js +2 -2
- package/src/main/js/sap/ushell/services/_PluginManager/MenuExtensions.js +1 -1
- package/src/main/js/sap/ushell/services/_Ui5ComponentLoader/utils.js +1 -1
- package/src/main/js/sap/ushell/state/BaseState.js +79 -0
- package/src/main/js/sap/ushell/state/ControlManager.js +209 -0
- package/src/main/js/sap/ushell/state/CurrentState.js +180 -0
- package/src/main/js/sap/ushell/state/KeepAlive.js +75 -0
- package/src/main/js/sap/ushell/state/ShellModel.js +112 -0
- package/src/main/js/sap/ushell/state/StateManager/LaunchpadState.js +40 -0
- package/src/main/js/sap/ushell/state/StateManager/Operation.js +42 -0
- package/src/main/js/sap/ushell/state/StateManager/ShellMode.js +86 -0
- package/src/main/js/sap/ushell/state/StateManager.js +648 -0
- package/src/main/js/sap/ushell/state/StateRules.js +295 -0
- package/src/main/js/sap/ushell/state/StrategyFactory/DefaultStrategy.js +74 -0
- package/src/main/js/sap/ushell/state/StrategyFactory/FloatingActionsStrategy.js +78 -0
- package/src/main/js/sap/ushell/state/StrategyFactory/HeadEndItemsStrategy.js +130 -0
- package/src/main/js/sap/ushell/state/StrategyFactory/HeadItemsStrategy.js +104 -0
- package/src/main/js/sap/ushell/state/StrategyFactory/SidePaneStrategy.js +78 -0
- package/src/main/js/sap/ushell/state/StrategyFactory/SubHeaderStrategy.js +78 -0
- package/src/main/js/sap/ushell/state/StrategyFactory/UserActionsStrategy.js +60 -0
- package/src/main/js/sap/ushell/state/StrategyFactory.js +168 -0
- package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
- package/src/main/js/sap/ushell/themes/base/UserSettings.less +1 -5
- package/src/main/js/sap/ushell/themes/base/WorkPageCell.less +45 -49
- package/src/main/js/sap/ushell/themes/sap_belize_base/UserSettings.less +1 -5
- package/src/main/js/sap/ushell/themes/sap_bluecrystal_base/UserSettings.less +1 -5
- package/src/main/js/sap/ushell/themes/sap_hcb/base_ActionMode.less +107 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_AddBookmarkButton.less +37 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_AnchorItem.less +81 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_AnchorNavigationBar.less +86 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_AppearanceView.less +213 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_ApplicationContainer.less +37 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_Catalog.less +387 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_ContactSupport.less +12 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_ContentFinder.less +26 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_CustomGroupHeaderListItem.less +10 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_Dashboard.less +66 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_DynamicTile.less +114 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_Factsheet.less +225 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_FloatingContainer.less +125 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_FlpSettings.less +83 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_GroupList.less +68 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_GroupListItem.less +54 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_IconFonts.less +21 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_ImageTile.less +23 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_LoadingDialog.less +47 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_MenuBar.less +23 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_Notifications.less +135 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_Page.less +49 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_PictureTile.less +119 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_PictureViewer.less +25 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_PlusTile.less +38 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_QuickAccess.less +18 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_RightFloatingContainerItem.less +82 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_SearchCEP.less +121 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_SearchFLP.less +10 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_Section.less +60 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_ShellAppTitle.less +207 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_ShellFloatingAction.less +61 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_ShellFloatingActions.less +14 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_ShellHeader.less +389 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_ShellLayout.less +168 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_SidePane.less +8 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_StaticTile.less +9 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_SubHeader.less +3 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_SysInfoBar.less +164 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_TargetMappingConfiguration.less +8 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_Tile.less +223 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_TileBase.less +152 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_TileContainer.less +495 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_TilePlaceholder.less +75 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_TileState.less +62 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_ToolAreaItem.less +85 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_UserActionsMenu.less +23 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_UserConsentDialog.less +52 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_UserSettings.less +109 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_ViewPortContainer.less +28 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_WorkPage.less +58 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_WorkPageButton.less +60 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_WorkPageCell.less +144 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_WorkPageColumn.less +39 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_WorkPageColumnResizer.less +128 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_WorkPageRow.less +987 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_shared.less +40 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/library.source.less +70 -1
- package/src/main/js/sap/ushell/ui/ShellHeader.fragment.xml +17 -11
- package/src/main/js/sap/ushell/ui/ShellHeader.js +10 -3
- package/src/main/js/sap/ushell/ui/cards/FrequentActivitiesExtension.js +0 -4
- package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +1 -5
- package/src/main/js/sap/ushell/ui/footerbar/AddBookmarkButton.js +19 -5
- package/src/main/js/sap/ushell/ui/footerbar/ContactSupportDialog.controller.js +9 -3
- package/src/main/js/sap/ushell/ui/footerbar/SendAsEmailButton.js +5 -5
- package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
- package/src/main/js/sap/ushell/ui/launchpad/Section.js +1 -1
- package/src/main/js/sap/ushell/ui/launchpad/TileContainer.js +17 -12
- package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +1 -1
- package/src/main/js/sap/ushell/ui/shell/ShellAppTitle.js +50 -35
- package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +2 -2
- package/src/main/js/sap/ushell/ui/utils.js +1 -1
- package/src/main/js/sap/ushell/ui5service/ShellUIService.js +1 -1
- package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
- package/src/main/js/sap/ushell/utils/UrlParsing.js +22 -0
- package/src/main/js/sap/ushell/utils/UrlShortening.js +1 -1
- package/src/main/js/sap/ushell/utils/WindowUtils.js +3 -3
- package/src/main/js/sap/ushell/utils/workpage/DestinationResolver.js +89 -0
- package/src/main/js/sap/ushell/utils/workpage/WorkPageHost.js +51 -47
- package/src/main/js/sap/ushell/utils/workpage/WorkPageService.js +32 -1
- package/src/main/js/sap/ushell/utils/workpage/WorkPageVizInstantiation.js +1 -1
- package/src/main/js/sap/ushell/utils.js +26 -2
- package/src/test/js/sap/ushell/bootstrap/sandbox.js +1 -1
- package/src/main/js/sap/ushell/bootstrap/common/common.load.ui5theme.js +0 -67
- package/src/main/js/sap/ushell/components/HeaderManager.js +0 -547
- package/src/main/js/sap/ushell/components/StateHelper.js +0 -70
- package/src/main/js/sap/ushell/components/_HeaderManager/AddHeadEndItemsStrategy.js +0 -105
- package/src/main/js/sap/ushell/components/_HeaderManager/AddHeadItemsStrategy.js +0 -75
- package/src/main/js/sap/ushell/components/_HeaderManager/ControlManager.js +0 -70
- package/src/main/js/sap/ushell/components/_HeaderManager/ExtendApplicationPropertyStrategy.js +0 -18
- package/src/main/js/sap/ushell/components/_HeaderManager/PropertyStrategiesFactory.js +0 -58
- package/src/main/js/sap/ushell/components/_HeaderManager/RemoveItemsStrategy.js +0 -46
- package/src/main/js/sap/ushell/components/_HeaderManager/SetHeadPropertyStrategy.js +0 -19
- package/src/main/js/sap/ushell/components/applicationIntegration/elements/model.js +0 -1309
- package/src/main/js/sap/ushell/components/applicationIntegration/relatedShellElements/RelatedShellElements.js +0 -363
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
// Copyright (c) 2009-2023 SAP SE, All Rights Reserved
|
|
2
|
+
|
|
3
|
+
sap.ui.define([
|
|
4
|
+
"sap/base/util/deepClone",
|
|
5
|
+
"sap/ui/core/Element"
|
|
6
|
+
], function (
|
|
7
|
+
deepClone,
|
|
8
|
+
Element
|
|
9
|
+
) {
|
|
10
|
+
"use strict";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* @alias sap.ushell.state.ControlManager
|
|
14
|
+
* @namespace
|
|
15
|
+
* @description This class handles the lifecycle of controls created by the launchpad.
|
|
16
|
+
* The controls are destroyed in sync with the application lifecycle.
|
|
17
|
+
*
|
|
18
|
+
* @since 1.127.0
|
|
19
|
+
* @private
|
|
20
|
+
*/
|
|
21
|
+
class ControlManager {
|
|
22
|
+
/**
|
|
23
|
+
* List of all managed controls.
|
|
24
|
+
* @type {sap.ui.core.ID[]}
|
|
25
|
+
*/
|
|
26
|
+
#aAllControls = [];
|
|
27
|
+
/**
|
|
28
|
+
* List of all managed controls in the current state.
|
|
29
|
+
* @type {sap.ui.core.ID[]}
|
|
30
|
+
*/
|
|
31
|
+
#aCurrentStateControls = [];
|
|
32
|
+
/**
|
|
33
|
+
* List of all managed controls in the base state.
|
|
34
|
+
* @type {sap.ui.core.ID[]}
|
|
35
|
+
*/
|
|
36
|
+
#aBaseStateControls = [];
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Adds a control to the list of managed controls.
|
|
40
|
+
* Only controls related to the current state are destroyed.
|
|
41
|
+
* Once a control is added related to the base state, it is not destroyed.
|
|
42
|
+
* @param {sap.ui.core.ID} sId The ID of the control.
|
|
43
|
+
* @param {boolean} bCurrentState Indicates whether the control is in the current state.
|
|
44
|
+
* @param {sap.ushell.state.StateManager.LaunchpadState} sCurrentLaunchpadState The current launchpad state.
|
|
45
|
+
*
|
|
46
|
+
* @since 1.127.0
|
|
47
|
+
* @private
|
|
48
|
+
* @alias sap.ushell.state.ControlManager#addManagedControl
|
|
49
|
+
*/
|
|
50
|
+
addManagedControl (sId, bCurrentState, sCurrentLaunchpadState) {
|
|
51
|
+
if (!this.#aAllControls.includes(sId)) {
|
|
52
|
+
this.#aAllControls.push(sId);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// any control that is created while the state is home should is considered as base state control
|
|
56
|
+
if (sCurrentLaunchpadState === "home") {
|
|
57
|
+
bCurrentState = false;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
if (bCurrentState && !this.#aCurrentStateControls.includes(sId)) {
|
|
61
|
+
this.#aCurrentStateControls.push(sId);
|
|
62
|
+
} else if (!bCurrentState && !this.#aBaseStateControls.includes(sId)) {
|
|
63
|
+
this.#aBaseStateControls.push(sId);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Destroys all controls related to the current state.
|
|
69
|
+
*
|
|
70
|
+
* @since 1.127.0
|
|
71
|
+
* @private
|
|
72
|
+
* @alias sap.ushell.state.ControlManager#destroyManagedControls
|
|
73
|
+
*/
|
|
74
|
+
destroyManagedControls () {
|
|
75
|
+
this.#aCurrentStateControls.forEach((sId) => {
|
|
76
|
+
if (this.#aBaseStateControls.includes(sId)) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
this.destroyManagedControl(sId);
|
|
80
|
+
});
|
|
81
|
+
this.#aCurrentStateControls = [];
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Destroys all controls known to the control manager.
|
|
86
|
+
*
|
|
87
|
+
* @since 1.127.0
|
|
88
|
+
* @private
|
|
89
|
+
*/
|
|
90
|
+
#destroyAllManagedControls () {
|
|
91
|
+
// shall only be called during flp destroy
|
|
92
|
+
this.#aAllControls.forEach((sId) => {
|
|
93
|
+
this.destroyManagedControl(sId);
|
|
94
|
+
});
|
|
95
|
+
this.#aAllControls = [];
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Destroys the control with the given ID.
|
|
100
|
+
* It does not remove the control from the list of managed controls.
|
|
101
|
+
* @param {sap.ui.core.ID} sId The ID of the control.
|
|
102
|
+
*
|
|
103
|
+
* @since 1.127.0
|
|
104
|
+
* @private
|
|
105
|
+
* @alias sap.ushell.state.ControlManager#destroyManagedControl
|
|
106
|
+
*/
|
|
107
|
+
destroyManagedControl (sId) {
|
|
108
|
+
const oControl = Element.getElementById(sId);
|
|
109
|
+
if (oControl) {
|
|
110
|
+
oControl.destroy();
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Stores the list of managed controls in the given storage entry.
|
|
116
|
+
* The stored list is used to restore the controls when the application is restarted.
|
|
117
|
+
*
|
|
118
|
+
* Once an application is stored the related controls are not directly managed anymore.
|
|
119
|
+
* Any other application reusing the same control without keep-alive will destroy the control implicitly on navigation.
|
|
120
|
+
* @param {object} oStorageEntry The storage entry.
|
|
121
|
+
*
|
|
122
|
+
* @since 1.127.0
|
|
123
|
+
* @private
|
|
124
|
+
* @alias sap.ushell.state.ControlManager#storeList
|
|
125
|
+
*/
|
|
126
|
+
storeList (oStorageEntry = {}) {
|
|
127
|
+
oStorageEntry.controlManager = {
|
|
128
|
+
currentControls: deepClone(this.#aCurrentStateControls)
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Restores the list of managed controls from the given storage entry.
|
|
134
|
+
* @param {object} oStorageEntry The storage entry.
|
|
135
|
+
*
|
|
136
|
+
* @since 1.127.0
|
|
137
|
+
* @private
|
|
138
|
+
* @alias sap.ushell.state.ControlManager#restoreList
|
|
139
|
+
*/
|
|
140
|
+
restoreList (oStorageEntry = {}) {
|
|
141
|
+
const { currentControls } = oStorageEntry.controlManager || {};
|
|
142
|
+
if (currentControls) {
|
|
143
|
+
this.#aCurrentStateControls = deepClone(currentControls);
|
|
144
|
+
} else {
|
|
145
|
+
this.#aCurrentStateControls = [];
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Flushes the list of managed controls.
|
|
151
|
+
* The controls are not destroyed.
|
|
152
|
+
*
|
|
153
|
+
* @since 1.127.0
|
|
154
|
+
* @private
|
|
155
|
+
* @alias sap.ushell.state.ControlManager#flushList
|
|
156
|
+
*/
|
|
157
|
+
flushList () {
|
|
158
|
+
this.#aCurrentStateControls = [];
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Destroys the managed controls based on the storage entry.
|
|
163
|
+
* @param {object} oStorageEntry The storage entry.
|
|
164
|
+
*
|
|
165
|
+
* @since 1.127.0
|
|
166
|
+
* @private
|
|
167
|
+
* @alias sap.ushell.state.ControlManager#destroyFromStorage
|
|
168
|
+
*/
|
|
169
|
+
destroyFromStorage (oStorageEntry = {}) {
|
|
170
|
+
const { currentControls } = oStorageEntry.controlManager || {};
|
|
171
|
+
|
|
172
|
+
if (Array.isArray(currentControls)) {
|
|
173
|
+
currentControls.forEach((sId) => {
|
|
174
|
+
this.destroyManagedControl(sId);
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* ONLY FOR TESTING!
|
|
181
|
+
* Resets the control manager.
|
|
182
|
+
*
|
|
183
|
+
* @since 1.127.0
|
|
184
|
+
* @private
|
|
185
|
+
* @alias sap.ushell.state.ControlManager#reset
|
|
186
|
+
*/
|
|
187
|
+
reset () {
|
|
188
|
+
this.destroy();
|
|
189
|
+
|
|
190
|
+
this.#aCurrentStateControls = [];
|
|
191
|
+
this.#aBaseStateControls = [];
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* Destroys all managed controls.
|
|
196
|
+
* Shall only be called by the state manager.
|
|
197
|
+
*
|
|
198
|
+
* @since 1.127.0
|
|
199
|
+
* @private
|
|
200
|
+
* @alias sap.ushell.state.ControlManager#destroy
|
|
201
|
+
*/
|
|
202
|
+
destroy () {
|
|
203
|
+
this.#destroyAllManagedControls();
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
return new ControlManager();
|
|
208
|
+
|
|
209
|
+
});
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
// Copyright (c) 2009-2023 SAP SE, All Rights Reserved
|
|
2
|
+
|
|
3
|
+
sap.ui.define([
|
|
4
|
+
"sap/base/util/deepClone",
|
|
5
|
+
"sap/ui/base/EventProvider",
|
|
6
|
+
"sap/ushell/state/StrategyFactory"
|
|
7
|
+
], function (
|
|
8
|
+
deepClone,
|
|
9
|
+
EventProvider,
|
|
10
|
+
StrategyFactory
|
|
11
|
+
) {
|
|
12
|
+
"use strict";
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* @typedef {object} sap.ushell.state.CurrentState.Command
|
|
16
|
+
* A command that should be executed to update the state.
|
|
17
|
+
* @property {sap.ushell.state.StateManager.Path} path The path to the property that should be updated.
|
|
18
|
+
* @property {sap.ushell.state.StateManager.Operation} operation The operation that should be performed.
|
|
19
|
+
* @property {any} value The value that should be set.
|
|
20
|
+
*
|
|
21
|
+
* @since 1.127.0
|
|
22
|
+
* @private
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @alias sap.ushell.state.CurrentState
|
|
27
|
+
* @namespace
|
|
28
|
+
* @description This class manages the current state of applications.
|
|
29
|
+
*
|
|
30
|
+
* @since 1.127.0
|
|
31
|
+
* @private
|
|
32
|
+
*/
|
|
33
|
+
class CurrentState {
|
|
34
|
+
/**
|
|
35
|
+
* The list of commands that should be executed to update the state.
|
|
36
|
+
* @type {sap.ushell.state.CurrentState.Command[]}
|
|
37
|
+
*/
|
|
38
|
+
#aCommandList = [];
|
|
39
|
+
/**
|
|
40
|
+
* The event provider that is used to notify listeners about state changes.
|
|
41
|
+
* @type {sap.ui.base.EventProvider}
|
|
42
|
+
*/
|
|
43
|
+
#oEventProvider = new EventProvider();
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Attaches an event handler to the state change event.
|
|
47
|
+
* The handler is called when the state changes e.g. when the state is restored or flushed.
|
|
48
|
+
* @param {object} oData An object that will be passed to the handler along with the event object when the event is fired
|
|
49
|
+
* @param {function} fnHandler The handler function to call when the event occurs.
|
|
50
|
+
* @param {object} oListener The data to be passed to the event handler.
|
|
51
|
+
*
|
|
52
|
+
* @since 1.127.0
|
|
53
|
+
* @private
|
|
54
|
+
* @alias sap.ushell.state.CurrentState#attachStateChange
|
|
55
|
+
*/
|
|
56
|
+
attachStateChange (...args) {
|
|
57
|
+
this.#oEventProvider.attachEvent("stateChange", ...args);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Detaches an event handler from the state change event.
|
|
62
|
+
* @param {function} fnHandler The handler function.
|
|
63
|
+
* @param {object} oListener The data to be passed to the event handler.
|
|
64
|
+
*
|
|
65
|
+
* @since 1.127.0
|
|
66
|
+
* @private
|
|
67
|
+
* @alias sap.ushell.state.CurrentState#detachStateChange
|
|
68
|
+
*/
|
|
69
|
+
detachStateChange (...args) {
|
|
70
|
+
this.#oEventProvider.detachEvent("stateChange", ...args);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Updates the state with the given operation and value.
|
|
75
|
+
* @param {sap.ushell.state.StateManager.Path} sPath The path to the property that should be updated.
|
|
76
|
+
* @param {sap.ushell.state.StateManager.Operation} sOperation The operation that should be performed.
|
|
77
|
+
* @param {any} vValue The value that should be set.
|
|
78
|
+
*
|
|
79
|
+
* @since 1.127.0
|
|
80
|
+
* @private
|
|
81
|
+
* @alias sap.ushell.state.CurrentState#updateState
|
|
82
|
+
*/
|
|
83
|
+
updateState (sPath, sOperation, vValue) {
|
|
84
|
+
this.#aCommandList.push({
|
|
85
|
+
path: sPath,
|
|
86
|
+
value: vValue,
|
|
87
|
+
operation: sOperation
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Flushes the state and prepares it for a new current state.
|
|
93
|
+
*
|
|
94
|
+
* @since 1.127.0
|
|
95
|
+
* @private
|
|
96
|
+
* @alias sap.ushell.state.CurrentState#flushState
|
|
97
|
+
*/
|
|
98
|
+
flushState () {
|
|
99
|
+
this.#aCommandList = [];
|
|
100
|
+
this.#oEventProvider.fireEvent("stateChange");
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Stores the current state in the given storage entry.
|
|
105
|
+
* The stored state is used to restore the state when the application is restarted.
|
|
106
|
+
* @param {object} oStorageEntry The storage entry.
|
|
107
|
+
*
|
|
108
|
+
* @since 1.127.0
|
|
109
|
+
* @private
|
|
110
|
+
* @alias sap.ushell.state.CurrentState#storeState
|
|
111
|
+
*/
|
|
112
|
+
storeState (oStorageEntry) {
|
|
113
|
+
oStorageEntry.currentState = {
|
|
114
|
+
commandList: deepClone(this.#aCommandList)
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Restores the state from the given storage entry.
|
|
120
|
+
* @param {object} oStorageEntry The storage entry.
|
|
121
|
+
*
|
|
122
|
+
* @since 1.127.0
|
|
123
|
+
* @private
|
|
124
|
+
* @alias sap.ushell.state.CurrentState#restoreState
|
|
125
|
+
*/
|
|
126
|
+
restoreState (oStorageEntry) {
|
|
127
|
+
const { commandList } = oStorageEntry.currentState || {};
|
|
128
|
+
if (commandList) {
|
|
129
|
+
this.#aCommandList = deepClone(commandList);
|
|
130
|
+
} else {
|
|
131
|
+
this.#aCommandList = [];
|
|
132
|
+
}
|
|
133
|
+
this.#oEventProvider.fireEvent("stateChange");
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Applies the current state to the given state data.
|
|
138
|
+
* The current state is applied in-place.
|
|
139
|
+
* @param {object} oStateData The state data.
|
|
140
|
+
*
|
|
141
|
+
* @since 1.127.0
|
|
142
|
+
* @private
|
|
143
|
+
* @alias sap.ushell.state.CurrentState#applyState
|
|
144
|
+
*/
|
|
145
|
+
applyState (oStateData) {
|
|
146
|
+
this.#aCommandList.forEach(({ path, value, operation }) => {
|
|
147
|
+
StrategyFactory.perform(oStateData, path, operation, value);
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* ONLY FOR TESTING!
|
|
153
|
+
* Resets the current state.
|
|
154
|
+
*
|
|
155
|
+
* @since 1.127.0
|
|
156
|
+
* @private
|
|
157
|
+
* @alias sap.ushell.state.CurrentState#reset
|
|
158
|
+
*/
|
|
159
|
+
reset () {
|
|
160
|
+
this.destroy();
|
|
161
|
+
|
|
162
|
+
this.#aCommandList = [];
|
|
163
|
+
this.#oEventProvider = new EventProvider();
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Destroys the current state.
|
|
168
|
+
* Should only be called by the state manager.
|
|
169
|
+
*
|
|
170
|
+
* @since 1.127.0
|
|
171
|
+
* @private
|
|
172
|
+
* @alias sap.ushell.state.CurrentState#destroy
|
|
173
|
+
*/
|
|
174
|
+
destroy () {
|
|
175
|
+
this.#oEventProvider.destroy();
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
return new CurrentState();
|
|
180
|
+
});
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
// Copyright (c) 2009-2023 SAP SE, All Rights Reserved
|
|
2
|
+
|
|
3
|
+
sap.ui.define([
|
|
4
|
+
"sap/ushell/state/ControlManager",
|
|
5
|
+
"sap/ushell/state/CurrentState"
|
|
6
|
+
], function (
|
|
7
|
+
ControlManager,
|
|
8
|
+
CurrentState
|
|
9
|
+
) {
|
|
10
|
+
"use strict";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* @alias sap.ushell.state.KeepAlive
|
|
14
|
+
* @namespace
|
|
15
|
+
* @description This module is a facade for the keep-alive mechanism in the state management.
|
|
16
|
+
*
|
|
17
|
+
* @since 1.127.0
|
|
18
|
+
* @private
|
|
19
|
+
*/
|
|
20
|
+
class KeepAlive {
|
|
21
|
+
/**
|
|
22
|
+
* Stores the current state of the application.
|
|
23
|
+
* The stored state is used to restore the application when it is restarted.
|
|
24
|
+
* @param {object} oStorageEntry The storage entry.
|
|
25
|
+
*
|
|
26
|
+
* @since 1.127.0
|
|
27
|
+
* @private
|
|
28
|
+
* @alias sap.ushell.state.KeepAlive#store
|
|
29
|
+
*/
|
|
30
|
+
store (oStorageEntry) {
|
|
31
|
+
CurrentState.storeState(oStorageEntry);
|
|
32
|
+
// Store controls list and empty it afterwards because the keep-alive app still need them in future
|
|
33
|
+
ControlManager.storeList(oStorageEntry);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Restores the state of the application.
|
|
38
|
+
* @param {object} oStorageEntry The storage entry.
|
|
39
|
+
*
|
|
40
|
+
* @since 1.127.0
|
|
41
|
+
* @private
|
|
42
|
+
* @alias sap.ushell.state.KeepAlive#restore
|
|
43
|
+
*/
|
|
44
|
+
restore (oStorageEntry) {
|
|
45
|
+
CurrentState.restoreState(oStorageEntry);
|
|
46
|
+
ControlManager.restoreList(oStorageEntry);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Flushes the current state of the application.
|
|
51
|
+
*
|
|
52
|
+
* @since 1.127.0
|
|
53
|
+
* @private
|
|
54
|
+
* @alias sap.ushell.state.KeepAlive#flush
|
|
55
|
+
*/
|
|
56
|
+
flush () {
|
|
57
|
+
CurrentState.flushState();
|
|
58
|
+
ControlManager.flushList();
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Destroys the managed controls based on the storage entry.
|
|
63
|
+
* @param {object} oStorageEntry The storage entry.
|
|
64
|
+
*
|
|
65
|
+
* @since 1.127.0
|
|
66
|
+
* @private
|
|
67
|
+
* @alias sap.ushell.state.KeepAlive#destroy
|
|
68
|
+
*/
|
|
69
|
+
destroy (oStorageEntry) {
|
|
70
|
+
ControlManager.destroyFromStorage(oStorageEntry);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
return new KeepAlive();
|
|
75
|
+
});
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
// Copyright (c) 2009-2023 SAP SE, All Rights Reserved
|
|
2
|
+
|
|
3
|
+
sap.ui.define([
|
|
4
|
+
"sap/base/util/deepClone",
|
|
5
|
+
"sap/ui/model/json/JSONModel",
|
|
6
|
+
"sap/ushell/Config",
|
|
7
|
+
"sap/ushell/utils/RestrictedJSONModel"
|
|
8
|
+
], function (
|
|
9
|
+
deepClone,
|
|
10
|
+
JSONModel,
|
|
11
|
+
Config,
|
|
12
|
+
RestrictedJSONModel
|
|
13
|
+
) {
|
|
14
|
+
"use strict";
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @alias sap.ushell.state.ShellModel
|
|
18
|
+
* @namespace
|
|
19
|
+
* @description The model representing the current state of the shell.
|
|
20
|
+
* The model is a read-only model. It is updated by the state manager.
|
|
21
|
+
* The controller can access to bind to this model.
|
|
22
|
+
*
|
|
23
|
+
* @since 1.127.0
|
|
24
|
+
* @private
|
|
25
|
+
*/
|
|
26
|
+
class ShellModel {
|
|
27
|
+
/**
|
|
28
|
+
* The model representing the current state of the shell.
|
|
29
|
+
* @type {sap.ushell.utils.RestrictedJSONModel}
|
|
30
|
+
*/
|
|
31
|
+
#model = new RestrictedJSONModel();
|
|
32
|
+
/**
|
|
33
|
+
* The model representing the configuration of the shell.
|
|
34
|
+
* References <code>/core/shell/model</code> of the {@link sap.ushell.Config}.
|
|
35
|
+
* @type {sap.ui.model.json.JSONModel}
|
|
36
|
+
*/
|
|
37
|
+
#configModel = Config.createModel("/core/shell/model", JSONModel);
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Updates the model with the given state data.
|
|
41
|
+
* Should only be called by the state manager.
|
|
42
|
+
* @param {object} oStateData The calculated state data.
|
|
43
|
+
*
|
|
44
|
+
* @since 1.127.0
|
|
45
|
+
* @private
|
|
46
|
+
* @alias sap.ushell.state.ShellModel#updateModel
|
|
47
|
+
*/
|
|
48
|
+
updateModel (oStateData) {
|
|
49
|
+
const oClonedState = deepClone(oStateData);
|
|
50
|
+
this.#model._setData(oClonedState);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Returns the model representing the current state of the shell.
|
|
55
|
+
* This model is a read-only model.
|
|
56
|
+
* @returns {sap.ui.model.Model} The model.
|
|
57
|
+
*
|
|
58
|
+
* @since 1.127.0
|
|
59
|
+
* @private
|
|
60
|
+
* @alias sap.ushell.state.ShellModel#getModel
|
|
61
|
+
*/
|
|
62
|
+
getModel () {
|
|
63
|
+
return this.#model;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Returns the model representing the configuration of the shell.
|
|
68
|
+
* The config model is based on {@link sap.ushell.Config}.
|
|
69
|
+
* With this any updates are delayed by a tick.
|
|
70
|
+
* However, the <code>getProperty</code> result is updated immediately.
|
|
71
|
+
* @returns {sap.ui.model.Model} The model.
|
|
72
|
+
*
|
|
73
|
+
* @since 1.127.0
|
|
74
|
+
* @private
|
|
75
|
+
* @alias sap.ushell.state.ShellModel#getConfigModel
|
|
76
|
+
*/
|
|
77
|
+
getConfigModel () {
|
|
78
|
+
return this.#configModel;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* ONLY FOR TESTING!
|
|
83
|
+
* Resets the model.
|
|
84
|
+
*
|
|
85
|
+
* @since 1.127.0
|
|
86
|
+
* @private
|
|
87
|
+
* @alias sap.ushell.state.ShellModel#reset
|
|
88
|
+
*/
|
|
89
|
+
reset () {
|
|
90
|
+
this.destroy();
|
|
91
|
+
|
|
92
|
+
this.#model = new RestrictedJSONModel();
|
|
93
|
+
this.#configModel = Config.createModel("/core/shell/model", JSONModel);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Destroys the model.
|
|
98
|
+
* Should only be called by the state manager.
|
|
99
|
+
*
|
|
100
|
+
* @since 1.127.0
|
|
101
|
+
* @private
|
|
102
|
+
* @alias sap.ushell.state.ShellModel#destroy
|
|
103
|
+
*/
|
|
104
|
+
destroy () {
|
|
105
|
+
this.#model.destroy();
|
|
106
|
+
this.#configModel.destroy();
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
return new ShellModel();
|
|
111
|
+
|
|
112
|
+
});
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// Copyright (c) 2009-2023 SAP SE, All Rights Reserved
|
|
2
|
+
|
|
3
|
+
sap.ui.define([
|
|
4
|
+
], function (
|
|
5
|
+
) {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @alias sap.ushell.state.StateManager.LaunchpadState
|
|
10
|
+
* @enum {string}
|
|
11
|
+
*
|
|
12
|
+
* @since 1.127.0
|
|
13
|
+
* @private
|
|
14
|
+
*/
|
|
15
|
+
const LaunchpadState = {
|
|
16
|
+
/**
|
|
17
|
+
* Describes any view that is considered a home view.
|
|
18
|
+
* - Classic Homepage
|
|
19
|
+
* - Pages Runtime
|
|
20
|
+
* - (Custom)MyHome
|
|
21
|
+
*
|
|
22
|
+
* @since 1.127.0
|
|
23
|
+
* @private
|
|
24
|
+
*/
|
|
25
|
+
Home: "home",
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Describes any view that is NOT a home view.
|
|
29
|
+
* - App Finder
|
|
30
|
+
* - Search
|
|
31
|
+
* - Applications
|
|
32
|
+
*
|
|
33
|
+
* @since 1.127.0
|
|
34
|
+
* @private
|
|
35
|
+
*/
|
|
36
|
+
App: "app"
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
return LaunchpadState;
|
|
40
|
+
});
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// Copyright (c) 2009-2023 SAP SE, All Rights Reserved
|
|
2
|
+
|
|
3
|
+
sap.ui.define([
|
|
4
|
+
], function (
|
|
5
|
+
) {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @alias sap.ushell.state.StateManager.Operation
|
|
10
|
+
* @enum {string}
|
|
11
|
+
*
|
|
12
|
+
* @since 1.127.0
|
|
13
|
+
* @private
|
|
14
|
+
*/
|
|
15
|
+
const Operation = {
|
|
16
|
+
/**
|
|
17
|
+
* Adds an item to a list.
|
|
18
|
+
*
|
|
19
|
+
* @since 1.127.0
|
|
20
|
+
* @private
|
|
21
|
+
*/
|
|
22
|
+
Add: "add",
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Removes an item from a list.
|
|
26
|
+
*
|
|
27
|
+
* @since 1.127.0
|
|
28
|
+
* @private
|
|
29
|
+
*/
|
|
30
|
+
Remove: "remove",
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Sets a property on an object.
|
|
34
|
+
*
|
|
35
|
+
* @since 1.127.0
|
|
36
|
+
* @private
|
|
37
|
+
*/
|
|
38
|
+
Set: "set"
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
return Operation;
|
|
42
|
+
});
|