@sapui5/sap.ushell 1.126.1 → 1.127.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/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/_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 +303 -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/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/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
|
@@ -1,547 +0,0 @@
|
|
|
1
|
-
// Copyright (c) 2009-2023 SAP SE, All Rights Reserved
|
|
2
|
-
|
|
3
|
-
sap.ui.define([
|
|
4
|
-
"sap/base/util/ObjectPath",
|
|
5
|
-
"sap/ui/Device",
|
|
6
|
-
"sap/ui/core/Element",
|
|
7
|
-
"sap/ushell/api/NewExperience",
|
|
8
|
-
"sap/ushell/components/_HeaderManager/PropertyStrategiesFactory",
|
|
9
|
-
"sap/ushell/components/StateHelper",
|
|
10
|
-
"sap/ushell/Config",
|
|
11
|
-
"sap/ushell/EventHub",
|
|
12
|
-
"sap/ushell/utils",
|
|
13
|
-
"sap/base/util/deepClone"
|
|
14
|
-
], function (
|
|
15
|
-
ObjectPath,
|
|
16
|
-
Device,
|
|
17
|
-
Element,
|
|
18
|
-
NewExperience,
|
|
19
|
-
_PropertyStrategiesFactory,
|
|
20
|
-
StateHelper,
|
|
21
|
-
Config,
|
|
22
|
-
EventHub,
|
|
23
|
-
ushellUtils,
|
|
24
|
-
deepClone
|
|
25
|
-
) {
|
|
26
|
-
"use strict";
|
|
27
|
-
|
|
28
|
-
var oHeaderDefaultProperties = {
|
|
29
|
-
application: {},
|
|
30
|
-
centralAreaElement: null,
|
|
31
|
-
headEndItems: [],
|
|
32
|
-
headItems: [],
|
|
33
|
-
headerVisible: true,
|
|
34
|
-
showLogo: false,
|
|
35
|
-
ShellAppTitleState: undefined,
|
|
36
|
-
rootIntent: Config.last("/core/shellHeader/rootIntent"), // never changes during runtime
|
|
37
|
-
homeUri: Config.last("/core/shellHeader/homeUri"), // might change during runtime; see "handleCurrentSpaceAndPage"
|
|
38
|
-
title: ""
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
var oHeaderBaseStates;
|
|
42
|
-
var oApplicationStates;
|
|
43
|
-
var sOverflowID = "endItemsOverflowBtn";
|
|
44
|
-
var sCurrentRangeName; // change it during the resize event only, to enable tests
|
|
45
|
-
var BASE_STATES = {
|
|
46
|
-
blank: {},
|
|
47
|
-
"blank-home": {},
|
|
48
|
-
home: {
|
|
49
|
-
headItems: []
|
|
50
|
-
},
|
|
51
|
-
app: {
|
|
52
|
-
headItems: ["backBtn"]
|
|
53
|
-
},
|
|
54
|
-
minimal: {
|
|
55
|
-
headItems: []
|
|
56
|
-
},
|
|
57
|
-
standalone: {
|
|
58
|
-
headItems: ["backBtn"]
|
|
59
|
-
},
|
|
60
|
-
embedded: {
|
|
61
|
-
headItems: ["backBtn"]
|
|
62
|
-
},
|
|
63
|
-
"embedded-home": {
|
|
64
|
-
headItems: []
|
|
65
|
-
},
|
|
66
|
-
headerless: {
|
|
67
|
-
headItems: ["backBtn"],
|
|
68
|
-
headerVisible: false
|
|
69
|
-
},
|
|
70
|
-
merged: {
|
|
71
|
-
headItems: ["backBtn"]
|
|
72
|
-
},
|
|
73
|
-
"headerless-home": {
|
|
74
|
-
headerVisible: false
|
|
75
|
-
},
|
|
76
|
-
"merged-home": {},
|
|
77
|
-
lean: {
|
|
78
|
-
headItems: []
|
|
79
|
-
},
|
|
80
|
-
"lean-home": {}
|
|
81
|
-
};
|
|
82
|
-
var aDoables = [];
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Initialization of the HeaderManager.
|
|
86
|
-
*
|
|
87
|
-
* @param {object} oConfig The shell config.
|
|
88
|
-
* @param {object} oApplicationShellStates The global state from AppLifeCycle.
|
|
89
|
-
*/
|
|
90
|
-
function init (oConfig, oApplicationShellStates) {
|
|
91
|
-
var sInitialState = oConfig && oConfig.appState ? oConfig.appState : "home";
|
|
92
|
-
oHeaderBaseStates = _createInitialState(oConfig);
|
|
93
|
-
// custom states are received from the AppLifeCycle;
|
|
94
|
-
// it is a global object, might be changed by AppLifeCycle anytime;
|
|
95
|
-
// we keep the reference to this object and use it for calculation of the current state
|
|
96
|
-
oApplicationStates = oApplicationShellStates;
|
|
97
|
-
|
|
98
|
-
sCurrentRangeName = Device.media.getCurrentRange(Device.media.RANGESETS.SAP_STANDARD).name;
|
|
99
|
-
|
|
100
|
-
validateShowLogo();
|
|
101
|
-
|
|
102
|
-
_subscribeToEvents();
|
|
103
|
-
|
|
104
|
-
// Emit the initial state of header
|
|
105
|
-
switchState(sInitialState);
|
|
106
|
-
recalculateState();
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* Destroys the Header manager.
|
|
111
|
-
* Destroys header controls created in the HeaderManager.
|
|
112
|
-
*/
|
|
113
|
-
function destroy () {
|
|
114
|
-
_unSubscribeFromEvents();
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
function _subscribeToEvents () {
|
|
118
|
-
var oDoable = EventHub.on("setHeaderCentralAreaElement").do(function (oParameters) {
|
|
119
|
-
updateStates({
|
|
120
|
-
propertyName: "centralAreaElement",
|
|
121
|
-
value: oParameters.id,
|
|
122
|
-
aStates: StateHelper.getPassStates(oParameters.states), // If no states provided - set for all states
|
|
123
|
-
bCurrentState: !!oParameters.currentState,
|
|
124
|
-
bDoNotPropagate: !!oParameters.bDoNotPropagate
|
|
125
|
-
});
|
|
126
|
-
});
|
|
127
|
-
aDoables.push(oDoable);
|
|
128
|
-
aDoables.push(EventHub.on("updateHeaderOverflowState").do(_handleHeaderResize));
|
|
129
|
-
Device.media.attachHandler(_handleHeaderResize, this, Device.media.RANGESETS.SAP_STANDARD);
|
|
130
|
-
// Overflow must be checked each time when a button is added to the header:
|
|
131
|
-
aDoables.push(Config.on("/core/shellHeader/headEndItems").do(handleEndItemsOverflow));
|
|
132
|
-
aDoables.push(Config.on("/core/shell/model/currentSpaceAndPage").do(handleCurrentSpaceAndPage));
|
|
133
|
-
|
|
134
|
-
NewExperience.attachActiveChanged(_handleHeaderResize);
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
function _unSubscribeFromEvents () {
|
|
138
|
-
if (aDoables) {
|
|
139
|
-
aDoables.forEach(function (oDoable) {
|
|
140
|
-
oDoable.off();
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
Device.media.detachHandler(_handleHeaderResize, this, Device.media.RANGESETS.SAP_STANDARD);
|
|
144
|
-
NewExperience.detachActiveChanged(_handleHeaderResize);
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
function _handleHeaderResize (oParams) {
|
|
148
|
-
if (oParams && oParams.name) {
|
|
149
|
-
sCurrentRangeName = oParams.name;
|
|
150
|
-
}
|
|
151
|
-
validateShowLogo();
|
|
152
|
-
handleEndItemsOverflow();
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
function validateShowLogo (deviceType) {
|
|
156
|
-
var sCurrentState = Config.last("/core/shell/model/currentState/stateName");
|
|
157
|
-
var bIsHeaderLessState = sCurrentState === "merged" || sCurrentState === "headerless";
|
|
158
|
-
var bShellLogoVisible = !bIsHeaderLessState;
|
|
159
|
-
|
|
160
|
-
// Set the arg bDoNotPropagate to true, otherwise changes will be redundantly apply also to other states
|
|
161
|
-
// (e.g. - headerless should always be presented without logo)
|
|
162
|
-
updateStates({
|
|
163
|
-
propertyName: "showLogo",
|
|
164
|
-
value: bShellLogoVisible,
|
|
165
|
-
aStates: ["home", "app", "blank", "blank-home", "minimal", "lean"],
|
|
166
|
-
bCurrentState: false,
|
|
167
|
-
bDoNotPropagate: true
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
/**
|
|
172
|
-
* Handles updates of "currentSpaceAndPage", adjusting the header "homeUri" when necessary.
|
|
173
|
-
* The "homeUri" is the URI used as the navigation target of the header Logo.
|
|
174
|
-
* If Spaces is enabled and "homeNavigationTarget" is "origin_page", "currentSpaceAndPage" is used for setting the new "homeUri".
|
|
175
|
-
* If otherwise, the "homeUri" is left unchanged (it initially points to the "rootIntent"; see {@link #_createInitialState}).
|
|
176
|
-
*
|
|
177
|
-
* @param {object} oCurrentSpaceAndPage New property of "currentSpaceAndPage" (from "/core/shell/model/currentSpaceAndPage").
|
|
178
|
-
* @private
|
|
179
|
-
*/
|
|
180
|
-
function handleCurrentSpaceAndPage (oCurrentSpaceAndPage) {
|
|
181
|
-
if (Config.last("/core/spaces/enabled") && Config.last("/core/spaces/homeNavigationTarget") === "origin_page") {
|
|
182
|
-
var sNewHash = oCurrentSpaceAndPage ? encodeURI(oCurrentSpaceAndPage.hash) : oHeaderDefaultProperties.rootIntent;
|
|
183
|
-
|
|
184
|
-
var fnUpdateStates = (this && this.updateStates) || updateStates; // this check is for testing, to use the stub instead of the closure
|
|
185
|
-
|
|
186
|
-
fnUpdateStates({
|
|
187
|
-
propertyName: "homeUri",
|
|
188
|
-
value: "#" + sNewHash
|
|
189
|
-
});
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
/**
|
|
194
|
-
* Moves the new experience button into the overflow area.
|
|
195
|
-
*
|
|
196
|
-
* @since 1.124.0
|
|
197
|
-
* @private
|
|
198
|
-
*/
|
|
199
|
-
function moveNewExperienceToOverflow () {
|
|
200
|
-
if (NewExperience.isActive()) {
|
|
201
|
-
addHeaderEndItem([NewExperience.getOverflowItemId()], false, ["home", "app"]);
|
|
202
|
-
}
|
|
203
|
-
NewExperience.showInOverflow();
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
/**
|
|
207
|
-
* Moves the new experience button into the shell header.
|
|
208
|
-
*
|
|
209
|
-
* @since 1.124.0
|
|
210
|
-
* @private
|
|
211
|
-
*/
|
|
212
|
-
function moveNewExperienceToShellHeader () {
|
|
213
|
-
if (NewExperience.isActive()) {
|
|
214
|
-
removeHeaderEndItem([NewExperience.getOverflowItemId()], false, ["home", "app"]);
|
|
215
|
-
}
|
|
216
|
-
NewExperience.showInShellHeader();
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
/**
|
|
220
|
-
* Logic to determine if the headEndItemsOverflow button should be visible.
|
|
221
|
-
* Overflow button is shown only when oParams.name or sCurrentRangeName is "Phone".
|
|
222
|
-
*
|
|
223
|
-
* @param {object} oParams An object containing a device name.
|
|
224
|
-
*/
|
|
225
|
-
function handleEndItemsOverflow (oParams) {
|
|
226
|
-
var aEndItems = Config.last("/core/shellHeader/headEndItems");
|
|
227
|
-
var bIsOverflowVisible = aEndItems.indexOf(sOverflowID) > -1;
|
|
228
|
-
var sDeviceType = oParams && oParams.name || sCurrentRangeName;
|
|
229
|
-
|
|
230
|
-
if (sDeviceType === "Phone" && (NewExperience.isActive() || (!bIsOverflowVisible && aEndItems.length > 2))) {
|
|
231
|
-
// Show overflow if more than two buttons are in the header
|
|
232
|
-
// and show overflow always in case of New Experience
|
|
233
|
-
addHeaderEndItem([sOverflowID], false, ["home", "app"]);
|
|
234
|
-
|
|
235
|
-
moveNewExperienceToOverflow();
|
|
236
|
-
|
|
237
|
-
} else if (sDeviceType !== "Phone" && bIsOverflowVisible) {
|
|
238
|
-
// Destroy the popover to avoid duplicate elements ids in the DOM
|
|
239
|
-
// and to ensure the endItems are rendered correctly in the header
|
|
240
|
-
var oPopover = Element.getElementById("headEndItemsOverflow");
|
|
241
|
-
if (oPopover) {
|
|
242
|
-
if (NewExperience.isActive()) {
|
|
243
|
-
const oItem = NewExperience.getOverflowItemControl();
|
|
244
|
-
// try to remove the item from the parent
|
|
245
|
-
// because we want to reuse the control in the next call
|
|
246
|
-
oItem.getParent()?.removeItem?.(oItem);
|
|
247
|
-
}
|
|
248
|
-
oPopover.destroy();
|
|
249
|
-
}
|
|
250
|
-
removeHeaderEndItem([sOverflowID], false, ["home", "app"]);
|
|
251
|
-
|
|
252
|
-
moveNewExperienceToShellHeader();
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
function addHeaderEndItem (aIds, bCurrentState, aStates, bDoNotPropagate) {
|
|
257
|
-
updateStates({
|
|
258
|
-
propertyName: "headEndItems",
|
|
259
|
-
value: aIds,
|
|
260
|
-
aStates: aStates,
|
|
261
|
-
bCurrentState: !!bCurrentState,
|
|
262
|
-
bDoNotPropagate: !!bDoNotPropagate
|
|
263
|
-
});
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
function removeHeaderEndItem (aIds, bCurrentState, aStates) {
|
|
267
|
-
updateStates({
|
|
268
|
-
propertyName: "headEndItems",
|
|
269
|
-
value: aIds,
|
|
270
|
-
aStates: aStates,
|
|
271
|
-
bCurrentState: !!bCurrentState,
|
|
272
|
-
action: "remove",
|
|
273
|
-
bDoNotPropagate: false
|
|
274
|
-
});
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
// Header state methods
|
|
278
|
-
|
|
279
|
-
/**
|
|
280
|
-
* Generates a base header state.
|
|
281
|
-
*
|
|
282
|
-
* @param {object} oStateDeltas The state delta.
|
|
283
|
-
* @param {object} oDefaults The defaults.
|
|
284
|
-
* @returns {object} The state.
|
|
285
|
-
*/
|
|
286
|
-
function generateBaseHeaderState (oStateDeltas, oDefaults) {
|
|
287
|
-
var oState = {};
|
|
288
|
-
Object.keys(oStateDeltas).forEach(function (sDeltaState) {
|
|
289
|
-
var oDelta = oStateDeltas[sDeltaState];
|
|
290
|
-
oState[sDeltaState] = Object.keys(oDelta).reduce(function (oTarget, sDeltaProperty) {
|
|
291
|
-
oTarget[sDeltaProperty] = oDelta[sDeltaProperty];
|
|
292
|
-
return oTarget;
|
|
293
|
-
}, deepClone(oDefaults));
|
|
294
|
-
});
|
|
295
|
-
return oState;
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
/**
|
|
299
|
-
* Updates states.
|
|
300
|
-
*
|
|
301
|
-
* @param {object} oParameters Parameters used for the update.
|
|
302
|
-
*/
|
|
303
|
-
function updateStates (oParameters) {
|
|
304
|
-
var sPropertyName = oParameters.propertyName;
|
|
305
|
-
var aStatesToUpdate = !oParameters.bCurrentState ? StateHelper.getAllStateToUpdate(oParameters.aStates, oParameters.bDoNotPropagate) : [];
|
|
306
|
-
var oCurrentState = Config.last("/core/shellHeader");
|
|
307
|
-
var sCurrentStateName = Config.last("/core/shell/model/currentState/stateName");
|
|
308
|
-
var valueToApply = oParameters.value;
|
|
309
|
-
|
|
310
|
-
if (sPropertyName.charAt(0) === "/") {
|
|
311
|
-
sPropertyName = sPropertyName.substring(1);
|
|
312
|
-
}
|
|
313
|
-
var oPropertyStrategy = _PropertyStrategiesFactory(sPropertyName, oParameters.action);
|
|
314
|
-
|
|
315
|
-
// If we don't know how to deal with property, don't do any updates
|
|
316
|
-
if (!oPropertyStrategy) {
|
|
317
|
-
return;
|
|
318
|
-
}
|
|
319
|
-
// Don't update any base states if bCurrentState is true
|
|
320
|
-
if (!oParameters.bCurrentState) {
|
|
321
|
-
oHeaderBaseStates = _calculateNewBaseStates(
|
|
322
|
-
oHeaderBaseStates,
|
|
323
|
-
sPropertyName,
|
|
324
|
-
oPropertyStrategy,
|
|
325
|
-
aStatesToUpdate,
|
|
326
|
-
valueToApply);
|
|
327
|
-
}
|
|
328
|
-
// Update current header state in sap/ushell/Config
|
|
329
|
-
if (aStatesToUpdate.indexOf(sCurrentStateName) > -1 || oParameters.bCurrentState) {
|
|
330
|
-
var vCurrentPropertyValue = ObjectPath.get(sPropertyName.split("/"), oCurrentState);
|
|
331
|
-
var vNewPropertyValue = oPropertyStrategy.execute(vCurrentPropertyValue, valueToApply);
|
|
332
|
-
if (vCurrentPropertyValue !== vNewPropertyValue) {
|
|
333
|
-
ObjectPath.set(sPropertyName.split("/"), vNewPropertyValue, oCurrentState);
|
|
334
|
-
_updateConfig(sPropertyName, oCurrentState);
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
// In case of the current state we need to update custom model (reference object from AppLifeCycle) as well
|
|
338
|
-
if (oParameters.bCurrentState) {
|
|
339
|
-
_updateCustomModel(sPropertyName, oPropertyStrategy, valueToApply);
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
|
|
343
|
-
function extendStates (oStates) {
|
|
344
|
-
var stateEntryKey;
|
|
345
|
-
for (stateEntryKey in oStates) {
|
|
346
|
-
if (oStates.hasOwnProperty(stateEntryKey)) {
|
|
347
|
-
ushellUtils.updateProperties(oHeaderBaseStates[stateEntryKey], oStates[stateEntryKey]);
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
|
|
352
|
-
function switchState (sNewStateName) {
|
|
353
|
-
var oBaseState = oHeaderBaseStates[sNewStateName];
|
|
354
|
-
if (!oBaseState) {
|
|
355
|
-
throw new Error("the state (" + sNewStateName + ") does not exist");
|
|
356
|
-
}
|
|
357
|
-
|
|
358
|
-
Config.emit("/core/shellHeader", deepClone(oBaseState));
|
|
359
|
-
}
|
|
360
|
-
|
|
361
|
-
/**
|
|
362
|
-
* Recalculates states.
|
|
363
|
-
* We recalculate states because "customShellState" and "extendedShellStates" are global objects and can be changed by AppLifeCycle.
|
|
364
|
-
*
|
|
365
|
-
* @param {string} sExtendedStateName Name of the extended state.
|
|
366
|
-
*/
|
|
367
|
-
function recalculateState (sExtendedStateName) {
|
|
368
|
-
// Take the state from config, because the config save execution with currentState=true
|
|
369
|
-
var oBaseState = Config.last("/core/shellHeader");
|
|
370
|
-
var oCustomState;
|
|
371
|
-
var oExtendedState;
|
|
372
|
-
|
|
373
|
-
if (oApplicationStates && oApplicationStates.customShellState) {
|
|
374
|
-
oCustomState = oApplicationStates.customShellState.currentState;
|
|
375
|
-
}
|
|
376
|
-
if (sExtendedStateName && oApplicationStates.extendedShellStates[sExtendedStateName]) {
|
|
377
|
-
oExtendedState = oApplicationStates.extendedShellStates[sExtendedStateName].customState.currentState;
|
|
378
|
-
}
|
|
379
|
-
Config.emit("/core/shellHeader", calculateCurrentHeaderState(oBaseState, oCustomState, oExtendedState));
|
|
380
|
-
}
|
|
381
|
-
|
|
382
|
-
/**
|
|
383
|
-
* Calculates current header state.
|
|
384
|
-
*
|
|
385
|
-
* @param {object} oBaseState The base state.
|
|
386
|
-
* @param {object} oCustomState The custom state.
|
|
387
|
-
* @param {object} oExtendedState The extended state.
|
|
388
|
-
* @returns {undefined}
|
|
389
|
-
*/
|
|
390
|
-
function calculateCurrentHeaderState (oBaseState, oCustomState, oExtendedState) {
|
|
391
|
-
var oResult = {};
|
|
392
|
-
Object.keys(oBaseState).forEach(function (sPropertyName) {
|
|
393
|
-
var oPropertyStrategy = _PropertyStrategiesFactory(sPropertyName);
|
|
394
|
-
var vPropertyValue = deepClone(oBaseState[sPropertyName]);
|
|
395
|
-
// when a strategy is available, the property from base state might be overridden
|
|
396
|
-
if (oPropertyStrategy) {
|
|
397
|
-
// Extend state has higher property than custom property
|
|
398
|
-
if (oExtendedState) {
|
|
399
|
-
vPropertyValue = oPropertyStrategy.execute(vPropertyValue, oExtendedState[sPropertyName]);
|
|
400
|
-
}
|
|
401
|
-
if (oCustomState) {
|
|
402
|
-
vPropertyValue = oPropertyStrategy.execute(vPropertyValue, oCustomState[sPropertyName]);
|
|
403
|
-
}
|
|
404
|
-
}
|
|
405
|
-
oResult[sPropertyName] = vPropertyValue;
|
|
406
|
-
});
|
|
407
|
-
|
|
408
|
-
// Special case: ShellAppTitleState is managed by the ShellAppTitle, keep the current value
|
|
409
|
-
oResult.ShellAppTitleState = Config.last("/core/shellHeader/ShellAppTitleState");
|
|
410
|
-
|
|
411
|
-
return oResult;
|
|
412
|
-
}
|
|
413
|
-
|
|
414
|
-
/**
|
|
415
|
-
* Creates an initial state.
|
|
416
|
-
*
|
|
417
|
-
* @param {object} oConfig The view configuration.
|
|
418
|
-
* @returns {object} Object containing the initial state.
|
|
419
|
-
*/
|
|
420
|
-
function _createInitialState (oConfig) {
|
|
421
|
-
if (oConfig) {
|
|
422
|
-
oHeaderDefaultProperties.rootIntent = oConfig.rootIntent; // never changes during runtime
|
|
423
|
-
oHeaderDefaultProperties.homeUri = "#" + oConfig.rootIntent; // might change during runtime; see "handleCurrentSpaceAndPage"
|
|
424
|
-
}
|
|
425
|
-
var oBaseStates = generateBaseHeaderState(BASE_STATES, oHeaderDefaultProperties);
|
|
426
|
-
|
|
427
|
-
function _addEndItemToShellHeader (btnName, oBaseStates) {
|
|
428
|
-
for (var key in oBaseStates) {
|
|
429
|
-
if (key === "blank" || key === "blank-home") {
|
|
430
|
-
continue;
|
|
431
|
-
}
|
|
432
|
-
if ((btnName === "openCatalogBtn") && (key === "lean" || key === "lean-home")) {
|
|
433
|
-
continue;
|
|
434
|
-
}
|
|
435
|
-
if (btnName === "ContactSupportBtn") {
|
|
436
|
-
if (["home", "app", "minimal", "standalone", "embedded", "embedded-home", "lean"].indexOf(key) === -1) {
|
|
437
|
-
continue;
|
|
438
|
-
}
|
|
439
|
-
}
|
|
440
|
-
|
|
441
|
-
// Add the button to the shell header if not yet exists in this state
|
|
442
|
-
var index = oBaseStates[key].headEndItems.indexOf(btnName);
|
|
443
|
-
if (index === -1) {
|
|
444
|
-
oBaseStates[key].headEndItems.push(btnName);
|
|
445
|
-
}
|
|
446
|
-
}
|
|
447
|
-
}
|
|
448
|
-
|
|
449
|
-
function _updateTitle (sTitle, oBaseStates) {
|
|
450
|
-
var key;
|
|
451
|
-
for (key in oBaseStates) {
|
|
452
|
-
oBaseStates[key].title = sTitle;
|
|
453
|
-
}
|
|
454
|
-
}
|
|
455
|
-
|
|
456
|
-
if (oConfig) {
|
|
457
|
-
if (oConfig.moveContactSupportActionToShellHeader) {
|
|
458
|
-
// can be set via "Shell-bootConfig" with "renderers/fiori2/componentData/config/moveContactSupportActionToShellHeader"
|
|
459
|
-
_addEndItemToShellHeader("ContactSupportBtn", oBaseStates);
|
|
460
|
-
}
|
|
461
|
-
if (oConfig.moveAppFinderActionToShellHeader) {
|
|
462
|
-
// can be set via "Shell-bootConfig" with "renderers/fiori2/componentData/config/moveAppFinderActionToShellHeader"
|
|
463
|
-
_addEndItemToShellHeader("openCatalogBtn", oBaseStates);
|
|
464
|
-
}
|
|
465
|
-
if (oConfig.title) {
|
|
466
|
-
// can be set via "Shell-bootConfig" with "renderers/fiori2/componentData/config/title" (displayed for width >= 1440px)
|
|
467
|
-
_updateTitle(oConfig.title, oBaseStates);
|
|
468
|
-
}
|
|
469
|
-
}
|
|
470
|
-
|
|
471
|
-
return oBaseStates;
|
|
472
|
-
}
|
|
473
|
-
|
|
474
|
-
function _calculateNewBaseStates (oBaseStates, sPropertyName, oPropertyStrategy, aStates, valueToApply) {
|
|
475
|
-
if (aStates.length === 0) {
|
|
476
|
-
return oBaseStates;
|
|
477
|
-
}
|
|
478
|
-
var oNewState = deepClone(oBaseStates);
|
|
479
|
-
aStates.forEach(function (sStateName) {
|
|
480
|
-
var oState = oNewState[sStateName];
|
|
481
|
-
if (oState) {
|
|
482
|
-
var vNewValue = oPropertyStrategy.execute(ObjectPath.get(sPropertyName.split("/"), oState), valueToApply);
|
|
483
|
-
ObjectPath.set(sPropertyName.split("/"), vNewValue, oState);
|
|
484
|
-
}
|
|
485
|
-
});
|
|
486
|
-
return oNewState;
|
|
487
|
-
}
|
|
488
|
-
|
|
489
|
-
function _updateCustomModel (sPropertyName, oPropertyStrategy, valueToApply) {
|
|
490
|
-
if (!oApplicationStates) {
|
|
491
|
-
return;
|
|
492
|
-
}
|
|
493
|
-
var oCustomState = oApplicationStates.customShellState.currentState;
|
|
494
|
-
var vNewValue = oPropertyStrategy.execute(ObjectPath.get(sPropertyName.split("/"), oCustomState), valueToApply);
|
|
495
|
-
ObjectPath.set(sPropertyName.split("/"), vNewValue, oCustomState);
|
|
496
|
-
}
|
|
497
|
-
|
|
498
|
-
function _updateConfig (sPropertyName, oCurrentState) {
|
|
499
|
-
var sRootProperty = sPropertyName.split("/").shift();
|
|
500
|
-
Config.emit("/core/shellHeader/" + sRootProperty, oCurrentState[sRootProperty]);
|
|
501
|
-
}
|
|
502
|
-
|
|
503
|
-
function _getBaseState (sState) {
|
|
504
|
-
var result;
|
|
505
|
-
try {
|
|
506
|
-
result = oHeaderBaseStates[sState];
|
|
507
|
-
} catch (ex) {
|
|
508
|
-
result = undefined;
|
|
509
|
-
}
|
|
510
|
-
return result;
|
|
511
|
-
}
|
|
512
|
-
|
|
513
|
-
function _getBaseStateMember (sState, sProperty) {
|
|
514
|
-
var result;
|
|
515
|
-
try {
|
|
516
|
-
result = _getBaseState(sState)[sProperty];
|
|
517
|
-
} catch (ex) {
|
|
518
|
-
result = undefined;
|
|
519
|
-
}
|
|
520
|
-
return result;
|
|
521
|
-
}
|
|
522
|
-
|
|
523
|
-
function _rewriteBaseStates (oTestBaseState) {
|
|
524
|
-
oHeaderBaseStates = oTestBaseState;
|
|
525
|
-
}
|
|
526
|
-
|
|
527
|
-
return {
|
|
528
|
-
init: init,
|
|
529
|
-
destroy: destroy,
|
|
530
|
-
|
|
531
|
-
// State methods
|
|
532
|
-
switchState: switchState,
|
|
533
|
-
updateStates: updateStates,
|
|
534
|
-
recalculateState: recalculateState,
|
|
535
|
-
extendStates: extendStates,
|
|
536
|
-
|
|
537
|
-
/* for testing */
|
|
538
|
-
handleCurrentSpaceAndPage: handleCurrentSpaceAndPage,
|
|
539
|
-
handleEndItemsOverflow: handleEndItemsOverflow,
|
|
540
|
-
validateShowLogo: validateShowLogo,
|
|
541
|
-
_createInitialState: _createInitialState,
|
|
542
|
-
_generateBaseHeaderState: generateBaseHeaderState,
|
|
543
|
-
_getBaseState: _getBaseState,
|
|
544
|
-
_getBaseStateMember: _getBaseStateMember,
|
|
545
|
-
_resetBaseStates: _rewriteBaseStates
|
|
546
|
-
};
|
|
547
|
-
});
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
// Copyright (c) 2009-2023 SAP SE, All Rights Reserved
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @fileOverview Helper functions to handle app states
|
|
5
|
-
*/
|
|
6
|
-
sap.ui.define([], function () {
|
|
7
|
-
"use strict";
|
|
8
|
-
|
|
9
|
-
function getPassStates (aStates) {
|
|
10
|
-
//an array with the relevant states that were pass as argument
|
|
11
|
-
var aPassStates = [],
|
|
12
|
-
i;
|
|
13
|
-
aStates = aStates || [];
|
|
14
|
-
|
|
15
|
-
for (i = 0; i < aStates.length; i++) {
|
|
16
|
-
if (aStates[i] !== undefined) {
|
|
17
|
-
if (aStates[i] !== "home" && aStates[i] !== "app") {
|
|
18
|
-
throw new Error("sLaunchpadState value is invalid");
|
|
19
|
-
}
|
|
20
|
-
aPassStates.push(aStates[i]);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
if (!aPassStates.length) {
|
|
25
|
-
aPassStates = ["app", "home"];
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
return aPassStates;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
function getModelStates (sStates, bDoNotPropagate) {
|
|
32
|
-
//an array with the relevant states that need to updated in the model
|
|
33
|
-
var aModelStates = [];
|
|
34
|
-
|
|
35
|
-
//in case we need to update to the "app" state, need to update all app states
|
|
36
|
-
if (sStates === "app" && !bDoNotPropagate) {
|
|
37
|
-
var aAppStates = ["app", "minimal", "standalone", "embedded", "headerless", "merged", "blank", "lean"];
|
|
38
|
-
aModelStates = aModelStates.concat(aAppStates);
|
|
39
|
-
} else if (sStates === "home" && !bDoNotPropagate) {
|
|
40
|
-
var aHomeStates = ["home", "embedded-home", "headerless-home", "merged-home", "blank-home", "lean-home"];
|
|
41
|
-
aModelStates = aModelStates.concat(aHomeStates);
|
|
42
|
-
} else {
|
|
43
|
-
aModelStates.push(sStates);
|
|
44
|
-
}
|
|
45
|
-
return aModelStates;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Get app states to update including nested states (e.g. "home", "embedded-home" etc.)
|
|
50
|
-
* @param {string[]} [aStates] list of the basic app states
|
|
51
|
-
* @param {boolean} [bDoNotPropagate] if true - nested state should be ignored
|
|
52
|
-
* @returns {string[]} List of states
|
|
53
|
-
*/
|
|
54
|
-
function getAllStateToUpdate (aStates, bDoNotPropagate) {
|
|
55
|
-
var aPassStates = bDoNotPropagate ? aStates : getPassStates(aStates);
|
|
56
|
-
return aPassStates.reduce(function (aResult, sStateName) {
|
|
57
|
-
var aModelState = getModelStates(sStateName, bDoNotPropagate);
|
|
58
|
-
if (aModelState) {
|
|
59
|
-
aResult = aResult.concat(aModelState);
|
|
60
|
-
}
|
|
61
|
-
return aResult;
|
|
62
|
-
}, []);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
return {
|
|
66
|
-
getAllStateToUpdate: getAllStateToUpdate,
|
|
67
|
-
getModelStates: getModelStates,
|
|
68
|
-
getPassStates: getPassStates
|
|
69
|
-
};
|
|
70
|
-
});
|