@sapui5/sap.ushell 1.124.1 → 1.125.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/AppInfoParameters.js +29 -27
- package/src/main/js/sap/ushell/Container.js +6 -10
- package/src/main/js/sap/ushell/Fiori20Adapter.js +1 -1
- package/src/main/js/sap/ushell/Fiori20AdapterTest.js +13 -10
- package/src/main/js/sap/ushell/Layout.js +7 -4
- package/src/main/js/sap/ushell/NWBCInterface.js +1 -1
- package/src/main/js/sap/ushell/TechnicalParameters.js +5 -3
- 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 +9 -3
- package/src/main/js/sap/ushell/UserActivityLog.js +5 -3
- 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 +4 -4
- package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +2 -4
- package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +12 -10
- package/src/main/js/sap/ushell/adapters/cdm/MenuAdapter.js +8 -6
- package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +14 -13
- 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 +7 -5
- package/src/main/js/sap/ushell/adapters/cdm/v3/FlpLaunchPageAdapter.js +15 -13
- 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/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 +6 -4
- package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +7 -5
- 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 +7 -9
- package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/FlpLaunchPageAdapter.js +7 -5
- package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/MenuAdapter.js +5 -3
- package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionInternalAdapter.js +6 -4
- 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 +5 -4
- package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +5 -4
- package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +11 -0
- package/src/main/js/sap/ushell/appRuntime/ui5/plugins/baseRta/CheckConditions.js +1 -3
- package/src/main/js/sap/ushell/appRuntime/ui5/plugins/rtaAgent/i18n/i18n_sh.properties +2 -2
- package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/RendererExtensions.js +5 -0
- package/src/main/js/sap/ushell/appRuntime/ui5/services/AppConfiguration.js +37 -0
- package/src/main/js/sap/ushell/appRuntime/ui5/services/AppState.js +21 -2
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Bookmark.js +21 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/BookmarkV2.js +38 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/CommonDataModel.js +19 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Container.js +20 -3
- package/src/main/js/sap/ushell/appRuntime/ui5/services/CrossApplicationNavigation.js +28 -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 +25 -2
- package/src/main/js/sap/ushell/appRuntime/ui5/services/FrameBoundExtension.js +8 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/LaunchPage.js +20 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/MessageBroker.js +18 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolution.js +16 -0
- package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolutionInternal.js +14 -0
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Navigation.js +24 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/ReferenceResolver.js +18 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigation.js +23 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigationInternal.js +21 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellUIService.js +28 -4
- package/src/main/js/sap/ushell/appRuntime/ui5/services/UserDefaultParameters.js +35 -0
- package/src/main/js/sap/ushell/appRuntime/ui5/services/UserInfo.js +19 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
- 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.ui5datetimeformat.js +1 -1
- package/src/main/js/sap/ushell/bootstrap/common/common.create.configcontract.core.js +13 -4
- package/src/main/js/sap/ushell/bootstrap/common/common.read.ushell.config.from.url.js +2 -2
- package/src/main/js/sap/ushell/bootstrap/common/common.util.js +8 -1
- package/src/main/js/sap/ushell/bootstrap/sandbox2.js +9 -4
- package/src/main/js/sap/ushell/components/CatalogsManager.js +24 -16
- package/src/main/js/sap/ushell/components/ComponentKeysHandler.js +14 -12
- package/src/main/js/sap/ushell/components/HomepageManager.js +6 -4
- package/src/main/js/sap/ushell/components/MessagingHelper.js +5 -4
- package/src/main/js/sap/ushell/components/SharedComponentUtils.js +6 -4
- package/src/main/js/sap/ushell/components/_HeaderManager/ControlManager.js +6 -4
- package/src/main/js/sap/ushell/components/_HeaderManager/ShellHeader.controller.js +5 -3
- package/src/main/js/sap/ushell/components/_HomepageManager/PersistentPageOperationAdapter.js +4 -2
- package/src/main/js/sap/ushell/components/appfinder/AppFinder.controller.js +18 -23
- package/src/main/js/sap/ushell/components/appfinder/Catalog.controller.js +6 -4
- package/src/main/js/sap/ushell/components/appfinder/Component.js +6 -4
- package/src/main/js/sap/ushell/components/appfinder/EasyAccess.controller.js +10 -10
- package/src/main/js/sap/ushell/components/appfinder/HierarchyApps.controller.js +6 -4
- package/src/main/js/sap/ushell/components/appfinder/HierarchyFolders.controller.js +5 -3
- package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +78 -3
- 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 +254 -94
- package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/elements/model.js +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/relatedServices/RelatedServices.js +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/relatedShellElements/RelatedShellElements.js +3 -2
- package/src/main/js/sap/ushell/components/cards/Card.controller.js +5 -3
- package/src/main/js/sap/ushell/components/cepsearchresult/app/Main.controller.js +9 -14
- package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_sh.properties +5 -5
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/categories/Application.js +7 -14
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_sh.properties +19 -19
- package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +2 -2
- package/src/main/js/sap/ushell/components/container/IframePOSTUtils.js +1 -1
- package/src/main/js/sap/ushell/components/container/resources/resources_sh.properties +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/Component.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +3 -3
- 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/resources/resources_sh.properties +3 -3
- package/src/main/js/sap/ushell/components/contentFinder/view/WidgetGallery.view.xml +3 -5
- package/src/main/js/sap/ushell/components/contentFinderStandalone/Component.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinderStandalone/controller/ContentFinderStandalone.controller.js +1 -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/DashboardContent.controller.js +2 -27
- package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +1 -1
- package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +1 -1
- 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 +6 -5
- package/src/main/js/sap/ushell/components/pages/Component.js +5 -4
- package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +9 -7
- package/src/main/js/sap/ushell/components/pages/controller/ImportDialog.controller.js +10 -8
- package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +18 -13
- package/src/main/js/sap/ushell/components/pages/controller/PagesAndSpaceId.js +6 -5
- package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +21 -32
- package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/MenuBar/controller/MenuBar.controller.js +8 -6
- 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 +1 -1
- package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/Notifications/Notifications.controller.js +15 -11
- package/src/main/js/sap/ushell/components/shell/PostLoadingHeaderEnhancement/Component.js +8 -5
- package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +6 -4
- package/src/main/js/sap/ushell/components/shell/Search/Component.js +5 -4
- package/src/main/js/sap/ushell/components/shell/Search/ESearch.js +5 -4
- 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 +10 -8
- package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.controller.js +7 -5
- package/src/main/js/sap/ushell/components/shell/Settings/appearance/Appearance.controller.js +9 -7
- package/src/main/js/sap/ushell/components/shell/Settings/appearance/AppearanceEntry.js +6 -4
- package/src/main/js/sap/ushell/components/shell/Settings/homepage/HomepageEntry.js +5 -3
- package/src/main/js/sap/ushell/components/shell/Settings/notifications/NotificationsSetting.controller.js +3 -3
- package/src/main/js/sap/ushell/components/shell/Settings/spaces/SpacesEntry.js +6 -4
- package/src/main/js/sap/ushell/components/shell/Settings/userAccount/UserAccountEntry.js +6 -4
- package/src/main/js/sap/ushell/components/shell/Settings/userAccount/UserAccountSelector.controller.js +9 -7
- package/src/main/js/sap/ushell/components/shell/Settings/userActivities/UserActivitiesSetting.controller.js +6 -4
- package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/UserDefaultsEntry.js +7 -5
- package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/controller/UserDefaultsSetting.controller.js +11 -9
- package/src/main/js/sap/ushell/components/shell/Settings/userLanguageRegion/LanguageRegionSelector.controller.js +9 -7
- package/src/main/js/sap/ushell/components/shell/Settings/userLanguageRegion/UserLanguageRegionEntry.js +5 -3
- package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +6 -4
- package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +11 -9
- package/src/main/js/sap/ushell/components/tiles/applauncher/StaticTile.controller.js +5 -3
- package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/DynamicTile.controller.js +6 -4
- package/src/main/js/sap/ushell/components/tiles/cdm/applauncher/StaticTile.controller.js +5 -3
- package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.controller.js +5 -3
- package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +10 -10
- package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +1 -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 +6 -6
- 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 +2 -2
- package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_sh.properties +17 -17
- package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +1 -1
- package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +6 -4
- 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 +8 -6
- 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/plugins/rta/i18n/i18n_sh.properties +2 -2
- package/src/main/js/sap/ushell/renderer/AccessKeysHandler.js +6 -4
- package/src/main/js/sap/ushell/renderer/LogonFrameProvider.js +5 -3
- package/src/main/js/sap/ushell/renderer/Renderer.js +34 -35
- package/src/main/js/sap/ushell/renderer/Shell.controller.js +36 -36
- package/src/main/js/sap/ushell/renderer/Shell.view.js +9 -4
- package/src/main/js/sap/ushell/renderer/allMyApps/AllMyApps.controller.js +8 -6
- package/src/main/js/sap/ushell/renderer/allMyApps/AllMyAppsManager.js +13 -11
- package/src/main/js/sap/ushell/renderer/resources/resources.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_ar.properties +19 -22
- package/src/main/js/sap/ushell/renderer/resources/resources_bg.properties +21 -24
- package/src/main/js/sap/ushell/renderer/resources/resources_ca.properties +17 -20
- package/src/main/js/sap/ushell/renderer/resources/resources_cnr.properties +0 -6
- package/src/main/js/sap/ushell/renderer/resources/resources_cs.properties +16 -19
- package/src/main/js/sap/ushell/renderer/resources/resources_cy.properties +20 -23
- package/src/main/js/sap/ushell/renderer/resources/resources_da.properties +26 -29
- package/src/main/js/sap/ushell/renderer/resources/resources_de.properties +19 -22
- package/src/main/js/sap/ushell/renderer/resources/resources_el.properties +25 -28
- package/src/main/js/sap/ushell/renderer/resources/resources_en.properties +0 -924
- package/src/main/js/sap/ushell/renderer/resources/resources_en_GB.properties +27 -30
- package/src/main/js/sap/ushell/renderer/resources/resources_es.properties +19 -22
- package/src/main/js/sap/ushell/renderer/resources/resources_es_MX.properties +14 -17
- package/src/main/js/sap/ushell/renderer/resources/resources_et.properties +22 -25
- package/src/main/js/sap/ushell/renderer/resources/resources_fi.properties +20 -23
- package/src/main/js/sap/ushell/renderer/resources/resources_fr.properties +24 -27
- package/src/main/js/sap/ushell/renderer/resources/resources_fr_CA.properties +18 -21
- package/src/main/js/sap/ushell/renderer/resources/resources_hi.properties +26 -29
- package/src/main/js/sap/ushell/renderer/resources/resources_hr.properties +17 -20
- package/src/main/js/sap/ushell/renderer/resources/resources_hu.properties +20 -23
- package/src/main/js/sap/ushell/renderer/resources/resources_id.properties +21 -24
- package/src/main/js/sap/ushell/renderer/resources/resources_it.properties +16 -19
- package/src/main/js/sap/ushell/renderer/resources/resources_iw.properties +16 -19
- package/src/main/js/sap/ushell/renderer/resources/resources_ja.properties +16 -19
- package/src/main/js/sap/ushell/renderer/resources/resources_kk.properties +24 -27
- package/src/main/js/sap/ushell/renderer/resources/resources_ko.properties +20 -23
- package/src/main/js/sap/ushell/renderer/resources/resources_lt.properties +16 -19
- package/src/main/js/sap/ushell/renderer/resources/resources_lv.properties +22 -25
- package/src/main/js/sap/ushell/renderer/resources/resources_mk.properties +0 -6
- package/src/main/js/sap/ushell/renderer/resources/resources_ms.properties +18 -21
- package/src/main/js/sap/ushell/renderer/resources/resources_nl.properties +17 -20
- package/src/main/js/sap/ushell/renderer/resources/resources_no.properties +30 -33
- package/src/main/js/sap/ushell/renderer/resources/resources_pl.properties +20 -23
- package/src/main/js/sap/ushell/renderer/resources/resources_pt.properties +18 -21
- package/src/main/js/sap/ushell/renderer/resources/resources_pt_PT.properties +13 -16
- package/src/main/js/sap/ushell/renderer/resources/resources_ro.properties +16 -19
- package/src/main/js/sap/ushell/renderer/resources/resources_ru.properties +17 -20
- package/src/main/js/sap/ushell/renderer/resources/resources_sh.properties +118 -121
- package/src/main/js/sap/ushell/renderer/resources/resources_sk.properties +17 -20
- package/src/main/js/sap/ushell/renderer/resources/resources_sl.properties +19 -22
- package/src/main/js/sap/ushell/renderer/resources/resources_sr.properties +0 -6
- package/src/main/js/sap/ushell/renderer/resources/resources_sv.properties +19 -22
- package/src/main/js/sap/ushell/renderer/resources/resources_th.properties +20 -23
- package/src/main/js/sap/ushell/renderer/resources/resources_tr.properties +20 -23
- package/src/main/js/sap/ushell/renderer/resources/resources_uk.properties +21 -24
- package/src/main/js/sap/ushell/renderer/resources/resources_vi.properties +18 -21
- package/src/main/js/sap/ushell/renderer/resources/resources_zh_CN.properties +15 -18
- package/src/main/js/sap/ushell/renderer/resources/resources_zh_TW.properties +21 -24
- package/src/main/js/sap/ushell/renderer/search/searchComponent/Component.js +4 -3
- package/src/main/js/sap/ushell/renderer/search/searchComponent/manifest.json +1 -1
- package/src/main/js/sap/ushell/services/AppConfiguration.js +323 -273
- package/src/main/js/sap/ushell/services/AppLifeCycle.js +14 -14
- 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 +12 -10
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +14 -9
- package/src/main/js/sap/ushell/services/CommonDataModel.js +7 -5
- package/src/main/js/sap/ushell/services/Configuration.js +5 -4
- 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 +2 -2
- package/src/main/js/sap/ushell/services/DarkModeSupport.js +9 -7
- package/src/main/js/sap/ushell/services/Extension/Item.js +1 -1
- package/src/main/js/sap/ushell/services/Extension.js +18 -1
- package/src/main/js/sap/ushell/services/FlpLaunchPage.js +8 -6
- 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 +1 -1
- package/src/main/js/sap/ushell/services/FrameBoundExtension/SidePane.js +1 -1
- package/src/main/js/sap/ushell/services/FrameBoundExtension/ToolArea.js +1 -1
- package/src/main/js/sap/ushell/services/FrameBoundExtension.js +18 -1
- package/src/main/js/sap/ushell/services/LaunchPage.js +1 -1
- package/src/main/js/sap/ushell/services/Menu.js +6 -4
- package/src/main/js/sap/ushell/services/Message.js +91 -412
- package/src/main/js/sap/ushell/services/MessageBroker.js +1 -1
- package/src/main/js/sap/ushell/services/MessageInternal.js +448 -0
- package/src/main/js/sap/ushell/services/NavTargetResolution.js +2 -1
- package/src/main/js/sap/ushell/services/NavTargetResolutionInternal.js +1 -1
- 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/Notifications.js +4 -2
- package/src/main/js/sap/ushell/services/NotificationsV2.js +7 -5
- 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 +1 -1
- 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 +7 -5
- package/src/main/js/sap/ushell/services/ReferenceResolver.js +13 -11
- package/src/main/js/sap/ushell/services/Search.js +1 -1
- package/src/main/js/sap/ushell/services/SearchCEP.js +5 -4
- package/src/main/js/sap/ushell/services/SearchableContent.js +1 -1
- package/src/main/js/sap/ushell/services/ShellNavigation.js +3 -3
- package/src/main/js/sap/ushell/services/ShellNavigationHashChanger.js +38 -56
- package/src/main/js/sap/ushell/services/ShellNavigationInternal.js +1 -1
- package/src/main/js/sap/ushell/services/SmartNavigation.js +8 -6
- package/src/main/js/sap/ushell/services/SpaceContent.js +16 -14
- package/src/main/js/sap/ushell/services/UITracer.js +1 -1
- package/src/main/js/sap/ushell/services/URLParsing.js +6 -4
- 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 +1 -1
- package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +6 -4
- package/src/main/js/sap/ushell/services/UserDefaultParameters.js +11 -9
- 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/_ClientSideTargetResolution/Formatter.js +2 -2
- 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 +7 -5
- 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 +1 -1
- 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 +6 -4
- package/src/main/js/sap/ushell/services/_PluginManager/Extensions.js +1 -1
- package/src/main/js/sap/ushell/services/_PluginManager/HeaderExtensions.js +1 -1
- package/src/main/js/sap/ushell/services/_PluginManager/MenuExtensions.js +3 -3
- package/src/main/js/sap/ushell/services/_Ui5ComponentLoader/utils.js +2 -2
- package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
- package/src/main/js/sap/ushell/themes/base/ShellHeader.less +32 -24
- package/src/main/js/sap/ushell/themes/sap_belize/library.source.less +10 -1
- package/src/main/js/sap/ushell/themes/sap_belize_base/.theming +4 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/ActionMode.less +107 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/AddBookmarkButton.less +37 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/AnchorItem.less +81 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/AnchorNavigationBar.less +86 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/AppearanceView.less +213 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/ApplicationContainer.less +37 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/Catalog.less +387 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/ContactSupport.less +12 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/ContentFinder.less +26 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/CustomGroupHeaderListItem.less +10 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/Dashboard.less +66 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/DynamicTile.less +114 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/Factsheet.less +225 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/FloatingContainer.less +125 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/FlpSettings.less +83 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/GroupList.less +68 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/GroupListItem.less +54 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/IconFonts.less +21 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/ImageTile.less +23 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/LoadingDialog.less +47 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/MenuBar.less +23 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/Notifications.less +135 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/Page.less +49 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/PictureTile.less +119 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/PictureViewer.less +25 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/PlusTile.less +38 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/QuickAccess.less +18 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/RightFloatingContainerItem.less +82 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/SearchCEP.less +121 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/SearchFLP.less +10 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/Section.less +60 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/ShellAppTitle.less +207 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/ShellFloatingAction.less +61 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/ShellFloatingActions.less +14 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/ShellHeader.less +389 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/ShellLayout.less +168 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/SidePane.less +8 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/StaticTile.less +9 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/SubHeader.less +3 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/SysInfoBar.less +164 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/TargetMappingConfiguration.less +8 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/Tile.less +223 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/TileBase.less +152 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/TileContainer.less +495 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/TilePlaceholder.less +75 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/TileState.less +62 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/ToolAreaItem.less +85 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/UserActionsMenu.less +23 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/UserConsentDialog.less +52 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/UserSettings.less +113 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/ViewPortContainer.less +28 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/WorkPage.less +58 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/WorkPageButton.less +60 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/WorkPageCell.less +144 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/WorkPageColumn.less +39 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/WorkPageColumnResizer.less +128 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/WorkPageRow.less +987 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/library.source.less +64 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/shared.less +40 -0
- package/src/main/js/sap/ushell/themes/sap_belize_hcb/library.source.less +10 -1
- package/src/main/js/sap/ushell/themes/sap_belize_hcw/library.source.less +10 -1
- package/src/main/js/sap/ushell/themes/sap_horizon/ShellHeader.less +9 -18
- package/src/main/js/sap/ushell/themes/sap_horizon_dark/ShellHeader.less +9 -18
- package/src/main/js/sap/ushell/themes/sap_horizon_hcb/ShellHeader.less +7 -14
- package/src/main/js/sap/ushell/themes/sap_horizon_hcw/ShellHeader.less +7 -14
- package/src/main/js/sap/ushell/ui/AppContainer.js +5 -3
- package/src/main/js/sap/ushell/ui/ContentNodeSelector.js +78 -21
- package/src/main/js/sap/ushell/ui/ContentNodeSelectorRenderer.js +32 -0
- package/src/main/js/sap/ushell/ui/ShellHeader.js +8 -5
- package/src/main/js/sap/ushell/ui/appfinder/AppBoxInternal.js +1 -1
- package/src/main/js/sap/ushell/ui/cards/FrequentActivitiesExtension.js +5 -4
- package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +6 -5
- package/src/main/js/sap/ushell/ui/footerbar/AboutDialog.controller.js +11 -7
- package/src/main/js/sap/ushell/ui/footerbar/AboutDialog.fragment.xml +3 -3
- package/src/main/js/sap/ushell/ui/footerbar/AddBookmarkButton.js +4 -4
- package/src/main/js/sap/ushell/ui/footerbar/ContactSupportDialog.controller.js +6 -4
- package/src/main/js/sap/ushell/ui/footerbar/JamDiscussButton.js +8 -5
- package/src/main/js/sap/ushell/ui/footerbar/JamShareButton.js +8 -6
- package/src/main/js/sap/ushell/ui/footerbar/LogoutButton.js +10 -7
- package/src/main/js/sap/ushell/ui/footerbar/SaveAsTile.controller.js +5 -3
- package/src/main/js/sap/ushell/ui/footerbar/SendAsEmailButton.js +6 -4
- package/src/main/js/sap/ushell/ui/launchpad/CatalogEntryContainer.js +7 -4
- 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 +14 -10
- package/src/main/js/sap/ushell/ui/launchpad/ViewPortState.js +1 -1
- package/src/main/js/sap/ushell/ui/launchpad/VizInstance.js +10 -7
- package/src/main/js/sap/ushell/ui/launchpad/VizInstanceAbap.js +4 -3
- package/src/main/js/sap/ushell/ui/launchpad/VizInstanceCdm.js +5 -3
- package/src/main/js/sap/ushell/ui/launchpad/VizInstanceLaunchPage.js +3 -0
- package/src/main/js/sap/ushell/ui/launchpad/VizInstanceLink.js +5 -3
- package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +1 -1
- package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +1 -1
- 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/DynamicTileRequest.js +9 -7
- package/src/main/js/sap/ushell/utils/RestrictedJSONModel.js +2 -0
- package/src/main/js/sap/ushell/utils/UriParameters.js +43 -0
- package/src/main/js/sap/ushell/utils/UrlParsing.js +2 -4
- package/src/main/js/sap/ushell/utils/UrlShortening.js +1 -1
- package/src/main/js/sap/ushell/utils/WindowUtils.js +3 -5
- package/src/main/js/sap/ushell/utils/chipsUtils.js +4 -3
- package/src/main/js/sap/ushell/utils/workpage/WorkPageHost.js +1 -1
- package/src/main/js/sap/ushell/utils/workpage/WorkPageService.js +1 -1
- package/src/main/js/sap/ushell/utils/workpage/WorkPageVizInstantiation.js +1 -1
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_en.properties +5 -4
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_sh.properties +21 -20
- package/src/main/js/sap/ushell/utils.js +69 -64
- package/src/test/js/sap/ushell/bootstrap/sandbox.js +6 -8
- package/src/main/js/sap/ushell/ui/ContentNodeSelector.control.xml +0 -26
|
@@ -14,6 +14,7 @@ sap.ui.define([
|
|
|
14
14
|
"sap/ushell/resources",
|
|
15
15
|
"sap/ushell/utils/UrlParsing",
|
|
16
16
|
"sap/ushell/utils",
|
|
17
|
+
"sap/ushell/Container",
|
|
17
18
|
"sap/ushell/Config"
|
|
18
19
|
], function (
|
|
19
20
|
Localization,
|
|
@@ -26,9 +27,10 @@ sap.ui.define([
|
|
|
26
27
|
jQuery,
|
|
27
28
|
Mobile,
|
|
28
29
|
EventHub,
|
|
29
|
-
|
|
30
|
+
ushellResources,
|
|
30
31
|
UrlParsing,
|
|
31
|
-
|
|
32
|
+
ushellUtils,
|
|
33
|
+
Container,
|
|
32
34
|
Config
|
|
33
35
|
) {
|
|
34
36
|
"use strict";
|
|
@@ -45,22 +47,19 @@ sap.ui.define([
|
|
|
45
47
|
* @public
|
|
46
48
|
*/
|
|
47
49
|
function AppConfiguration () {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
const oMetadata = {};
|
|
51
|
+
let bApplicationInInitMode = true;
|
|
52
|
+
let oCurrentApplication = null;
|
|
53
|
+
let aIdsOfAddedButtons = [];
|
|
54
|
+
const aAppRequestsQueue = [];
|
|
53
55
|
|
|
54
56
|
/**
|
|
55
|
-
*
|
|
56
|
-
* the shell state was changed, therefore we listen to the appRendered event and keep a reference to the opened app metadata
|
|
57
|
-
* object, to verify that the addApplicationSettingsButtons APIs is called only after the application is actually opened.
|
|
57
|
+
* Handles the appRendered event.
|
|
58
58
|
*
|
|
59
59
|
* @private
|
|
60
|
+
* @alias sap.ushell.services.AppConfiguration#_applicationOpenedHandler
|
|
60
61
|
*/
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
function applicationOpenedHandler (/*sChannelId, sEventId, oData*/) {
|
|
62
|
+
this._applicationOpenedHandler = function (/*sChannelId, sEventId, oData*/) {
|
|
64
63
|
// update the opened application object
|
|
65
64
|
bApplicationInInitMode = false;
|
|
66
65
|
|
|
@@ -68,7 +67,16 @@ sap.ui.define([
|
|
|
68
67
|
while (aAppRequestsQueue.length > 0) {
|
|
69
68
|
aAppRequestsQueue.shift()();
|
|
70
69
|
}
|
|
71
|
-
}
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Due to performance changes on component (app) loading, it is possible that an application would be initialized before
|
|
74
|
+
* the shell state was changed, therefore we listen to the appRendered event and keep a reference to the opened app metadata
|
|
75
|
+
* object, to verify that the addApplicationSettingsButtons APIs is called only after the application is actually opened.
|
|
76
|
+
*
|
|
77
|
+
* @private
|
|
78
|
+
*/
|
|
79
|
+
EventHub.on("AppRendered").do(this._applicationOpenedHandler.bind(this));
|
|
72
80
|
|
|
73
81
|
/**
|
|
74
82
|
* Adds an entry to user recent activity list.
|
|
@@ -102,27 +110,38 @@ sap.ui.define([
|
|
|
102
110
|
* </pre>
|
|
103
111
|
* @returns {jQuery.Promise} Resolves the updated list of user recents.
|
|
104
112
|
*
|
|
105
|
-
* @
|
|
113
|
+
* @public
|
|
114
|
+
* @deprecated since 1.120 without replacement.
|
|
106
115
|
* @alias sap.ushell.services.AppConfiguration#addActivity
|
|
107
116
|
*/
|
|
108
117
|
this.addActivity = function (oRecentActivity) {
|
|
109
|
-
|
|
118
|
+
const oDeferred = new jQuery.Deferred();
|
|
110
119
|
|
|
111
|
-
|
|
112
|
-
.then(
|
|
113
|
-
UserRecentsService.addActivity(oRecentActivity)
|
|
114
|
-
.then(oDeferred.resolve)
|
|
115
|
-
.catch(oDeferred.reject);
|
|
120
|
+
Container.getServiceAsync("UserRecents")
|
|
121
|
+
.then((UserRecentsService) => {
|
|
122
|
+
return UserRecentsService.addActivity(oRecentActivity);
|
|
116
123
|
})
|
|
124
|
+
.then(oDeferred.resolve)
|
|
117
125
|
.catch(oDeferred.reject);
|
|
118
126
|
|
|
119
127
|
return oDeferred.promise();
|
|
120
128
|
};
|
|
121
129
|
|
|
130
|
+
/**
|
|
131
|
+
* @private
|
|
132
|
+
* @alias sap.ushell.services.AppConfiguration#setApplicationInInitMode
|
|
133
|
+
*/
|
|
122
134
|
this.setApplicationInInitMode = function () {
|
|
123
135
|
bApplicationInInitMode = true;
|
|
124
136
|
};
|
|
125
137
|
|
|
138
|
+
/**
|
|
139
|
+
* Returns the application request queue.
|
|
140
|
+
* @returns {function[]} The application request queue
|
|
141
|
+
*
|
|
142
|
+
* @private
|
|
143
|
+
* @alias sap.ushell.services.AppConfiguration#getApplicationRequestQueue
|
|
144
|
+
*/
|
|
126
145
|
this.getApplicationRequestQueue = function () {
|
|
127
146
|
return aAppRequestsQueue;
|
|
128
147
|
};
|
|
@@ -132,13 +151,25 @@ sap.ui.define([
|
|
|
132
151
|
*
|
|
133
152
|
* @returns {object} A copy of the metadata object related to the application, or null if no application is currently opened
|
|
134
153
|
* (e.g., when home or app finder are opened).
|
|
154
|
+
*
|
|
135
155
|
* @private
|
|
136
156
|
* @alias sap.ushell.services.AppConfiguration#getCurrentApplication
|
|
137
157
|
*/
|
|
138
158
|
this.getCurrentApplication = function () {
|
|
139
159
|
return oCurrentApplication;
|
|
140
160
|
};
|
|
141
|
-
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* Returns the current application, excluding the home page and the appfinder (which are FLP Core components).
|
|
164
|
+
*
|
|
165
|
+
* @returns {object} A copy of the metadata object related to the application, or null if no application is currently opened
|
|
166
|
+
* (e.g., when home or app finder are opened).
|
|
167
|
+
*
|
|
168
|
+
* @private
|
|
169
|
+
* @deprecated since 1.120.0. Use {@link sap.ushell.services.AppConfiguration#getCurrentApplication} instead.
|
|
170
|
+
* @alias sap.ushell.services.AppConfiguration#getCurrentAppliction
|
|
171
|
+
*/
|
|
172
|
+
this.getCurrentAppliction = this.getCurrentApplication;
|
|
142
173
|
|
|
143
174
|
|
|
144
175
|
/**
|
|
@@ -168,8 +199,8 @@ sap.ui.define([
|
|
|
168
199
|
}
|
|
169
200
|
|
|
170
201
|
if (oApplication) {
|
|
171
|
-
|
|
172
|
-
|
|
202
|
+
const sHash = hasher?.getHash ? hasher.getHash() : "";
|
|
203
|
+
const sKey = this._getMemoizationKey(sHash);
|
|
173
204
|
|
|
174
205
|
return this._getMetadata(oApplication, sKey);
|
|
175
206
|
}
|
|
@@ -178,57 +209,57 @@ sap.ui.define([
|
|
|
178
209
|
};
|
|
179
210
|
|
|
180
211
|
/**
|
|
181
|
-
* @alias sap.ushell.services.AppConfiguration#_getMemoizationKey
|
|
182
212
|
* @param {string} sCompleteHash The complete hash
|
|
183
213
|
* @returns {sap.ui.core.URI} The intent
|
|
214
|
+
*
|
|
184
215
|
* @private
|
|
216
|
+
* @alias sap.ushell.services.AppConfiguration#_getMemoizationKey
|
|
185
217
|
*/
|
|
186
218
|
this._getMemoizationKey = function (sCompleteHash) {
|
|
187
|
-
|
|
188
|
-
var sIntent = aHashParts[0];
|
|
189
|
-
var sParams = aHashParts[1];
|
|
219
|
+
const [ sIntent, sParams ] = sCompleteHash.split("?");
|
|
190
220
|
|
|
191
|
-
|
|
192
|
-
if (
|
|
193
|
-
return sIntent +
|
|
221
|
+
const sProcessedParams = this._processParams(sParams);
|
|
222
|
+
if (sProcessedParams) {
|
|
223
|
+
return sIntent + sProcessedParams;
|
|
194
224
|
}
|
|
195
225
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
226
|
+
const oParsedShellHash = UrlParsing.parseShellHash(sCompleteHash);
|
|
227
|
+
if (oParsedShellHash) {
|
|
228
|
+
const { semanticObject, action } = oParsedShellHash;
|
|
229
|
+
return `${semanticObject}-${action}`;
|
|
230
|
+
}
|
|
231
|
+
return "";
|
|
200
232
|
};
|
|
201
233
|
|
|
202
234
|
/**
|
|
203
|
-
* @param {string} sParams The params
|
|
235
|
+
* @param {string} [sParams] The params
|
|
204
236
|
* @returns {string} The process params
|
|
205
237
|
*
|
|
206
238
|
* @private
|
|
207
239
|
* @alias sap.ushell.services.AppConfiguration#_getMemoizationKey
|
|
208
240
|
*/
|
|
209
241
|
this._processParams = function (sParams) {
|
|
210
|
-
if (sParams) {
|
|
211
|
-
|
|
212
|
-
|
|
242
|
+
if (!sParams) {
|
|
243
|
+
return "";
|
|
244
|
+
}
|
|
213
245
|
|
|
214
|
-
|
|
215
|
-
var aCurrentParam = item.split("=");
|
|
246
|
+
const oParams = {};
|
|
216
247
|
|
|
217
|
-
|
|
218
|
-
|
|
248
|
+
sParams.split("&").forEach((item) => {
|
|
249
|
+
const [sName, sValue] = item.split("=");
|
|
219
250
|
|
|
220
|
-
|
|
221
|
-
|
|
251
|
+
oParams[sName] = sValue;
|
|
252
|
+
});
|
|
222
253
|
|
|
223
|
-
|
|
224
|
-
sPrefix = iIndex ? "&" : "?";
|
|
225
|
-
sProcessedParams += sPrefix + sKey + "=" + oParams[sKey];
|
|
226
|
-
});
|
|
254
|
+
const aSortedParamKeys = Object.keys(oParams).sort();
|
|
227
255
|
|
|
228
|
-
|
|
229
|
-
|
|
256
|
+
const sProcessedParams = aSortedParamKeys.reduce((sResult, sKey, iIndex) => {
|
|
257
|
+
const sParam = `${sKey}=${oParams[sKey]}`;
|
|
230
258
|
|
|
231
|
-
|
|
259
|
+
return `${sResult}${iIndex > 0 ? "&" : "?"}${sParam}`;
|
|
260
|
+
}, "");
|
|
261
|
+
|
|
262
|
+
return sProcessedParams;
|
|
232
263
|
};
|
|
233
264
|
|
|
234
265
|
/**
|
|
@@ -253,7 +284,7 @@ sap.ui.define([
|
|
|
253
284
|
// If title doesn't exist in the metadata - try to get it from the result of navTargetResolution,
|
|
254
285
|
// or use the default application title
|
|
255
286
|
if (!oMetadata[sKey].title) {
|
|
256
|
-
oMetadata[sKey].title = oApplication.text ||
|
|
287
|
+
oMetadata[sKey].title = oApplication.text || ushellResources.i18n.getText("default_app_title");
|
|
257
288
|
}
|
|
258
289
|
return oMetadata[sKey];
|
|
259
290
|
};
|
|
@@ -274,8 +305,9 @@ sap.ui.define([
|
|
|
274
305
|
|
|
275
306
|
/**
|
|
276
307
|
* Sets the hiding of the shell header.
|
|
277
|
-
*
|
|
308
|
+
*
|
|
278
309
|
* @private
|
|
310
|
+
* @deprecated since 1.56 without replacement. The header hiding is not supported anymore.
|
|
279
311
|
* @alias sap.ushell.services.AppConfiguration#setHeaderHiding
|
|
280
312
|
*/
|
|
281
313
|
this.setHeaderHiding = function () {
|
|
@@ -288,7 +320,9 @@ sap.ui.define([
|
|
|
288
320
|
* It is meant to be used by applications that want to add their own settings button to the shell header.
|
|
289
321
|
*
|
|
290
322
|
* @param {sap.m.Button[]} aButtons List of sap.m.Button controls
|
|
291
|
-
*
|
|
323
|
+
*
|
|
324
|
+
* @public
|
|
325
|
+
* @deprecated since 1.120. Use {@link sap.ushell.services.Extension#addUserAction} instead.
|
|
292
326
|
* @alias sap.ushell.services.AppConfiguration#addApplicationSettingsButtons
|
|
293
327
|
*/
|
|
294
328
|
this.addApplicationSettingsButtons = function (aButtons) {
|
|
@@ -308,30 +342,37 @@ sap.ui.define([
|
|
|
308
342
|
* See ticket #1670473374
|
|
309
343
|
*/
|
|
310
344
|
if (bApplicationInInitMode) {
|
|
311
|
-
aAppRequestsQueue.push(
|
|
312
|
-
|
|
345
|
+
aAppRequestsQueue.push(() => {
|
|
346
|
+
this._addApplicationSettingsButtons(aButtons);
|
|
313
347
|
});
|
|
314
348
|
} else {
|
|
315
|
-
|
|
349
|
+
this._addApplicationSettingsButtons(aButtons);
|
|
316
350
|
}
|
|
317
351
|
};
|
|
318
352
|
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
353
|
+
/**
|
|
354
|
+
* Adds buttons to the action sheet in the shell header.
|
|
355
|
+
* @param {sap.m.Button[]} aButtons List of sap.m.Button controls
|
|
356
|
+
*
|
|
357
|
+
* @private
|
|
358
|
+
* @deprecated since 1.120. Use {@link sap.ushell.services.Extension#addUserAction} instead.
|
|
359
|
+
* @alias sap.ushell.services.AppConfiguration#_addApplicationSettingsButtons
|
|
360
|
+
*/
|
|
361
|
+
this._addApplicationSettingsButtons = function (aButtons) {
|
|
362
|
+
const oRenderer = Container.getRendererInternal("fiori2");
|
|
363
|
+
const aIds = [];
|
|
323
364
|
|
|
324
|
-
for (i = 0; i < aButtons.length; i++) {
|
|
325
|
-
|
|
365
|
+
for (let i = 0; i < aButtons.length; i++) {
|
|
366
|
+
const oCurrentButton = aButtons[i];
|
|
326
367
|
aIds.push(oCurrentButton.getId());
|
|
327
368
|
oCurrentButton.setIcon(oCurrentButton.getIcon() || IconPool.getIconURI("customize"));
|
|
328
369
|
// in case the button has the text "Settings" we change it to "App Setting" in order prevent name collision
|
|
329
|
-
if (
|
|
330
|
-
oCurrentButton.setProperty("text",
|
|
370
|
+
if (ushellResources.i18n.getText("userSettings") === oCurrentButton.getProperty("text")) {
|
|
371
|
+
oCurrentButton.setProperty("text", ushellResources.i18n.getText("userAppSettings"));
|
|
331
372
|
}
|
|
332
373
|
oCurrentButton.setType(ButtonType.Unstyled);
|
|
333
374
|
}
|
|
334
|
-
if (
|
|
375
|
+
if (oRenderer) {
|
|
335
376
|
if (aIdsOfAddedButtons.length) {
|
|
336
377
|
// remove buttons that were added earlier
|
|
337
378
|
oRenderer.hideActionButton(aIdsOfAddedButtons, true);
|
|
@@ -339,7 +380,7 @@ sap.ui.define([
|
|
|
339
380
|
aIdsOfAddedButtons = aIds;
|
|
340
381
|
oRenderer.showActionButton(aIds, true, undefined, true);
|
|
341
382
|
}
|
|
342
|
-
}
|
|
383
|
+
};
|
|
343
384
|
|
|
344
385
|
/**
|
|
345
386
|
* Sets the title of the browser tabSets the title of the browser tab.
|
|
@@ -350,12 +391,12 @@ sap.ui.define([
|
|
|
350
391
|
* @alias sap.ushell.services.AppConfiguration#setWindowTitle
|
|
351
392
|
*/
|
|
352
393
|
this.setWindowTitle = function (sTitle) {
|
|
353
|
-
|
|
394
|
+
const sWindowTitleExtension = ushellResources.getTranslationFromJSON(Config.last("/core/shell/windowTitleExtension"));
|
|
354
395
|
if (sWindowTitleExtension) {
|
|
355
|
-
if (
|
|
356
|
-
sTitle = sWindowTitleExtension
|
|
396
|
+
if (ushellResources.getRTL()) {
|
|
397
|
+
sTitle = `${sWindowTitleExtension} - ${sTitle}`;
|
|
357
398
|
} else {
|
|
358
|
-
sTitle = sTitle
|
|
399
|
+
sTitle = `${sTitle} - ${sWindowTitleExtension}`;
|
|
359
400
|
}
|
|
360
401
|
}
|
|
361
402
|
window.document.title = sTitle;
|
|
@@ -366,7 +407,8 @@ sap.ui.define([
|
|
|
366
407
|
*
|
|
367
408
|
* @param {object} oIconsProperties Icon properties, an object holding icon URLs
|
|
368
409
|
*
|
|
369
|
-
* @
|
|
410
|
+
* @public
|
|
411
|
+
* @deprecated since 1.120.0. Use {@link sap.ui.util.Mobile#setIcons} instead.
|
|
370
412
|
* @alias sap.ushell.services.AppConfiguration#setIcons
|
|
371
413
|
*/
|
|
372
414
|
this.setIcons = function (oIconsProperties) {
|
|
@@ -409,12 +451,11 @@ sap.ui.define([
|
|
|
409
451
|
* @alias sap.ushell.services.AppConfiguration#getApplicationName
|
|
410
452
|
*/
|
|
411
453
|
this.getApplicationName = function (oApplication) {
|
|
412
|
-
|
|
413
|
-
sAdditionalInformation = (oApplication && oApplication.additionalInformation) || null;
|
|
454
|
+
const sAdditionalInformation = oApplication?.additionalInformation;
|
|
414
455
|
|
|
415
456
|
if (sAdditionalInformation) {
|
|
416
457
|
// SAPUI5.Component=<fully-qualified-component-name>
|
|
417
|
-
aMatches = /^SAPUI5\.Component=(.+)$/i.exec(sAdditionalInformation);
|
|
458
|
+
const aMatches = /^SAPUI5\.Component=(.+)$/i.exec(sAdditionalInformation);
|
|
418
459
|
if (aMatches) {
|
|
419
460
|
// determine namespace, view name, and view type
|
|
420
461
|
return aMatches[1];
|
|
@@ -431,16 +472,15 @@ sap.ui.define([
|
|
|
431
472
|
* @alias sap.ushell.services.AppConfiguration#getApplicationUrl
|
|
432
473
|
*/
|
|
433
474
|
this.getApplicationUrl = function (oApplication) {
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
iIndexOfQuestionMark;
|
|
475
|
+
let sUrl = oApplication?.url;
|
|
476
|
+
const sSegmentToDetermineWebGUITransaction = "P_TCODE";
|
|
437
477
|
|
|
438
478
|
if (sUrl) {
|
|
439
479
|
if (oApplication.applicationType === "NWBC" && sUrl.indexOf(sSegmentToDetermineWebGUITransaction)) {
|
|
440
480
|
// in case it is a WebGUI transaction then return the whole URL of the application
|
|
441
481
|
return sUrl;
|
|
442
482
|
}
|
|
443
|
-
iIndexOfQuestionMark = sUrl.indexOf("?");
|
|
483
|
+
const iIndexOfQuestionMark = sUrl.indexOf("?");
|
|
444
484
|
if (iIndexOfQuestionMark >= 0) {
|
|
445
485
|
// pass GET parameters of URL via component data as member startupParameters
|
|
446
486
|
// (to allow blending with other oComponentData usage, e.g. extensibility use case)
|
|
@@ -460,41 +500,43 @@ sap.ui.define([
|
|
|
460
500
|
* whose key is composed of the original key + the string "Resource".
|
|
461
501
|
* e.g. For translating the value of the property "title" - there's another configuration property: "titleResource": "TITLE_KEY".
|
|
462
502
|
* The value (e.g. "TITLE_KEY") is the translation key in the resource bundle
|
|
463
|
-
* @alias sap.ushell.services.AppConfiguration#getPropertyValueFromConfig
|
|
464
503
|
* @param {object} oConfig The configuration
|
|
465
504
|
* @param {string} sPropertyKey The property key
|
|
466
505
|
* @param {sap.base.i18n.ResourceBundle} oResourceBundle The resource bundle
|
|
467
506
|
* @returns {string|undefined} The value of the property, or undefined if the property is not found
|
|
507
|
+
*
|
|
468
508
|
* @private
|
|
509
|
+
* @alias sap.ushell.services.AppConfiguration#_getPropertyValueFromConfig
|
|
469
510
|
*/
|
|
470
|
-
this.
|
|
471
|
-
|
|
511
|
+
this._getPropertyValueFromConfig = function (oConfig, sPropertyKey, oResourceBundle) {
|
|
512
|
+
const sKey = `${sPropertyKey}Resource`;
|
|
472
513
|
|
|
473
|
-
if (oResourceBundle && oConfig.hasOwnProperty(
|
|
474
|
-
|
|
475
|
-
} else if (oConfig.hasOwnProperty(sPropertyKey)) {
|
|
476
|
-
oValue = oConfig[sPropertyKey];
|
|
514
|
+
if (oResourceBundle && oConfig.hasOwnProperty(sKey)) {
|
|
515
|
+
return oResourceBundle.getText(oConfig[sKey]);
|
|
477
516
|
}
|
|
478
517
|
|
|
479
|
-
|
|
518
|
+
if (oConfig.hasOwnProperty(sPropertyKey)) {
|
|
519
|
+
return oConfig[sPropertyKey];
|
|
520
|
+
}
|
|
480
521
|
};
|
|
481
522
|
|
|
482
523
|
/**
|
|
483
524
|
* Reads a property value from the manifest
|
|
484
525
|
*
|
|
485
|
-
* @alias sap.ushell.services.AppConfiguration#getPropertyValueFromManifest
|
|
486
526
|
* @param {object} oLocalMetadataComponent The metadata component
|
|
487
527
|
* @param {object} oProperties The properties
|
|
488
528
|
* @param {string} sPropertyKey The property key
|
|
489
|
-
* @returns {string|
|
|
529
|
+
* @returns {string|object} The value of the property, or undefined if the property is not found
|
|
530
|
+
*
|
|
490
531
|
* @private
|
|
532
|
+
* @alias sap.ushell.services.AppConfiguration#_getPropertyValueFromManifest
|
|
491
533
|
*/
|
|
492
|
-
this.
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
534
|
+
this._getPropertyValueFromManifest = function (oLocalMetadataComponent, oProperties, sPropertyKey) {
|
|
535
|
+
const sManifestEntryKey = oProperties[sPropertyKey].manifestEntryKey;
|
|
536
|
+
const sManifestPropertyPath = oProperties[sPropertyKey].path || "";
|
|
537
|
+
const oManifestEntry = oLocalMetadataComponent.getManifestEntry(sManifestEntryKey);
|
|
496
538
|
|
|
497
|
-
return ObjectPath.get(sManifestPropertyPath
|
|
539
|
+
return ObjectPath.get(sManifestPropertyPath, oManifestEntry);
|
|
498
540
|
};
|
|
499
541
|
|
|
500
542
|
/**
|
|
@@ -511,196 +553,205 @@ sap.ui.define([
|
|
|
511
553
|
*/
|
|
512
554
|
this.addMetadata = function (oApplication, sKey) {
|
|
513
555
|
try {
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
if (sKey) {
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
556
|
+
const sComponentName = this.getApplicationName(oApplication);
|
|
557
|
+
const sUrl = this.getApplicationUrl(oApplication);
|
|
558
|
+
// Hash object that maps application metadata property (i.e. property name) to its corresponding entry and path
|
|
559
|
+
// in the application descriptor (i.e. manifest file), if exists
|
|
560
|
+
const oProperties = {
|
|
561
|
+
fullWidth:
|
|
562
|
+
{ manifestEntryKey: "sap.ui", path: "fullWidth" },
|
|
563
|
+
hideLightBackground:
|
|
564
|
+
{ manifestEntryKey: "sap.ui", path: "hideLightBackground" },
|
|
565
|
+
title:
|
|
566
|
+
{ manifestEntryKey: "sap.app", path: "title" },
|
|
567
|
+
icon:
|
|
568
|
+
{ manifestEntryKey: "sap.ui", path: "icons.icon" },
|
|
569
|
+
favIcon:
|
|
570
|
+
{ manifestEntryKey: "sap.ui", path: "icons.favIcon" },
|
|
571
|
+
homeScreenIconPhone:
|
|
572
|
+
{ manifestEntryKey: "sap.ui", path: "icons.phone" },
|
|
573
|
+
"homeScreenIconPhone@2":
|
|
574
|
+
{ manifestEntryKey: "sap.ui", path: "icons.phone@2" },
|
|
575
|
+
homeScreenIconTablet:
|
|
576
|
+
{ manifestEntryKey: "sap.ui", path: "icons.tablet" },
|
|
577
|
+
"homeScreenIconTablet@2":
|
|
578
|
+
{ manifestEntryKey: "sap.ui", path: "icons.tablet@2" },
|
|
579
|
+
startupImage320x460:
|
|
580
|
+
{ manifestEntryKey: "sap.ui", path: "icons.startupImage640x920" },
|
|
581
|
+
startupImage640x920:
|
|
582
|
+
{ manifestEntryKey: "sap.ui", path: "icons.startupImage640x920" },
|
|
583
|
+
startupImage640x1096:
|
|
584
|
+
{ manifestEntryKey: "sap.ui", path: "icons.startupImage640x1096" },
|
|
585
|
+
startupImage768x1004:
|
|
586
|
+
{ manifestEntryKey: "sap.ui", path: "icons.startupImage768x1004" },
|
|
587
|
+
startupImage748x1024:
|
|
588
|
+
{ manifestEntryKey: "sap.ui", path: "icons.startupImage748x1024" },
|
|
589
|
+
startupImage1536x2008:
|
|
590
|
+
{ manifestEntryKey: "sap.ui", path: "icons.startupImage1536x2008" },
|
|
591
|
+
startupImage1496x2048:
|
|
592
|
+
{ manifestEntryKey: "sap.ui", path: "icons.startupImage1496x2048" },
|
|
593
|
+
compactContentDensity:
|
|
594
|
+
{ manifestEntryKey: "sap.ui5", path: "contentDensities.compact" },
|
|
595
|
+
cozyContentDensity:
|
|
596
|
+
{ manifestEntryKey: "sap.ui5", path: "contentDensities.cozy" }
|
|
597
|
+
};
|
|
598
|
+
const oComponentHandle = oApplication?.componentHandle;
|
|
599
|
+
|
|
600
|
+
if (!sKey) {
|
|
601
|
+
return;
|
|
602
|
+
}
|
|
603
|
+
|
|
604
|
+
if (!(oMetadata.hasOwnProperty(sKey))) {
|
|
605
|
+
// independent from application type - create an object for metadata; initialize the complete flag with false!
|
|
606
|
+
oMetadata[sKey] = { complete: false };
|
|
607
|
+
}
|
|
608
|
+
|
|
609
|
+
if (!oMetadata[sKey].complete) {
|
|
610
|
+
let oLocalMetadataComponent;
|
|
611
|
+
|
|
612
|
+
if (oComponentHandle) {
|
|
613
|
+
oLocalMetadataComponent = oComponentHandle.getMetadata();
|
|
614
|
+
} else if (sComponentName) {
|
|
615
|
+
Log.warning(`No component handle available for '${sComponentName}'; SAPUI5 component metadata is incomplete`, null, "sap.ushell.services.AppConfiguration");
|
|
616
|
+
return;
|
|
571
617
|
}
|
|
572
618
|
|
|
573
|
-
if (
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
619
|
+
if (oLocalMetadataComponent) {
|
|
620
|
+
let oResourceBundle;
|
|
621
|
+
const oConfig = oLocalMetadataComponent.getConfig();
|
|
622
|
+
oMetadata[sKey].complete = true;
|
|
623
|
+
|
|
624
|
+
// If configuration exists and no resource bundle was created from the manifest
|
|
625
|
+
if (oConfig) {
|
|
626
|
+
let sConfigResourceBundleUrl = oConfig.resourceBundle;
|
|
627
|
+
if (sConfigResourceBundleUrl) {
|
|
628
|
+
if (sConfigResourceBundleUrl.slice(0, 1) !== "/") {
|
|
629
|
+
sConfigResourceBundleUrl = sUrl + sConfigResourceBundleUrl;
|
|
630
|
+
}
|
|
631
|
+
oResourceBundle = ResourceBundle.create({
|
|
632
|
+
url: sConfigResourceBundleUrl,
|
|
633
|
+
locale: Localization.getLanguage()
|
|
634
|
+
});
|
|
635
|
+
}
|
|
580
636
|
}
|
|
581
637
|
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
if (sConfigResourceBundleUrl.slice(0, 1) !== "/") {
|
|
591
|
-
sConfigResourceBundleUrl = sUrl + sConfigResourceBundleUrl;
|
|
592
|
-
}
|
|
593
|
-
oResourceBundle = ResourceBundle.create({
|
|
594
|
-
url: sConfigResourceBundleUrl,
|
|
595
|
-
locale: Localization.getLanguage()
|
|
596
|
-
});
|
|
638
|
+
const bManifestExists = !!oLocalMetadataComponent.getManifest();
|
|
639
|
+
|
|
640
|
+
// Loop over all property names, and for each one get the value from the manifest or from the application configuration
|
|
641
|
+
for (const sPropertyKey in oProperties) {
|
|
642
|
+
if (oProperties.hasOwnProperty(sPropertyKey)) {
|
|
643
|
+
if (bManifestExists) {
|
|
644
|
+
// Get property value from the manifest
|
|
645
|
+
oMetadata[sKey][sPropertyKey] = this._getPropertyValueFromManifest(oLocalMetadataComponent, oProperties, sPropertyKey);
|
|
597
646
|
}
|
|
598
|
-
}
|
|
599
647
|
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
if (
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
oMetadata[sKey][sPropertyKey] = this.getPropertyValueFromManifest(oLocalMetadataComponent, oProperties, sPropertyKey);
|
|
606
|
-
}
|
|
607
|
-
|
|
608
|
-
// If application configuration exists and the property value was not found in the manifest -
|
|
609
|
-
// look for it in the configuration
|
|
610
|
-
if (oConfig && oMetadata[sKey][sPropertyKey] === undefined) {
|
|
611
|
-
// Get property value from the configuration
|
|
612
|
-
oMetadata[sKey][sPropertyKey] = this.getPropertyValueFromConfig(oConfig, sPropertyKey, oResourceBundle);
|
|
613
|
-
}
|
|
648
|
+
// If application configuration exists and the property value was not found in the manifest -
|
|
649
|
+
// look for it in the configuration
|
|
650
|
+
if (oConfig && oMetadata[sKey][sPropertyKey] === undefined) {
|
|
651
|
+
// Get property value from the configuration
|
|
652
|
+
oMetadata[sKey][sPropertyKey] = this._getPropertyValueFromConfig(oConfig, sPropertyKey, oResourceBundle);
|
|
614
653
|
}
|
|
615
654
|
}
|
|
616
|
-
oMetadata[sKey].version = oLocalMetadataComponent.getVersion();
|
|
617
|
-
oMetadata[sKey].technicalName = oLocalMetadataComponent.getComponentName();
|
|
618
|
-
this._setTitleFromNavResult(oMetadata[sKey], oApplication);
|
|
619
|
-
} else if (utils.isApplicationTypeEmbeddedInIframe(oApplication.applicationType)) {
|
|
620
|
-
var sWdaApplicationUrlString = "/~canvas;window=app/wda/",
|
|
621
|
-
iIndexOfWdaApplicationUrlString = oApplication.url.indexOf(sWdaApplicationUrlString),
|
|
622
|
-
sWdaApplicationOtherUrlString = "/sap/bc/webdynpro/sap/",
|
|
623
|
-
sWebGUIApplicationUrlString = "/bc/gui/sap/its/webgui",
|
|
624
|
-
iIndexOfWebGUIApplicationUrlString = oApplication.url.indexOf(sWebGUIApplicationUrlString);
|
|
625
|
-
|
|
626
|
-
if (iIndexOfWdaApplicationUrlString >= 0) {
|
|
627
|
-
// WebDynproABAPApplication
|
|
628
|
-
// /ui2/nwbc/~canvas;window=app/wda/S_EPM_FPM_PD/?sap-wd-configId=s_epm_fpm_pd
|
|
629
|
-
oMetadata[sKey].technicalName = oApplication.url.substring(
|
|
630
|
-
(iIndexOfWdaApplicationUrlString + sWdaApplicationUrlString.length),
|
|
631
|
-
oApplication.url.indexOf("/", (iIndexOfWdaApplicationUrlString + sWdaApplicationUrlString.length))
|
|
632
|
-
);
|
|
633
|
-
}
|
|
634
|
-
if (oApplication.url.indexOf(sWdaApplicationOtherUrlString) >= 0) {
|
|
635
|
-
// other WebDynproABAPApplication
|
|
636
|
-
// /sap/bc/webdynpro/sap/S_EPM_FPM_PO?sap-client=120&sap-language=EN&sap-ui-tech-hint=WDA&
|
|
637
|
-
oMetadata[sKey].technicalName = new RegExp(sWdaApplicationOtherUrlString + "(.*)[?]").exec(oApplication.url)[1];
|
|
638
|
-
}
|
|
639
|
-
oMetadata[sKey].complete = true;
|
|
640
|
-
if (iIndexOfWebGUIApplicationUrlString >= 0) {
|
|
641
|
-
// WebGUITransaction
|
|
642
|
-
// /sap/bc/gui/sap/its/webgui;~sysid=XXX;~service=3255?%7etransaction=SU01&%7enosplash=1
|
|
643
|
-
var sETransactionString = "etransaction=",
|
|
644
|
-
iETransactionStart = oApplication.url.indexOf(sETransactionString, iIndexOfWebGUIApplicationUrlString + sWebGUIApplicationUrlString.length),
|
|
645
|
-
iETransactionEndDetermination = oApplication.url.indexOf("&", iETransactionStart),
|
|
646
|
-
iETransactionEnd = (iETransactionEndDetermination >= 0) ? iETransactionEndDetermination : oApplication.url.length;
|
|
647
|
-
oMetadata[sKey].technicalName = decodeURIComponent(oApplication.url.substring(
|
|
648
|
-
iETransactionStart + sETransactionString.length,
|
|
649
|
-
iETransactionEnd
|
|
650
|
-
)) + " (TCODE)";
|
|
651
|
-
}
|
|
652
|
-
} else {
|
|
653
|
-
Log.warning("No technical information for the given application could be determined", null, "sap.ushell.services.AppConfiguration");
|
|
654
655
|
}
|
|
655
|
-
}
|
|
656
656
|
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
"
|
|
666
|
-
"
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
];
|
|
677
|
-
|
|
678
|
-
sComponentUrl = (sUrl && sUrl[sUrl.length - 1] === "/") ?
|
|
679
|
-
sUrl.substring(0, sUrl.length - 1) : sUrl;
|
|
680
|
-
|
|
681
|
-
isUrlRelative = function (sUrl) {
|
|
682
|
-
if (sUrl.match(/^https?:\/\/.*/)) {
|
|
683
|
-
return false;
|
|
657
|
+
oMetadata[sKey].version = oLocalMetadataComponent.getVersion();
|
|
658
|
+
oMetadata[sKey].technicalName = oLocalMetadataComponent.getComponentName();
|
|
659
|
+
|
|
660
|
+
this._setTitleFromNavResult(oMetadata[sKey], oApplication);
|
|
661
|
+
|
|
662
|
+
} else if (ushellUtils.isApplicationTypeEmbeddedInIframe(oApplication.applicationType)) {
|
|
663
|
+
const sWdaApplicationUrlString = "/~canvas;window=app/wda/";
|
|
664
|
+
const iIndexOfWdaApplicationUrlString = oApplication.url.indexOf(sWdaApplicationUrlString);
|
|
665
|
+
const sWdaApplicationOtherUrlString = "/sap/bc/webdynpro/sap/";
|
|
666
|
+
const sWebGUIApplicationUrlString = "/bc/gui/sap/its/webgui";
|
|
667
|
+
const iIndexOfWebGUIApplicationUrlString = oApplication.url.indexOf(sWebGUIApplicationUrlString);
|
|
668
|
+
|
|
669
|
+
if (iIndexOfWdaApplicationUrlString >= 0) {
|
|
670
|
+
// WebDynproABAPApplication
|
|
671
|
+
// /ui2/nwbc/~canvas;window=app/wda/S_EPM_FPM_PD/?sap-wd-configId=s_epm_fpm_pd
|
|
672
|
+
oMetadata[sKey].technicalName = oApplication.url.substring(
|
|
673
|
+
(iIndexOfWdaApplicationUrlString + sWdaApplicationUrlString.length),
|
|
674
|
+
oApplication.url.indexOf("/", (iIndexOfWdaApplicationUrlString + sWdaApplicationUrlString.length))
|
|
675
|
+
);
|
|
684
676
|
}
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
var sOrigValue = oMetadata[sKey][sPropName],
|
|
690
|
-
sFinalValue = null;
|
|
691
|
-
// Some URL properties might not be defined.
|
|
692
|
-
if (sOrigValue) {
|
|
693
|
-
sFinalValue = isUrlRelative(sOrigValue) ?
|
|
694
|
-
sComponentUrl + "/" + sOrigValue : sOrigValue;
|
|
677
|
+
if (oApplication.url.indexOf(sWdaApplicationOtherUrlString) >= 0) {
|
|
678
|
+
// other WebDynproABAPApplication
|
|
679
|
+
// /sap/bc/webdynpro/sap/S_EPM_FPM_PO?sap-client=120&sap-language=EN&sap-ui-tech-hint=WDA&
|
|
680
|
+
oMetadata[sKey].technicalName = new RegExp(sWdaApplicationOtherUrlString + "(.*)[?]").exec(oApplication.url)[1];
|
|
695
681
|
}
|
|
696
|
-
oMetadata[sKey]
|
|
697
|
-
|
|
682
|
+
oMetadata[sKey].complete = true;
|
|
683
|
+
if (iIndexOfWebGUIApplicationUrlString >= 0) {
|
|
684
|
+
// WebGUITransaction
|
|
685
|
+
// /sap/bc/gui/sap/its/webgui;~sysid=XXX;~service=3255?%7etransaction=SU01&%7enosplash=1
|
|
686
|
+
const sETransactionString = "etransaction=";
|
|
687
|
+
const iETransactionStart = oApplication.url.indexOf(sETransactionString, iIndexOfWebGUIApplicationUrlString + sWebGUIApplicationUrlString.length);
|
|
688
|
+
const iETransactionEndDetermination = oApplication.url.indexOf("&", iETransactionStart);
|
|
689
|
+
const iETransactionEnd = (iETransactionEndDetermination >= 0) ? iETransactionEndDetermination : oApplication.url.length;
|
|
690
|
+
oMetadata[sKey].technicalName = decodeURIComponent(oApplication.url.substring(
|
|
691
|
+
iETransactionStart + sETransactionString.length,
|
|
692
|
+
iETransactionEnd
|
|
693
|
+
)) + " (TCODE)";
|
|
694
|
+
}
|
|
695
|
+
} else {
|
|
696
|
+
Log.warning("No technical information for the given application could be determined", null, "sap.ushell.services.AppConfiguration");
|
|
697
|
+
}
|
|
698
698
|
}
|
|
699
|
+
|
|
700
|
+
/*
|
|
701
|
+
* Special behavior for relative URLs:
|
|
702
|
+
* Relative URLs are considered relative to the folder containing the Component.js, which requires adjustments here.
|
|
703
|
+
* Otherwise the browser would interpret them as relative to the location of the HTML file,
|
|
704
|
+
* which might be different and also hard to guess for app developers.
|
|
705
|
+
*/
|
|
706
|
+
const potentiallyRelativeUrls = [
|
|
707
|
+
"favIcon",
|
|
708
|
+
"homeScreenIconPhone",
|
|
709
|
+
"homeScreenIconPhone@2",
|
|
710
|
+
"homeScreenIconTablet",
|
|
711
|
+
"homeScreenIconTablet@2",
|
|
712
|
+
"startupImage320x460",
|
|
713
|
+
"startupImage640x920",
|
|
714
|
+
"startupImage640x1096",
|
|
715
|
+
"startupImage768x1004",
|
|
716
|
+
"startupImage748x1024",
|
|
717
|
+
"startupImage1536x2008",
|
|
718
|
+
"startupImage1496x2048"
|
|
719
|
+
];
|
|
720
|
+
|
|
721
|
+
const sComponentUrl = (sUrl?.[sUrl.length - 1] === "/") ? sUrl.substring(0, sUrl.length - 1) : sUrl;
|
|
722
|
+
|
|
723
|
+
potentiallyRelativeUrls.forEach((sPropName) => {
|
|
724
|
+
const sOrigValue = oMetadata[sKey][sPropName];
|
|
725
|
+
let sFinalValue = null;
|
|
726
|
+
// Some URL properties might not be defined.
|
|
727
|
+
if (sOrigValue) {
|
|
728
|
+
sFinalValue = this._isUrlRelative(sOrigValue) ? `${sComponentUrl}/${sOrigValue}` : sOrigValue;
|
|
729
|
+
}
|
|
730
|
+
oMetadata[sKey][sPropName] = sFinalValue;
|
|
731
|
+
});
|
|
699
732
|
} catch (err) {
|
|
700
733
|
Log.warning("Application configuration could not be parsed");
|
|
701
734
|
}
|
|
702
735
|
};
|
|
703
736
|
|
|
737
|
+
/**
|
|
738
|
+
* Checks if the given URL is relative.
|
|
739
|
+
* @param {sap.ui.core.URI} sUrl The URL to check
|
|
740
|
+
* @returns {boolean} true if the URL is relative, false otherwise
|
|
741
|
+
*
|
|
742
|
+
* @private
|
|
743
|
+
* @alias sap.ushell.services.AppConfiguration#_isUrlRelative
|
|
744
|
+
*/
|
|
745
|
+
this._isUrlRelative = function (sUrl) {
|
|
746
|
+
if (!sUrl) {
|
|
747
|
+
return false;
|
|
748
|
+
}
|
|
749
|
+
if (sUrl.match(/^https?:\/\/.*/)) {
|
|
750
|
+
return false;
|
|
751
|
+
}
|
|
752
|
+
return sUrl[0] !== "/";
|
|
753
|
+
};
|
|
754
|
+
|
|
704
755
|
/**
|
|
705
756
|
* Helper function to override the title of the manifest
|
|
706
757
|
* with the title from the navigation result (target mapping).
|
|
@@ -708,21 +759,20 @@ sap.ui.define([
|
|
|
708
759
|
* in the FLP content with a specific title.
|
|
709
760
|
*
|
|
710
761
|
* @param {object} oMetadataEntry - the metadata for a specific app
|
|
711
|
-
* @param {object} oApplication - the application data retrieved from the
|
|
712
|
-
* navigation target resolution
|
|
762
|
+
* @param {object} oApplication - the application data retrieved from the navigation target resolution
|
|
713
763
|
*
|
|
714
764
|
* @private
|
|
715
765
|
* @alias sap.ushell.services.AppConfiguration#_setTitleFromNavResult
|
|
716
766
|
*/
|
|
717
767
|
this._setTitleFromNavResult = function (oMetadataEntry, oApplication) {
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
768
|
+
const sNavTargetResolutionTitle = oApplication?.text;
|
|
769
|
+
const sUi5ComponentName = oMetadataEntry.technicalName;
|
|
770
|
+
const aUseAppTitleFromNavTargetResolutionConfig = Config.last("/core/shell/useAppTitleFromNavTargetResolution") || [];
|
|
721
771
|
if (sNavTargetResolutionTitle && aUseAppTitleFromNavTargetResolutionConfig.includes(sUi5ComponentName)) {
|
|
722
772
|
oMetadataEntry.title = sNavTargetResolutionTitle;
|
|
723
773
|
}
|
|
724
774
|
};
|
|
725
|
-
}
|
|
775
|
+
}
|
|
726
776
|
|
|
727
777
|
return new AppConfiguration();
|
|
728
778
|
}, true /* bExport */);
|