@sapui5/sap.ushell 1.136.3 → 1.138.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/src/main/js/sap/ushell/.library +1 -1
- package/src/main/js/sap/ushell/AppInfoParameters.js +4 -5
- package/src/main/js/sap/ushell/ApplicationType/guiResolution.js +677 -695
- package/src/main/js/sap/ushell/ApplicationType/systemAlias.js +612 -623
- package/src/main/js/sap/ushell/ApplicationType/ui5Resolution.js +14 -16
- package/src/main/js/sap/ushell/ApplicationType/urlResolution.js +19 -21
- package/src/main/js/sap/ushell/ApplicationType/urlTemplateResolution.js +486 -468
- package/src/main/js/sap/ushell/ApplicationType/utils.js +46 -46
- package/src/main/js/sap/ushell/ApplicationType/wcfResolution.js +24 -29
- package/src/main/js/sap/ushell/ApplicationType/wdaResolution.js +47 -55
- package/src/main/js/sap/ushell/ApplicationType.js +34 -34
- package/src/main/js/sap/ushell/Config/utils.js +45 -45
- package/src/main/js/sap/ushell/Config.js +4 -4
- package/src/main/js/sap/ushell/Container.js +359 -357
- package/src/main/js/sap/ushell/EventHub.js +216 -212
- package/src/main/js/sap/ushell/Fiori20Adapter.js +59 -98
- package/src/main/js/sap/ushell/Fiori20AdapterTest.js +23 -26
- package/src/main/js/sap/ushell/Layout.js +264 -291
- package/src/main/js/sap/ushell/NWBCInterface.js +8 -8
- package/src/main/js/sap/ushell/SessionHandler.js +8 -8
- package/src/main/js/sap/ushell/System.js +6 -6
- package/src/main/js/sap/ushell/TechnicalParameters.js +95 -96
- package/src/main/js/sap/ushell/UI5ComponentType.js +1 -1
- package/src/main/js/sap/ushell/UIActions.js +189 -188
- package/src/main/js/sap/ushell/URLTemplateProcessor/DefinitionParameterSetBuilder.js +21 -24
- package/src/main/js/sap/ushell/URLTemplateProcessor/DependencyGraph.js +29 -29
- package/src/main/js/sap/ushell/URLTemplateProcessor/Functions.js +96 -96
- package/src/main/js/sap/ushell/URLTemplateProcessor/Resolvers.js +58 -55
- package/src/main/js/sap/ushell/URLTemplateProcessor/TemplateParameterParser.js +201 -200
- package/src/main/js/sap/ushell/URLTemplateProcessor/utils.js +8 -8
- package/src/main/js/sap/ushell/URLTemplateProcessor.js +65 -65
- package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +30 -33
- package/src/main/js/sap/ushell/Ui5ServiceFactory.js +30 -43
- package/src/main/js/sap/ushell/User.js +114 -116
- package/src/main/js/sap/ushell/UserActivityLog.js +63 -63
- package/src/main/js/sap/ushell/adapters/AppVariantPersonalizationAdapter.js +46 -47
- package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +34 -34
- package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +56 -57
- package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +3 -4
- package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +144 -146
- package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +569 -602
- package/src/main/js/sap/ushell/adapters/cdm/MenuAdapter.js +25 -25
- package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +120 -119
- package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +2 -2
- package/src/main/js/sap/ushell/adapters/cdm/PersonalizationV2Adapter.js +3 -3
- package/src/main/js/sap/ushell/adapters/cdm/Settings/UserLanguageAndRegion/UserLanguageAndRegion.controller.js +57 -53
- package/src/main/js/sap/ushell/adapters/cdm/Settings/UserLanguageAndRegion/UserLanguageAndRegion.view.xml +5 -2
- package/src/main/js/sap/ushell/adapters/cdm/Settings/UserLanguageAndRegion/UserLanguageAndRegionEntry.js +6 -6
- package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +2 -3
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +21 -21
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +2 -2
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +28 -37
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +89 -90
- package/src/main/js/sap/ushell/adapters/cdm/_Personalization/internals.js +179 -190
- package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +12 -12
- package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +16 -17
- package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +144 -151
- package/src/main/js/sap/ushell/adapters/cdm/v3/FlpLaunchPageAdapter.js +527 -526
- package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +3 -3
- package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +2 -2
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +6 -6
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +3 -4
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +22 -28
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +9 -9
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +27 -27
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +15 -18
- package/src/main/js/sap/ushell/adapters/cdm/v3/utilsCdm.js +67 -67
- package/src/main/js/sap/ushell/adapters/cep/MenuAdapter.js +27 -76
- package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +3 -3
- package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionInternalAdapter.js +25 -25
- package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +42 -43
- package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +45 -45
- package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +29 -29
- package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +41 -37
- package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +25 -28
- package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +70 -72
- package/src/main/js/sap/ushell/adapters/local/FlpLaunchPageAdapter.js +450 -474
- package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +3 -3
- package/src/main/js/sap/ushell/adapters/local/MenuAdapter.js +20 -22
- package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +3 -3
- package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionInternalAdapter.js +44 -43
- package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +12 -12
- package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +16 -16
- package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +19 -17
- package/src/main/js/sap/ushell/adapters/local/PersonalizationV2Adapter.js +3 -3
- package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +5 -6
- package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +10 -10
- package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +5 -5
- package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +2 -3
- package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +26 -26
- package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +28 -29
- package/src/main/js/sap/ushell/api/BootstrapObserver.js +2 -3
- package/src/main/js/sap/ushell/api/Copilot.js +2 -4
- package/src/main/js/sap/ushell/api/DWS.js +2 -3
- package/src/main/js/sap/ushell/api/Inbox.js +2 -3
- package/src/main/js/sap/ushell/api/NewExperience/CustomOverflowListItem.js +2 -3
- package/src/main/js/sap/ushell/api/NewExperience.js +8 -8
- package/src/main/js/sap/ushell/api/RTA.js +27 -59
- package/src/main/js/sap/ushell/api/S4MyHome.js +3 -3
- package/src/main/js/sap/ushell/api/SAPBusinessClient.js +6 -36
- package/src/main/js/sap/ushell/api/common/ComponentInstantiation.js +5 -8
- package/src/main/js/sap/ushell/api/workpage/Designtime.js +2 -3
- package/src/main/js/sap/ushell/api/workpage/Runtime.js +2 -4
- package/src/main/js/sap/ushell/appIntegration/AppLifeCycle/KeepAliveMode.js +2 -2
- package/src/main/js/sap/ushell/appIntegration/AppLifeCycle.js +69 -88
- package/src/main/js/sap/ushell/appIntegration/ApplicationContainer.js +2 -4
- package/src/main/js/sap/ushell/appIntegration/ApplicationContainerCache.js +9 -9
- package/src/main/js/sap/ushell/appIntegration/ApplicationContainerRenderer.js +0 -1
- package/src/main/js/sap/ushell/appIntegration/ApplicationHandle.js +2 -2
- package/src/main/js/sap/ushell/appIntegration/IframeApplicationContainer.js +1 -3
- package/src/main/js/sap/ushell/appIntegration/IframeApplicationContainerRenderer.js +2 -4
- package/src/main/js/sap/ushell/appIntegration/KeepAliveApps.js +6 -6
- package/src/main/js/sap/ushell/appIntegration/PostMessageManager/AppruntimeHandler.js +7 -7
- package/src/main/js/sap/ushell/appIntegration/PostMessageManager/ExtensionItems.js +2 -2
- package/src/main/js/sap/ushell/appIntegration/PostMessageManager/LifecycleHandler.js +58 -59
- package/src/main/js/sap/ushell/appIntegration/PostMessageManager/MessageBrokerHandler.js +2 -3
- package/src/main/js/sap/ushell/appIntegration/PostMessageManager/NWBCHandler.js +2 -2
- package/src/main/js/sap/ushell/appIntegration/PostMessageManager/ServiceHandler.js +91 -91
- package/src/main/js/sap/ushell/appIntegration/UI5ApplicationContainerRenderer.js +0 -1
- package/src/main/js/sap/ushell/appIntegration/contracts/EmbeddedUI5Handler.js +3 -4
- package/src/main/js/sap/ushell/appIntegration/contracts/StatefulContainerV1Handler.js +3 -3
- package/src/main/js/sap/ushell/appIntegration/contracts/StatefulContainerV2Handler.js +1 -2
- package/src/main/js/sap/ushell/appRuntime/neo/AppInfoService.js +85 -74
- package/src/main/js/sap/ushell/appRuntime/neo/AppRuntimeNeo.js +2 -2
- package/src/main/js/sap/ushell/appRuntime/neo/ProxyAppUtils.js +8 -9
- package/src/main/js/sap/ushell/appRuntime/ui5/AppCommunicationMgr.js +57 -57
- package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +660 -662
- package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntimeContext.js +14 -14
- package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntimeService.js +11 -2
- package/src/main/js/sap/ushell/appRuntime/ui5/SessionHandlerAgent.js +21 -25
- package/src/main/js/sap/ushell/appRuntime/ui5/performance/FesrEnhancer.js +11 -5
- package/src/main/js/sap/ushell/appRuntime/ui5/plugins/baseRta/AppLifeCycleUtils.js +31 -31
- package/src/main/js/sap/ushell/appRuntime/ui5/plugins/baseRta/BaseRTAPluginStatus.js +9 -10
- package/src/main/js/sap/ushell/appRuntime/ui5/plugins/baseRta/CheckConditions.js +56 -56
- package/src/main/js/sap/ushell/appRuntime/ui5/plugins/baseRta/Renderer.js +34 -34
- package/src/main/js/sap/ushell/appRuntime/ui5/plugins/baseRta/Trigger.js +222 -249
- package/src/main/js/sap/ushell/appRuntime/ui5/plugins/rtaAgent/Component.js +213 -207
- package/src/main/js/sap/ushell/appRuntime/ui5/plugins/rtaShell/Component.js +121 -129
- package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/Component.js +19 -19
- package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/AccessKeysAgent.js +9 -9
- package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/Renderer.js +84 -29
- package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/RendererExtensions.js +34 -34
- package/src/main/js/sap/ushell/appRuntime/ui5/services/AppConfiguration.js +12 -12
- package/src/main/js/sap/ushell/appRuntime/ui5/services/AppLifeCycle.js +7 -3
- package/src/main/js/sap/ushell/appRuntime/ui5/services/AppLifeCycleAgent.js +127 -102
- package/src/main/js/sap/ushell/appRuntime/ui5/services/AppState.js +11 -6
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Bookmark.js +35 -29
- package/src/main/js/sap/ushell/appRuntime/ui5/services/BookmarkV2.js +30 -26
- package/src/main/js/sap/ushell/appRuntime/ui5/services/CommonDataModel.js +8 -3
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Container.js +26 -26
- package/src/main/js/sap/ushell/appRuntime/ui5/services/CrossApplicationNavigation.js +41 -38
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension/Item.js +4 -4
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension.js +9 -23
- package/src/main/js/sap/ushell/appRuntime/ui5/services/FlpLaunchPage.js +3 -3
- package/src/main/js/sap/ushell/appRuntime/ui5/services/FrameBoundExtension.js +3 -3
- package/src/main/js/sap/ushell/appRuntime/ui5/services/LaunchPage.js +7 -3
- package/src/main/js/sap/ushell/appRuntime/ui5/services/MessageBroker.js +16 -17
- package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolution.js +21 -17
- package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolutionInternal.js +22 -17
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Navigation.js +31 -28
- package/src/main/js/sap/ushell/appRuntime/ui5/services/ReferenceResolver.js +4 -4
- package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigation.js +10 -6
- package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigationInternal.js +10 -6
- package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellUIService.js +9 -9
- package/src/main/js/sap/ushell/appRuntime/ui5/services/UserDefaultParameters.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/UserInfo.js +10 -6
- package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/ContainerAdapter.js +40 -43
- package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/EmptyAdapter.js +6 -6
- package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +2 -3
- package/src/main/js/sap/ushell/appRuntime/ui5/ui/UIProxy.js +4 -4
- package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/EventProcessor.js +9 -9
- package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/FLPLoader.js +8 -9
- package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/FLPScheduler.js +40 -42
- package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/LoadingConfiguration.json +1 -1
- package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/StepConfiguration.json +1 -6
- package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/logger.js +13 -13
- package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/state.js +19 -19
- package/src/main/js/sap/ushell/bootstrap/SchedulingAgent.js +23 -32
- package/src/main/js/sap/ushell/bootstrap/cdm/cdm-def-dev.js +3 -4
- package/src/main/js/sap/ushell/bootstrap/cdm/cdm-def-loader.js +1 -1
- package/src/main/js/sap/ushell/bootstrap/cdm/cdm-def.js +3 -3
- package/src/main/js/sap/ushell/bootstrap/cdm/cdm.boot.task.js +3 -3
- package/src/main/js/sap/ushell/bootstrap/cdm/cdm.constants.js +5 -4
- package/src/main/js/sap/ushell/bootstrap/cdm.js +11 -12
- package/src/main/js/sap/ushell/bootstrap/common/common.boot.path.js +1 -1
- package/src/main/js/sap/ushell/bootstrap/common/common.boot.script.js +2 -2
- package/src/main/js/sap/ushell/bootstrap/common/common.boot.task.js +3 -3
- package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5.extractLibs.js +1 -2
- package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5.js +13 -13
- package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5datetimeformat.js +9 -9
- package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5language.js +3 -3
- package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5theme.js +13 -15
- package/src/main/js/sap/ushell/bootstrap/common/common.configure.ushell.js +4 -9
- package/src/main/js/sap/ushell/bootstrap/common/common.constants.js +1 -1
- package/src/main/js/sap/ushell/bootstrap/common/common.create.configcontract.core.js +0 -14
- package/src/main/js/sap/ushell/bootstrap/common/common.debug.mode.js +3 -3
- package/src/main/js/sap/ushell/bootstrap/common/common.load.bootstrapExtension.js +3 -4
- package/src/main/js/sap/ushell/bootstrap/common/common.load.core-min.js +5 -7
- package/src/main/js/sap/ushell/bootstrap/common/common.load.launchpad.js +6 -8
- package/src/main/js/sap/ushell/bootstrap/common/common.load.model.js +6 -6
- package/src/main/js/sap/ushell/bootstrap/common/common.load.script.js +3 -3
- package/src/main/js/sap/ushell/bootstrap/common/common.override.registermodulepath.js +37 -38
- package/src/main/js/sap/ushell/bootstrap/common/common.read.metatags.js +6 -6
- package/src/main/js/sap/ushell/bootstrap/common/common.read.ui5theme.from.config.js +11 -11
- package/src/main/js/sap/ushell/bootstrap/common/common.read.ushell.config.from.url.js +22 -25
- package/src/main/js/sap/ushell/bootstrap/common/common.util.js +10 -12
- package/src/main/js/sap/ushell/bootstrap/sandbox2/sandbox.js +11 -10
- package/src/main/js/sap/ushell/bootstrap/sandbox2/sandboxBootTask.js +1 -1
- package/src/main/js/sap/ushell/bootstrap/sandbox2/sandboxConfig.json +8 -24
- package/src/main/js/sap/ushell/bootstrap/sandbox2.js +13 -13
- package/src/main/js/sap/ushell/bootstrap/ui5loader-config.js +7 -7
- package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/cards/Card.controller.js +2 -2
- package/src/main/js/sap/ushell/components/cepsearchresult/app/Component.js +57 -30
- package/src/main/js/sap/ushell/components/cepsearchresult/app/Main.controller.js +330 -312
- package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/Component.js +171 -154
- package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/Config.js +236 -233
- package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/Extension.js +35 -33
- package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/manifest.json +4 -1
- package/src/main/js/sap/ushell/components/cepsearchresult/app/manifest.json +4 -6
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/AdvancedFormatters.js +64 -60
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/Edition.js +139 -141
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/EditionAdvanced.js +8 -9
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/EditionStandard.js +4 -4
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/appendStyleVars.js +37 -34
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/Category.js +694 -646
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/Highlighter.js +220 -223
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/Paginator.css +2 -2
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/Paginator.js +258 -225
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/categories/All.js +58 -49
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/categories/Application.js +200 -203
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/categories/Event.js +129 -131
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/categories/People.js +91 -92
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/categories/Workpage.js +18 -18
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n.properties +5 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_ar.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_bg.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_ca.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_cnr.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_cs.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_cy.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_da.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_de.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_el.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_en.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_en_GB.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_en_US_saprigi.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_es.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_es_MX.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_et.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_fi.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_fr.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_fr_CA.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_hi.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_hr.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_hu.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_id.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_it.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_iw.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_ja.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_kk.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_ko.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_lt.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_lv.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_mk.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_ms.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_nl.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_no.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_pl.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_pt.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_pt_PT.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_ro.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_ru.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_sh.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_sk.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_sl.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_sr.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_sv.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_th.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_tr.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_uk.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_vi.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_zh_CN.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_zh_TW.properties +3 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/resources.js +30 -0
- package/src/main/js/sap/ushell/components/contentFinder/CatalogService.js +3 -3
- package/src/main/js/sap/ushell/components/contentFinder/Component.js +34 -15
- package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +22 -12
- package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +4 -5
- package/src/main/js/sap/ushell/components/contentFinder/dialog/Component.js +26 -5
- package/src/main/js/sap/ushell/components/contentFinder/dialog/manifest.json +5 -2
- package/src/main/js/sap/ushell/components/contentFinder/manifest.json +5 -7
- package/src/main/js/sap/ushell/components/contentFinder/model/formatter.js +22 -8
- package/src/main/js/sap/ushell/components/contentFinder/view/AppSearch.view.xml +6 -5
- package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchBox.fragment.xml +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchCategoryTreeTable.fragment.xml +10 -4
- package/src/main/js/sap/ushell/components/contentFinderStandalone/Component.js +31 -10
- package/src/main/js/sap/ushell/components/contentFinderStandalone/controller/ContentFinderStandalone.controller.js +214 -214
- package/src/main/js/sap/ushell/components/contentFinderStandalone/manifest.json +6 -9
- package/src/main/js/sap/ushell/components/factsheet/Component.js +1 -1
- package/src/main/js/sap/ushell/components/factsheet/controls/PictureViewer.js +6 -6
- package/src/main/js/sap/ushell/components/factsheet/factory/ThingInspector.js +4 -4
- 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.controller.js +4 -4
- 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 +2 -2
- 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 +28 -3
- package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +1 -1
- package/src/main/js/sap/ushell/components/pages/StateManager.js +4 -3
- package/src/main/js/sap/ushell/components/pages/controller/ImportDialog.controller.js +182 -202
- package/src/main/js/sap/ushell/components/pages/controller/MyHome.controller.js +3 -3
- package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +1 -1
- package/src/main/js/sap/ushell/components/pages/controller/PagesAndSpaceId.js +10 -7
- package/src/main/js/sap/ushell/components/pages/manifest.json +2 -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/FloatingContainer/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/MenuBar/Component.js +26 -3
- package/src/main/js/sap/ushell/components/shell/MenuBar/controller/MenuBar.controller.js +3 -1
- package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +2 -2
- package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +13 -31
- package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenuButton.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 +5 -6
- package/src/main/js/sap/ushell/components/shell/Notifications/NotificationsListPopoverContent.view.xml +1 -1
- package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/Search/ESearch.js +3 -0
- package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +17 -15
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchCEP.controller.js +3 -3
- 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 +84 -67
- 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 +1 -1
- package/src/main/js/sap/ushell/components/shell/Settings/ContentWrapper.fragment.xml +1 -1
- package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.controller.js +10 -23
- package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.view.xml +59 -69
- package/src/main/js/sap/ushell/components/shell/Settings/appearance/Appearance.controller.js +1 -2
- package/src/main/js/sap/ushell/components/shell/Settings/homepage/HomepageEntry.js +1 -1
- package/src/main/js/sap/ushell/components/shell/Settings/homepage/HomepageSetting.view.xml +28 -35
- package/src/main/js/sap/ushell/components/shell/Settings/notifications/NotificationsSetting.controller.js +1 -1
- package/src/main/js/sap/ushell/components/shell/Settings/notifications/NotificationsSetting.view.xml +5 -9
- package/src/main/js/sap/ushell/components/shell/Settings/spaces/SpacesSetting.controller.js +1 -1
- package/src/main/js/sap/ushell/components/shell/Settings/userAccount/UserAccountSelector.controller.js +1 -2
- package/src/main/js/sap/ushell/components/shell/Settings/userAccount/UserAccountSelector.view.xml +2 -2
- package/src/main/js/sap/ushell/components/shell/Settings/userAccount/UserAccountSetting.fragment.xml +2 -4
- package/src/main/js/sap/ushell/components/shell/Settings/userActivities/UserActivitiesSetting.controller.js +1 -1
- package/src/main/js/sap/ushell/components/shell/Settings/userActivities/UserActivitiesSetting.view.xml +6 -12
- package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/controller/UserDefaultsSetting.controller.js +1 -1
- package/src/main/js/sap/ushell/components/shell/Settings/userLanguageRegion/LanguageRegionSelector.view.xml +2 -4
- package/src/main/js/sap/ushell/components/shell/ShellBar/Component.js +17 -10
- package/src/main/js/sap/ushell/components/shell/ShellBar/controller/ShellBar.controller.js +23 -115
- package/src/main/js/sap/ushell/components/shell/ShellBar/manifest.json +4 -3
- package/src/main/js/sap/ushell/components/shell/ShellBar/view/ShellBar.view.xml +2 -7
- package/src/main/js/sap/ushell/components/shell/SideNavigation/Component.js +4 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/controller/SideNavigation.controller.js +0 -31
- package/src/main/js/sap/ushell/components/shell/SideNavigation/manifest.json +5 -2
- package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/Favorites.js +1 -1
- package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/UserActionsMenu/UserActionsMenu.controller.js +14 -19
- package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +1 -1
- package/src/main/js/sap/ushell/components/tiles/action/ActionTile.controller.js +16 -16
- package/src/main/js/sap/ushell/components/tiles/action/Configuration.controller.js +20 -20
- package/src/main/js/sap/ushell/components/tiles/applauncher/Configuration.controller.js +18 -18
- package/src/main/js/sap/ushell/components/tiles/applauncher/StaticTile.controller.js +15 -15
- package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/Configuration.controller.js +18 -18
- package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/DynamicTile.controller.js +20 -20
- package/src/main/js/sap/ushell/components/tiles/cdm/applauncher/manifest.json +1 -6
- package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.controller.js +2 -2
- package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/manifest.json +1 -6
- package/src/main/js/sap/ushell/components/tiles/generic.js +8 -8
- package/src/main/js/sap/ushell/components/tiles/indicatorArea/AreaChartTile.controller.js +6 -8
- package/src/main/js/sap/ushell/components/tiles/indicatorDual/DualTile.controller.js +2 -2
- package/src/main/js/sap/ushell/components/tiles/indicatorTileUtils/smartBusinessUtil.js +5 -5
- package/src/main/js/sap/ushell/components/tiles/indicatorcomparison/ComparisonTile.controller.js +2 -6
- package/src/main/js/sap/ushell/components/tiles/indicatorcontribution/ContributionTile.controller.js +2 -4
- package/src/main/js/sap/ushell/components/tiles/utils.js +46 -22
- package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +2 -3
- 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 +1 -1
- 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 +1 -1
- package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +8 -10
- package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +1 -1
- package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +2 -2
- package/src/main/js/sap/ushell/functionBindPrototype.js +1 -1
- package/src/main/js/sap/ushell/gen/ui5/webcomponents/dist/Avatar.js +1 -7
- package/src/main/js/sap/ushell/gen/ui5/webcomponents/dist/MenuItem.js +0 -10
- package/src/main/js/sap/ushell/gen/ui5/webcomponents-base.js +1 -1
- package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori.js +1 -81
- package/src/main/js/sap/ushell/gen/ui5/webcomponents.js +2 -80
- package/src/main/js/sap/ushell/library.js +5 -5
- package/src/main/js/sap/ushell/modules/NavigationMenu.js +3 -4
- package/src/main/js/sap/ushell/navigationMode.js +40 -43
- package/src/main/js/sap/ushell/override.js +53 -53
- package/src/main/js/sap/ushell/performance/FesrEnhancer.js +7 -9
- package/src/main/js/sap/ushell/performance/ShellAnalytics.js +48 -52
- package/src/main/js/sap/ushell/performance/StatisticalRecord.js +9 -11
- package/src/main/js/sap/ushell/plugins/BaseRTAPlugin.js +106 -107
- package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +17 -17
- package/src/main/js/sap/ushell/plugins/appwarmup/ShellUIService.js +1 -1
- package/src/main/js/sap/ushell/plugins/appwarmup/manifest.json +0 -4
- package/src/main/js/sap/ushell/plugins/ghostapp/Component.js +1 -1
- package/src/main/js/sap/ushell/plugins/ghostapp/FakeModel.js +5 -5
- package/src/main/js/sap/ushell/plugins/ghostapp/manifest.json +1 -2
- package/src/main/js/sap/ushell/plugins/rta/Component.js +51 -51
- package/src/main/js/sap/ushell/plugins/rta/manifest.json +0 -4
- package/src/main/js/sap/ushell/plugins/rta-personalize/Component.js +3 -3
- package/src/main/js/sap/ushell/plugins/rta-personalize/manifest.json +0 -4
- package/src/main/js/sap/ushell/renderer/AccessKeysHandler.js +81 -79
- package/src/main/js/sap/ushell/renderer/History.js +6 -6
- package/src/main/js/sap/ushell/renderer/LogonFrameProvider.js +27 -27
- package/src/main/js/sap/ushell/renderer/NavContainerRenderer.js +3 -3
- package/src/main/js/sap/ushell/renderer/Renderer.js +77 -74
- package/src/main/js/sap/ushell/renderer/RendererAppContainer.js +5 -5
- package/src/main/js/sap/ushell/renderer/Shell.controller.js +28 -28
- package/src/main/js/sap/ushell/renderer/Shell.view.js +63 -91
- package/src/main/js/sap/ushell/renderer/ShellLayout.js +0 -12
- package/src/main/js/sap/ushell/renderer/allMyApps/AllMyApps.controller.js +100 -100
- package/src/main/js/sap/ushell/renderer/allMyApps/AllMyAppsManager.js +103 -93
- package/src/main/js/sap/ushell/renderer/rendererTargetWrapper/Component.js +2 -2
- package/src/main/js/sap/ushell/renderer/rendererTargetWrapper/RendererTarget.controller.js +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources.properties +4 -2
- package/src/main/js/sap/ushell/renderer/resources/resources_ar.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_bg.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_ca.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_cnr.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_cs.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_cy.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_da.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_de.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_el.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_en.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_en_GB.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_en_US_saprigi.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_es.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_es_MX.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_et.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_fi.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_fr.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_fr_CA.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_hi.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_hr.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_hu.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_id.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_it.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_iw.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_ja.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_kk.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_ko.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_lt.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_lv.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_mk.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_ms.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_nl.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_no.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_pl.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_pt.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_pt_PT.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_ro.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_ru.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_sh.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_sk.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_sl.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_sr.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_sv.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_th.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_tr.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_uk.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_vi.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_zh_CN.properties +0 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_zh_TW.properties +0 -1
- package/src/main/js/sap/ushell/renderer/search/searchComponent/Component.js +5 -5
- package/src/main/js/sap/ushell/renderer/search/searchComponent/controller/CEPSearchApp.controller.js +3 -5
- package/src/main/js/sap/ushell/renderer/search/searchComponent/controller/SearchApp.controller.js +5 -8
- package/src/main/js/sap/ushell/renderer/search/searchComponent/manifest.json +1 -1
- package/src/main/js/sap/ushell/renderer/search/searchComponent/view/CEPSearchApp.view.js +2 -2
- package/src/main/js/sap/ushell/renderer/search/searchComponent/view/SearchApp.view.js +2 -2
- package/src/main/js/sap/ushell/renderer/search/util.js +5 -6
- package/src/main/js/sap/ushell/renderer/shellHeader/ShellHeader.controller.js +42 -41
- package/src/main/js/sap/ushell/renderer/shellHeader/ShellHeader.fragment.xml +2 -1
- package/src/main/js/sap/ushell/renderer/utils.js +4 -4
- package/src/main/js/sap/ushell/renderers/fiori2/History.js +1 -1
- package/src/main/js/sap/ushell/renderers/fiori2/LogonFrameProvider.js +1 -1
- package/src/main/js/sap/ushell/renderers/fiori2/RendererExtensions.js +6 -7
- package/src/main/js/sap/ushell/renderers/fiori2/Shell.controller.js +2 -2
- package/src/main/js/sap/ushell/renderers/fiori2/Shell.view.js +55 -87
- package/src/main/js/sap/ushell/renderers/fiori2/allMyApps/AllMyAppsManager.js +1 -1
- package/src/main/js/sap/ushell/resources.js +18 -22
- package/src/main/js/sap/ushell/services/AppConfiguration.js +1 -1
- 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/Formatter.js +142 -158
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/InboundIndex.js +11 -13
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/InboundProvider.js +3 -4
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/ParameterMapping.js +38 -38
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/PrelaunchOperations.js +72 -72
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Search.js +229 -247
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/StagedLogger.js +29 -41
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/SystemContext.js +10 -10
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Utils.js +26 -31
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/VirtualInbounds.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/XAppStateProcessing.js +204 -206
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +1 -1
- package/src/main/js/sap/ushell/services/CommonDataModel/PersonalizationProcessor.js +115 -118
- package/src/main/js/sap/ushell/services/CommonDataModel/SiteConverter.js +20 -20
- package/src/main/js/sap/ushell/services/CommonDataModel/vizTypeDefaults/VizTypeDefaults.js +3 -5
- package/src/main/js/sap/ushell/services/CommonDataModel.js +2 -2
- 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 +1 -1
- package/src/main/js/sap/ushell/services/Extension/Item.js +2 -2
- package/src/main/js/sap/ushell/services/Extension.js +1 -1
- package/src/main/js/sap/ushell/services/FlpLaunchPage.js +2 -2
- 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 +2 -2
- package/src/main/js/sap/ushell/services/FrameBoundExtension/SidePane.js +4 -4
- package/src/main/js/sap/ushell/services/FrameBoundExtension/ToolArea.js +2 -2
- package/src/main/js/sap/ushell/services/FrameBoundExtension/UserSettingsEntry.js +1 -1
- package/src/main/js/sap/ushell/services/FrameBoundExtension.js +1 -1
- package/src/main/js/sap/ushell/services/LaunchPage.js +1 -1
- package/src/main/js/sap/ushell/services/Menu.js +13 -8
- package/src/main/js/sap/ushell/services/Message.js +1 -1
- package/src/main/js/sap/ushell/services/MessageBroker/MessageBrokerEngine.js +1 -1
- package/src/main/js/sap/ushell/services/MessageBroker.js +1 -1
- package/src/main/js/sap/ushell/services/MessageInternal.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/NotificationsV2.js +1 -14
- 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 +8 -12
- 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/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 +1 -1
- package/src/main/js/sap/ushell/services/PluginManager/SimpleExpression.js +1 -1
- package/src/main/js/sap/ushell/services/PluginManager.js +17 -14
- package/src/main/js/sap/ushell/services/ReferenceResolver.js +2 -2
- 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 +1 -1
- package/src/main/js/sap/ushell/services/ShellNavigation.js +2 -2
- package/src/main/js/sap/ushell/services/ShellNavigationInternal.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 +18 -22
- 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 +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 +2 -2
- package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +9 -9
- package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +21 -14
- package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +66 -67
- package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +15 -15
- package/src/main/js/sap/ushell/services/_Personalization/ContextContainer.js +65 -79
- package/src/main/js/sap/ushell/services/_Personalization/PersonalizationContainer.js +58 -57
- package/src/main/js/sap/ushell/services/_Personalization/PersonalizationContainerVariant.js +17 -14
- package/src/main/js/sap/ushell/services/_Personalization/PersonalizationContainerVariantSet.js +30 -28
- package/src/main/js/sap/ushell/services/_Personalization/Personalizer.js +38 -24
- package/src/main/js/sap/ushell/services/_Personalization/TransientPersonalizer.js +4 -10
- package/src/main/js/sap/ushell/services/_Personalization/Variant.js +23 -23
- package/src/main/js/sap/ushell/services/_Personalization/VariantSet.js +39 -38
- package/src/main/js/sap/ushell/services/_Personalization/VariantSetAdapter.js +2 -2
- package/src/main/js/sap/ushell/services/_Personalization/WindowAdapter.js +1 -1
- package/src/main/js/sap/ushell/services/_Personalization/WindowAdapterContainer.js +1 -1
- package/src/main/js/sap/ushell/services/_Personalization/constants.js +5 -5
- package/src/main/js/sap/ushell/services/_Personalization/constants.private.js +1 -1
- package/src/main/js/sap/ushell/services/_Personalization/utils.js +13 -13
- package/src/main/js/sap/ushell/services/appstate/AppState.js +26 -26
- package/src/main/js/sap/ushell/services/appstate/AppStatePersistencyMethod.js +1 -1
- package/src/main/js/sap/ushell/services/appstate/AppStatePersistencySettings.js +4 -4
- package/src/main/js/sap/ushell/services/appstate/LimitedBuffer.js +9 -7
- package/src/main/js/sap/ushell/services/appstate/Sequentializer.js +5 -6
- package/src/main/js/sap/ushell/services/appstate/SequentializingAdapter.js +6 -3
- package/src/main/js/sap/ushell/services/appstate/WindowAdapter.js +20 -16
- package/src/main/js/sap/ushell/state/StateManager.js +3 -2
- package/src/main/js/sap/ushell/state/StateRules.js +9 -4
- package/src/main/js/sap/ushell/state/{BackNavigation.js → modules/BackNavigation.js} +1 -1
- package/src/main/js/sap/ushell/state/{ContentDensity.js → modules/ContentDensity.js} +1 -1
- package/src/main/js/sap/ushell/state/{Favicon.js → modules/Favicon.js} +1 -1
- package/src/main/js/sap/ushell/state/modules/HeaderLogo.js +181 -0
- package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +100 -92
- package/src/main/js/sap/ushell/support/plugins/flpConfig/i18n/FlpConfigurationPlugin.properties +0 -3
- package/src/main/js/sap/ushell/support/plugins/flpConfig/i18n/FlpConfigurationPlugin_de.properties +0 -3
- package/src/main/js/sap/ushell/support/plugins/flpConfig/i18n/FlpConfigurationPlugin_en.properties +0 -3
- package/src/main/js/sap/ushell/themes/base/AddBookmarkButton.less +5 -0
- package/src/main/js/sap/ushell/themes/base/Factsheet.less +0 -2
- package/src/main/js/sap/ushell/themes/base/ShellBar.less +1 -2
- package/src/main/js/sap/ushell/themes/base/ShellHeader.less +1 -1
- package/src/main/js/sap/ushell/themes/base/ToolAreaItem.less +0 -1
- package/src/main/js/sap/ushell/themes/base/fonts/BusinessSuiteInAppSymbols.json +3 -0
- package/src/main/js/sap/ushell/themes/base/fonts/BusinessSuiteInAppSymbols.ttf +0 -0
- package/src/main/js/sap/ushell/themes/base/fonts/BusinessSuiteInAppSymbols.woff +0 -0
- package/src/main/js/sap/ushell/themes/base/fonts/BusinessSuiteInAppSymbols.woff2 +0 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/AddBookmarkButton.less +5 -0
- package/src/main/js/sap/ushell/themes/sap_belize_base/Factsheet.less +0 -2
- package/src/main/js/sap/ushell/themes/sap_belize_hcb/AnchorItem.less +0 -1
- package/src/main/js/sap/ushell/themes/sap_belize_hcw/AnchorItem.less +0 -1
- package/src/main/js/sap/ushell/themes/sap_bluecrystal/AnchorNavigationBar.less +0 -1
- package/src/main/js/sap/ushell/themes/sap_bluecrystal_base/AddBookmarkButton.less +5 -0
- package/src/main/js/sap/ushell/themes/sap_bluecrystal_base/Factsheet.less +0 -2
- package/src/main/js/sap/ushell/themes/sap_fiori_3/ShellHeader.less +0 -6
- package/src/main/js/sap/ushell/themes/sap_fiori_3/library.source.less +0 -1
- package/src/main/js/sap/ushell/themes/sap_fiori_3_dark/library.source.less +0 -1
- package/src/main/js/sap/ushell/themes/sap_fiori_3_hcb/AnchorItem.less +0 -1
- package/src/main/js/sap/ushell/themes/sap_fiori_3_hcb/library.source.less +0 -1
- package/src/main/js/sap/ushell/themes/sap_fiori_3_hcw/AnchorItem.less +0 -1
- package/src/main/js/sap/ushell/themes/sap_fiori_3_hcw/library.source.less +0 -1
- package/src/main/js/sap/ushell/themes/sap_hcb/AnchorItem.less +0 -1
- package/src/main/js/sap/ushell/themes/sap_hcb/base_AddBookmarkButton.less +5 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_Factsheet.less +0 -2
- package/src/main/js/sap/ushell/themes/sap_hcb/base_ShellHeader.less +1 -1
- package/src/main/js/sap/ushell/themes/sap_horizon_hcb/AnchorItem.less +0 -1
- package/src/main/js/sap/ushell/themes/sap_horizon_hcb/FloatingContainer.less +8 -0
- package/src/main/js/sap/ushell/themes/sap_horizon_hcb/library.source.less +1 -0
- package/src/main/js/sap/ushell/themes/sap_horizon_hcw/AnchorItem.less +0 -1
- package/src/main/js/sap/ushell/themes/sap_horizon_hcw/FloatingContainer.less +8 -0
- package/src/main/js/sap/ushell/themes/sap_horizon_hcw/library.source.less +1 -0
- package/src/main/js/sap/ushell/thirdparty/Avatar.js +12 -79
- package/src/main/js/sap/ushell/thirdparty/BusyIndicator.js +9 -15
- package/src/main/js/sap/ushell/thirdparty/Button2.js +6 -25
- package/src/main/js/sap/ushell/thirdparty/Icon.js +5 -5
- package/src/main/js/sap/ushell/thirdparty/Icons.js +68 -69
- package/src/main/js/sap/ushell/thirdparty/Link.js +2 -2
- package/src/main/js/sap/ushell/thirdparty/List.js +4 -4
- package/src/main/js/sap/ushell/thirdparty/ListItemCustom.js +95 -0
- package/src/main/js/sap/ushell/thirdparty/{ResponsivePopover.js → ListItemTemplate.js} +2876 -3032
- package/src/main/js/sap/ushell/thirdparty/Menu.js +76 -65
- package/src/main/js/sap/ushell/thirdparty/MenuItem.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/MenuItem2.js +34 -342
- package/src/main/js/sap/ushell/thirdparty/NotificationListGroupItem.js +6 -6
- package/src/main/js/sap/ushell/thirdparty/NotificationListItem.js +5 -5
- package/src/main/js/sap/ushell/thirdparty/ShellBar.js +79 -112
- package/src/main/js/sap/ushell/thirdparty/Tag.js +6 -6
- package/src/main/js/sap/ushell/thirdparty/Text.js +4 -4
- package/src/main/js/sap/ushell/thirdparty/UserMenu.js +22 -22
- package/src/main/js/sap/ushell/thirdparty/UserMenuItem.js +2 -2
- package/src/main/js/sap/ushell/thirdparty/_dynamics/ListItemStandardExpandableTextTemplate.js +3 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ar3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_bg3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ca3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cnr3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cs3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cy3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_da3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_de3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_el3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en2.js +0 -27
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en3.js +8 -23
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_GB3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_sappsd3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saprigi2.js +0 -27
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saprigi3.js +8 -20
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saptrc3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es_MX3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_et3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fi3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr_CA3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hi3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hr3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hu3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_id3.js +1 -4
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_it2.js +4 -4
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_it3.js +2 -5
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_iw3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ja3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_kk3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ko3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lt3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lv3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_mk3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ms3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_nl3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_no3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pl3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt_PT3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ro3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ru3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sh3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sk3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sl3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sr3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sv3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_th3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_tr3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_uk3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_vi3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_CN3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_TW3.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css10.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css11.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css12.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css13.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css14.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css15.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css16.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css17.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css18.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css19.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css20.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css21.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css22.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css23.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css24.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css25.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/i18n-defaults.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/information.js +10 -10
- package/src/main/js/sap/ushell/thirdparty/overflow.js +2 -2
- package/src/main/js/sap/ushell/thirdparty/parameters-bundle.css.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/toLowercaseEnumValue.js +0 -3
- package/src/main/js/sap/ushell/thirdparty/webcomponents-base.js +13 -13
- package/src/main/js/sap/ushell/ui/ContentNodeSelector.js +72 -73
- package/src/main/js/sap/ushell/ui/ContentNodeSelectorRenderer.js +3 -3
- package/src/main/js/sap/ushell/ui/ContentNodeTreeItem.js +2 -2
- package/src/main/js/sap/ushell/ui/CustomGroupHeaderListItem.js +6 -6
- package/src/main/js/sap/ushell/ui/CustomGroupHeaderListItemRenderer.js +5 -5
- package/src/main/js/sap/ushell/ui/QuickAccess.js +15 -13
- package/src/main/js/sap/ushell/ui/ShellHeader.js +68 -152
- package/src/main/js/sap/ushell/ui/ShellHeaderRenderer.js +1 -1
- package/src/main/js/sap/ushell/ui/appfinder/AppBox.js +1 -1
- package/src/main/js/sap/ushell/ui/appfinder/AppBoxInternal.js +4 -4
- package/src/main/js/sap/ushell/ui/appfinder/AppBoxInternalRenderer.js +7 -9
- package/src/main/js/sap/ushell/ui/appfinder/AppBoxRenderer.js +1 -1
- package/src/main/js/sap/ushell/ui/appfinder/PinButton.js +2 -2
- package/src/main/js/sap/ushell/ui/appfinder/PinButtonRenderer.js +2 -4
- package/src/main/js/sap/ushell/ui/bookmark/SaveOnPage.controller.js +25 -13
- package/src/main/js/sap/ushell/ui/bookmark/SaveOnPage.view.xml +44 -48
- package/src/main/js/sap/ushell/ui/cards/FrequentActivitiesExtension.js +22 -22
- package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +23 -23
- package/src/main/js/sap/ushell/ui/footerbar/AboutButton.js +5 -5
- package/src/main/js/sap/ushell/ui/footerbar/AboutDialog.controller.js +0 -3
- package/src/main/js/sap/ushell/ui/footerbar/AddBookmarkButton.js +86 -103
- package/src/main/js/sap/ushell/ui/footerbar/ContactSupportButton.js +4 -4
- package/src/main/js/sap/ushell/ui/footerbar/ContactSupportDialog.controller.js +3 -3
- package/src/main/js/sap/ushell/ui/footerbar/JamDiscussButton.js +6 -7
- package/src/main/js/sap/ushell/ui/footerbar/JamShareButton.js +12 -12
- package/src/main/js/sap/ushell/ui/footerbar/LogoutButton.js +12 -12
- package/src/main/js/sap/ushell/ui/footerbar/SaveAsTile.controller.js +21 -21
- package/src/main/js/sap/ushell/ui/footerbar/SaveAsTile.view.js +57 -55
- package/src/main/js/sap/ushell/ui/footerbar/SendAsEmailButton.js +13 -13
- package/src/main/js/sap/ushell/ui/launchpad/AccessibilityCustomData.js +4 -4
- package/src/main/js/sap/ushell/ui/launchpad/ActionItem.js +4 -4
- package/src/main/js/sap/ushell/ui/launchpad/AnchorItem.js +3 -3
- package/src/main/js/sap/ushell/ui/launchpad/AnchorItemRenderer.js +5 -5
- package/src/main/js/sap/ushell/ui/launchpad/AnchorNavigationBar.js +56 -57
- package/src/main/js/sap/ushell/ui/launchpad/AnchorNavigationBarRenderer.js +8 -8
- package/src/main/js/sap/ushell/ui/launchpad/CatalogEntryContainer.js +36 -38
- package/src/main/js/sap/ushell/ui/launchpad/CatalogsContainer.js +40 -45
- package/src/main/js/sap/ushell/ui/launchpad/DashboardGroupsContainer.js +18 -18
- package/src/main/js/sap/ushell/ui/launchpad/DashboardGroupsContainerRenderer.js +5 -7
- package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +33 -33
- package/src/main/js/sap/ushell/ui/launchpad/FailedTileDialog.js +13 -13
- package/src/main/js/sap/ushell/ui/launchpad/GroupHeaderActions.js +13 -13
- package/src/main/js/sap/ushell/ui/launchpad/GroupListItem.js +5 -7
- package/src/main/js/sap/ushell/ui/launchpad/GroupListItemRenderer.js +2 -2
- package/src/main/js/sap/ushell/ui/launchpad/LinkTileWrapper.js +18 -18
- package/src/main/js/sap/ushell/ui/launchpad/LinkTileWrapperRenderer.js +9 -9
- package/src/main/js/sap/ushell/ui/launchpad/LoadingDialog.js +7 -7
- package/src/main/js/sap/ushell/ui/launchpad/LoadingDialogRenderer.js +4 -4
- package/src/main/js/sap/ushell/ui/launchpad/Page.js +56 -59
- package/src/main/js/sap/ushell/ui/launchpad/PageRenderer.js +3 -3
- package/src/main/js/sap/ushell/ui/launchpad/PlusTile.js +5 -5
- package/src/main/js/sap/ushell/ui/launchpad/PlusTileRenderer.js +2 -2
- package/src/main/js/sap/ushell/ui/launchpad/Section.js +142 -142
- package/src/main/js/sap/ushell/ui/launchpad/SectionRenderer.js +8 -8
- package/src/main/js/sap/ushell/ui/launchpad/Tile.js +48 -49
- package/src/main/js/sap/ushell/ui/launchpad/TileContainer.js +60 -57
- package/src/main/js/sap/ushell/ui/launchpad/TileContainerRenderer.js +31 -31
- package/src/main/js/sap/ushell/ui/launchpad/TileContainerUtils.js +71 -71
- package/src/main/js/sap/ushell/ui/launchpad/TileRenderer.js +8 -8
- package/src/main/js/sap/ushell/ui/launchpad/TileState.js +3 -3
- package/src/main/js/sap/ushell/ui/launchpad/TileStateInternal.js +7 -7
- package/src/main/js/sap/ushell/ui/launchpad/TileStateInternalRenderer.js +8 -8
- package/src/main/js/sap/ushell/ui/launchpad/TileStateRenderer.js +1 -2
- package/src/main/js/sap/ushell/ui/launchpad/ViewPortState.js +1 -1
- package/src/main/js/sap/ushell/ui/launchpad/VizInstance.js +41 -42
- package/src/main/js/sap/ushell/ui/launchpad/VizInstanceAbap.js +25 -25
- package/src/main/js/sap/ushell/ui/launchpad/VizInstanceBase.js +3 -3
- package/src/main/js/sap/ushell/ui/launchpad/VizInstanceCdm.js +25 -25
- package/src/main/js/sap/ushell/ui/launchpad/VizInstanceLaunchPage.js +6 -6
- package/src/main/js/sap/ushell/ui/launchpad/VizInstanceLink.js +11 -11
- package/src/main/js/sap/ushell/ui/launchpad/VizInstanceRenderer.js +7 -7
- package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +18 -18
- package/src/main/js/sap/ushell/ui/launchpad/section/CompactAreaRenderer.js +2 -2
- package/src/main/js/sap/ushell/ui/shell/ContentRenderer.js +8 -8
- package/src/main/js/sap/ushell/ui/shell/NavigationMiniTile.js +7 -7
- package/src/main/js/sap/ushell/ui/shell/OverflowListItem.js +5 -5
- package/src/main/js/sap/ushell/ui/shell/RightFloatingContainer.js +55 -55
- package/src/main/js/sap/ushell/ui/shell/ShellAppTitle.js +47 -45
- package/src/main/js/sap/ushell/ui/shell/ShellFloatingAction.js +5 -6
- package/src/main/js/sap/ushell/ui/shell/ShellFloatingActionRenderer.js +3 -4
- package/src/main/js/sap/ushell/ui/shell/ShellFloatingActions.js +18 -18
- package/src/main/js/sap/ushell/ui/shell/ShellHeadItem.js +28 -28
- package/src/main/js/sap/ushell/ui/shell/ShellNavigationMenu.js +33 -35
- package/src/main/js/sap/ushell/ui/shell/SidePane.js +9 -10
- package/src/main/js/sap/ushell/ui/shell/SubHeader.js +3 -3
- package/src/main/js/sap/ushell/ui/shell/SysInfoBar.js +12 -13
- package/src/main/js/sap/ushell/ui/shell/SysInfoBarRenderer.js +7 -7
- package/src/main/js/sap/ushell/ui/shell/ToolArea.js +10 -10
- package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +10 -13
- package/src/main/js/sap/ushell/ui/tile/DynamicTile.js +5 -5
- package/src/main/js/sap/ushell/ui/tile/DynamicTileRenderer.js +29 -31
- package/src/main/js/sap/ushell/ui/tile/ImageTile.js +3 -4
- package/src/main/js/sap/ushell/ui/tile/ImageTileRenderer.js +2 -4
- package/src/main/js/sap/ushell/ui/tile/StaticTile.js +3 -3
- package/src/main/js/sap/ushell/ui/tile/StaticTileRenderer.js +2 -4
- package/src/main/js/sap/ushell/ui/tile/TileBase.js +4 -6
- package/src/main/js/sap/ushell/ui/tile/TileBaseRenderer.js +20 -21
- package/src/main/js/sap/ushell/ui/utils.js +20 -21
- package/src/main/js/sap/ushell/ui5service/ShellUIService.js +0 -1
- package/src/main/js/sap/ushell/ui5service/ShellUIServiceFactory.js +2 -2
- package/src/main/js/sap/ushell/ui5service/UserStatus.js +4 -4
- package/src/main/js/sap/ushell/utils/AppType.js +4 -4
- package/src/main/js/sap/ushell/utils/Deferred.js +2 -3
- package/src/main/js/sap/ushell/utils/DynamicTileRequest.js +6 -9
- package/src/main/js/sap/ushell/utils/HttpClient.js +33 -35
- package/src/main/js/sap/ushell/utils/RestrictedJSONModel.js +3 -3
- package/src/main/js/sap/ushell/utils/UriParameters.js +35 -35
- package/src/main/js/sap/ushell/utils/UrlParsing.js +5 -10
- package/src/main/js/sap/ushell/utils/UrlShortening.js +45 -58
- package/src/main/js/sap/ushell/utils/WindowUtils.js +17 -17
- package/src/main/js/sap/ushell/utils/chipsUtils.js +53 -54
- package/src/main/js/sap/ushell/utils/objectOperations.js +14 -15
- package/src/main/js/sap/ushell/utils/tilecard/TileCard.js +168 -171
- package/src/main/js/sap/ushell/utils/tilecard/TileCardExtension.js +238 -240
- package/src/main/js/sap/ushell/utils/type.js +1 -2
- package/src/main/js/sap/ushell/utils/utilsCdm.js +37 -46
- package/src/main/js/sap/ushell/utils/workpage/DestinationResolver.js +3 -4
- package/src/main/js/sap/ushell/utils/workpage/WorkPageHost.js +29 -34
- package/src/main/js/sap/ushell/utils/workpage/WorkPageService.js +18 -20
- package/src/main/js/sap/ushell/utils/workpage/WorkPageVizInstantiation.js +5 -6
- package/src/main/js/sap/ushell/utils.js +195 -221
- package/src/test/js/sap/ushell/bootstrap/sandbox.js +1 -1
- package/ui5.yaml +0 -1
- package/src/main/js/sap/ushell/CanvasShapesManager.js +0 -392
- package/src/main/js/sap/ushell/components/shell/SearchCEP/ProvidersExecuter.js +0 -49
- package/src/main/js/sap/ushell/gen/ui5/webcomponents/Avatar.js +0 -4
- package/src/main/js/sap/ushell/gen/ui5/webcomponents/Button.js +0 -4
- package/src/main/js/sap/ushell/gen/ui5/webcomponents/Label.js +0 -4
- package/src/main/js/sap/ushell/gen/ui5/webcomponents/Menu.js +0 -4
- package/src/main/js/sap/ushell/gen/ui5/webcomponents/MenuItem.js +0 -4
- package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/NotificationList.js +0 -4
- package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/NotificationListGroupItem.js +0 -4
- package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/NotificationListItem.js +0 -4
- package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/ShellBar.js +0 -4
- package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/ShellBarItem.js +0 -4
- package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/ShellBarSpacer.js +0 -4
- package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/UserMenu.js +0 -4
- package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/UserMenuAccount.js +0 -4
- package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/UserMenuItem.js +0 -4
- package/src/main/js/sap/ushell/themes/sap_fiori_3/ShellBar.less +0 -9
- package/src/main/js/sap/ushell/themes/sap_fiori_3_dark/ShellBar.less +0 -9
- package/src/main/js/sap/ushell/themes/sap_fiori_3_hcb/ShellBar.less +0 -9
- package/src/main/js/sap/ushell/themes/sap_fiori_3_hcw/ShellBar.less +0 -9
|
@@ -56,8 +56,9 @@ sap.ui.define([
|
|
|
56
56
|
"sap/ushell/renderer/ShellLayout",
|
|
57
57
|
"sap/base/util/Deferred",
|
|
58
58
|
"sap/base/util/ObjectPath",
|
|
59
|
-
"sap/ushell/api/BootstrapObserver"
|
|
60
|
-
|
|
59
|
+
"sap/ushell/api/BootstrapObserver",
|
|
60
|
+
"sap/ushell/resources"
|
|
61
|
+
], (
|
|
61
62
|
assert,
|
|
62
63
|
Log,
|
|
63
64
|
deepExtend,
|
|
@@ -80,22 +81,24 @@ sap.ui.define([
|
|
|
80
81
|
ShellLayout,
|
|
81
82
|
Deferred,
|
|
82
83
|
ObjectPath,
|
|
83
|
-
BootstrapObserver
|
|
84
|
-
|
|
84
|
+
BootstrapObserver,
|
|
85
|
+
ushellResources
|
|
86
|
+
) => {
|
|
85
87
|
"use strict";
|
|
86
88
|
|
|
87
89
|
/* global OData */
|
|
88
90
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
+
const S_COMPONENT_NAME = "sap.ushell.Container";
|
|
92
|
+
const S_DIRTY_STATE_PREFIX = "sap.ushell.Container.dirtyState.";
|
|
91
93
|
// The configuration as read from window["sap-ushell-config"]
|
|
92
|
-
|
|
93
|
-
|
|
94
|
+
const oConfigSetting = {};
|
|
95
|
+
let oConfig;
|
|
94
96
|
// Map with platform-specific packages for the service adapters.
|
|
95
97
|
// This map is passed in bootstrap and is valid for the given logon platform
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
98
|
+
let mPlatformPackages;
|
|
99
|
+
const aAsyncLogoutEventFunctions = []; // async logout even functions that return a promise
|
|
100
|
+
// eslint-disable-next-line prefer-const
|
|
101
|
+
let oContainerInstance;
|
|
99
102
|
const aRegisteredLogoutHandlers = [];
|
|
100
103
|
|
|
101
104
|
// Try to close window. Note: Most browsers do NOT allow closing windows by JS if they were opened manually.
|
|
@@ -118,7 +121,7 @@ sap.ui.define([
|
|
|
118
121
|
if (mPlatformPackages && mPlatformPackages[sPlatform]) {
|
|
119
122
|
return mPlatformPackages[sPlatform];
|
|
120
123
|
}
|
|
121
|
-
return
|
|
124
|
+
return `sap.ushell.adapters.${sPlatform}`;
|
|
122
125
|
}
|
|
123
126
|
|
|
124
127
|
/**
|
|
@@ -129,7 +132,7 @@ sap.ui.define([
|
|
|
129
132
|
* @returns {object} the service configuration
|
|
130
133
|
*/
|
|
131
134
|
function getServiceConfig (sServiceName) {
|
|
132
|
-
|
|
135
|
+
const oServices = oConfig.services;
|
|
133
136
|
if (!oServices) {
|
|
134
137
|
return {};
|
|
135
138
|
}
|
|
@@ -154,8 +157,8 @@ sap.ui.define([
|
|
|
154
157
|
* @returns {object|Promise} the adapter or, in asynchronous mode, a Promise that returns the adapter
|
|
155
158
|
*/
|
|
156
159
|
function createAdapter (sName, oSystem, sParameter, bAsync, bUseConfiguredAdapterOnly) {
|
|
157
|
-
|
|
158
|
-
|
|
160
|
+
const oAdapterConfig = getServiceConfig(sName).adapter || {};
|
|
161
|
+
let sAdapterName;
|
|
159
162
|
|
|
160
163
|
async function getAdapterInstance (AdapterModule) {
|
|
161
164
|
let AdapterClass;
|
|
@@ -172,7 +175,7 @@ sap.ui.define([
|
|
|
172
175
|
}
|
|
173
176
|
throw oError;
|
|
174
177
|
}
|
|
175
|
-
|
|
178
|
+
const oAdapterInstance = new AdapterClass(oSystem, sParameter, { config: oAdapterConfig.config || {} });
|
|
176
179
|
return oAdapterInstance;
|
|
177
180
|
}
|
|
178
181
|
|
|
@@ -182,17 +185,19 @@ sap.ui.define([
|
|
|
182
185
|
return (bAsync ? Promise.resolve() : undefined);
|
|
183
186
|
}
|
|
184
187
|
} else {
|
|
185
|
-
sAdapterName = oAdapterConfig.module || getPlatformPackage(oSystem.getPlatform())
|
|
188
|
+
sAdapterName = oAdapterConfig.module || `${getPlatformPackage(oSystem.getPlatform())}.${sName}Adapter`;
|
|
186
189
|
}
|
|
187
190
|
|
|
188
|
-
|
|
191
|
+
const sModule = sAdapterName.replace(/\./g, "/");
|
|
189
192
|
|
|
190
193
|
/**
|
|
194
|
+
* @param {string} AdapterModule adapter path.
|
|
195
|
+
* @returns {object} a new instance of an adapter.
|
|
191
196
|
* @deprecated since 1.100
|
|
192
197
|
* @private
|
|
193
198
|
*/
|
|
194
199
|
function getAdapterInstanceSync (AdapterModule) {
|
|
195
|
-
|
|
200
|
+
let AdapterClass;
|
|
196
201
|
try {
|
|
197
202
|
AdapterClass = sap.ui.requireSync(AdapterModule); // LEGACY API (deprecated)
|
|
198
203
|
} catch (oError) {
|
|
@@ -218,6 +223,25 @@ sap.ui.define([
|
|
|
218
223
|
return getAdapterInstance(sModule);
|
|
219
224
|
}
|
|
220
225
|
|
|
226
|
+
/**
|
|
227
|
+
* Creates and registers injectable ui5services.
|
|
228
|
+
*
|
|
229
|
+
* @param {string[]} aServicesToRegister An array of service names to register.
|
|
230
|
+
* @param {boolean} bAddCallProtection Whether to add call protection check.
|
|
231
|
+
* This may not be wanted in case the service is created via:
|
|
232
|
+
* ServiceFactoryRegistry#get("sap.ushell.ui5service.<service>").createInstance().
|
|
233
|
+
* @private
|
|
234
|
+
*/
|
|
235
|
+
function registerInjectableUi5Services (aServicesToRegister, bAddCallProtection) {
|
|
236
|
+
aServicesToRegister.forEach((sUshellServiceName) => {
|
|
237
|
+
// create registerable factory
|
|
238
|
+
const oServiceFactory = oUi5ServiceFactory.createServiceFactory(sUshellServiceName, bAddCallProtection);
|
|
239
|
+
|
|
240
|
+
// register factory to allow UI5 to create the service
|
|
241
|
+
ServiceFactoryRegistry.register(`sap.ushell.ui5service.${sUshellServiceName}`, oServiceFactory);
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
|
|
221
245
|
/**
|
|
222
246
|
* @alias sap.ushell.Container
|
|
223
247
|
* @namespace
|
|
@@ -233,24 +257,65 @@ sap.ui.define([
|
|
|
233
257
|
* @public
|
|
234
258
|
*/
|
|
235
259
|
function Container () {
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
260
|
+
const oEventProvider = new EventProvider();
|
|
261
|
+
let isDirty = false;
|
|
262
|
+
let aRegisteredDirtyMethods = [];
|
|
263
|
+
let oRenderers = {};
|
|
264
|
+
let sRemoteSystemPrefix;
|
|
265
|
+
const mRemoteSystems = {};
|
|
266
|
+
let oGlobalDirtyDeferred;
|
|
267
|
+
let fnStorageEventListener;
|
|
268
|
+
let oLocalStorage = ushellUtils.getLocalStorage();
|
|
269
|
+
let mServicesByName = new ushellUtils.Map();
|
|
270
|
+
let mServicesByNamePromise = new ushellUtils.Map();
|
|
271
|
+
let sSessionTerminationKey;
|
|
272
|
+
const that = this;
|
|
273
|
+
|
|
274
|
+
let oAdapter;
|
|
275
|
+
let bInitialized = false;
|
|
276
|
+
|
|
277
|
+
let oContainerReadyDeferred = new Deferred();
|
|
278
|
+
|
|
279
|
+
function afterInit () {
|
|
280
|
+
// register event handler for storage events issued by other UShell windows
|
|
281
|
+
if (typeof oAdapter.logoutRedirect === "function") {
|
|
282
|
+
fnStorageEventListener = function (oStorageEvent) {
|
|
283
|
+
function closeAndRedirectWindow () {
|
|
284
|
+
// Most browsers do not allow closing windows via JS that aren't opened via JS
|
|
285
|
+
// hence we additionally redirect to get these manually opened windows redirected at least.
|
|
286
|
+
// NOTE: It is important to NOT redirect to "/sap/public/bc/icf/logoff"
|
|
287
|
+
// because on iPad Safari e.g. the event is not processed until the window gets the focus.
|
|
288
|
+
// This would terminate any new session opened in between.
|
|
289
|
+
that._closeWindow();
|
|
290
|
+
that._redirectWindow();
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
if (oContainerInstance !== that) {
|
|
294
|
+
// In integration test suite, old listeners remain which do not belong to the current sap.ushell.Container instance.
|
|
295
|
+
// IE sends events also to own window. Then these old listeners react as if a remote window logged out...
|
|
296
|
+
return;
|
|
297
|
+
}
|
|
298
|
+
// IE9 seems to get the events, but not the values in another window!?
|
|
299
|
+
if (oStorageEvent.key.indexOf(sRemoteSystemPrefix) === 0
|
|
300
|
+
&& oStorageEvent.newValue
|
|
301
|
+
&& oStorageEvent.newValue !== oLocalStorage.getItem(oStorageEvent.key)) {
|
|
302
|
+
ushellUtils.localStorageSetItem(oStorageEvent.key, oStorageEvent.newValue);
|
|
303
|
+
}
|
|
304
|
+
if (oStorageEvent.key === sSessionTerminationKey) {
|
|
305
|
+
if (oStorageEvent.newValue === "pending") {
|
|
306
|
+
that._suppressOData();
|
|
307
|
+
if (oEventProvider.fireEvent("Logout", true)) {
|
|
308
|
+
closeAndRedirectWindow();
|
|
309
|
+
} else {
|
|
310
|
+
// defer UShell closeWindow to let NWBC receive message asynchronously
|
|
311
|
+
setTimeout(closeAndRedirectWindow, 1000);
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
};
|
|
316
|
+
window.addEventListener("storage", fnStorageEventListener);
|
|
317
|
+
}
|
|
318
|
+
}
|
|
254
319
|
|
|
255
320
|
/**
|
|
256
321
|
* @param {string} sPlatform The platform to initialize
|
|
@@ -260,27 +325,26 @@ sap.ui.define([
|
|
|
260
325
|
* @private
|
|
261
326
|
* @alias sap.ushell.Container#init
|
|
262
327
|
*/
|
|
263
|
-
this.init = function (sPlatform, mAdapterPackagesByPlatform) {
|
|
264
|
-
|
|
328
|
+
this.init = async function (sPlatform, mAdapterPackagesByPlatform) {
|
|
265
329
|
/**
|
|
266
330
|
* No globals anymore in 2.0...
|
|
267
331
|
* @deprecated since 1.120
|
|
268
332
|
*/
|
|
269
333
|
ObjectPath.set("sap.ushell.Container", oContainerInstance);
|
|
270
334
|
|
|
271
|
-
|
|
272
|
-
.
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
335
|
+
const aResult = await Promise.all([
|
|
336
|
+
this._init(sPlatform, mAdapterPackagesByPlatform),
|
|
337
|
+
ushellResources.awaitResourceBundle()
|
|
338
|
+
]);
|
|
339
|
+
|
|
340
|
+
oAdapter = aResult[0];
|
|
341
|
+
|
|
342
|
+
sRemoteSystemPrefix = `sap.ushell.Container.${oAdapter.getSystem().getPlatform()}.remoteSystem.`;
|
|
343
|
+
sSessionTerminationKey = `sap.ushell.Container.${oAdapter.getSystem().getPlatform()}.sessionTermination`;
|
|
344
|
+
afterInit();
|
|
345
|
+
bInitialized = true;
|
|
346
|
+
oContainerReadyDeferred.resolve();
|
|
347
|
+
BootstrapObserver.resolveBootstrappedContainer(this);
|
|
284
348
|
};
|
|
285
349
|
|
|
286
350
|
/**
|
|
@@ -356,9 +420,8 @@ sap.ui.define([
|
|
|
356
420
|
sRendererName = undefined;
|
|
357
421
|
}
|
|
358
422
|
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
var oRendererConfig;
|
|
423
|
+
const oComponentData = { async: !!bAsync };
|
|
424
|
+
let sComponentName;
|
|
362
425
|
|
|
363
426
|
Measurement.start("FLP:Container.InitLoading", "Initial Loading", "FLP");
|
|
364
427
|
ushellUtils.setPerformanceMark("FLP - renderer created");
|
|
@@ -366,9 +429,9 @@ sap.ui.define([
|
|
|
366
429
|
if (!sRendererName) {
|
|
367
430
|
throw new Error("Missing renderer name");
|
|
368
431
|
}
|
|
369
|
-
oRendererConfig = (oConfig && oConfig.renderers && oConfig.renderers[sRendererName]) || {};
|
|
432
|
+
const oRendererConfig = (oConfig && oConfig.renderers && oConfig.renderers[sRendererName]) || {};
|
|
370
433
|
sComponentName = oRendererConfig.module || (sRendererName.indexOf(".") < 0
|
|
371
|
-
?
|
|
434
|
+
? `sap.ushell.renderers.${sRendererName}.Renderer`
|
|
372
435
|
: sRendererName);
|
|
373
436
|
|
|
374
437
|
// this migration only fails for launchpads overwriting the resource path of the renderer
|
|
@@ -380,21 +443,67 @@ sap.ui.define([
|
|
|
380
443
|
oComponentData.config = oRendererConfig.componentData.config;
|
|
381
444
|
}
|
|
382
445
|
|
|
446
|
+
function replacePlaceAt (RendererControl) {
|
|
447
|
+
// Some applications place the shell directly into the body element.
|
|
448
|
+
// However, this breaks the layout with separate UI Areas.
|
|
449
|
+
// Wrap the control into the #canvas div in this case.
|
|
450
|
+
RendererControl.placeAt = function (sRef, vPosition) {
|
|
451
|
+
let oContainer = sRef;
|
|
452
|
+
const canvasId = "canvas";
|
|
453
|
+
const body = document.body;
|
|
454
|
+
if (sRef === body.id) {
|
|
455
|
+
oContainer = document.createElement("div");
|
|
456
|
+
oContainer.setAttribute("id", canvasId);
|
|
457
|
+
oContainer.classList.add("sapUShellFullHeight");
|
|
458
|
+
switch (vPosition) {
|
|
459
|
+
case "first":
|
|
460
|
+
if (body.firstChild) {
|
|
461
|
+
body.insertBefore(oContainer, body.firstChild);
|
|
462
|
+
break;
|
|
463
|
+
}
|
|
464
|
+
/* falls through */
|
|
465
|
+
case "only":
|
|
466
|
+
body.innerHTML = "";
|
|
467
|
+
/* falls through */
|
|
468
|
+
default:
|
|
469
|
+
body.appendChild(oContainer);
|
|
470
|
+
}
|
|
471
|
+
sRef = canvasId;
|
|
472
|
+
vPosition = "";
|
|
473
|
+
}
|
|
474
|
+
ShellLayout.applyLayout(sRef);
|
|
475
|
+
EventHub.emit("ShellLayoutApplied", Date.now());
|
|
476
|
+
Control.prototype.placeAt.call(this, sRef, vPosition);
|
|
477
|
+
};
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
function replaceDestroy (oControl) {
|
|
481
|
+
const fnOriginalDestroy = oControl.destroy;
|
|
482
|
+
oControl.destroy = function () {
|
|
483
|
+
if (oControl.isA("sap.ui.core.ComponentContainer")) {
|
|
484
|
+
return Promise.resolve(oControl.getComponentInstance().destroy()).then(function () {
|
|
485
|
+
return fnOriginalDestroy.apply(oControl, arguments);
|
|
486
|
+
});
|
|
487
|
+
}
|
|
488
|
+
return Promise.resolve(fnOriginalDestroy.apply(oControl, arguments));
|
|
489
|
+
};
|
|
490
|
+
}
|
|
491
|
+
|
|
383
492
|
function getRendererInstance (Module) {
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
493
|
+
const ModuleClass = sap.ui.requireSync(Module); // LEGACY API (deprecated)
|
|
494
|
+
const oRenderer = new ModuleClass({ componentData: oComponentData });
|
|
495
|
+
let oShellControl;
|
|
496
|
+
const UIComponent = sap.ui.requireSync("sap/ui/core/UIComponent"); // LEGACY API (deprecated)
|
|
388
497
|
|
|
389
498
|
if (oRenderer instanceof UIComponent) {
|
|
390
|
-
|
|
499
|
+
const ComponentContainer = sap.ui.requireSync("sap/ui/core/ComponentContainer"); // LEGACY API (deprecated)
|
|
391
500
|
oShellControl = new ComponentContainer({ component: oRenderer, height: "100%", width: "100%" });
|
|
392
501
|
} else {
|
|
393
502
|
oShellControl = oRenderer;
|
|
394
503
|
}
|
|
395
504
|
|
|
396
505
|
if (!(oShellControl instanceof Control)) {
|
|
397
|
-
throw new Error(
|
|
506
|
+
throw new Error(`Unsupported renderer type for name ${sRendererName}`);
|
|
398
507
|
}
|
|
399
508
|
|
|
400
509
|
replacePlaceAt(oShellControl);
|
|
@@ -408,17 +517,17 @@ sap.ui.define([
|
|
|
408
517
|
}
|
|
409
518
|
|
|
410
519
|
function getRendererInstanceAsync (Module) {
|
|
411
|
-
return new Promise(
|
|
520
|
+
return new Promise((resolve, reject) => {
|
|
412
521
|
sap.ui.require([
|
|
413
522
|
Module,
|
|
414
523
|
"sap/ui/core/ComponentContainer",
|
|
415
524
|
"sap/ui/core/UIComponent",
|
|
416
525
|
"sap/ui/core/routing/Router" // As ushell.Renderer does not use manifest-first the router needs to be loaded async beforehand
|
|
417
|
-
],
|
|
418
|
-
|
|
526
|
+
], (RendererClass, ComponentContainer, UIComponent) => {
|
|
527
|
+
const oRenderer = new RendererClass({ componentData: oComponentData });
|
|
419
528
|
|
|
420
529
|
if (oRenderer instanceof UIComponent) {
|
|
421
|
-
|
|
530
|
+
const oComponentContainer = new ComponentContainer({
|
|
422
531
|
component: oRenderer,
|
|
423
532
|
height: "100%",
|
|
424
533
|
width: "100%",
|
|
@@ -427,7 +536,7 @@ sap.ui.define([
|
|
|
427
536
|
replacePlaceAt(oComponentContainer);
|
|
428
537
|
replaceDestroy(oComponentContainer);
|
|
429
538
|
oRenderers[sRendererName] = oRenderer;
|
|
430
|
-
oRenderer.rootControlLoaded().then(
|
|
539
|
+
oRenderer.rootControlLoaded().then(() => {
|
|
431
540
|
oEventProvider.fireEvent("rendererCreated", { renderer: oRenderer });
|
|
432
541
|
resolve(oComponentContainer);
|
|
433
542
|
});
|
|
@@ -444,53 +553,7 @@ sap.ui.define([
|
|
|
444
553
|
});
|
|
445
554
|
}
|
|
446
555
|
|
|
447
|
-
|
|
448
|
-
// Some applications place the shell directly into the body element.
|
|
449
|
-
// However, this breaks the layout with separate UI Areas.
|
|
450
|
-
// Wrap the control into the #canvas div in this case.
|
|
451
|
-
RendererControl.placeAt = function (sRef, vPosition) {
|
|
452
|
-
var oContainer = sRef;
|
|
453
|
-
var canvasId = "canvas";
|
|
454
|
-
var body = document.body;
|
|
455
|
-
if (sRef === body.id) {
|
|
456
|
-
oContainer = document.createElement("div");
|
|
457
|
-
oContainer.setAttribute("id", canvasId);
|
|
458
|
-
oContainer.classList.add("sapUShellFullHeight");
|
|
459
|
-
switch (vPosition) {
|
|
460
|
-
case "first":
|
|
461
|
-
if (body.firstChild) {
|
|
462
|
-
body.insertBefore(oContainer, body.firstChild);
|
|
463
|
-
break;
|
|
464
|
-
}
|
|
465
|
-
/* falls through */
|
|
466
|
-
case "only":
|
|
467
|
-
body.innerHTML = "";
|
|
468
|
-
/* falls through */
|
|
469
|
-
default:
|
|
470
|
-
body.appendChild(oContainer);
|
|
471
|
-
}
|
|
472
|
-
sRef = canvasId;
|
|
473
|
-
vPosition = "";
|
|
474
|
-
}
|
|
475
|
-
ShellLayout.applyLayout(sRef);
|
|
476
|
-
EventHub.emit("ShellLayoutApplied", Date.now());
|
|
477
|
-
Control.prototype.placeAt.call(this, sRef, vPosition);
|
|
478
|
-
};
|
|
479
|
-
}
|
|
480
|
-
|
|
481
|
-
function replaceDestroy (oControl) {
|
|
482
|
-
var fnOriginalDestroy = oControl.destroy;
|
|
483
|
-
oControl.destroy = function () {
|
|
484
|
-
if (oControl.isA("sap.ui.core.ComponentContainer")) {
|
|
485
|
-
return Promise.resolve(oControl.getComponentInstance().destroy()).then(function () {
|
|
486
|
-
return fnOriginalDestroy.apply(oControl, arguments);
|
|
487
|
-
});
|
|
488
|
-
}
|
|
489
|
-
return Promise.resolve(fnOriginalDestroy.apply(oControl, arguments));
|
|
490
|
-
};
|
|
491
|
-
}
|
|
492
|
-
|
|
493
|
-
var sModule = sComponentName.replace(/\./g, "/");
|
|
556
|
+
const sModule = sComponentName.replace(/\./g, "/");
|
|
494
557
|
if (bAsync) {
|
|
495
558
|
return getRendererInstanceAsync(sModule);
|
|
496
559
|
}
|
|
@@ -528,9 +591,8 @@ sap.ui.define([
|
|
|
528
591
|
* @alias sap.ushell.Container#createRendererInternal
|
|
529
592
|
*/
|
|
530
593
|
this.createRendererInternal = async function (sRendererName) {
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
var oRendererConfig;
|
|
594
|
+
const oComponentData = { async: true };
|
|
595
|
+
let sComponentName;
|
|
534
596
|
|
|
535
597
|
Measurement.start("FLP:Container.InitLoading", "Initial Loading", "FLP");
|
|
536
598
|
ushellUtils.setPerformanceMark("FLP - renderer created");
|
|
@@ -538,9 +600,9 @@ sap.ui.define([
|
|
|
538
600
|
if (!sRendererName) {
|
|
539
601
|
throw new Error("Missing renderer name");
|
|
540
602
|
}
|
|
541
|
-
oRendererConfig = (oConfig.renderers && oConfig.renderers[sRendererName]) || {};
|
|
603
|
+
const oRendererConfig = (oConfig.renderers && oConfig.renderers[sRendererName]) || {};
|
|
542
604
|
sComponentName = oRendererConfig.module || (sRendererName.indexOf(".") < 0
|
|
543
|
-
?
|
|
605
|
+
? `sap.ushell.renderers.${sRendererName}.Renderer`
|
|
544
606
|
: sRendererName);
|
|
545
607
|
|
|
546
608
|
// this migration only fails for launchpads overwriting the resource path of the renderer
|
|
@@ -557,9 +619,9 @@ sap.ui.define([
|
|
|
557
619
|
// However, this breaks the layout with separate UI Areas.
|
|
558
620
|
// Wrap the control into the #canvas div in this case.
|
|
559
621
|
RendererControl.placeAt = function (sRef, vPosition) {
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
622
|
+
let oContainer = sRef;
|
|
623
|
+
const canvasId = "canvas";
|
|
624
|
+
const body = document.body;
|
|
563
625
|
if (sRef === body.id) {
|
|
564
626
|
oContainer = document.createElement("div");
|
|
565
627
|
oContainer.setAttribute("id", canvasId);
|
|
@@ -587,7 +649,7 @@ sap.ui.define([
|
|
|
587
649
|
}
|
|
588
650
|
|
|
589
651
|
function replaceDestroy (oControl) {
|
|
590
|
-
|
|
652
|
+
const fnOriginalDestroy = oControl.destroy;
|
|
591
653
|
oControl.destroy = function () {
|
|
592
654
|
if (oControl.isA("sap.ui.core.ComponentContainer")) {
|
|
593
655
|
return Promise.resolve(oControl.getComponentInstance().destroy()).then(function () {
|
|
@@ -598,7 +660,7 @@ sap.ui.define([
|
|
|
598
660
|
};
|
|
599
661
|
}
|
|
600
662
|
|
|
601
|
-
|
|
663
|
+
const sModule = sComponentName.replace(/\./g, "/");
|
|
602
664
|
const [
|
|
603
665
|
RendererClass,
|
|
604
666
|
ComponentContainer,
|
|
@@ -609,10 +671,10 @@ sap.ui.define([
|
|
|
609
671
|
"sap/ui/core/UIComponent",
|
|
610
672
|
"sap/ui/core/routing/Router" // As ushell.Renderer does not use manifest-first the router needs to be loaded async beforehand
|
|
611
673
|
]);
|
|
612
|
-
|
|
674
|
+
const oRenderer = new RendererClass({ componentData: oComponentData });
|
|
613
675
|
|
|
614
676
|
if (oRenderer instanceof UIComponent) {
|
|
615
|
-
|
|
677
|
+
const oComponentContainer = new ComponentContainer({
|
|
616
678
|
component: oRenderer,
|
|
617
679
|
height: "100%",
|
|
618
680
|
width: "100%",
|
|
@@ -653,14 +715,14 @@ sap.ui.define([
|
|
|
653
715
|
* @alias sap.ushell.Container#getRenderer
|
|
654
716
|
*/
|
|
655
717
|
this.getRenderer = function (sRendererName) {
|
|
656
|
-
|
|
718
|
+
let oRendererControl;
|
|
657
719
|
|
|
658
720
|
sRendererName = sRendererName || oConfig.defaultRenderer;
|
|
659
721
|
|
|
660
722
|
if (sRendererName) {
|
|
661
723
|
oRendererControl = oRenderers[sRendererName];
|
|
662
724
|
} else {
|
|
663
|
-
|
|
725
|
+
const aRendererNames = Object.keys(oRenderers);
|
|
664
726
|
if (aRendererNames.length === 1) {
|
|
665
727
|
oRendererControl = oRenderers[aRendererNames[0]];
|
|
666
728
|
} else {
|
|
@@ -695,14 +757,14 @@ sap.ui.define([
|
|
|
695
757
|
* @alias sap.ushell.Container#getRendererInternal
|
|
696
758
|
*/
|
|
697
759
|
this.getRendererInternal = function (sRendererName) {
|
|
698
|
-
|
|
760
|
+
let oRendererControl;
|
|
699
761
|
|
|
700
762
|
sRendererName = sRendererName || oConfig.defaultRenderer;
|
|
701
763
|
|
|
702
764
|
if (sRendererName) {
|
|
703
765
|
oRendererControl = oRenderers[sRendererName];
|
|
704
766
|
} else {
|
|
705
|
-
|
|
767
|
+
const aRendererNames = Object.keys(oRenderers);
|
|
706
768
|
if (aRendererNames.length === 1) {
|
|
707
769
|
oRendererControl = oRenderers[aRendererNames[0]];
|
|
708
770
|
} else {
|
|
@@ -802,17 +864,17 @@ sap.ui.define([
|
|
|
802
864
|
* @alias sap.ushell.Container#getGlobalDirty
|
|
803
865
|
*/
|
|
804
866
|
this.getGlobalDirty = function () {
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
867
|
+
const oDeferred = new jQuery.Deferred();
|
|
868
|
+
const sUid = uid();
|
|
869
|
+
let iPending = 0;
|
|
870
|
+
let oDirtyState = this.DirtyState.CLEAN;
|
|
809
871
|
|
|
810
872
|
function tryResolve () {
|
|
811
873
|
if (iPending === 0 || oDirtyState === that.DirtyState.DIRTY) {
|
|
812
874
|
// no PENDING or already dirty, so we can end the process
|
|
813
875
|
oDeferred.resolve(oDirtyState);
|
|
814
876
|
Log.debug(
|
|
815
|
-
|
|
877
|
+
`getGlobalDirty() Resolving: ${oDirtyState}`,
|
|
816
878
|
null,
|
|
817
879
|
"sap.ushell.Container"
|
|
818
880
|
);
|
|
@@ -824,8 +886,8 @@ sap.ui.define([
|
|
|
824
886
|
&& oStorageEvent.newValue !== that.DirtyState.INITIAL
|
|
825
887
|
&& oStorageEvent.newValue !== that.DirtyState.PENDING) {
|
|
826
888
|
Log.debug(
|
|
827
|
-
|
|
828
|
-
|
|
889
|
+
`getGlobalDirty() Receiving event key: ${oStorageEvent.key
|
|
890
|
+
} value: ${oStorageEvent.newValue}`,
|
|
829
891
|
null,
|
|
830
892
|
"sap.ushell.Container"
|
|
831
893
|
);
|
|
@@ -843,7 +905,7 @@ sap.ui.define([
|
|
|
843
905
|
oLocalStorage.setItem(sUid, "CHECK");
|
|
844
906
|
oLocalStorage.removeItem(sUid);
|
|
845
907
|
} catch (e) {
|
|
846
|
-
Log.warning(
|
|
908
|
+
Log.warning(`Error calling localStorage.setItem(): ${e}`, null,
|
|
847
909
|
"sap.ushell.Container");
|
|
848
910
|
return oDeferred.resolve(this.DirtyState.MAYBE_DIRTY).promise();
|
|
849
911
|
}
|
|
@@ -854,19 +916,19 @@ sap.ui.define([
|
|
|
854
916
|
|
|
855
917
|
oGlobalDirtyDeferred = oDeferred;
|
|
856
918
|
window.addEventListener("storage", onStorageEvent);
|
|
857
|
-
oDeferred.always(
|
|
919
|
+
oDeferred.always(() => {
|
|
858
920
|
window.removeEventListener("storage", onStorageEvent);
|
|
859
921
|
oGlobalDirtyDeferred = undefined;
|
|
860
922
|
});
|
|
861
923
|
|
|
862
|
-
for (
|
|
863
|
-
|
|
924
|
+
for (let i = oLocalStorage.length - 1; i >= 0; i -= 1) {
|
|
925
|
+
const sStorageKey = oLocalStorage.key(i);
|
|
864
926
|
if (sStorageKey.indexOf(S_DIRTY_STATE_PREFIX) === 0) {
|
|
865
927
|
if (oLocalStorage.getItem(sStorageKey) === "PENDING") {
|
|
866
928
|
// cleanup unanswered PENDINGS from call before
|
|
867
929
|
oLocalStorage.removeItem(sStorageKey);
|
|
868
930
|
Log.debug(
|
|
869
|
-
|
|
931
|
+
`getGlobalDirty() Cleanup of unresolved 'PENDINGS':${sStorageKey}`,
|
|
870
932
|
null,
|
|
871
933
|
"sap.ushell.Container"
|
|
872
934
|
);
|
|
@@ -875,7 +937,7 @@ sap.ui.define([
|
|
|
875
937
|
ushellUtils.localStorageSetItem(sStorageKey,
|
|
876
938
|
this.DirtyState.PENDING, true);
|
|
877
939
|
Log.debug(
|
|
878
|
-
|
|
940
|
+
`getGlobalDirty() Requesting status for: ${sStorageKey}`,
|
|
879
941
|
null,
|
|
880
942
|
"sap.ushell.Container"
|
|
881
943
|
);
|
|
@@ -884,9 +946,9 @@ sap.ui.define([
|
|
|
884
946
|
}
|
|
885
947
|
tryResolve();
|
|
886
948
|
|
|
887
|
-
//Timeout to resolve the deferred
|
|
888
|
-
//If deferred is not resolved during iPending * 2000, resolve with "MAYBE_DIRTY" status
|
|
889
|
-
setTimeout(
|
|
949
|
+
// Timeout to resolve the deferred
|
|
950
|
+
// If deferred is not resolved during iPending * 2000, resolve with "MAYBE_DIRTY" status
|
|
951
|
+
setTimeout(() => {
|
|
890
952
|
if (oDeferred.state() !== "resolved") {
|
|
891
953
|
// no use of constants because the Container may not exist anymore
|
|
892
954
|
oDeferred.resolve("MAYBE_DIRTY");
|
|
@@ -961,9 +1023,9 @@ sap.ui.define([
|
|
|
961
1023
|
* @alias sap.ushell.Container#getDirtyFlag
|
|
962
1024
|
*/
|
|
963
1025
|
this.getDirtyFlag = function () {
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
for (
|
|
1026
|
+
let bDirty = isDirty; // in case it was set
|
|
1027
|
+
const oNavigationContext = this._oShellNavigationInternal.getNavigationContext();
|
|
1028
|
+
for (let i = 0; i < aRegisteredDirtyMethods.length; i++) {
|
|
967
1029
|
bDirty = bDirty || aRegisteredDirtyMethods[i](oNavigationContext);
|
|
968
1030
|
}
|
|
969
1031
|
return bDirty;
|
|
@@ -988,11 +1050,11 @@ sap.ui.define([
|
|
|
988
1050
|
return Promise.resolve(this.getDirtyFlag());
|
|
989
1051
|
}
|
|
990
1052
|
|
|
991
|
-
|
|
1053
|
+
const oNavigationContext = this._oShellNavigationInternal.getNavigationContext();
|
|
992
1054
|
return this.fnAsyncDirtyStateProvider(oNavigationContext)
|
|
993
|
-
.then(
|
|
1055
|
+
.then((bIsDirty) => {
|
|
994
1056
|
return bIsDirty || this.getDirtyFlag();
|
|
995
|
-
}
|
|
1057
|
+
});
|
|
996
1058
|
};
|
|
997
1059
|
|
|
998
1060
|
// TODO: Remove this API once the OPA test iframe issue is solved. see Shell-controller.js@handleDataLoss
|
|
@@ -1110,8 +1172,8 @@ sap.ui.define([
|
|
|
1110
1172
|
throw new Error("fnDirty must be a function");
|
|
1111
1173
|
}
|
|
1112
1174
|
|
|
1113
|
-
|
|
1114
|
-
for (
|
|
1175
|
+
let nIndex = -1;
|
|
1176
|
+
for (let i = aRegisteredDirtyMethods.length - 1; i >= 0; i--) {
|
|
1115
1177
|
if (aRegisteredDirtyMethods[i] === fnDirty) {
|
|
1116
1178
|
nIndex = i;
|
|
1117
1179
|
break;
|
|
@@ -1284,7 +1346,7 @@ sap.ui.define([
|
|
|
1284
1346
|
* @alias sap.ushell.Container#_getServiceSync
|
|
1285
1347
|
*/
|
|
1286
1348
|
this._getServiceSync = function (sServiceName, sParameter, bAsync) {
|
|
1287
|
-
|
|
1349
|
+
const oContainerInterface = {};
|
|
1288
1350
|
|
|
1289
1351
|
/**
|
|
1290
1352
|
* For the given remote system,
|
|
@@ -1297,7 +1359,7 @@ sap.ui.define([
|
|
|
1297
1359
|
* @name sap.ushell.services.ContainerInterface#createAdapter
|
|
1298
1360
|
*/
|
|
1299
1361
|
function createRemoteAdapter (oSystem) {
|
|
1300
|
-
|
|
1362
|
+
const oDeferred = new jQuery.Deferred();
|
|
1301
1363
|
if (!oSystem) {
|
|
1302
1364
|
throw new Error("Missing system");
|
|
1303
1365
|
}
|
|
@@ -1315,10 +1377,10 @@ sap.ui.define([
|
|
|
1315
1377
|
// TODO support this once we have some configuration and can thus find adapters
|
|
1316
1378
|
throw new Error("Unsupported service name");
|
|
1317
1379
|
}
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1380
|
+
const oServiceConfig = getServiceConfig(sServiceName);
|
|
1381
|
+
const sModuleName = oServiceConfig.module || `sap.ushell.services.${sServiceName}`;
|
|
1382
|
+
const sKey = `${sModuleName}/${sParameter || ""}`;
|
|
1383
|
+
const oServiceProperties = { config: oServiceConfig.config || {} };
|
|
1322
1384
|
|
|
1323
1385
|
function createService (ServiceClass, Adapter) {
|
|
1324
1386
|
oContainerInterface.createAdapter = createRemoteAdapter;
|
|
@@ -1326,7 +1388,7 @@ sap.ui.define([
|
|
|
1326
1388
|
}
|
|
1327
1389
|
|
|
1328
1390
|
function getServiceInstance (ServiceClass, Async) {
|
|
1329
|
-
|
|
1391
|
+
let oService;
|
|
1330
1392
|
|
|
1331
1393
|
// Check again if the service has already been created to prevent re-instantiation during race conditions
|
|
1332
1394
|
if (mServicesByName.containsKey(sKey)) {
|
|
@@ -1336,11 +1398,11 @@ sap.ui.define([
|
|
|
1336
1398
|
oService = new ServiceClass(oContainerInterface, sParameter, oServiceProperties);
|
|
1337
1399
|
} else {
|
|
1338
1400
|
// create and pass adapter for logon system as first parameter
|
|
1339
|
-
|
|
1401
|
+
const oServiceAdapter = createAdapter(sServiceName, oAdapter.getSystem(),
|
|
1340
1402
|
sParameter, Async, ServiceClass.useConfiguredAdapterOnly);
|
|
1341
1403
|
if (Async) {
|
|
1342
|
-
return oServiceAdapter.then(
|
|
1343
|
-
|
|
1404
|
+
return oServiceAdapter.then((serviceAdapter) => {
|
|
1405
|
+
const oServiceInstance = createService(ServiceClass, serviceAdapter);
|
|
1344
1406
|
mServicesByName.put(sKey, oServiceInstance);
|
|
1345
1407
|
return oServiceInstance;
|
|
1346
1408
|
});
|
|
@@ -1363,14 +1425,14 @@ sap.ui.define([
|
|
|
1363
1425
|
null,
|
|
1364
1426
|
"sap.ushell.Container"
|
|
1365
1427
|
);
|
|
1366
|
-
|
|
1428
|
+
const Service = sap.ui.requireSync(sModuleName.replace(/[.]/g, "/")); // LEGACY API (deprecated)
|
|
1367
1429
|
return getServiceInstance(Service);
|
|
1368
1430
|
}
|
|
1369
1431
|
|
|
1370
1432
|
// extract information about the requested service
|
|
1371
1433
|
if (!mServicesByNamePromise.containsKey(sKey)) {
|
|
1372
|
-
|
|
1373
|
-
sap.ui.require([sModuleName.replace(/[.]/g, "/")],
|
|
1434
|
+
const oServicePromise = new Promise((resolve, reject) => {
|
|
1435
|
+
sap.ui.require([sModuleName.replace(/[.]/g, "/")], (ServiceClass) => {
|
|
1374
1436
|
resolve(getServiceInstance(ServiceClass, true));
|
|
1375
1437
|
}, reject);
|
|
1376
1438
|
});
|
|
@@ -1401,7 +1463,7 @@ sap.ui.define([
|
|
|
1401
1463
|
* @alias sap.ushell.Container#_getServiceAsync
|
|
1402
1464
|
*/
|
|
1403
1465
|
this._getServiceAsync = function (sServiceName, sParameter) {
|
|
1404
|
-
|
|
1466
|
+
const oContainerInterface = {};
|
|
1405
1467
|
|
|
1406
1468
|
/**
|
|
1407
1469
|
* For the given remote system,
|
|
@@ -1414,7 +1476,7 @@ sap.ui.define([
|
|
|
1414
1476
|
* @name sap.ushell.services.ContainerInterface#createAdapter
|
|
1415
1477
|
*/
|
|
1416
1478
|
function createRemoteAdapter (oSystem) {
|
|
1417
|
-
|
|
1479
|
+
const oDeferred = new jQuery.Deferred();
|
|
1418
1480
|
if (!oSystem) {
|
|
1419
1481
|
throw new Error("Missing system");
|
|
1420
1482
|
}
|
|
@@ -1432,10 +1494,10 @@ sap.ui.define([
|
|
|
1432
1494
|
// TODO support this once we have some configuration and can thus find adapters
|
|
1433
1495
|
throw new Error("Unsupported service name");
|
|
1434
1496
|
}
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1497
|
+
const oServiceConfig = getServiceConfig(sServiceName);
|
|
1498
|
+
const sModuleName = oServiceConfig.module || `sap.ushell.services.${sServiceName}`;
|
|
1499
|
+
const sKey = `${sModuleName}/${sParameter || ""}`;
|
|
1500
|
+
const oServiceProperties = { config: oServiceConfig.config || {} };
|
|
1439
1501
|
|
|
1440
1502
|
function createService (ServiceClass, Adapter) {
|
|
1441
1503
|
oContainerInterface.createAdapter = createRemoteAdapter;
|
|
@@ -1443,7 +1505,7 @@ sap.ui.define([
|
|
|
1443
1505
|
}
|
|
1444
1506
|
|
|
1445
1507
|
function getServiceInstance (ServiceClass) {
|
|
1446
|
-
|
|
1508
|
+
let oService;
|
|
1447
1509
|
|
|
1448
1510
|
// Check again if the service has already been created to prevent re-instantiation during race conditions
|
|
1449
1511
|
if (mServicesByName.containsKey(sKey)) {
|
|
@@ -1453,10 +1515,10 @@ sap.ui.define([
|
|
|
1453
1515
|
oService = new ServiceClass(oContainerInterface, sParameter, oServiceProperties);
|
|
1454
1516
|
} else {
|
|
1455
1517
|
// create and pass adapter for logon system as first parameter
|
|
1456
|
-
|
|
1518
|
+
const oServiceAdapter = createAdapter(sServiceName, oAdapter.getSystem(),
|
|
1457
1519
|
sParameter, true, ServiceClass.useConfiguredAdapterOnly);
|
|
1458
|
-
return oServiceAdapter.then(
|
|
1459
|
-
|
|
1520
|
+
return oServiceAdapter.then((serviceAdapter) => {
|
|
1521
|
+
const oServiceInstance = createService(ServiceClass, serviceAdapter);
|
|
1460
1522
|
mServicesByName.put(sKey, oServiceInstance);
|
|
1461
1523
|
return oServiceInstance;
|
|
1462
1524
|
});
|
|
@@ -1469,8 +1531,8 @@ sap.ui.define([
|
|
|
1469
1531
|
if (!mServicesByName.containsKey(sKey)) {
|
|
1470
1532
|
// extract information about the requested service
|
|
1471
1533
|
if (!mServicesByNamePromise.containsKey(sKey)) {
|
|
1472
|
-
|
|
1473
|
-
sap.ui.require([sModuleName.replace(/[.]/g, "/")],
|
|
1534
|
+
const oServicePromise = new Promise((resolve, reject) => {
|
|
1535
|
+
sap.ui.require([sModuleName.replace(/[.]/g, "/")], (ServiceClass) => {
|
|
1474
1536
|
resolve(getServiceInstance(ServiceClass));
|
|
1475
1537
|
}, reject);
|
|
1476
1538
|
});
|
|
@@ -1478,7 +1540,6 @@ sap.ui.define([
|
|
|
1478
1540
|
return oServicePromise;
|
|
1479
1541
|
}
|
|
1480
1542
|
return mServicesByNamePromise.get(sKey);
|
|
1481
|
-
|
|
1482
1543
|
}
|
|
1483
1544
|
// If the service was first called sync and then async, there will be no
|
|
1484
1545
|
// promise in mServicesByNamePromise, so we return wrap mServicesByName
|
|
@@ -1489,18 +1550,18 @@ sap.ui.define([
|
|
|
1489
1550
|
/**
|
|
1490
1551
|
* Get list of remote systems currently in use.
|
|
1491
1552
|
*
|
|
1492
|
-
* @returns {
|
|
1553
|
+
* @returns {object<string, sap.ushell.System>} map of sap.ushell.System
|
|
1493
1554
|
*
|
|
1494
1555
|
* @since 1.17.1
|
|
1495
1556
|
* @private
|
|
1496
1557
|
*/
|
|
1497
1558
|
function getRemoteSystems () {
|
|
1498
|
-
for (
|
|
1499
|
-
|
|
1559
|
+
for (let i = oLocalStorage.length - 1; i >= 0; i -= 1) {
|
|
1560
|
+
const sKey = oLocalStorage.key(i);
|
|
1500
1561
|
if (sKey.indexOf(sRemoteSystemPrefix) === 0) {
|
|
1501
1562
|
try {
|
|
1502
|
-
|
|
1503
|
-
|
|
1563
|
+
const sSystemAlias = sKey.substring(sRemoteSystemPrefix.length);
|
|
1564
|
+
const oSystemData = JSON.parse(oLocalStorage.getItem(sKey));
|
|
1504
1565
|
mRemoteSystems[sSystemAlias] = new System(oSystemData);
|
|
1505
1566
|
} catch (e) {
|
|
1506
1567
|
// local storage contained garbage (non-parsable)
|
|
@@ -1538,14 +1599,14 @@ sap.ui.define([
|
|
|
1538
1599
|
}
|
|
1539
1600
|
|
|
1540
1601
|
OData.read = function (oRequest, fnSuccess, fnFailure) {
|
|
1541
|
-
return stub(
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1602
|
+
return stub(`OData.read('${
|
|
1603
|
+
oRequest && oRequest.Uri ? oRequest.requestUri : oRequest
|
|
1604
|
+
}') disabled during logout processing`,
|
|
1605
|
+
fnSuccess, fnFailure);
|
|
1545
1606
|
};
|
|
1546
1607
|
OData.request = function (oRequest, fnSuccess, fnFailure) {
|
|
1547
|
-
return stub(
|
|
1548
|
-
|
|
1608
|
+
return stub(`OData.request('${oRequest ? oRequest.requestUri : ""
|
|
1609
|
+
}') disabled during logout processing`, fnSuccess, fnFailure);
|
|
1549
1610
|
};
|
|
1550
1611
|
}
|
|
1551
1612
|
|
|
@@ -1580,8 +1641,8 @@ sap.ui.define([
|
|
|
1580
1641
|
* '<protocol://host:port>/sap/public/bc/icf/logoff;o=MY_SYSTEM_ALIAS'
|
|
1581
1642
|
* Note: Cases 2. and 3. require a corresponding Web Dispatcher rule.
|
|
1582
1643
|
*/
|
|
1583
|
-
|
|
1584
|
-
|
|
1644
|
+
const sAlias = oRemoteSystem.getAlias();
|
|
1645
|
+
const oOldSystem = mRemoteSystems[sAlias];
|
|
1585
1646
|
|
|
1586
1647
|
if (this._isLocalSystem(oRemoteSystem)) {
|
|
1587
1648
|
return;
|
|
@@ -1591,10 +1652,10 @@ sap.ui.define([
|
|
|
1591
1652
|
if (oOldSystem.toString() === oRemoteSystem.toString()) { // --> JSON.stringify
|
|
1592
1653
|
return;
|
|
1593
1654
|
}
|
|
1594
|
-
Log.warning(
|
|
1655
|
+
Log.warning(`Replacing ${oOldSystem} by ${oRemoteSystem}`,
|
|
1595
1656
|
null, "sap.ushell.Container");
|
|
1596
1657
|
} else {
|
|
1597
|
-
Log.debug(
|
|
1658
|
+
Log.debug(`Added ${oRemoteSystem}`, null, "sap.ushell.Container");
|
|
1598
1659
|
}
|
|
1599
1660
|
mRemoteSystems[sAlias] = oRemoteSystem;
|
|
1600
1661
|
ushellUtils.localStorageSetItem(sRemoteSystemPrefix + sAlias, oRemoteSystem);
|
|
@@ -1610,12 +1671,12 @@ sap.ui.define([
|
|
|
1610
1671
|
* @alias sap.ushell.Container#_isLocalSystem
|
|
1611
1672
|
*/
|
|
1612
1673
|
this._isLocalSystem = function (oSystem) {
|
|
1613
|
-
|
|
1674
|
+
const sAlias = oSystem.getAlias();
|
|
1614
1675
|
if (sAlias && sAlias.toUpperCase() === "LOCAL") {
|
|
1615
1676
|
return true;
|
|
1616
1677
|
}
|
|
1617
|
-
|
|
1618
|
-
|
|
1678
|
+
const oURI = new URI(ushellUtils.getLocationHref());
|
|
1679
|
+
const sClient = this.getLogonSystem().getClient() || "";
|
|
1619
1680
|
if (oSystem.getBaseUrl() === oURI.origin() && oSystem.getClient() === sClient) {
|
|
1620
1681
|
return true;
|
|
1621
1682
|
}
|
|
@@ -1635,14 +1696,14 @@ sap.ui.define([
|
|
|
1635
1696
|
* @alias sap.ushell.Container#addRemoteSystemForServiceUrl
|
|
1636
1697
|
*/
|
|
1637
1698
|
this.addRemoteSystemForServiceUrl = function (sServiceUrl) {
|
|
1638
|
-
|
|
1699
|
+
const oSystemInfo = { baseUrl: ";o=" };
|
|
1639
1700
|
|
|
1640
1701
|
if (!sServiceUrl || sServiceUrl.charAt(0) !== "/" || sServiceUrl.indexOf("//") === 0) {
|
|
1641
1702
|
return;
|
|
1642
1703
|
}
|
|
1643
1704
|
|
|
1644
1705
|
// extract system alias from segment parameter named "o"
|
|
1645
|
-
|
|
1706
|
+
const aMatches = /^[^?]*;o=([^/;?]*)/.exec(sServiceUrl);
|
|
1646
1707
|
if (aMatches && aMatches.length >= 2) {
|
|
1647
1708
|
oSystemInfo.alias = aMatches[1];
|
|
1648
1709
|
}
|
|
@@ -1674,10 +1735,10 @@ sap.ui.define([
|
|
|
1674
1735
|
* @alias sap.ushell.Container#attachLogoutEvent
|
|
1675
1736
|
*/
|
|
1676
1737
|
this.attachLogoutEvent = function (fnFunction, bAsyncFunction) {
|
|
1677
|
-
|
|
1738
|
+
let bFound = false;
|
|
1678
1739
|
if (bAsyncFunction === true) {
|
|
1679
1740
|
assert(typeof (fnFunction) === "function", "Container.attachLogoutEvent: fnFunction must be a function");
|
|
1680
|
-
for (
|
|
1741
|
+
for (let i = 0; i < aAsyncLogoutEventFunctions.length; i++) {
|
|
1681
1742
|
if (aAsyncLogoutEventFunctions[i] === fnFunction) {
|
|
1682
1743
|
bFound = true;
|
|
1683
1744
|
break;
|
|
@@ -1702,7 +1763,7 @@ sap.ui.define([
|
|
|
1702
1763
|
*/
|
|
1703
1764
|
this.detachLogoutEvent = function (fnFunction) {
|
|
1704
1765
|
oEventProvider.detachEvent("Logout", fnFunction);
|
|
1705
|
-
for (
|
|
1766
|
+
for (let i = 0; i < aAsyncLogoutEventFunctions.length; i++) {
|
|
1706
1767
|
if (aAsyncLogoutEventFunctions[i] === fnFunction) {
|
|
1707
1768
|
aAsyncLogoutEventFunctions.splice(i, 1);
|
|
1708
1769
|
break;
|
|
@@ -1753,35 +1814,35 @@ sap.ui.define([
|
|
|
1753
1814
|
* @alias sap.ushell.Container#defaultLogout
|
|
1754
1815
|
*/
|
|
1755
1816
|
this.defaultLogout = function () {
|
|
1756
|
-
|
|
1817
|
+
const oDeferred = new jQuery.Deferred();
|
|
1757
1818
|
|
|
1758
1819
|
this.callRegisteredLogoutHandlers().then(() => {
|
|
1759
1820
|
function resolve () {
|
|
1760
|
-
ushellUtils.promisify(oAdapter.logout(true)).finally(
|
|
1821
|
+
ushellUtils.promisify(oAdapter.logout(true)).finally(() => {
|
|
1761
1822
|
oLocalStorage.removeItem(sSessionTerminationKey);
|
|
1762
1823
|
oDeferred.resolve();
|
|
1763
1824
|
});
|
|
1764
1825
|
}
|
|
1765
1826
|
|
|
1766
1827
|
function logoutLogonSystem () {
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1828
|
+
const oDeferredAsyncLogoutEvent = new jQuery.Deferred();
|
|
1829
|
+
const oPromiseAsyncLogoutEvent = oDeferredAsyncLogoutEvent.promise();
|
|
1830
|
+
const arrLogoutEventsPromises = [];
|
|
1770
1831
|
|
|
1771
1832
|
if (aAsyncLogoutEventFunctions.length > 0) {
|
|
1772
|
-
for (
|
|
1833
|
+
for (let i = 0; i < aAsyncLogoutEventFunctions.length; i++) {
|
|
1773
1834
|
arrLogoutEventsPromises.push(aAsyncLogoutEventFunctions[i]());
|
|
1774
1835
|
}
|
|
1775
1836
|
Promise.all(arrLogoutEventsPromises).then(oDeferredAsyncLogoutEvent.resolve);
|
|
1776
1837
|
|
|
1777
|
-
//if after 4 seconds we did not get all the async callbacks
|
|
1778
|
-
//promises resolved, we will continue with the logout process
|
|
1838
|
+
// if after 4 seconds we did not get all the async callbacks
|
|
1839
|
+
// promises resolved, we will continue with the logout process
|
|
1779
1840
|
setTimeout(oDeferredAsyncLogoutEvent.resolve, 4000);
|
|
1780
1841
|
} else {
|
|
1781
1842
|
oDeferredAsyncLogoutEvent.resolve();
|
|
1782
1843
|
}
|
|
1783
1844
|
|
|
1784
|
-
oPromiseAsyncLogoutEvent.done(
|
|
1845
|
+
oPromiseAsyncLogoutEvent.done(() => {
|
|
1785
1846
|
if (oEventProvider.fireEvent("Logout", true)) {
|
|
1786
1847
|
resolve();
|
|
1787
1848
|
} else {
|
|
@@ -1792,7 +1853,7 @@ sap.ui.define([
|
|
|
1792
1853
|
}
|
|
1793
1854
|
|
|
1794
1855
|
function federatedLogout () {
|
|
1795
|
-
|
|
1856
|
+
const aRemoteLogoutPromises = [];
|
|
1796
1857
|
|
|
1797
1858
|
if (fnStorageEventListener) {
|
|
1798
1859
|
// IE sends localStorage events also to the issuing window, -
|
|
@@ -1802,8 +1863,8 @@ sap.ui.define([
|
|
|
1802
1863
|
|
|
1803
1864
|
ushellUtils.localStorageSetItem(sSessionTerminationKey, "pending");
|
|
1804
1865
|
that._suppressOData();
|
|
1805
|
-
|
|
1806
|
-
Object.keys(mSystems).forEach(
|
|
1866
|
+
const mSystems = that._getRemoteSystems();
|
|
1867
|
+
Object.keys(mSystems).forEach((sAlias) => {
|
|
1807
1868
|
try {
|
|
1808
1869
|
aRemoteLogoutPromises.push(
|
|
1809
1870
|
// Promisify is used to ensure that the promise is handled for all platform adapters which
|
|
@@ -1811,7 +1872,7 @@ sap.ui.define([
|
|
|
1811
1872
|
ushellUtils.promisify(createAdapter("Container", mSystems[sAlias]).logout(false))
|
|
1812
1873
|
);
|
|
1813
1874
|
} catch (e) {
|
|
1814
|
-
Log.warning(
|
|
1875
|
+
Log.warning(`Could not create adapter for ${sAlias}`,
|
|
1815
1876
|
e.toString(), "sap.ushell.Container");
|
|
1816
1877
|
}
|
|
1817
1878
|
oLocalStorage.removeItem(sRemoteSystemPrefix + sAlias);
|
|
@@ -2006,14 +2067,14 @@ sap.ui.define([
|
|
|
2006
2067
|
* @alias sap.ushell.Container#getFLPConfig
|
|
2007
2068
|
*/
|
|
2008
2069
|
this.getFLPConfig = function () {
|
|
2009
|
-
|
|
2010
|
-
|
|
2070
|
+
const oPromise = new Promise((resolve, reject) => {
|
|
2071
|
+
const oRespObj = {
|
|
2011
2072
|
URL: this.getFLPUrl()
|
|
2012
2073
|
};
|
|
2013
|
-
//get site scope
|
|
2074
|
+
// get site scope
|
|
2014
2075
|
if (oConfigSetting.CDMPromise) {
|
|
2015
|
-
oConfigSetting.CDMPromise.then(
|
|
2016
|
-
oCommonDataModel.getSiteWithoutPersonalization().then(
|
|
2076
|
+
oConfigSetting.CDMPromise.then((oCommonDataModel) => {
|
|
2077
|
+
oCommonDataModel.getSiteWithoutPersonalization().then((oSite) => {
|
|
2017
2078
|
oRespObj.scopeId = oSite.site.identification.id;
|
|
2018
2079
|
resolve(oRespObj);
|
|
2019
2080
|
});
|
|
@@ -2021,7 +2082,7 @@ sap.ui.define([
|
|
|
2021
2082
|
} else {
|
|
2022
2083
|
resolve(oRespObj);
|
|
2023
2084
|
}
|
|
2024
|
-
}
|
|
2085
|
+
});
|
|
2025
2086
|
|
|
2026
2087
|
return oPromise;
|
|
2027
2088
|
};
|
|
@@ -2037,8 +2098,8 @@ sap.ui.define([
|
|
|
2037
2098
|
* @alias sap.ushell.Container#getFLPUrl
|
|
2038
2099
|
*/
|
|
2039
2100
|
this.getFLPUrl = function (bIncludeHash) {
|
|
2040
|
-
|
|
2041
|
-
|
|
2101
|
+
const sUrl = ushellUtils.getLocationHref();
|
|
2102
|
+
const iHashPosition = sUrl.indexOf(UrlParsing.getShellHash(sUrl));
|
|
2042
2103
|
|
|
2043
2104
|
if (iHashPosition === -1 || bIncludeHash === true) {
|
|
2044
2105
|
return sUrl;
|
|
@@ -2121,7 +2182,7 @@ sap.ui.define([
|
|
|
2121
2182
|
// constructor code -------------------------------------------------------
|
|
2122
2183
|
// loose coupling to allow re-use from sap.ushell_abap.pbServices.ui2.Catalog#addSystemToServiceUrl
|
|
2123
2184
|
EventBus.getInstance().subscribe("sap.ushell.Container",
|
|
2124
|
-
"addRemoteSystemForServiceUrl",
|
|
2185
|
+
"addRemoteSystemForServiceUrl", (sChannelId, sEventId, oData) => {
|
|
2125
2186
|
that.addRemoteSystemForServiceUrl(oData);
|
|
2126
2187
|
});
|
|
2127
2188
|
|
|
@@ -2138,7 +2199,7 @@ sap.ui.define([
|
|
|
2138
2199
|
* @alias sap.ushell.Container#_init
|
|
2139
2200
|
*/
|
|
2140
2201
|
this._init = function (sPlatform, mAdapterPackagesByPlatform) {
|
|
2141
|
-
|
|
2202
|
+
const oPromise = new Promise((fnResolve) => {
|
|
2142
2203
|
// Init mobile support for the case when sap.m.App is not used
|
|
2143
2204
|
MobileSupport.init();
|
|
2144
2205
|
// remember the configuration independently of window["sap-ushell-config"]
|
|
@@ -2164,159 +2225,119 @@ sap.ui.define([
|
|
|
2164
2225
|
// 2. Load "PluginManager" and "CommonDataModel" services
|
|
2165
2226
|
// 3. Load plugins
|
|
2166
2227
|
// 4. Register plugins
|
|
2167
|
-
|
|
2228
|
+
const system = new System({
|
|
2168
2229
|
// this is the initial logon system object
|
|
2169
2230
|
alias: "",
|
|
2170
2231
|
platform: oConfig.platform || sPlatform
|
|
2171
2232
|
});
|
|
2233
|
+
|
|
2234
|
+
function handlePlugins (aServices) {
|
|
2235
|
+
const oPluginManager = aServices[0];
|
|
2236
|
+
const oCDM = aServices[1];
|
|
2237
|
+
const getPlugins = oCDM ? oCDM.getPlugins() : jQuery.when({});
|
|
2238
|
+
|
|
2239
|
+
getPlugins.then((oCDMSitePlugins) => {
|
|
2240
|
+
const oAllPlugins = deepExtend({}, oConfig.bootstrapPlugins, oCDMSitePlugins);
|
|
2241
|
+
oPluginManager.registerPlugins(oAllPlugins);
|
|
2242
|
+
});
|
|
2243
|
+
}
|
|
2244
|
+
|
|
2245
|
+
function prepareNWBC () {
|
|
2246
|
+
if (ushellUtils.hasFLPReady2NotificationCapability()) {
|
|
2247
|
+
// Notify SAP Business Client (NWBC), that the Container and its Services, are ready to be used and
|
|
2248
|
+
// send additional interface
|
|
2249
|
+
sap.ui.require(["sap/ushell/NWBCInterface"], (oNWBCInterface) => {
|
|
2250
|
+
ushellUtils.getPrivateEpcm().doEventFlpReady2(oNWBCInterface);
|
|
2251
|
+
});
|
|
2252
|
+
} else if (ushellUtils.hasFLPReadyNotificationCapability()) {
|
|
2253
|
+
// Notify SAP Business Client (NWBC), that the Container and its Services, are ready to be used.
|
|
2254
|
+
ushellUtils.getPrivateEpcm().doEventFlpReady();
|
|
2255
|
+
}
|
|
2256
|
+
}
|
|
2257
|
+
|
|
2258
|
+
function handleDarkMode (Config) {
|
|
2259
|
+
if (Config.last("/core/darkMode/enabled")) {
|
|
2260
|
+
oContainerInstance.getServiceAsync("DarkModeSupport").then((DarkModeSupportService) => {
|
|
2261
|
+
if (DarkModeSupportService && DarkModeSupportService.setup) { // Many qUnits mock getServiceAsync without DarkModeSupport
|
|
2262
|
+
DarkModeSupportService.setup();
|
|
2263
|
+
}
|
|
2264
|
+
});
|
|
2265
|
+
}
|
|
2266
|
+
}
|
|
2267
|
+
|
|
2268
|
+
function initUITracer (Config) {
|
|
2269
|
+
const bTraceEnabled = !!(new URLSearchParams(window.location.search)).get("sap-ui-xx-ushell-UITraceEnabled");
|
|
2270
|
+
if (Config.last("/core/uiTracer/enabled") || bTraceEnabled) {
|
|
2271
|
+
oContainerInstance.getServiceAsync("UITracer");
|
|
2272
|
+
}
|
|
2273
|
+
}
|
|
2274
|
+
|
|
2275
|
+
function lastSteps () {
|
|
2276
|
+
prepareNWBC();
|
|
2277
|
+
|
|
2278
|
+
// Config should be required after bootstrap when sap-ushell-config is calculated
|
|
2279
|
+
sap.ui.require(["sap/ushell/Config"], (Config) => {
|
|
2280
|
+
handleDarkMode(Config);
|
|
2281
|
+
initUITracer(Config);
|
|
2282
|
+
});
|
|
2283
|
+
}
|
|
2284
|
+
|
|
2172
2285
|
createAdapter("Container", system, null, true /* async */)
|
|
2173
|
-
.then(
|
|
2286
|
+
.then((oCreatedAdapter) => {
|
|
2174
2287
|
oAdapter = oCreatedAdapter;
|
|
2175
2288
|
return oAdapter.load();
|
|
2176
2289
|
})
|
|
2177
|
-
.then(
|
|
2290
|
+
.then(() => {
|
|
2178
2291
|
// returns true if CDM Plugins are to be loaded
|
|
2179
2292
|
function _bLoadCDM () {
|
|
2180
|
-
|
|
2293
|
+
const oUshellConfig = window["sap-ushell-config"];
|
|
2181
2294
|
if (!oUshellConfig || !oUshellConfig.services) {
|
|
2182
2295
|
return false;
|
|
2183
2296
|
}
|
|
2184
|
-
|
|
2185
|
-
|
|
2297
|
+
const oUShellPluginManagerConfig = oUshellConfig.services.PluginManager;
|
|
2298
|
+
const oPluginManagerConfig = oUShellPluginManagerConfig && oUShellPluginManagerConfig.config;
|
|
2186
2299
|
return oPluginManagerConfig && oPluginManagerConfig.loadPluginsFromSite;
|
|
2187
2300
|
}
|
|
2188
2301
|
|
|
2189
2302
|
// Load CommonDataModel and PluginManager in parallel
|
|
2190
|
-
|
|
2303
|
+
const asyncServices = [this.getServiceAsync("PluginManager")];
|
|
2191
2304
|
if (_bLoadCDM()) {
|
|
2192
|
-
//If we have CDM add the scope id to the response configuration
|
|
2305
|
+
// If we have CDM add the scope id to the response configuration
|
|
2193
2306
|
oConfigSetting.CDMPromise = this.getServiceAsync("CommonDataModel");
|
|
2194
2307
|
asyncServices.push(oConfigSetting.CDMPromise);
|
|
2195
2308
|
}
|
|
2196
2309
|
Promise.all(asyncServices)
|
|
2197
|
-
.then(
|
|
2310
|
+
.then((aServices) => {
|
|
2198
2311
|
handlePlugins(aServices);
|
|
2199
2312
|
})
|
|
2200
2313
|
.then(lastSteps);
|
|
2201
2314
|
|
|
2202
2315
|
// preload given UI Services to allow sync access (via getService()) w/o triggering a sync request (CSP safeguarding of Neo Platform)
|
|
2203
|
-
|
|
2316
|
+
const servicesForPreloading = [];
|
|
2204
2317
|
if (oConfig.preloadServices !== undefined && Array.isArray(oConfig.preloadServices)) {
|
|
2205
|
-
oConfig.preloadServices.forEach(
|
|
2318
|
+
oConfig.preloadServices.forEach((serviceName) => {
|
|
2206
2319
|
servicesForPreloading.push(this.getServiceAsync(serviceName));
|
|
2207
|
-
}
|
|
2320
|
+
});
|
|
2208
2321
|
Log.error("Ushell Config's preloadServices should not be used!");
|
|
2209
2322
|
}
|
|
2210
2323
|
|
|
2211
|
-
|
|
2212
|
-
.then(
|
|
2324
|
+
const oShellNavigationInternalPromise = this.getServiceAsync("ShellNavigationInternal")
|
|
2325
|
+
.then((oShellNavigationInternal) => {
|
|
2213
2326
|
this._oShellNavigationInternal = oShellNavigationInternal;
|
|
2214
|
-
}
|
|
2327
|
+
});
|
|
2215
2328
|
|
|
2216
2329
|
servicesForPreloading.push(oShellNavigationInternalPromise);
|
|
2217
2330
|
|
|
2218
2331
|
Promise.all(servicesForPreloading)
|
|
2219
|
-
.then(
|
|
2332
|
+
.then(() => {
|
|
2220
2333
|
fnResolve(oAdapter); // Note that resolve might be called before the plugins are registered
|
|
2221
2334
|
});
|
|
2222
|
-
}.bind(this));
|
|
2223
|
-
|
|
2224
|
-
function handlePlugins (aServices) {
|
|
2225
|
-
var oPluginManager = aServices[0];
|
|
2226
|
-
var oCDM = aServices[1];
|
|
2227
|
-
var getPlugins = oCDM ? oCDM.getPlugins() : jQuery.when({});
|
|
2228
|
-
|
|
2229
|
-
getPlugins.then(function (oCDMSitePlugins) {
|
|
2230
|
-
var oAllPlugins = deepExtend({}, oConfig.bootstrapPlugins, oCDMSitePlugins);
|
|
2231
|
-
oPluginManager.registerPlugins(oAllPlugins);
|
|
2232
2335
|
});
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
function lastSteps () {
|
|
2236
|
-
prepareNWBC();
|
|
2237
|
-
|
|
2238
|
-
// Config should be required after bootstrap when sap-ushell-config is calculated
|
|
2239
|
-
sap.ui.require(["sap/ushell/Config"], function (Config) {
|
|
2240
|
-
handleDarkMode(Config);
|
|
2241
|
-
initUITracer(Config);
|
|
2242
|
-
});
|
|
2243
|
-
}
|
|
2244
|
-
|
|
2245
|
-
function prepareNWBC () {
|
|
2246
|
-
if (ushellUtils.hasFLPReady2NotificationCapability()) {
|
|
2247
|
-
// Notify SAP Business Client (NWBC), that the Container and its Services, are ready to be used and
|
|
2248
|
-
// send additional interface
|
|
2249
|
-
sap.ui.require(["sap/ushell/NWBCInterface"], function (oNWBCInterface) {
|
|
2250
|
-
ushellUtils.getPrivateEpcm().doEventFlpReady2(oNWBCInterface);
|
|
2251
|
-
});
|
|
2252
|
-
} else if (ushellUtils.hasFLPReadyNotificationCapability()) {
|
|
2253
|
-
// Notify SAP Business Client (NWBC), that the Container and its Services, are ready to be used.
|
|
2254
|
-
ushellUtils.getPrivateEpcm().doEventFlpReady();
|
|
2255
|
-
}
|
|
2256
|
-
}
|
|
2257
|
-
|
|
2258
|
-
function handleDarkMode (Config) {
|
|
2259
|
-
if (Config.last("/core/darkMode/enabled")) {
|
|
2260
|
-
oContainerInstance.getServiceAsync("DarkModeSupport").then(function (DarkModeSupportService) {
|
|
2261
|
-
if (DarkModeSupportService && DarkModeSupportService.setup) { // Many qUnits mock getServiceAsync without DarkModeSupport
|
|
2262
|
-
DarkModeSupportService.setup();
|
|
2263
|
-
}
|
|
2264
|
-
});
|
|
2265
|
-
}
|
|
2266
|
-
}
|
|
2267
|
-
|
|
2268
|
-
function initUITracer (Config) {
|
|
2269
|
-
var bTraceEnabled = !!(new URLSearchParams(window.location.search)).get("sap-ui-xx-ushell-UITraceEnabled");
|
|
2270
|
-
if (Config.last("/core/uiTracer/enabled") || bTraceEnabled) {
|
|
2271
|
-
oContainerInstance.getServiceAsync("UITracer");
|
|
2272
|
-
}
|
|
2273
|
-
}
|
|
2274
|
-
}.bind(this));
|
|
2336
|
+
});
|
|
2275
2337
|
|
|
2276
2338
|
return oPromise;
|
|
2277
2339
|
};
|
|
2278
2340
|
|
|
2279
|
-
function afterInit () {
|
|
2280
|
-
// register event handler for storage events issued by other UShell windows
|
|
2281
|
-
if (typeof oAdapter.logoutRedirect === "function") {
|
|
2282
|
-
fnStorageEventListener = function (oStorageEvent) {
|
|
2283
|
-
function closeAndRedirectWindow () {
|
|
2284
|
-
// Most browsers do not allow closing windows via JS that aren't opened via JS
|
|
2285
|
-
// hence we additionally redirect to get these manually opened windows redirected at least.
|
|
2286
|
-
// NOTE: It is important to NOT redirect to "/sap/public/bc/icf/logoff"
|
|
2287
|
-
// because on iPad Safari e.g. the event is not processed until the window gets the focus.
|
|
2288
|
-
// This would terminate any new session opened in between.
|
|
2289
|
-
that._closeWindow();
|
|
2290
|
-
that._redirectWindow();
|
|
2291
|
-
}
|
|
2292
|
-
|
|
2293
|
-
if (oContainerInstance !== that) {
|
|
2294
|
-
// In integration test suite, old listeners remain which do not belong to the current sap.ushell.Container instance.
|
|
2295
|
-
// IE sends events also to own window. Then these old listeners react as if a remote window logged out...
|
|
2296
|
-
return;
|
|
2297
|
-
}
|
|
2298
|
-
// IE9 seems to get the events, but not the values in another window!?
|
|
2299
|
-
if (oStorageEvent.key.indexOf(sRemoteSystemPrefix) === 0
|
|
2300
|
-
&& oStorageEvent.newValue
|
|
2301
|
-
&& oStorageEvent.newValue !== oLocalStorage.getItem(oStorageEvent.key)) {
|
|
2302
|
-
ushellUtils.localStorageSetItem(oStorageEvent.key, oStorageEvent.newValue);
|
|
2303
|
-
}
|
|
2304
|
-
if (oStorageEvent.key === sSessionTerminationKey) {
|
|
2305
|
-
if (oStorageEvent.newValue === "pending") {
|
|
2306
|
-
that._suppressOData();
|
|
2307
|
-
if (oEventProvider.fireEvent("Logout", true)) {
|
|
2308
|
-
closeAndRedirectWindow();
|
|
2309
|
-
} else {
|
|
2310
|
-
// defer UShell closeWindow to let NWBC receive message asynchronously
|
|
2311
|
-
setTimeout(closeAndRedirectWindow, 1000);
|
|
2312
|
-
}
|
|
2313
|
-
}
|
|
2314
|
-
}
|
|
2315
|
-
};
|
|
2316
|
-
window.addEventListener("storage", fnStorageEventListener);
|
|
2317
|
-
}
|
|
2318
|
-
}
|
|
2319
|
-
|
|
2320
2341
|
/**
|
|
2321
2342
|
* Expose functions for unit testing.
|
|
2322
2343
|
* Internal use only.
|
|
@@ -2366,25 +2387,6 @@ sap.ui.define([
|
|
|
2366
2387
|
};
|
|
2367
2388
|
}
|
|
2368
2389
|
|
|
2369
|
-
/**
|
|
2370
|
-
* Creates and registers injectable ui5services.
|
|
2371
|
-
*
|
|
2372
|
-
* @param {string[]} aServicesToRegister An array of service names to register.
|
|
2373
|
-
* @param {boolean} bAddCallProtection Whether to add call protection check.
|
|
2374
|
-
* This may not be wanted in case the service is created via:
|
|
2375
|
-
* ServiceFactoryRegistry#get("sap.ushell.ui5service.<service>").createInstance().
|
|
2376
|
-
* @private
|
|
2377
|
-
*/
|
|
2378
|
-
function registerInjectableUi5Services (aServicesToRegister, bAddCallProtection) {
|
|
2379
|
-
aServicesToRegister.forEach(function (sUshellServiceName) {
|
|
2380
|
-
// create registerable factory
|
|
2381
|
-
var oServiceFactory = oUi5ServiceFactory.createServiceFactory(sUshellServiceName, bAddCallProtection);
|
|
2382
|
-
|
|
2383
|
-
// register factory to allow UI5 to create the service
|
|
2384
|
-
ServiceFactoryRegistry.register("sap.ushell.ui5service." + sUshellServiceName, oServiceFactory);
|
|
2385
|
-
});
|
|
2386
|
-
}
|
|
2387
|
-
|
|
2388
2390
|
oContainerInstance = new Container();
|
|
2389
2391
|
|
|
2390
2392
|
/**
|
|
@@ -2453,9 +2455,9 @@ sap.ui.define([
|
|
|
2453
2455
|
commonUtils.migrateV2ServiceConfig(window["sap-ushell-config"]);
|
|
2454
2456
|
}
|
|
2455
2457
|
|
|
2456
|
-
|
|
2458
|
+
const oDeferred = new jQuery.Deferred();
|
|
2457
2459
|
oContainerInstance.init(sPlatform, mAdapterPackagesByPlatform)
|
|
2458
|
-
.then(
|
|
2460
|
+
.then(() => {
|
|
2459
2461
|
oDeferred.resolve();
|
|
2460
2462
|
});
|
|
2461
2463
|
return oDeferred.promise();
|