@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
|
@@ -24,7 +24,7 @@ sap.ui.define([
|
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
26
|
* removes properties of an object
|
|
27
|
-
* @param {
|
|
27
|
+
* @param {object} oObject
|
|
28
28
|
* Object that is modified and that has its properties deleted
|
|
29
29
|
* @param {string[]} aKeysToRemove The keys of properties to be removed
|
|
30
30
|
*/
|
|
@@ -40,6 +40,60 @@ sap.ui.define([
|
|
|
40
40
|
&& oInbound.signature.parameters[sParameterName].required === true;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
+
/**
|
|
44
|
+
* Tells whether the given parameter is a Webgui business parameter
|
|
45
|
+
* This method has a polimorphic signature: it can be called with one or two arguments.
|
|
46
|
+
* If called with one argument both the name and the parameter value
|
|
47
|
+
* should be passed, separated by "=". The first "=" will be treated as
|
|
48
|
+
* parameter separator. Otherwise two parameters (name, value) can be passed.
|
|
49
|
+
*
|
|
50
|
+
* NOTE: the method determines whether the value is passed based on how
|
|
51
|
+
* many arguments are passed.
|
|
52
|
+
*
|
|
53
|
+
* @param {string} sName
|
|
54
|
+
* A parameter name or a name=value string.
|
|
55
|
+
* @param {string} [sValue]
|
|
56
|
+
* An optional parameter value to be used in combination with the
|
|
57
|
+
* name specified in <code>sNameMaybeValue</code>.
|
|
58
|
+
*
|
|
59
|
+
* @returns {boolean}
|
|
60
|
+
* Whether the given parameter is a Webgui business parameter.
|
|
61
|
+
*
|
|
62
|
+
* @private
|
|
63
|
+
*/
|
|
64
|
+
function isWebguiBusinessParameter (sName, sValue) {
|
|
65
|
+
let aNameValue;
|
|
66
|
+
// handle case in which sName is in the form "name=value"
|
|
67
|
+
if (arguments.length === 1) {
|
|
68
|
+
aNameValue = sName.split(/[=](.+)?/); // split on first "="
|
|
69
|
+
if (aNameValue.length > 1) {
|
|
70
|
+
return isWebguiBusinessParameter.apply(null, aNameValue);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
return !(
|
|
75
|
+
sName.indexOf("sap-") === 0 ||
|
|
76
|
+
sName.indexOf("saml") === 0 ||
|
|
77
|
+
sName.charAt(0) === "~"
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Finds and returns webgui business parameters.
|
|
83
|
+
*
|
|
84
|
+
* @param {object} oParams
|
|
85
|
+
* set of WebGUI parameters
|
|
86
|
+
*
|
|
87
|
+
* @returns {object}
|
|
88
|
+
* the set of business parameters
|
|
89
|
+
*
|
|
90
|
+
* @private
|
|
91
|
+
*/
|
|
92
|
+
function getWebguiBusinessParameters (oParams) {
|
|
93
|
+
const oBusinessParameters = oCSTRUtils.filterObject(oParams, isWebguiBusinessParameter);
|
|
94
|
+
return oBusinessParameters;
|
|
95
|
+
}
|
|
96
|
+
|
|
43
97
|
/**
|
|
44
98
|
* Returns the name of parameters that should not appear in a WebGUI URL.
|
|
45
99
|
*
|
|
@@ -96,133 +150,6 @@ sap.ui.define([
|
|
|
96
150
|
return aBusinessParameters;
|
|
97
151
|
}
|
|
98
152
|
|
|
99
|
-
/**
|
|
100
|
-
* Finds and returns webgui business parameters.
|
|
101
|
-
*
|
|
102
|
-
* @param {object} oParams
|
|
103
|
-
* set of WebGUI parameters
|
|
104
|
-
*
|
|
105
|
-
* @returns {object}
|
|
106
|
-
* the set of business parameters
|
|
107
|
-
*
|
|
108
|
-
* @private
|
|
109
|
-
*/
|
|
110
|
-
function getWebguiBusinessParameters (oParams) {
|
|
111
|
-
const oBusinessParameters = oCSTRUtils.filterObject(oParams, isWebguiBusinessParameter);
|
|
112
|
-
return oBusinessParameters;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* Tells whether the given parameter is a Webgui business parameter
|
|
117
|
-
* This method has a polimorphic signature: it can be called with one or two arguments.
|
|
118
|
-
* If called with one argument both the name and the parameter value
|
|
119
|
-
* should be passed, separated by "=". The first "=" will be treated as
|
|
120
|
-
* parameter separator. Otherwise two parameters (name, value) can be passed.
|
|
121
|
-
*
|
|
122
|
-
* NOTE: the method determines whether the value is passed based on how
|
|
123
|
-
* many arguments are passed.
|
|
124
|
-
*
|
|
125
|
-
* @param {string} sName
|
|
126
|
-
* A parameter name or a name=value string.
|
|
127
|
-
* @param {string} [sValue]
|
|
128
|
-
* An optional parameter value to be used in combination with the
|
|
129
|
-
* name specified in <code>sNameMaybeValue</code>.
|
|
130
|
-
*
|
|
131
|
-
* @returns {boolean}
|
|
132
|
-
* Whether the given parameter is a Webgui business parameter.
|
|
133
|
-
*
|
|
134
|
-
* @private
|
|
135
|
-
*/
|
|
136
|
-
function isWebguiBusinessParameter (sName, sValue) {
|
|
137
|
-
let aNameValue;
|
|
138
|
-
// handle case in which sName is in the form "name=value"
|
|
139
|
-
if (arguments.length === 1) {
|
|
140
|
-
aNameValue = sName.split(/[=](.+)?/); // split on first "="
|
|
141
|
-
if (aNameValue.length > 1) {
|
|
142
|
-
return isWebguiBusinessParameter.apply(null, aNameValue);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
return !(
|
|
147
|
-
sName.indexOf("sap-") === 0 ||
|
|
148
|
-
sName.indexOf("saml") === 0 ||
|
|
149
|
-
sName.charAt(0) === "~"
|
|
150
|
-
);
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
function generateTRResolutionResult (oMatchingTarget, sBaseUrl, fnExternalSystemAliasResolver) {
|
|
155
|
-
const oInbound = oMatchingTarget.inbound;
|
|
156
|
-
const oResolutionResult = oInbound && oInbound.resolutionResult;
|
|
157
|
-
let oPromise;
|
|
158
|
-
|
|
159
|
-
if (
|
|
160
|
-
!(!oInbound ||
|
|
161
|
-
!oResolutionResult ||
|
|
162
|
-
!(oResolutionResult["sap.gui"]) ||
|
|
163
|
-
!(oResolutionResult.applicationType === "TR"))
|
|
164
|
-
) {
|
|
165
|
-
oPromise = constructFullWebguiResolutionResult(oMatchingTarget, sBaseUrl, fnExternalSystemAliasResolver);
|
|
166
|
-
} else if (
|
|
167
|
-
!(!oInbound ||
|
|
168
|
-
!oResolutionResult ||
|
|
169
|
-
!(oResolutionResult.applicationType === "TR") ||
|
|
170
|
-
!(oResolutionResult.url.indexOf("/~canvas;") >= 0) ||
|
|
171
|
-
!(oResolutionResult.url.indexOf("app/transaction/APB_LPD_CALL_") === -1)) //check no WRAPPED transaction
|
|
172
|
-
) {
|
|
173
|
-
oPromise = constructWebguiNowrapResult(oMatchingTarget, sBaseUrl, fnExternalSystemAliasResolver);
|
|
174
|
-
} else if (
|
|
175
|
-
!(!oInbound ||
|
|
176
|
-
!oResolutionResult ||
|
|
177
|
-
!(oResolutionResult.applicationType === "TR") ||
|
|
178
|
-
!(oResolutionResult.url.indexOf("/~canvas;") >= 0) ||
|
|
179
|
-
!(oResolutionResult.url.indexOf("app/transaction/APB_LPD_CALL_") >= 0)) // check WRAPPED transaction
|
|
180
|
-
) {
|
|
181
|
-
oPromise = constructWebguiWrapResult(oMatchingTarget, sBaseUrl, fnExternalSystemAliasResolver);
|
|
182
|
-
} else if (
|
|
183
|
-
!(// a native webgui URL
|
|
184
|
-
!oInbound ||
|
|
185
|
-
!oResolutionResult ||
|
|
186
|
-
!(oResolutionResult.applicationType === "TR") ||
|
|
187
|
-
!(oResolutionResult.url.indexOf("/its/webgui") >= 0) ||
|
|
188
|
-
!(oResolutionResult.url.indexOf("APB_LPD_CALL_") === -1) // a non wrapped URL
|
|
189
|
-
)
|
|
190
|
-
) {
|
|
191
|
-
oPromise = constructNativeWebguiNowrapResult(oMatchingTarget, sBaseUrl, fnExternalSystemAliasResolver);
|
|
192
|
-
} else if (
|
|
193
|
-
!(// a native webgui URL
|
|
194
|
-
!oInbound ||
|
|
195
|
-
!oResolutionResult ||
|
|
196
|
-
!(oResolutionResult.applicationType === "TR") ||
|
|
197
|
-
!(oResolutionResult.url.indexOf("/its/webgui") >= 0) ||
|
|
198
|
-
!(oResolutionResult.url.indexOf("APB_LPD_CALL_") !== -1) // a WRAPPED URL
|
|
199
|
-
)
|
|
200
|
-
) {
|
|
201
|
-
oPromise = constructNativeWebguiWrapResult(oMatchingTarget, sBaseUrl, fnExternalSystemAliasResolver);
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
if (oPromise) {
|
|
205
|
-
return oPromise.then(async (oResult) => {
|
|
206
|
-
if (oResult.url) {
|
|
207
|
-
oResult.url = oApplicationTypeUtils.appendParametersToUrl("sap-iframe-hint=GUI", oResult.url);
|
|
208
|
-
if (Config.last("/core/extension/dap/enabled")) {
|
|
209
|
-
const oPluginManager = await Container.getServiceAsync("PluginManager");
|
|
210
|
-
const bDapInstalled = oPluginManager.isPluginConfigured(Config.last("/core/extension/dap/pluginName"));
|
|
211
|
-
oResult.url = oApplicationTypeUtils.appendParametersToUrl(`sap-load-dap=${bDapInstalled}`, oResult.url);
|
|
212
|
-
} else {
|
|
213
|
-
oResult.url = oApplicationTypeUtils.appendParametersToUrl("sap-load-dap=false", oResult.url);
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
oResult.extendedInfo = oApplicationTypeUtils.getExtendedInfo(oMatchingTarget);
|
|
217
|
-
oApplicationTypeUtils.checkOpenWithPost(oMatchingTarget, oResult);
|
|
218
|
-
oApplicationTypeUtils.addKeepAliveToURLTemplateResult(oResult);
|
|
219
|
-
return oResult;
|
|
220
|
-
});
|
|
221
|
-
}
|
|
222
|
-
throw new Error("Cannot generate TR resolution result");
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
|
|
226
153
|
/**
|
|
227
154
|
* Creates a native webgui URL given the a resolution result "from" nothing (but either a
|
|
228
155
|
* Shell-startURL intent or a appdescriptor information
|
|
@@ -246,271 +173,351 @@ sap.ui.define([
|
|
|
246
173
|
* @private
|
|
247
174
|
*/
|
|
248
175
|
function buildNativeWebGuiURI (sTcode, sSapSystem, sSapSystemDataSrc, fnExternalSystemAliasResolver) {
|
|
249
|
-
let sUrl;
|
|
250
|
-
let oURI;
|
|
251
176
|
sTcode = encodeURIComponent(sTcode);
|
|
252
|
-
sUrl = `/gui/sap/its/webgui?%7etransaction=${sTcode}&%7enosplash=1`;
|
|
253
|
-
oURI = new URI(sUrl);
|
|
177
|
+
const sUrl = `/gui/sap/its/webgui?%7etransaction=${sTcode}&%7enosplash=1`;
|
|
178
|
+
const oURI = new URI(sUrl);
|
|
254
179
|
return oSystemAlias.spliceSapSystemIntoURI(oURI, oSystemAlias.LOCAL_SYSTEM_ALIAS, sSapSystem, sSapSystemDataSrc,
|
|
255
180
|
"NATIVEWEBGUI", oSystemAlias.SYSTEM_ALIAS_SEMANTICS.apply, fnExternalSystemAliasResolver);
|
|
256
181
|
}
|
|
257
182
|
|
|
258
|
-
|
|
259
183
|
/**
|
|
260
|
-
*
|
|
261
|
-
* interpolation format.
|
|
262
|
-
*
|
|
263
|
-
* The method tries to interpolate the given parameters into the
|
|
264
|
-
* <code>P_OBJECT</code> query parameter if present in the query
|
|
265
|
-
* string. Otherwise the <code>P_OBJECT</code> parameter is added to
|
|
266
|
-
* the query string.
|
|
267
|
-
*
|
|
268
|
-
* <p>Contrarily to standard URLs, the parameter must be injected into the
|
|
269
|
-
* query parameter double escaped (via encodeURIComponent) and with
|
|
270
|
-
* the nonstandard delimiters passed as input.
|
|
271
|
-
*
|
|
272
|
-
* <p >For example, when using '&' and '=' as delimiters, given the
|
|
273
|
-
* query string <code>A=B&P_OBJECT=</code>
|
|
274
|
-
* and the parameter object
|
|
275
|
-
* <pre>
|
|
276
|
-
* {
|
|
277
|
-
* B: ["C"],
|
|
278
|
-
* C: ["D"]
|
|
279
|
-
* }
|
|
280
|
-
* </pre>, the interpolated query string
|
|
281
|
-
* <code>A=B&P_OBJECT=B%2521C%2525C%2521D</code> is returned.
|
|
184
|
+
* Parses Native Webgui query parameter
|
|
282
185
|
*
|
|
283
|
-
*
|
|
284
|
-
*
|
|
285
|
-
*
|
|
286
|
-
* that is longer than 132 characters (unescaped), the string will be
|
|
287
|
-
* splitted over multiple <code>P_OBJx</code> parameters that are added
|
|
288
|
-
* to the URL.
|
|
289
|
-
* <br />
|
|
290
|
-
* For example, the method may return the following interpolated query:
|
|
291
|
-
* <code>P_OBJ1=rest_of_p_object_value&P_OBJ2=...&P_OBJECT=...some_long_value...</code>
|
|
292
|
-
* </p>
|
|
186
|
+
* @param {string} sTransactionQueryParam
|
|
187
|
+
* The full ~transaction query parameter with or without question
|
|
188
|
+
* mark. E.g., <code>?%7etransaction=*SU01%20p1%3d%3bP2=v2</code>
|
|
293
189
|
*
|
|
294
|
-
* @
|
|
295
|
-
*
|
|
296
|
-
* @param {object} oParamsToInject
|
|
297
|
-
* An object indicating the parameters that need to be interpolated.
|
|
298
|
-
* @param {string} sQueryParamDelimiter
|
|
299
|
-
* The delimiter used to separate parameters and values in <code>sQuery</code>. E.g., "&"
|
|
300
|
-
* @param {string} sQueryParamAssignDelimiter
|
|
301
|
-
* The delimiter used to separate assignments of a value to a parameter in <code>sQuery</code>. E.g., "="
|
|
190
|
+
* @returns {object}
|
|
191
|
+
* An object containing the parsed parts of the URL parameter
|
|
302
192
|
*
|
|
303
|
-
* @
|
|
304
|
-
* The interpolated query string.
|
|
193
|
+
* @private
|
|
305
194
|
*/
|
|
306
|
-
function
|
|
307
|
-
|
|
308
|
-
const
|
|
309
|
-
const
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
"%25", // a.k.a. "%", instead of &
|
|
316
|
-
"%21" // a.k.a. "!", instead of =
|
|
317
|
-
);
|
|
195
|
+
function parseWebguiTransactionQueryParam (sTransactionQueryParam) {
|
|
196
|
+
const sTransactionValueRe = "^(.+?)(%20|(%20)(.+))?$";
|
|
197
|
+
const reTransactionValue = new RegExp(sTransactionValueRe, "i");
|
|
198
|
+
const oParsed = {
|
|
199
|
+
hasParameters: null, // whether actual parameters are passed to the transaction
|
|
200
|
+
transactionParamName: "", // ?%7etransaction or %7etransaction
|
|
201
|
+
transactionCode: "", // SU01 or *SU01
|
|
202
|
+
parameters: [] // { name: ..., value: ... }
|
|
203
|
+
};
|
|
318
204
|
|
|
319
|
-
|
|
320
|
-
return sQuery;
|
|
321
|
-
}
|
|
205
|
+
const aParamNameValues = sTransactionQueryParam.split("=");
|
|
322
206
|
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
if (sParamsToInjectPrefix.length > 0) {
|
|
330
|
-
sParamsToInjectPrefix = `${sParamsToInjectPrefix}%25`;
|
|
331
|
-
}
|
|
207
|
+
if (aParamNameValues.length > 2) {
|
|
208
|
+
return {
|
|
209
|
+
error: "Found more than one assignment ('=') in the transaction query parameter",
|
|
210
|
+
details: `Only one '=' sign is expected in ${sTransactionQueryParam}`
|
|
211
|
+
};
|
|
212
|
+
}
|
|
332
213
|
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
214
|
+
if (aParamNameValues.length < 2 || typeof aParamNameValues[1]
|
|
215
|
+
=== "undefined" || aParamNameValues[1].length === 0) {
|
|
216
|
+
return {
|
|
217
|
+
error: "The transaction query parameter must specify at least the transaction name",
|
|
218
|
+
details: `Got ${sTransactionQueryParam} instead.`
|
|
219
|
+
};
|
|
220
|
+
}
|
|
336
221
|
|
|
337
|
-
|
|
338
|
-
const
|
|
339
|
-
pObjX: "",
|
|
340
|
-
pObject: ""
|
|
341
|
-
};
|
|
342
|
-
sParamsToInject
|
|
343
|
-
.match(new RegExp(`.{1,${iMaxGUIParamLength}}`, "g"))
|
|
344
|
-
.map((sParamGroupEncoded) => {
|
|
345
|
-
return encodeURIComponent(sParamGroupEncoded);
|
|
346
|
-
})
|
|
347
|
-
.forEach((sParamGroupDoubleEncoded, iGroupIdx) => {
|
|
348
|
-
// parameter name should be P_OBJECT or P_OBJx for further parameters
|
|
349
|
-
let sParamName = "P_OBJECT";
|
|
350
|
-
let sParamSection = "pObject";
|
|
351
|
-
if (iGroupIdx > 0) {
|
|
352
|
-
sParamName = `P_OBJ${iGroupIdx}`;
|
|
353
|
-
sParamSection = "pObjX";
|
|
354
|
-
}
|
|
222
|
+
oParsed.transactionParamName = aParamNameValues[0];
|
|
223
|
+
const sTransactionValue = aParamNameValues[1];
|
|
355
224
|
|
|
356
|
-
|
|
225
|
+
const aMatch = sTransactionValue.match(reTransactionValue);
|
|
226
|
+
if (!aMatch) {
|
|
227
|
+
return {
|
|
228
|
+
error: "Cannot parse ~transaction query parameter value.",
|
|
229
|
+
details: `${sTransactionValue} should match /${sTransactionValueRe}/`
|
|
230
|
+
};
|
|
231
|
+
}
|
|
357
232
|
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
233
|
+
oParsed.transactionCode = aMatch[1];
|
|
234
|
+
if (aMatch[2] && aMatch[2] !== "%20") { // if !== "%20" -> matches (%20)(.+)
|
|
235
|
+
// must parse parameters
|
|
236
|
+
const sTransactionParams = aMatch[4] || "";
|
|
237
|
+
sTransactionParams
|
|
238
|
+
.split("%3b") // i.e., "="
|
|
239
|
+
.forEach((sNameAndValue) => {
|
|
240
|
+
const aNameAndValue = sNameAndValue.split("%3d");
|
|
241
|
+
const sParamName = aNameAndValue[0];
|
|
361
242
|
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
243
|
+
if (sParamName && typeof sParamName === "string" && sParamName.length > 0) { // no empty names
|
|
244
|
+
oParsed.parameters.push({
|
|
245
|
+
name: sParamName,
|
|
246
|
+
value: aNameAndValue[1]
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
});
|
|
250
|
+
}
|
|
367
251
|
|
|
368
|
-
//
|
|
369
|
-
const oAmendResult = amendGuiParam("P_OBJECT", sQuery, sQueryParamDelimiter,
|
|
370
|
-
sQueryParamAssignDelimiter, (sFoundParamNameAndValue) => {
|
|
371
|
-
return sInjectedParams;
|
|
372
|
-
});
|
|
252
|
+
// post parsing adjustments
|
|
373
253
|
|
|
374
|
-
if
|
|
375
|
-
|
|
254
|
+
// detect whether the transaction name had a '*' or if the * was
|
|
255
|
+
// added because of parameters.
|
|
256
|
+
// NOTE: **SU01 would be a valid tcode
|
|
257
|
+
oParsed.hasParameters = false;
|
|
258
|
+
if (oParsed.parameters.length > 0) {
|
|
259
|
+
oParsed.hasParameters = true;
|
|
260
|
+
|
|
261
|
+
// must remove the starting "*" from the transaction code if
|
|
262
|
+
// any is found (was added because of parameters).
|
|
263
|
+
oParsed.transactionCode = oParsed.transactionCode.replace(/^[*]/, "");
|
|
376
264
|
}
|
|
377
265
|
|
|
378
|
-
|
|
379
|
-
return sQuery + (sQuery.length === 0 ? "" : sQueryParamDelimiter) + sInjectedParams;
|
|
266
|
+
return oParsed;
|
|
380
267
|
}
|
|
381
268
|
|
|
382
269
|
/**
|
|
383
|
-
*
|
|
270
|
+
* extract the DYNP_SKIP_SEL_SCREEN parameter that indicates whether to
|
|
271
|
+
* how the selection screen even if parameters are sent
|
|
384
272
|
*
|
|
385
|
-
* @param {
|
|
386
|
-
*
|
|
387
|
-
* @param {string} sQuery
|
|
388
|
-
* The query string to find the parameter in
|
|
389
|
-
* @param {string} sQueryParamDelimiter
|
|
390
|
-
* The delimiter used to separate parameters and values in <code>sQuery</code>. E.g., "&"
|
|
391
|
-
* @param {string} sQueryParamAssignDelimiter
|
|
392
|
-
* The delimiter used to separate assignments of a value to a parameter in <code>sQuery</code>. E.g., "="
|
|
393
|
-
* @param {function} fnAmend
|
|
394
|
-
* A callback used to amend the <code>sTargetParamName</code>
|
|
395
|
-
* parameter of the query string. It is a function that should return
|
|
396
|
-
* the value to assign to the target parameter in the query string,
|
|
397
|
-
* should this target parameter be present.
|
|
398
|
-
* <p>When this function returns <code>undefined</code>, the target
|
|
399
|
-
* parameter will be removed from the query string</p>
|
|
273
|
+
* @param {object} oParamsToInject the parameters to inject.
|
|
274
|
+
* @returns {string} the DYNP_SKIP_SEL_SCREEN value.
|
|
400
275
|
*
|
|
401
|
-
* @
|
|
402
|
-
* An object representing the result of the amend operation. It is like:
|
|
403
|
-
* <pre>
|
|
404
|
-
* {
|
|
405
|
-
* found: <boolean> // whether the target parameter was found
|
|
406
|
-
* query: <string> // the amended query string or the original
|
|
407
|
-
* // query string if the target parameter was not found
|
|
408
|
-
* }
|
|
409
|
-
* </pre>
|
|
276
|
+
* @private
|
|
410
277
|
*/
|
|
411
|
-
function
|
|
412
|
-
let
|
|
413
|
-
|
|
278
|
+
function getExplicitSkipSelectionScreenParameter (oParamsToInject) {
|
|
279
|
+
let sSkipValue = "";
|
|
280
|
+
if (oParamsToInject.hasOwnProperty("DYNP_SKIP_SEL_SCREEN")) {
|
|
281
|
+
const sParamVal = oParamsToInject.DYNP_SKIP_SEL_SCREEN[0];
|
|
282
|
+
delete oParamsToInject.DYNP_SKIP_SEL_SCREEN;
|
|
283
|
+
if (sParamVal === "" ||
|
|
284
|
+
sParamVal === " " ||
|
|
285
|
+
sParamVal === "0" ||
|
|
286
|
+
sParamVal === 0 ||
|
|
287
|
+
(typeof sParamVal === "string" && sParamVal.toLowerCase() === "false")) {
|
|
288
|
+
sSkipValue = "0";
|
|
289
|
+
} else if (sParamVal === "1" ||
|
|
290
|
+
sParamVal === 1 ||
|
|
291
|
+
(typeof sParamVal === "string" && sParamVal.toLowerCase() === "true")) {
|
|
292
|
+
sSkipValue = "1";
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
return sSkipValue;
|
|
296
|
+
}
|
|
414
297
|
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
298
|
+
/**
|
|
299
|
+
* Interpolates the given parameters into the webgui ~transaction parameter.
|
|
300
|
+
*
|
|
301
|
+
* The method tries to intepolate the given parameters after the
|
|
302
|
+
* transaction code present in the given ~transaction parameter.
|
|
303
|
+
*
|
|
304
|
+
* <p>For example, given the query string
|
|
305
|
+
* <code>?%7etransaction=SU01</code>
|
|
306
|
+
*
|
|
307
|
+
* and the parameter object
|
|
308
|
+
* <pre>
|
|
309
|
+
* {
|
|
310
|
+
* B: ["C"],
|
|
311
|
+
* C: ["D"]
|
|
312
|
+
* }
|
|
313
|
+
* </pre>, the following string is returned:
|
|
314
|
+
* <code>?%7etransaction=*SU01%20B%3dC%3bC%3dD</code
|
|
315
|
+
*
|
|
316
|
+
* @param {string} sTransactionQueryParam
|
|
317
|
+
* The whole ~transaction parameter. Must start with "?%7etransaction" or "%7etransaction".
|
|
318
|
+
* For example <ul
|
|
319
|
+
* <li><code>%7etransaction=*SU01%20AAAA%3d4321</code> (with AAAA=4321 parameter)</li>
|
|
320
|
+
* <li><code>?%7etransaction=SU01</code> (no parameters)</li>
|
|
321
|
+
* </ul>
|
|
322
|
+
* @param {object} oParamsToInject
|
|
323
|
+
* An object ating the parameters that need to be interpolated
|
|
324
|
+
* into <code>sTransactionQueryParam</code>.
|
|
325
|
+
*
|
|
326
|
+
* @returns {string}
|
|
327
|
+
* The interpolated ~transaction parameter (the leading ? is
|
|
328
|
+
* preserved if passed). The transaction code will have the form
|
|
329
|
+
* <code>*[CODE]%20[PARAMETERS]]</code> only when the transaction
|
|
330
|
+
* will be called with parameters, otherwise the format would be
|
|
331
|
+
* <code>[CODE]</code>.
|
|
332
|
+
*/
|
|
333
|
+
function injectEffectiveParametersIntoWebguiQueryParam (sTransactionQueryParam, oParamsToInject) {
|
|
334
|
+
const oParsedTransactionQueryParam = parseWebguiTransactionQueryParam(sTransactionQueryParam);
|
|
335
|
+
if (oParsedTransactionQueryParam.error) {
|
|
336
|
+
Log.error(
|
|
337
|
+
oParsedTransactionQueryParam.error,
|
|
338
|
+
oParsedTransactionQueryParam.details,
|
|
339
|
+
"sap.ushell.services.ClientSideTargetResolution"
|
|
340
|
+
);
|
|
341
|
+
return sTransactionQueryParam;
|
|
342
|
+
}
|
|
418
343
|
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
344
|
+
// Inject parameters
|
|
345
|
+
const aParametersFinal = oParsedTransactionQueryParam.parameters.map((oParameter) => {
|
|
346
|
+
return `${oParameter.name.toUpperCase()}%3d${oParameter.value}`;
|
|
347
|
+
});
|
|
422
348
|
|
|
423
|
-
|
|
349
|
+
const sSkipValue = getExplicitSkipSelectionScreenParameter(oParamsToInject);
|
|
424
350
|
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
351
|
+
// Turn all names upper case
|
|
352
|
+
const oParamsToInjectUpperCase = {};
|
|
353
|
+
Object.keys(oParamsToInject).forEach((sKey) => {
|
|
354
|
+
oParamsToInjectUpperCase[sKey.toUpperCase()] = oParamsToInject[sKey];
|
|
355
|
+
});
|
|
356
|
+
// NOTE: privparamsToString treats delimiters verbatim and encodes
|
|
357
|
+
// the parameters if necessary.
|
|
358
|
+
// Therefore we pass the delimiters already encoded!
|
|
359
|
+
//
|
|
360
|
+
let sParamsToInject = oApplicationTypeUtils.getURLParsing().privparamsToString(
|
|
361
|
+
oParamsToInjectUpperCase,
|
|
362
|
+
"%3b", // parameters delimiter
|
|
363
|
+
"%3d" // assigment
|
|
364
|
+
);
|
|
365
|
+
if (sParamsToInject) {
|
|
366
|
+
if (Object.keys(oParamsToInject).length > 0) {
|
|
367
|
+
sParamsToInject += "%3b";
|
|
368
|
+
}
|
|
369
|
+
aParametersFinal.push(sParamsToInject);
|
|
370
|
+
}
|
|
431
371
|
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
372
|
+
// Note: do not rely on oParsedTransactionQueryParam as we may
|
|
373
|
+
// still have injected parameters here.
|
|
374
|
+
const bHasParameters = aParametersFinal.length > 0;
|
|
375
|
+
|
|
376
|
+
return `${oParsedTransactionQueryParam.transactionParamName}=${
|
|
377
|
+
bHasParameters && (sSkipValue === "" || sSkipValue === "1") ? "*" : ""
|
|
378
|
+
}${oParsedTransactionQueryParam.transactionCode}${bHasParameters ? "%20" : ""}${aParametersFinal.join("%3b")}`;
|
|
436
379
|
}
|
|
437
380
|
|
|
381
|
+
/**
|
|
382
|
+
* Finds and returns webgui non-business parameters.
|
|
383
|
+
*
|
|
384
|
+
* @param {object} oParams
|
|
385
|
+
* set of WebGUI parameters
|
|
386
|
+
*
|
|
387
|
+
* @returns {object}
|
|
388
|
+
* the set of non-business parameters
|
|
389
|
+
*
|
|
390
|
+
* @private
|
|
391
|
+
*/
|
|
392
|
+
function getWebguiNonBusinessParameters (oParams) {
|
|
393
|
+
const oNonBusinessParams = oCSTRUtils.filterObject(oParams, (sKey, sVal) => {
|
|
394
|
+
return !isWebguiBusinessParameter(sKey, sVal);
|
|
395
|
+
});
|
|
438
396
|
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
const oInboundResolutionResult = oInbound && oInbound.resolutionResult;
|
|
442
|
-
const oResolutionResult = {};
|
|
397
|
+
return oNonBusinessParams;
|
|
398
|
+
}
|
|
443
399
|
|
|
444
|
-
|
|
445
|
-
|
|
400
|
+
/**
|
|
401
|
+
* blends parameters of oMatchingTarget into the oWebguiURI,
|
|
402
|
+
* then sets the altered URI constructing a resolution result in oMatchingTarget
|
|
403
|
+
*
|
|
404
|
+
* @param {object} oInbound
|
|
405
|
+
* The original inbound
|
|
406
|
+
*
|
|
407
|
+
* @param {object} oMappedIntentParamsPlusSimpleDefaults
|
|
408
|
+
* The set of mapped parameters including simple default parameters
|
|
409
|
+
*
|
|
410
|
+
* @param {function} oWebguiURI
|
|
411
|
+
* A (native) WebGui URI Object
|
|
412
|
+
*
|
|
413
|
+
* @returns {object} oResolutionResult
|
|
414
|
+
*
|
|
415
|
+
* Note: the method mutates oWebguiURI
|
|
416
|
+
* @private
|
|
417
|
+
*/
|
|
418
|
+
function blendParamsIntoNativeWebGUI (oInbound, oMappedIntentParamsPlusSimpleDefaults, oWebguiURI) {
|
|
419
|
+
const oForbiddenParameters = {
|
|
420
|
+
"sap-wd-run-sc": true,
|
|
421
|
+
"sap-wd-auto-detect": true,
|
|
422
|
+
"sap-ep-version": true,
|
|
423
|
+
"sap-system": true
|
|
424
|
+
};
|
|
425
|
+
|
|
426
|
+
const oResolutionResult = {};
|
|
446
427
|
|
|
447
428
|
// construct effective parameters
|
|
448
429
|
|
|
449
430
|
// NOTE: do not include defaultedParameterNames for wrapped URLs,
|
|
450
431
|
// as they may cause a crash the called application.
|
|
451
|
-
const oEffectiveParameters = deepExtend({},
|
|
452
|
-
|
|
432
|
+
const oEffectiveParameters = deepExtend({}, oMappedIntentParamsPlusSimpleDefaults);
|
|
453
433
|
const sSapSystem = oEffectiveParameters["sap-system"] && oEffectiveParameters["sap-system"][0];
|
|
454
434
|
const sSapSystemDataSrc = oEffectiveParameters["sap-system-src"] && oEffectiveParameters["sap-system-src"][0];
|
|
455
|
-
|
|
456
|
-
// in the Webgui case, the sap-system intent parameter is *not* part of the final url
|
|
435
|
+
// before deleting forbidden parameters, back-up sap-system and sap-system-src
|
|
457
436
|
oResolutionResult["sap-system"] = sSapSystem;
|
|
458
|
-
delete oEffectiveParameters["sap-system"];
|
|
459
|
-
|
|
460
|
-
// in the Webgui case, the sap-system-src intent parameter is *not* part of the final url
|
|
461
437
|
if (typeof sSapSystemDataSrc === "string") {
|
|
462
438
|
oResolutionResult["sap-system-src"] = sSapSystemDataSrc;
|
|
463
|
-
delete oEffectiveParameters["sap-system-src"];
|
|
464
439
|
}
|
|
465
440
|
|
|
441
|
+
// remove "forbidden" parameters
|
|
442
|
+
Object.keys(oEffectiveParameters).forEach((sParamName) => {
|
|
443
|
+
if (oForbiddenParameters[sParamName.toLowerCase()]) {
|
|
444
|
+
delete oEffectiveParameters[sParamName];
|
|
445
|
+
}
|
|
446
|
+
});
|
|
466
447
|
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
// Reconstruct the final url
|
|
473
|
-
// ASSUMPTION: there are no relevant parameters in the Webgui url, but only Webgui parameters.
|
|
448
|
+
const aUnneccessaryParameters = getUnnecessaryWebguiParameters(oEffectiveParameters, oInbound || {});
|
|
449
|
+
removeObjectKey(oEffectiveParameters, aUnneccessaryParameters);
|
|
450
|
+
|
|
451
|
+
const oEffectiveParametersToAppend = getWebguiNonBusinessParameters(oEffectiveParameters);
|
|
452
|
+
removeObjectKey(oEffectiveParameters, Object.keys(oEffectiveParametersToAppend));
|
|
474
453
|
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
.split("&")
|
|
478
|
-
.map((sQueryParam) => {
|
|
479
|
-
// interpolate effective parameter in the correct place within the ~transaction parameter
|
|
454
|
+
// Reconstruct the final url
|
|
455
|
+
// ASSUMPTION: there are no relevant parameters in the Webgui url, but only Webgui parameters.
|
|
480
456
|
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
457
|
+
const sParams = oWebguiURI.search(); // Webgui parameters
|
|
458
|
+
let sParamsInterpolated = sParams
|
|
459
|
+
.split("&")
|
|
460
|
+
.map((sQueryParam) => {
|
|
461
|
+
let aNonBusinessParam;
|
|
462
|
+
// interpolate effective parameter in the correct
|
|
463
|
+
// place within the ~transaction parameter
|
|
484
464
|
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
465
|
+
if (!isWebguiBusinessParameter(sQueryParam)) { // non-business parameters go in the end
|
|
466
|
+
// we need name = value
|
|
467
|
+
if (sQueryParam.indexOf("=") >= 0) {
|
|
468
|
+
aNonBusinessParam = sQueryParam.split("=");
|
|
469
|
+
if (!oEffectiveParametersToAppend.hasOwnProperty(aNonBusinessParam[0])) {
|
|
470
|
+
// effective parameters have precedence
|
|
471
|
+
oEffectiveParametersToAppend[
|
|
472
|
+
aNonBusinessParam[0] // name
|
|
473
|
+
] = aNonBusinessParam[1]; // value
|
|
493
474
|
}
|
|
475
|
+
} else {
|
|
476
|
+
Log.error(
|
|
477
|
+
"Found no '=' separator of Webgui non-business parameter. Parameter will be skipped.",
|
|
478
|
+
`'${sQueryParam}'`,
|
|
479
|
+
"sap.ushell.services.ClientSideTargetResolution"
|
|
480
|
+
);
|
|
481
|
+
}
|
|
494
482
|
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
.join("&");
|
|
483
|
+
return undefined; // do not append the parameter
|
|
484
|
+
}
|
|
498
485
|
|
|
499
|
-
|
|
486
|
+
if (sQueryParam.indexOf("?%7etransaction") === 0 ||
|
|
487
|
+
sQueryParam.indexOf("%7etransaction") === 0) { // found transaction
|
|
488
|
+
// treat transaction as if it was a query parameter
|
|
489
|
+
return injectEffectiveParametersIntoWebguiQueryParam(sQueryParam, oEffectiveParameters);
|
|
490
|
+
}
|
|
491
|
+
return sQueryParam;
|
|
492
|
+
})
|
|
493
|
+
.filter((sParam) => {
|
|
494
|
+
return typeof sParam !== "undefined";
|
|
495
|
+
}) // remove skipped parameters
|
|
496
|
+
.join("&");
|
|
500
497
|
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
oResolutionResult.applicationType = "TR"; // Triggers Native navigation
|
|
510
|
-
oApplicationTypeUtils.setSystemAlias(oResolutionResult, oInbound.resolutionResult);
|
|
498
|
+
// append non business parameters
|
|
499
|
+
const sEffectiveParamsToAppend =
|
|
500
|
+
oApplicationTypeUtils.getURLParsing().paramsToString(oEffectiveParametersToAppend);
|
|
501
|
+
sParamsInterpolated = [
|
|
502
|
+
sParamsInterpolated,
|
|
503
|
+
sEffectiveParamsToAppend.replace("~", "%7e") // encodeURIComponent escapes all characters except:
|
|
504
|
+
// alphabetic, decimal digits, - _ . ! ~ * ' ( )'
|
|
505
|
+
].join("&");
|
|
511
506
|
|
|
512
|
-
|
|
513
|
-
|
|
507
|
+
oWebguiURI.search(sParamsInterpolated);
|
|
508
|
+
|
|
509
|
+
// propagate properties from the inbound in the resolution result
|
|
510
|
+
["additionalInformation", "applicationDependencies", "sap.platform.runtime"].forEach((sPropName) => {
|
|
511
|
+
if (oInbound.resolutionResult.hasOwnProperty(sPropName)) {
|
|
512
|
+
oResolutionResult[sPropName] = oInbound.resolutionResult[sPropName];
|
|
513
|
+
}
|
|
514
|
+
});
|
|
515
|
+
oResolutionResult.url = oWebguiURI.toString();
|
|
516
|
+
oResolutionResult.text = oInbound.title;
|
|
517
|
+
oResolutionResult.applicationType = "TR"; // Triggers native navigation
|
|
518
|
+
oApplicationTypeUtils.setSystemAlias(oResolutionResult, oInbound.resolutionResult);
|
|
519
|
+
|
|
520
|
+
return oResolutionResult;
|
|
514
521
|
}
|
|
515
522
|
|
|
516
523
|
function constructFullWebguiResolutionResult (oMatchingTarget, sBaseUrl, fnExternalSystemAliasResolver) {
|
|
@@ -546,64 +553,6 @@ sap.ui.define([
|
|
|
546
553
|
});
|
|
547
554
|
}
|
|
548
555
|
|
|
549
|
-
function constructWebguiWrapResult (oMatchingTarget, sBaseUrl, fnExternalSystemAliasResolver) {
|
|
550
|
-
const oInbound = oMatchingTarget.inbound;
|
|
551
|
-
const oInboundResolutionResult = oInbound && oInbound.resolutionResult;
|
|
552
|
-
|
|
553
|
-
const oResolutionResult = {};
|
|
554
|
-
|
|
555
|
-
// splice parameters into Webgui url
|
|
556
|
-
const oWebguiURI = new URI(sBaseUrl);
|
|
557
|
-
|
|
558
|
-
// construct effective parameters
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
// NOTE: do not include defaultedParameterNames for wrapped URLs,
|
|
562
|
-
// as they may cause a crash the called application.
|
|
563
|
-
const oEffectiveParameters = deepExtend({}, oMatchingTarget.mappedIntentParamsPlusSimpleDefaults);
|
|
564
|
-
|
|
565
|
-
const sSapSystem = oEffectiveParameters["sap-system"] && oEffectiveParameters["sap-system"][0];
|
|
566
|
-
const sSapSystemDataSrc = oEffectiveParameters["sap-system-src"] && oEffectiveParameters["sap-system-src"][0];
|
|
567
|
-
|
|
568
|
-
// in the Webgui case, the sap-system intent parameter is *not* part of the final url
|
|
569
|
-
oResolutionResult["sap-system"] = sSapSystem;
|
|
570
|
-
delete oEffectiveParameters["sap-system"];
|
|
571
|
-
|
|
572
|
-
if (typeof sSapSystemDataSrc === "string") {
|
|
573
|
-
oResolutionResult["sap-system-src"] = sSapSystemDataSrc;
|
|
574
|
-
delete oEffectiveParameters["sap-system-src"];
|
|
575
|
-
}
|
|
576
|
-
|
|
577
|
-
return oSystemAlias.spliceSapSystemIntoURI(oWebguiURI, oInboundResolutionResult.systemAlias, sSapSystem,
|
|
578
|
-
sSapSystemDataSrc, "WEBGUI", oInboundResolutionResult.systemAliasSemantics
|
|
579
|
-
|| oSystemAlias.SYSTEM_ALIAS_SEMANTICS.applied, fnExternalSystemAliasResolver)
|
|
580
|
-
.then((oWebguiURI) => {
|
|
581
|
-
// Reconstruct the final url
|
|
582
|
-
// ASSUMPTION: there are no relevant parameters in the Webgui url, but only Webgui parameters.
|
|
583
|
-
let sParams = oWebguiURI.search(); // Webgui parameters
|
|
584
|
-
|
|
585
|
-
// Inject effective startup param
|
|
586
|
-
sParams = injectEffectiveParametersIntoWebguiPobjectParam(sParams, oEffectiveParameters,
|
|
587
|
-
"&", "=");
|
|
588
|
-
|
|
589
|
-
oWebguiURI.search(sParams);
|
|
590
|
-
|
|
591
|
-
// propagate properties from the inbound in the resolution result
|
|
592
|
-
["additionalInformation", "applicationDependencies"].forEach((sPropName) => {
|
|
593
|
-
if (oInbound.resolutionResult.hasOwnProperty(sPropName)) {
|
|
594
|
-
oResolutionResult[sPropName] = oInbound.resolutionResult[sPropName];
|
|
595
|
-
}
|
|
596
|
-
});
|
|
597
|
-
|
|
598
|
-
oResolutionResult.url = oWebguiURI.toString();
|
|
599
|
-
oResolutionResult.text = oInbound.title;
|
|
600
|
-
oResolutionResult.applicationType = "NWBC";
|
|
601
|
-
oApplicationTypeUtils.setSystemAlias(oResolutionResult, oInbound.resolutionResult);
|
|
602
|
-
|
|
603
|
-
return oResolutionResult;
|
|
604
|
-
});
|
|
605
|
-
}
|
|
606
|
-
|
|
607
556
|
function constructWebguiNowrapResult (oMatchingTarget, sBaseUrl, fnExternalSystemAliasResolver) {
|
|
608
557
|
const oInbound = oMatchingTarget.inbound;
|
|
609
558
|
const oInboundResolutionResult = oInbound && oInbound.resolutionResult;
|
|
@@ -705,354 +654,383 @@ sap.ui.define([
|
|
|
705
654
|
}
|
|
706
655
|
|
|
707
656
|
/**
|
|
708
|
-
*
|
|
709
|
-
* then sets the altered URI constructing a resolution result in oMatchingTarget
|
|
710
|
-
*
|
|
711
|
-
* @param {object} oInbound
|
|
712
|
-
* The original inbound
|
|
713
|
-
*
|
|
714
|
-
* @param {object} oMappedIntentParamsPlusSimpleDefaults
|
|
715
|
-
* The set of mapped parameters including simple default parameters
|
|
716
|
-
*
|
|
717
|
-
* @param {function} oWebguiURI
|
|
718
|
-
* A (native) WebGui URI Object
|
|
657
|
+
* Amends a specified GUI param through a given callback function.
|
|
719
658
|
*
|
|
720
|
-
* @
|
|
659
|
+
* @param {string} sTargetParamName
|
|
660
|
+
* The target WebGui parameter to find
|
|
661
|
+
* @param {string} sQuery
|
|
662
|
+
* The query string to find the parameter in
|
|
663
|
+
* @param {string} sQueryParamDelimiter
|
|
664
|
+
* The delimiter used to separate parameters and values in <code>sQuery</code>. E.g., "&"
|
|
665
|
+
* @param {string} sQueryParamAssignDelimiter
|
|
666
|
+
* The delimiter used to separate assignments of a value to a parameter in <code>sQuery</code>. E.g., "="
|
|
667
|
+
* @param {function} fnAmend
|
|
668
|
+
* A callback used to amend the <code>sTargetParamName</code>
|
|
669
|
+
* parameter of the query string. It is a function that should return
|
|
670
|
+
* the value to assign to the target parameter in the query string,
|
|
671
|
+
* should this target parameter be present.
|
|
672
|
+
* <p>When this function returns <code>undefined</code>, the target
|
|
673
|
+
* parameter will be removed from the query string</p>
|
|
721
674
|
*
|
|
722
|
-
*
|
|
723
|
-
*
|
|
675
|
+
* @returns {object}
|
|
676
|
+
* An object representing the result of the amend operation. It is like:
|
|
677
|
+
* <pre>
|
|
678
|
+
* {
|
|
679
|
+
* found: <boolean> // whether the target parameter was found
|
|
680
|
+
* query: <string> // the amended query string or the original
|
|
681
|
+
* // query string if the target parameter was not found
|
|
682
|
+
* }
|
|
683
|
+
* </pre>
|
|
724
684
|
*/
|
|
725
|
-
function
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
"sap-wd-auto-detect": true,
|
|
729
|
-
"sap-ep-version": true,
|
|
730
|
-
"sap-system": true
|
|
731
|
-
};
|
|
732
|
-
|
|
733
|
-
const oResolutionResult = {};
|
|
734
|
-
|
|
735
|
-
// construct effective parameters
|
|
736
|
-
|
|
737
|
-
// NOTE: do not include defaultedParameterNames for wrapped URLs,
|
|
738
|
-
// as they may cause a crash the called application.
|
|
739
|
-
const oEffectiveParameters = deepExtend({}, oMappedIntentParamsPlusSimpleDefaults);
|
|
740
|
-
const sSapSystem = oEffectiveParameters["sap-system"] && oEffectiveParameters["sap-system"][0];
|
|
741
|
-
const sSapSystemDataSrc = oEffectiveParameters["sap-system-src"] && oEffectiveParameters["sap-system-src"][0];
|
|
742
|
-
// before deleting forbidden parameters, back-up sap-system and sap-system-src
|
|
743
|
-
oResolutionResult["sap-system"] = sSapSystem;
|
|
744
|
-
if (typeof sSapSystemDataSrc === "string") {
|
|
745
|
-
oResolutionResult["sap-system-src"] = sSapSystemDataSrc;
|
|
746
|
-
}
|
|
747
|
-
|
|
748
|
-
// remove "forbidden" parameters
|
|
749
|
-
Object.keys(oEffectiveParameters).forEach((sParamName) => {
|
|
750
|
-
if (oForbiddenParameters[sParamName.toLowerCase()]) {
|
|
751
|
-
delete oEffectiveParameters[sParamName];
|
|
752
|
-
}
|
|
753
|
-
});
|
|
754
|
-
|
|
755
|
-
const aUnneccessaryParameters = getUnnecessaryWebguiParameters(oEffectiveParameters, oInbound || {});
|
|
756
|
-
removeObjectKey(oEffectiveParameters, aUnneccessaryParameters);
|
|
757
|
-
|
|
758
|
-
const oEffectiveParametersToAppend = getWebguiNonBusinessParameters(oEffectiveParameters);
|
|
759
|
-
removeObjectKey(oEffectiveParameters, Object.keys(oEffectiveParametersToAppend));
|
|
760
|
-
|
|
761
|
-
// Reconstruct the final url
|
|
762
|
-
// ASSUMPTION: there are no relevant parameters in the Webgui url, but only Webgui parameters.
|
|
763
|
-
|
|
764
|
-
const sParams = oWebguiURI.search(); // Webgui parameters
|
|
765
|
-
let sParamsInterpolated = sParams
|
|
766
|
-
.split("&")
|
|
767
|
-
.map((sQueryParam) => {
|
|
768
|
-
let aNonBusinessParam;
|
|
769
|
-
// interpolate effective parameter in the correct
|
|
770
|
-
// place within the ~transaction parameter
|
|
771
|
-
|
|
772
|
-
if (!isWebguiBusinessParameter(sQueryParam)) { // non-business parameters go in the end
|
|
773
|
-
// we need name = value
|
|
774
|
-
if (sQueryParam.indexOf("=") >= 0) {
|
|
775
|
-
|
|
776
|
-
aNonBusinessParam = sQueryParam.split("=");
|
|
777
|
-
if (!oEffectiveParametersToAppend.hasOwnProperty(aNonBusinessParam[0])) {
|
|
778
|
-
// effective parameters have precedence
|
|
779
|
-
oEffectiveParametersToAppend[
|
|
780
|
-
aNonBusinessParam[0] // name
|
|
781
|
-
] = aNonBusinessParam[1]; // value
|
|
782
|
-
}
|
|
783
|
-
|
|
784
|
-
} else {
|
|
785
|
-
Log.error(
|
|
786
|
-
"Found no '=' separator of Webgui non-business parameter. Parameter will be skipped.",
|
|
787
|
-
`'${sQueryParam}'`,
|
|
788
|
-
"sap.ushell.services.ClientSideTargetResolution"
|
|
789
|
-
);
|
|
790
|
-
}
|
|
685
|
+
function amendGuiParam (sTargetParamName, sQuery, sQueryParamDelimiter, sQueryParamAssignDelimiter, fnAmend) {
|
|
686
|
+
let bFound = false;
|
|
687
|
+
const sParamSearchPrefix = sTargetParamName + sQueryParamAssignDelimiter; // Param=
|
|
791
688
|
|
|
792
|
-
|
|
689
|
+
const sAmendedQuery = sQuery
|
|
690
|
+
.split(sQueryParamDelimiter)
|
|
691
|
+
.map((sParam) => {
|
|
692
|
+
if (sParam.indexOf(sParamSearchPrefix) !== 0) {
|
|
693
|
+
return sParam;
|
|
793
694
|
}
|
|
794
695
|
|
|
795
|
-
|
|
796
|
-
if (sQueryParam.indexOf("?%7etransaction") === 0 ||
|
|
797
|
-
sQueryParam.indexOf("%7etransaction") === 0) { // found transaction
|
|
696
|
+
bFound = true;
|
|
798
697
|
|
|
799
|
-
|
|
800
|
-
sInterpolatedQueryParam = injectEffectiveParametersIntoWebguiQueryParam(
|
|
801
|
-
sQueryParam,
|
|
802
|
-
oEffectiveParameters,
|
|
803
|
-
"%3b", // parameter separator -> ";"
|
|
804
|
-
"%3d" // parameter assign delimiter -> "="
|
|
805
|
-
);
|
|
806
|
-
return sInterpolatedQueryParam;
|
|
807
|
-
}
|
|
808
|
-
return sQueryParam;
|
|
698
|
+
return fnAmend(sParam);
|
|
809
699
|
})
|
|
810
700
|
.filter((sParam) => {
|
|
811
701
|
return typeof sParam !== "undefined";
|
|
812
|
-
})
|
|
813
|
-
.join(
|
|
814
|
-
|
|
815
|
-
// append non business parameters
|
|
816
|
-
const sEffectiveParamsToAppend =
|
|
817
|
-
oApplicationTypeUtils.getURLParsing().paramsToString(oEffectiveParametersToAppend);
|
|
818
|
-
sParamsInterpolated = [
|
|
819
|
-
sParamsInterpolated,
|
|
820
|
-
sEffectiveParamsToAppend.replace("~", "%7e") // encodeURIComponent escapes all characters except:
|
|
821
|
-
// alphabetic, decimal digits, - _ . ! ~ * ' ( )'
|
|
822
|
-
].join("&");
|
|
823
|
-
|
|
824
|
-
oWebguiURI.search(sParamsInterpolated);
|
|
825
|
-
|
|
826
|
-
// propagate properties from the inbound in the resolution result
|
|
827
|
-
["additionalInformation", "applicationDependencies", "sap.platform.runtime"].forEach((sPropName) => {
|
|
828
|
-
if (oInbound.resolutionResult.hasOwnProperty(sPropName)) {
|
|
829
|
-
oResolutionResult[sPropName] = oInbound.resolutionResult[sPropName];
|
|
830
|
-
}
|
|
831
|
-
});
|
|
832
|
-
oResolutionResult.url = oWebguiURI.toString();
|
|
833
|
-
oResolutionResult.text = oInbound.title;
|
|
834
|
-
oResolutionResult.applicationType = "TR"; // Triggers native navigation
|
|
835
|
-
oApplicationTypeUtils.setSystemAlias(oResolutionResult, oInbound.resolutionResult);
|
|
702
|
+
})
|
|
703
|
+
.join(sQueryParamDelimiter);
|
|
836
704
|
|
|
837
|
-
return
|
|
705
|
+
return {
|
|
706
|
+
found: bFound,
|
|
707
|
+
query: sAmendedQuery
|
|
708
|
+
};
|
|
838
709
|
}
|
|
839
710
|
|
|
840
711
|
/**
|
|
841
|
-
*
|
|
712
|
+
* Interpolates the parameters into the given query using transaction
|
|
713
|
+
* interpolation format.
|
|
842
714
|
*
|
|
843
|
-
*
|
|
844
|
-
*
|
|
715
|
+
* The method tries to interpolate the given parameters into the
|
|
716
|
+
* <code>P_OBJECT</code> query parameter if present in the query
|
|
717
|
+
* string. Otherwise the <code>P_OBJECT</code> parameter is added to
|
|
718
|
+
* the query string.
|
|
845
719
|
*
|
|
846
|
-
*
|
|
847
|
-
*
|
|
720
|
+
* <p>Contrarily to standard URLs, the parameter must be injected into the
|
|
721
|
+
* query parameter double escaped (via encodeURIComponent) and with
|
|
722
|
+
* the nonstandard delimiters passed as input.
|
|
848
723
|
*
|
|
849
|
-
*
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
}
|
|
860
|
-
|
|
861
|
-
/**
|
|
862
|
-
* Parses Native Webgui query parameter
|
|
724
|
+
* <p >For example, when using '&' and '=' as delimiters, given the
|
|
725
|
+
* query string <code>A=B&P_OBJECT=</code>
|
|
726
|
+
* and the parameter object
|
|
727
|
+
* <pre>
|
|
728
|
+
* {
|
|
729
|
+
* B: ["C"],
|
|
730
|
+
* C: ["D"]
|
|
731
|
+
* }
|
|
732
|
+
* </pre>, the interpolated query string
|
|
733
|
+
* <code>A=B&P_OBJECT=B%2521C%2525C%2521D</code> is returned.
|
|
863
734
|
*
|
|
864
|
-
*
|
|
865
|
-
*
|
|
866
|
-
*
|
|
735
|
+
* <p>
|
|
736
|
+
* IMPORTANT: the <code>P_OBJECT</code> parameter can take maximum 132
|
|
737
|
+
* characters in its value. In case the given parameters form a string
|
|
738
|
+
* that is longer than 132 characters (unescaped), the string will be
|
|
739
|
+
* splitted over multiple <code>P_OBJx</code> parameters that are added
|
|
740
|
+
* to the URL.
|
|
741
|
+
* <br />
|
|
742
|
+
* For example, the method may return the following interpolated query:
|
|
743
|
+
* <code>P_OBJ1=rest_of_p_object_value&P_OBJ2=...&P_OBJECT=...some_long_value...</code>
|
|
744
|
+
* </p>
|
|
867
745
|
*
|
|
868
|
-
* @
|
|
869
|
-
*
|
|
746
|
+
* @param {string} sQuery
|
|
747
|
+
* The query string to interpolate the parameters into
|
|
748
|
+
* @param {object} oParamsToInject
|
|
749
|
+
* An object indicating the parameters that need to be interpolated.
|
|
750
|
+
* @param {string} sQueryParamDelimiter
|
|
751
|
+
* The delimiter used to separate parameters and values in <code>sQuery</code>. E.g., "&"
|
|
752
|
+
* @param {string} sQueryParamAssignDelimiter
|
|
753
|
+
* The delimiter used to separate assignments of a value to a parameter in <code>sQuery</code>. E.g., "="
|
|
870
754
|
*
|
|
871
|
-
* @
|
|
755
|
+
* @returns {string}
|
|
756
|
+
* The interpolated query string.
|
|
872
757
|
*/
|
|
873
|
-
function
|
|
874
|
-
const
|
|
875
|
-
const
|
|
876
|
-
let sTransactionValue;
|
|
877
|
-
const oParsed = {
|
|
878
|
-
hasParameters: null, // whether actual parameters are passed to the transaction
|
|
879
|
-
transactionParamName: "", // ?%7etransaction or %7etransaction
|
|
880
|
-
transactionCode: "", // SU01 or *SU01
|
|
881
|
-
parameters: [] // { name: ..., value: ... }
|
|
882
|
-
};
|
|
758
|
+
function injectEffectiveParametersIntoWebguiPobjectParam (sQuery, oParamsToInject, sQueryParamDelimiter, sQueryParamAssignDelimiter) {
|
|
759
|
+
const sPobjectPlusDelimiter = `P_OBJECT${sQueryParamAssignDelimiter}`;
|
|
760
|
+
const iMaxGUIParamLength = 132;
|
|
883
761
|
|
|
884
|
-
|
|
762
|
+
// NOTE: the result of privparamsToString does not encode
|
|
763
|
+
// delimiters, hence we pass them encoded.
|
|
764
|
+
let sParamsToInject = oApplicationTypeUtils.getURLParsing().privparamsToString(
|
|
765
|
+
oParamsToInject,
|
|
766
|
+
"%25", // a.k.a. "%", instead of &
|
|
767
|
+
"%21" // a.k.a. "!", instead of =
|
|
768
|
+
);
|
|
885
769
|
|
|
886
|
-
if (
|
|
887
|
-
return
|
|
888
|
-
error: "Found more than one assignment ('=') in the transaction query parameter",
|
|
889
|
-
details: `Only one '=' sign is expected in ${sTransactionQueryParam}`
|
|
890
|
-
};
|
|
770
|
+
if (!sParamsToInject) {
|
|
771
|
+
return sQuery;
|
|
891
772
|
}
|
|
892
773
|
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
774
|
+
// Parse away existing parameters in P_OBJECT
|
|
775
|
+
let sParamsToInjectPrefix = "";
|
|
776
|
+
amendGuiParam("P_OBJECT", sQuery, sQueryParamDelimiter, sQueryParamAssignDelimiter,
|
|
777
|
+
(sParamNameAndValueDoubleEncoded) => {
|
|
778
|
+
const sParamValueDoubleEncoded = sParamNameAndValueDoubleEncoded.replace(sPobjectPlusDelimiter, "");
|
|
779
|
+
sParamsToInjectPrefix = decodeURIComponent(sParamValueDoubleEncoded);
|
|
780
|
+
if (sParamsToInjectPrefix.length > 0) {
|
|
781
|
+
sParamsToInjectPrefix = `${sParamsToInjectPrefix}%25`;
|
|
782
|
+
}
|
|
783
|
+
|
|
784
|
+
return sPobjectPlusDelimiter; // just leave the P_OBJECT= placeholder if found
|
|
785
|
+
});
|
|
786
|
+
sParamsToInject = sParamsToInjectPrefix + sParamsToInject;
|
|
787
|
+
|
|
788
|
+
// Generate the injected parameters
|
|
789
|
+
const oParamsSections = {
|
|
790
|
+
pObjX: "",
|
|
791
|
+
pObject: ""
|
|
792
|
+
};
|
|
793
|
+
sParamsToInject
|
|
794
|
+
.match(new RegExp(`.{1,${iMaxGUIParamLength}}`, "g"))
|
|
795
|
+
.map((sParamGroupEncoded) => {
|
|
796
|
+
return encodeURIComponent(sParamGroupEncoded);
|
|
797
|
+
})
|
|
798
|
+
.forEach((sParamGroupDoubleEncoded, iGroupIdx) => {
|
|
799
|
+
// parameter name should be P_OBJECT or P_OBJx for further parameters
|
|
800
|
+
let sParamName = "P_OBJECT";
|
|
801
|
+
let sParamSection = "pObject";
|
|
802
|
+
if (iGroupIdx > 0) {
|
|
803
|
+
sParamName = `P_OBJ${iGroupIdx}`;
|
|
804
|
+
sParamSection = "pObjX";
|
|
805
|
+
}
|
|
806
|
+
|
|
807
|
+
const sSectionDelimiter = oParamsSections[sParamSection].length === 0 ? "" : sQueryParamDelimiter;
|
|
808
|
+
|
|
809
|
+
oParamsSections[sParamSection] = oParamsSections[sParamSection] + sSectionDelimiter + sParamName
|
|
810
|
+
+ sQueryParamAssignDelimiter + sParamGroupDoubleEncoded;
|
|
811
|
+
});
|
|
812
|
+
|
|
813
|
+
const sInjectedParams = [oParamsSections.pObjX, oParamsSections.pObject]
|
|
814
|
+
.filter((sParamSection) => {
|
|
815
|
+
return sParamSection.length > 0;
|
|
816
|
+
})
|
|
817
|
+
.join(sQueryParamDelimiter);
|
|
818
|
+
|
|
819
|
+
// Place the injected params in the right place in the query
|
|
820
|
+
const oAmendResult = amendGuiParam("P_OBJECT", sQuery, sQueryParamDelimiter,
|
|
821
|
+
sQueryParamAssignDelimiter, (sFoundParamNameAndValue) => {
|
|
822
|
+
return sInjectedParams;
|
|
823
|
+
});
|
|
824
|
+
|
|
825
|
+
if (oAmendResult.found) {
|
|
826
|
+
return oAmendResult.query;
|
|
899
827
|
}
|
|
900
828
|
|
|
901
|
-
|
|
902
|
-
|
|
829
|
+
// amendment not performed: just append the concatenation
|
|
830
|
+
return sQuery + (sQuery.length === 0 ? "" : sQueryParamDelimiter) + sInjectedParams;
|
|
831
|
+
}
|
|
903
832
|
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
833
|
+
function constructWebguiWrapResult (oMatchingTarget, sBaseUrl, fnExternalSystemAliasResolver) {
|
|
834
|
+
const oInbound = oMatchingTarget.inbound;
|
|
835
|
+
const oInboundResolutionResult = oInbound && oInbound.resolutionResult;
|
|
836
|
+
|
|
837
|
+
const oResolutionResult = {};
|
|
838
|
+
|
|
839
|
+
// splice parameters into Webgui url
|
|
840
|
+
const oWebguiURI = new URI(sBaseUrl);
|
|
841
|
+
|
|
842
|
+
// construct effective parameters
|
|
843
|
+
|
|
844
|
+
// NOTE: do not include defaultedParameterNames for wrapped URLs,
|
|
845
|
+
// as they may cause a crash the called application.
|
|
846
|
+
const oEffectiveParameters = deepExtend({}, oMatchingTarget.mappedIntentParamsPlusSimpleDefaults);
|
|
847
|
+
|
|
848
|
+
const sSapSystem = oEffectiveParameters["sap-system"] && oEffectiveParameters["sap-system"][0];
|
|
849
|
+
const sSapSystemDataSrc = oEffectiveParameters["sap-system-src"] && oEffectiveParameters["sap-system-src"][0];
|
|
850
|
+
|
|
851
|
+
// in the Webgui case, the sap-system intent parameter is *not* part of the final url
|
|
852
|
+
oResolutionResult["sap-system"] = sSapSystem;
|
|
853
|
+
delete oEffectiveParameters["sap-system"];
|
|
854
|
+
|
|
855
|
+
if (typeof sSapSystemDataSrc === "string") {
|
|
856
|
+
oResolutionResult["sap-system-src"] = sSapSystemDataSrc;
|
|
857
|
+
delete oEffectiveParameters["sap-system-src"];
|
|
910
858
|
}
|
|
911
859
|
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
.
|
|
919
|
-
const aNameAndValue = sNameAndValue.split("%3d");
|
|
920
|
-
const sParamName = aNameAndValue[0];
|
|
860
|
+
return oSystemAlias.spliceSapSystemIntoURI(oWebguiURI, oInboundResolutionResult.systemAlias, sSapSystem,
|
|
861
|
+
sSapSystemDataSrc, "WEBGUI", oInboundResolutionResult.systemAliasSemantics
|
|
862
|
+
|| oSystemAlias.SYSTEM_ALIAS_SEMANTICS.applied, fnExternalSystemAliasResolver)
|
|
863
|
+
.then((oWebguiURI) => {
|
|
864
|
+
// Reconstruct the final url
|
|
865
|
+
// ASSUMPTION: there are no relevant parameters in the Webgui url, but only Webgui parameters.
|
|
866
|
+
let sParams = oWebguiURI.search(); // Webgui parameters
|
|
921
867
|
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
868
|
+
// Inject effective startup param
|
|
869
|
+
sParams = injectEffectiveParametersIntoWebguiPobjectParam(sParams, oEffectiveParameters,
|
|
870
|
+
"&", "=");
|
|
871
|
+
|
|
872
|
+
oWebguiURI.search(sParams);
|
|
873
|
+
|
|
874
|
+
// propagate properties from the inbound in the resolution result
|
|
875
|
+
["additionalInformation", "applicationDependencies"].forEach((sPropName) => {
|
|
876
|
+
if (oInbound.resolutionResult.hasOwnProperty(sPropName)) {
|
|
877
|
+
oResolutionResult[sPropName] = oInbound.resolutionResult[sPropName];
|
|
927
878
|
}
|
|
928
879
|
});
|
|
929
|
-
}
|
|
930
880
|
|
|
931
|
-
|
|
881
|
+
oResolutionResult.url = oWebguiURI.toString();
|
|
882
|
+
oResolutionResult.text = oInbound.title;
|
|
883
|
+
oResolutionResult.applicationType = "NWBC";
|
|
884
|
+
oApplicationTypeUtils.setSystemAlias(oResolutionResult, oInbound.resolutionResult);
|
|
932
885
|
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
oParsed.hasParameters = false;
|
|
937
|
-
if (oParsed.parameters.length > 0) {
|
|
938
|
-
oParsed.hasParameters = true;
|
|
886
|
+
return oResolutionResult;
|
|
887
|
+
});
|
|
888
|
+
}
|
|
939
889
|
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
}
|
|
890
|
+
function constructNativeWebguiWrapResult (oMatchingTarget, sBaseUrl, fnExternalSystemAliasResolver) {
|
|
891
|
+
const oInbound = oMatchingTarget.inbound;
|
|
892
|
+
const oInboundResolutionResult = oInbound && oInbound.resolutionResult;
|
|
893
|
+
const oResolutionResult = {};
|
|
944
894
|
|
|
945
|
-
|
|
946
|
-
|
|
895
|
+
// splice parameters into Webgui url
|
|
896
|
+
const oWebguiURI = new URI(sBaseUrl);
|
|
947
897
|
|
|
898
|
+
// construct effective parameters
|
|
948
899
|
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
* The method tries to intepolate the given parameters after the
|
|
953
|
-
* transaction code present in the given ~transaction parameter.
|
|
954
|
-
*
|
|
955
|
-
* <p>For example, given the query string
|
|
956
|
-
* <code>?%7etransaction=SU01</code>
|
|
957
|
-
*
|
|
958
|
-
* and the parameter object
|
|
959
|
-
* <pre>
|
|
960
|
-
* {
|
|
961
|
-
* B: ["C"],
|
|
962
|
-
* C: ["D"]
|
|
963
|
-
* }
|
|
964
|
-
* </pre>, the following string is returned:
|
|
965
|
-
* <code>?%7etransaction=*SU01%20B%3dC%3bC%3dD</code
|
|
966
|
-
*
|
|
967
|
-
* @param {string} sTransactionQueryParam
|
|
968
|
-
* The whole ~transaction parameter. Must start with "?%7etransaction" or "%7etransaction".
|
|
969
|
-
* For example <ul
|
|
970
|
-
* <li><code>%7etransaction=*SU01%20AAAA%3d4321</code> (with AAAA=4321 parameter)</li>
|
|
971
|
-
* <li><code>?%7etransaction=SU01</code> (no parameters)</li>
|
|
972
|
-
* </ul>
|
|
973
|
-
* @param {object} oParamsToInject
|
|
974
|
-
* An object ating the parameters that need to be interpolated
|
|
975
|
-
* into <code>sTransactionQueryParam</code>.
|
|
976
|
-
*
|
|
977
|
-
* @returns {string}
|
|
978
|
-
* The interpolated ~transaction parameter (the leading ? is
|
|
979
|
-
* preserved if passed). The transaction code will have the form
|
|
980
|
-
* <code>*[CODE]%20[PARAMETERS]]</code> only when the transaction
|
|
981
|
-
* will be called with parameters, otherwise the format would be
|
|
982
|
-
* <code>[CODE]</code>.
|
|
983
|
-
*/
|
|
984
|
-
function injectEffectiveParametersIntoWebguiQueryParam (sTransactionQueryParam, oParamsToInject) {
|
|
985
|
-
const oParsedTransactionQueryParam = parseWebguiTransactionQueryParam(sTransactionQueryParam);
|
|
986
|
-
if (oParsedTransactionQueryParam.error) {
|
|
987
|
-
Log.error(
|
|
988
|
-
oParsedTransactionQueryParam.error,
|
|
989
|
-
oParsedTransactionQueryParam.details,
|
|
990
|
-
"sap.ushell.services.ClientSideTargetResolution"
|
|
991
|
-
);
|
|
992
|
-
return sTransactionQueryParam;
|
|
993
|
-
}
|
|
900
|
+
// NOTE: do not include defaultedParameterNames for wrapped URLs,
|
|
901
|
+
// as they may cause a crash the called application.
|
|
902
|
+
const oEffectiveParameters = deepExtend({}, oMatchingTarget.mappedIntentParamsPlusSimpleDefaults);
|
|
994
903
|
|
|
995
|
-
|
|
996
|
-
const
|
|
997
|
-
return `${oParameter.name.toUpperCase()}%3d${oParameter.value}`;
|
|
998
|
-
});
|
|
904
|
+
const sSapSystem = oEffectiveParameters["sap-system"] && oEffectiveParameters["sap-system"][0];
|
|
905
|
+
const sSapSystemDataSrc = oEffectiveParameters["sap-system-src"] && oEffectiveParameters["sap-system-src"][0];
|
|
999
906
|
|
|
1000
|
-
|
|
907
|
+
// in the Webgui case, the sap-system intent parameter is *not* part of the final url
|
|
908
|
+
oResolutionResult["sap-system"] = sSapSystem;
|
|
909
|
+
delete oEffectiveParameters["sap-system"];
|
|
1001
910
|
|
|
1002
|
-
//
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
});
|
|
1007
|
-
// NOTE: privparamsToString treats delimiters verbatim and encodes
|
|
1008
|
-
// the parameters if necessary.
|
|
1009
|
-
// Therefore we pass the delimiters already encoded!
|
|
1010
|
-
//
|
|
1011
|
-
let sParamsToInject = oApplicationTypeUtils.getURLParsing().privparamsToString(
|
|
1012
|
-
oParamsToInjectUpperCase,
|
|
1013
|
-
"%3b", // parameters delimiter
|
|
1014
|
-
"%3d" // assigment
|
|
1015
|
-
);
|
|
1016
|
-
if (sParamsToInject) {
|
|
1017
|
-
if (Object.keys(oParamsToInject).length > 0) {
|
|
1018
|
-
sParamsToInject += "%3b";
|
|
1019
|
-
}
|
|
1020
|
-
aParametersFinal.push(sParamsToInject);
|
|
911
|
+
// in the Webgui case, the sap-system-src intent parameter is *not* part of the final url
|
|
912
|
+
if (typeof sSapSystemDataSrc === "string") {
|
|
913
|
+
oResolutionResult["sap-system-src"] = sSapSystemDataSrc;
|
|
914
|
+
delete oEffectiveParameters["sap-system-src"];
|
|
1021
915
|
}
|
|
1022
916
|
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
917
|
+
return oSystemAlias.spliceSapSystemIntoURI(oWebguiURI, oInboundResolutionResult.systemAlias, sSapSystem,
|
|
918
|
+
sSapSystemDataSrc, "NATIVEWEBGUI",
|
|
919
|
+
oInboundResolutionResult.systemAliasSemantics
|
|
920
|
+
|| oSystemAlias.SYSTEM_ALIAS_SEMANTICS.applied, fnExternalSystemAliasResolver)
|
|
921
|
+
.then((oWebguiURI) => {
|
|
922
|
+
// Reconstruct the final url
|
|
923
|
+
// ASSUMPTION: there are no relevant parameters in the Webgui url, but only Webgui parameters.
|
|
1026
924
|
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
925
|
+
const sParams = oWebguiURI.search(); // Webgui parameters
|
|
926
|
+
const sParamsInterpolated = sParams
|
|
927
|
+
.split("&")
|
|
928
|
+
.map((sQueryParam) => {
|
|
929
|
+
// interpolate effective parameter in the correct place within the ~transaction parameter
|
|
930
|
+
|
|
931
|
+
let sInterpolatedQueryParam;
|
|
932
|
+
if (sQueryParam.indexOf("?%7etransaction") === 0 ||
|
|
933
|
+
sQueryParam.indexOf("%7etransaction") === 0) { // found transaction
|
|
934
|
+
// treat transaction as if it was a query parameter
|
|
935
|
+
sInterpolatedQueryParam = injectEffectiveParametersIntoWebguiPobjectParam(
|
|
936
|
+
sQueryParam,
|
|
937
|
+
oEffectiveParameters,
|
|
938
|
+
"%3b", // parameter separator -> ";"
|
|
939
|
+
"%3d" // parameter assign delimiter -> "="
|
|
940
|
+
);
|
|
941
|
+
return sInterpolatedQueryParam;
|
|
942
|
+
}
|
|
943
|
+
|
|
944
|
+
return sQueryParam;
|
|
945
|
+
})
|
|
946
|
+
.join("&");
|
|
947
|
+
|
|
948
|
+
oWebguiURI.search(sParamsInterpolated);
|
|
949
|
+
|
|
950
|
+
// propagate properties from the inbound in the resolution result
|
|
951
|
+
["additionalInformation", "applicationDependencies"].forEach((sPropName) => {
|
|
952
|
+
if (oInbound.resolutionResult.hasOwnProperty(sPropName)) {
|
|
953
|
+
oResolutionResult[sPropName] = oInbound.resolutionResult[sPropName];
|
|
954
|
+
}
|
|
955
|
+
});
|
|
956
|
+
oResolutionResult.url = oWebguiURI.toString();
|
|
957
|
+
oResolutionResult.text = oInbound.title;
|
|
958
|
+
oResolutionResult.applicationType = "TR"; // Triggers Native navigation
|
|
959
|
+
oApplicationTypeUtils.setSystemAlias(oResolutionResult, oInbound.resolutionResult);
|
|
960
|
+
|
|
961
|
+
return oResolutionResult;
|
|
962
|
+
});
|
|
1030
963
|
}
|
|
1031
964
|
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
(
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
965
|
+
function generateTRResolutionResult (oMatchingTarget, sBaseUrl, fnExternalSystemAliasResolver) {
|
|
966
|
+
const oInbound = oMatchingTarget.inbound;
|
|
967
|
+
const oResolutionResult = oInbound && oInbound.resolutionResult;
|
|
968
|
+
let oPromise;
|
|
969
|
+
|
|
970
|
+
if (
|
|
971
|
+
!(!oInbound ||
|
|
972
|
+
!oResolutionResult ||
|
|
973
|
+
!(oResolutionResult["sap.gui"]) ||
|
|
974
|
+
!(oResolutionResult.applicationType === "TR"))
|
|
975
|
+
) {
|
|
976
|
+
oPromise = constructFullWebguiResolutionResult(oMatchingTarget, sBaseUrl, fnExternalSystemAliasResolver);
|
|
977
|
+
} else if (
|
|
978
|
+
!(!oInbound ||
|
|
979
|
+
!oResolutionResult ||
|
|
980
|
+
!(oResolutionResult.applicationType === "TR") ||
|
|
981
|
+
!(oResolutionResult.url.indexOf("/~canvas;") >= 0) ||
|
|
982
|
+
!(oResolutionResult.url.indexOf("app/transaction/APB_LPD_CALL_") === -1)) // check no WRAPPED transaction
|
|
983
|
+
) {
|
|
984
|
+
oPromise = constructWebguiNowrapResult(oMatchingTarget, sBaseUrl, fnExternalSystemAliasResolver);
|
|
985
|
+
} else if (
|
|
986
|
+
!(!oInbound ||
|
|
987
|
+
!oResolutionResult ||
|
|
988
|
+
!(oResolutionResult.applicationType === "TR") ||
|
|
989
|
+
!(oResolutionResult.url.indexOf("/~canvas;") >= 0) ||
|
|
990
|
+
!(oResolutionResult.url.indexOf("app/transaction/APB_LPD_CALL_") >= 0)) // check WRAPPED transaction
|
|
991
|
+
) {
|
|
992
|
+
oPromise = constructWebguiWrapResult(oMatchingTarget, sBaseUrl, fnExternalSystemAliasResolver);
|
|
993
|
+
} else if (
|
|
994
|
+
!(// a native webgui URL
|
|
995
|
+
!oInbound ||
|
|
996
|
+
!oResolutionResult ||
|
|
997
|
+
!(oResolutionResult.applicationType === "TR") ||
|
|
998
|
+
!(oResolutionResult.url.indexOf("/its/webgui") >= 0) ||
|
|
999
|
+
!(oResolutionResult.url.indexOf("APB_LPD_CALL_") === -1) // a non wrapped URL
|
|
1000
|
+
)
|
|
1001
|
+
) {
|
|
1002
|
+
oPromise = constructNativeWebguiNowrapResult(oMatchingTarget, sBaseUrl, fnExternalSystemAliasResolver);
|
|
1003
|
+
} else if (
|
|
1004
|
+
!(// a native webgui URL
|
|
1005
|
+
!oInbound ||
|
|
1006
|
+
!oResolutionResult ||
|
|
1007
|
+
!(oResolutionResult.applicationType === "TR") ||
|
|
1008
|
+
!(oResolutionResult.url.indexOf("/its/webgui") >= 0) ||
|
|
1009
|
+
!(oResolutionResult.url.indexOf("APB_LPD_CALL_") !== -1) // a WRAPPED URL
|
|
1010
|
+
)
|
|
1011
|
+
) {
|
|
1012
|
+
oPromise = constructNativeWebguiWrapResult(oMatchingTarget, sBaseUrl, fnExternalSystemAliasResolver);
|
|
1054
1013
|
}
|
|
1055
|
-
|
|
1014
|
+
|
|
1015
|
+
if (oPromise) {
|
|
1016
|
+
return oPromise.then(async (oResult) => {
|
|
1017
|
+
if (oResult.url) {
|
|
1018
|
+
oResult.url = oApplicationTypeUtils.appendParametersToUrl("sap-iframe-hint=GUI", oResult.url);
|
|
1019
|
+
if (Config.last("/core/extension/dap/enabled")) {
|
|
1020
|
+
const oPluginManager = await Container.getServiceAsync("PluginManager");
|
|
1021
|
+
const bDapInstalled = oPluginManager.isPluginConfigured(Config.last("/core/extension/dap/pluginName"));
|
|
1022
|
+
oResult.url = oApplicationTypeUtils.appendParametersToUrl(`sap-load-dap=${bDapInstalled}`, oResult.url);
|
|
1023
|
+
} else {
|
|
1024
|
+
oResult.url = oApplicationTypeUtils.appendParametersToUrl("sap-load-dap=false", oResult.url);
|
|
1025
|
+
}
|
|
1026
|
+
}
|
|
1027
|
+
oResult.extendedInfo = oApplicationTypeUtils.getExtendedInfo(oMatchingTarget);
|
|
1028
|
+
oApplicationTypeUtils.checkOpenWithPost(oMatchingTarget, oResult);
|
|
1029
|
+
oApplicationTypeUtils.addKeepAliveToURLTemplateResult(oResult);
|
|
1030
|
+
return oResult;
|
|
1031
|
+
});
|
|
1032
|
+
}
|
|
1033
|
+
throw new Error("Cannot generate TR resolution result");
|
|
1056
1034
|
}
|
|
1057
1035
|
|
|
1058
1036
|
/**
|
|
@@ -1068,6 +1046,10 @@ sap.ui.define([
|
|
|
1068
1046
|
* The matching target, an oInbound.resolutionResult["sap.platform.runtime"] member will be propagated
|
|
1069
1047
|
*
|
|
1070
1048
|
* a System Alias in the TM will not be used
|
|
1049
|
+
*
|
|
1050
|
+
* @param {function} fnExternalSystemAliasResolver
|
|
1051
|
+
* the external system alias resolver.
|
|
1052
|
+
*
|
|
1071
1053
|
* @returns {Promise}
|
|
1072
1054
|
* A promise that resolved with the Matching Target(!) amended with the resolution result generated from
|
|
1073
1055
|
* the given intent, or rejects with an error message.
|
|
@@ -1110,7 +1092,7 @@ sap.ui.define([
|
|
|
1110
1092
|
generateTRResolutionResult: generateTRResolutionResult,
|
|
1111
1093
|
resolveEasyAccessMenuIntentWebgui: resolveEasyAccessMenuIntentWebgui,
|
|
1112
1094
|
|
|
1113
|
-
//temp for webgui bug fix
|
|
1095
|
+
// temp for webgui bug fix
|
|
1114
1096
|
getUnnecessaryWebguiParameters: getUnnecessaryWebguiParameters,
|
|
1115
1097
|
removeObjectKey: removeObjectKey,
|
|
1116
1098
|
getExplicitSkipSelectionScreenParameter: getExplicitSkipSelectionScreenParameter,
|