@sapui5/sap.ushell 1.124.2 → 1.124.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/main/js/sap/ushell/.library +1 -1
- package/src/main/js/sap/ushell/Container.js +137 -62
- package/src/main/js/sap/ushell/Fiori20Adapter.js +1 -1
- package/src/main/js/sap/ushell/Fiori20AdapterTest.js +1 -1
- package/src/main/js/sap/ushell/NWBCInterface.js +1 -1
- package/src/main/js/sap/ushell/SessionHandler.js +35 -31
- package/src/main/js/sap/ushell/TechnicalParameters.js +1 -1
- package/src/main/js/sap/ushell/URLTemplateProcessor.js +1 -1
- package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +1 -1
- package/src/main/js/sap/ushell/Ui5ServiceFactory.js +1 -1
- package/src/main/js/sap/ushell/_URLTemplateProcessor/DefinitionParameterSetBuilder.js +1 -1
- package/src/main/js/sap/ushell/_URLTemplateProcessor/DependencyGraph.js +1 -1
- package/src/main/js/sap/ushell/_URLTemplateProcessor/Functions.js +1 -1
- package/src/main/js/sap/ushell/_URLTemplateProcessor/Resolvers.js +1 -1
- package/src/main/js/sap/ushell/_URLTemplateProcessor/TemplateParameterParser.js +1 -1
- package/src/main/js/sap/ushell/_URLTemplateProcessor/utils.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/PersonalizationV2Adapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/FlpLaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +1 -1
- package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionInternalAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/FlpLaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionInternalAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/PersonalizationV2Adapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +6 -0
- package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/Renderer.js +19 -0
- package/src/main/js/sap/ushell/appRuntime/ui5/services/AppLifeCycle.js +51 -0
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension/Item.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
- package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/logger.js +1 -1
- package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/state.js +1 -1
- package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5datetimeformat.js +1 -1
- package/src/main/js/sap/ushell/bootstrap/sandbox2.js +1 -1
- package/src/main/js/sap/ushell/components/HomepageManager.js +1 -0
- package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +87 -4
- package/src/main/js/sap/ushell/components/applicationIntegration/application/Application.js +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxHandler.js +2 -2
- package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPI.js +11 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/elements/model.js +25 -2
- package/src/main/js/sap/ushell/components/applicationIntegration/relatedServices/RelatedServices.js +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/relatedShellElements/RelatedShellElements.js +1 -1
- package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/Component.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/controller/WidgetGallery.controller.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/contentFinderStandalone/Component.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinderStandalone/controller/ContentFinderStandalone.controller.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinderStandalone/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/contentFinderStandalone/manifestAppSearch.json +1 -1
- package/src/main/js/sap/ushell/components/factsheet/Component.js +1 -1
- package/src/main/js/sap/ushell/components/homepage/ActionMode.js +1 -1
- package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +1 -1
- package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +1 -1
- package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +1 -1
- package/src/main/js/sap/ushell/components/homepage/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/pages/ActionMode.js +1 -1
- package/src/main/js/sap/ushell/components/pages/Component.js +1 -1
- package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +1 -1
- package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +2 -1
- package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +1 -1
- package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +1 -1
- package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/Notifications/Notifications.controller.js +1 -2
- package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchServiceProvider.js +1 -1
- package/src/main/js/sap/ushell/components/shell/Settings/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +1 -1
- package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +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 +1 -1
- package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +1 -1
- package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
- package/src/main/js/sap/ushell/library.js +1 -1
- package/src/main/js/sap/ushell/navigationMode.js +1 -1
- package/src/main/js/sap/ushell/performance/ShellAnalytics.js +1 -1
- package/src/main/js/sap/ushell/performance/StatisticalRecord.js +1 -1
- package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
- package/src/main/js/sap/ushell/renderer/Renderer.js +44 -10
- package/src/main/js/sap/ushell/renderer/search/searchComponent/manifest.json +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.js +1 -1
- package/src/main/js/sap/ushell/services/CommonDataModel.js +1 -1
- 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 +14 -3
- package/src/main/js/sap/ushell/services/DarkModeSupport.js +1 -1
- package/src/main/js/sap/ushell/services/Extension/Item.js +38 -2
- package/src/main/js/sap/ushell/services/Extension.js +9 -4
- package/src/main/js/sap/ushell/services/FlpLaunchPage.js +1 -1
- package/src/main/js/sap/ushell/services/FrameBoundExtension/FloatingContainer.js +1 -1
- package/src/main/js/sap/ushell/services/FrameBoundExtension/Footer.js +1 -1
- package/src/main/js/sap/ushell/services/FrameBoundExtension/Item.js +39 -3
- package/src/main/js/sap/ushell/services/FrameBoundExtension/SidePane.js +5 -2
- package/src/main/js/sap/ushell/services/FrameBoundExtension/ToolArea.js +5 -2
- package/src/main/js/sap/ushell/services/FrameBoundExtension.js +11 -5
- package/src/main/js/sap/ushell/services/LaunchPage.js +1 -1
- package/src/main/js/sap/ushell/services/Menu.js +1 -1
- package/src/main/js/sap/ushell/services/Message.js +1 -1
- package/src/main/js/sap/ushell/services/MessageBroker.js +1 -1
- package/src/main/js/sap/ushell/services/Navigation/compatibility.js +1 -1
- package/src/main/js/sap/ushell/services/Navigation/utils.js +1 -1
- package/src/main/js/sap/ushell/services/Navigation.js +1 -1
- package/src/main/js/sap/ushell/services/NavigationDataProvider.js +1 -1
- package/src/main/js/sap/ushell/services/PageBuilding.js +1 -1
- package/src/main/js/sap/ushell/services/PagePersistence.js +1 -1
- package/src/main/js/sap/ushell/services/PageReferencing.js +1 -1
- package/src/main/js/sap/ushell/services/Pages.js +1 -1
- package/src/main/js/sap/ushell/services/Personalization.js +1 -1
- package/src/main/js/sap/ushell/services/PersonalizationV2.js +1 -1
- package/src/main/js/sap/ushell/services/PluginManager.js +1 -1
- package/src/main/js/sap/ushell/services/ReferenceResolver.js +1 -1
- package/src/main/js/sap/ushell/services/Search.js +1 -1
- package/src/main/js/sap/ushell/services/SearchCEP.js +1 -1
- package/src/main/js/sap/ushell/services/SearchableContent.js +1 -1
- package/src/main/js/sap/ushell/services/ShellNavigation.js +1 -1
- package/src/main/js/sap/ushell/services/SmartNavigation.js +1 -1
- package/src/main/js/sap/ushell/services/SpaceContent.js +1 -1
- package/src/main/js/sap/ushell/services/UITracer.js +1 -1
- package/src/main/js/sap/ushell/services/URLShortening.js +1 -1
- package/src/main/js/sap/ushell/services/URLTemplate.js +1 -1
- package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +3 -3
- package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +1 -1
- package/src/main/js/sap/ushell/services/UserDefaultParameters.js +1 -1
- package/src/main/js/sap/ushell/services/UserInfo.js +1 -1
- package/src/main/js/sap/ushell/services/UserRecents.js +1 -1
- package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +1 -1
- package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Formatter.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundIndex.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundProvider.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/PrelaunchOperations.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Search.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/StagedLogger.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/SystemContext.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Utils.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/VirtualInbounds.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/XAppStateProcessing.js +1 -1
- package/src/main/js/sap/ushell/services/_CommonDataModel/SiteConverter.js +1 -1
- package/src/main/js/sap/ushell/services/_CommonDataModel/vizTypeDefaults/VizTypeDefaults.js +1 -1
- package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +1 -1
- package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +1 -1
- package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +1 -1
- package/src/main/js/sap/ushell/services/_MessageBroker/MessageBrokerEngine.js +1 -1
- package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +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/_Ui5ComponentLoader/utils.js +1 -1
- package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
- package/src/main/js/sap/ushell/ui/cards/FrequentActivitiesExtension.js +0 -4
- package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +1 -5
- package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
- package/src/main/js/sap/ushell/ui/launchpad/Section.js +1 -1
- package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +1 -1
- package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +1 -1
- package/src/main/js/sap/ushell/ui/utils.js +1 -1
- package/src/main/js/sap/ushell/ui5service/ShellUIService.js +1 -1
- package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
- package/src/main/js/sap/ushell/utils/UrlShortening.js +1 -1
- package/src/main/js/sap/ushell/utils/workpage/WorkPageHost.js +1 -1
- package/src/main/js/sap/ushell/utils/workpage/WorkPageService.js +1 -1
- package/src/main/js/sap/ushell/utils/workpage/WorkPageVizInstantiation.js +1 -1
- package/src/test/js/sap/ushell/bootstrap/sandbox.js +1 -1
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<library xmlns="http://www.sap.com/sap.ui.library.xsd">
|
|
3
3
|
<name>sap.ushell</name>
|
|
4
4
|
<vendor>SAP SE</vendor>
|
|
5
|
-
<version>1.124.
|
|
5
|
+
<version>1.124.4</version>
|
|
6
6
|
<copyright>Copyright (c) 2009-2023 SAP SE, All Rights Reserved</copyright>
|
|
7
7
|
<documentation>SAP library: sap.ushell</documentation>
|
|
8
8
|
|
|
@@ -94,6 +94,7 @@ sap.ui.define([
|
|
|
94
94
|
var mPlatformPackages;
|
|
95
95
|
var aAsyncLogoutEventFunctions = []; //async logout even functions that return a promise
|
|
96
96
|
var oContainerInstance;
|
|
97
|
+
let aRegisteredLogoutHandlers = [];
|
|
97
98
|
|
|
98
99
|
// Try to close window. Note: Most browsers do NOT allow closing windows by JS if they were opened manually.
|
|
99
100
|
function closeWindow () {
|
|
@@ -1738,6 +1739,7 @@ sap.ui.define([
|
|
|
1738
1739
|
|
|
1739
1740
|
/**
|
|
1740
1741
|
* Logs out the current user from all relevant back-end systems, including the logon system itself.
|
|
1742
|
+
* This method also iterates through all registered logout handlers and calls them before continuing with the default logout.
|
|
1741
1743
|
*
|
|
1742
1744
|
* @returns {jQuery.Promise} Resolves when logout is finished, even when it fails.
|
|
1743
1745
|
*
|
|
@@ -1748,77 +1750,79 @@ sap.ui.define([
|
|
|
1748
1750
|
this.defaultLogout = function () {
|
|
1749
1751
|
var oDeferred = new jQuery.Deferred();
|
|
1750
1752
|
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
function logoutLogonSystem () {
|
|
1759
|
-
var oDeferredAsyncLogoutEvent = new jQuery.Deferred();
|
|
1760
|
-
var oPromiseAsyncLogoutEvent = oDeferredAsyncLogoutEvent.promise();
|
|
1761
|
-
var arrLogoutEventsPromises = [];
|
|
1753
|
+
this.callRegisteredLogoutHandlers().then(() => {
|
|
1754
|
+
function resolve () {
|
|
1755
|
+
oAdapter.logout(true).always(function () {
|
|
1756
|
+
oLocalStorage.removeItem(sSessionTerminationKey);
|
|
1757
|
+
oDeferred.resolve();
|
|
1758
|
+
});
|
|
1759
|
+
}
|
|
1762
1760
|
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
Promise.all(arrLogoutEventsPromises).then(oDeferredAsyncLogoutEvent.resolve);
|
|
1761
|
+
function logoutLogonSystem () {
|
|
1762
|
+
var oDeferredAsyncLogoutEvent = new jQuery.Deferred();
|
|
1763
|
+
var oPromiseAsyncLogoutEvent = oDeferredAsyncLogoutEvent.promise();
|
|
1764
|
+
var arrLogoutEventsPromises = [];
|
|
1768
1765
|
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
}
|
|
1766
|
+
if (aAsyncLogoutEventFunctions.length > 0) {
|
|
1767
|
+
for (var i = 0; i < aAsyncLogoutEventFunctions.length; i++) {
|
|
1768
|
+
arrLogoutEventsPromises.push(aAsyncLogoutEventFunctions[i]());
|
|
1769
|
+
}
|
|
1770
|
+
Promise.all(arrLogoutEventsPromises).then(oDeferredAsyncLogoutEvent.resolve);
|
|
1775
1771
|
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
resolve
|
|
1772
|
+
//if after 4 seconds we did not get all the async callbacks
|
|
1773
|
+
//promises resolved, we will continue with the logout process
|
|
1774
|
+
setTimeout(oDeferredAsyncLogoutEvent.resolve, 4000);
|
|
1779
1775
|
} else {
|
|
1780
|
-
|
|
1781
|
-
setTimeout(resolve, 1000);
|
|
1776
|
+
oDeferredAsyncLogoutEvent.resolve();
|
|
1782
1777
|
}
|
|
1783
|
-
});
|
|
1784
|
-
}
|
|
1785
|
-
|
|
1786
|
-
function federatedLogout () {
|
|
1787
|
-
var aRemoteLogoutPromises = [];
|
|
1788
1778
|
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
|
|
1779
|
+
oPromiseAsyncLogoutEvent.done(function () {
|
|
1780
|
+
if (oEventProvider.fireEvent("Logout", true)) {
|
|
1781
|
+
resolve();
|
|
1782
|
+
} else {
|
|
1783
|
+
// defer UShell redirect to let NWBC receive message asynchronously
|
|
1784
|
+
setTimeout(resolve, 1000);
|
|
1785
|
+
}
|
|
1786
|
+
});
|
|
1793
1787
|
}
|
|
1794
1788
|
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
);
|
|
1803
|
-
} catch (e) {
|
|
1804
|
-
Log.warning("Could not create adapter for " + sAlias,
|
|
1805
|
-
e.toString(), "sap.ushell.Container");
|
|
1789
|
+
function federatedLogout () {
|
|
1790
|
+
var aRemoteLogoutPromises = [];
|
|
1791
|
+
|
|
1792
|
+
if (fnStorageEventListener) {
|
|
1793
|
+
// IE sends localStorage events also to the issuing window, -
|
|
1794
|
+
// this is not needed hence we remove the listener in general at that point
|
|
1795
|
+
window.removeEventListener("storage", fnStorageEventListener);
|
|
1806
1796
|
}
|
|
1807
|
-
oLocalStorage.removeItem(sRemoteSystemPrefix + sAlias);
|
|
1808
|
-
});
|
|
1809
|
-
// wait for all remote system logouts to be finished
|
|
1810
|
-
// Note: We use done() and not always(), and we require all adapters to resolve their logout(false) in any case.
|
|
1811
|
-
// If we use always() and any adapter's promise is rejected, the deferred object from when() is *immediately* rejected, too.
|
|
1812
|
-
// Then the redirect happens before all remote logouts are finished.
|
|
1813
|
-
// TODO force logoutLogonSystem after timeout?
|
|
1814
|
-
jQuery.when.apply(jQuery, aRemoteLogoutPromises).done(logoutLogonSystem);
|
|
1815
|
-
}
|
|
1816
1797
|
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1798
|
+
ushellUtils.localStorageSetItem(sSessionTerminationKey, "pending");
|
|
1799
|
+
that._suppressOData();
|
|
1800
|
+
var mSystems = that._getRemoteSystems();
|
|
1801
|
+
Object.keys(mSystems).forEach(function (sAlias) {
|
|
1802
|
+
try {
|
|
1803
|
+
aRemoteLogoutPromises.push(
|
|
1804
|
+
createAdapter("Container", mSystems[sAlias]).logout(false)
|
|
1805
|
+
);
|
|
1806
|
+
} catch (e) {
|
|
1807
|
+
Log.warning("Could not create adapter for " + sAlias,
|
|
1808
|
+
e.toString(), "sap.ushell.Container");
|
|
1809
|
+
}
|
|
1810
|
+
oLocalStorage.removeItem(sRemoteSystemPrefix + sAlias);
|
|
1811
|
+
});
|
|
1812
|
+
// wait for all remote system logouts to be finished
|
|
1813
|
+
// Note: We use done() and not always(), and we require all adapters to resolve their logout(false) in any case.
|
|
1814
|
+
// If we use always() and any adapter's promise is rejected, the deferred object from when() is *immediately* rejected, too.
|
|
1815
|
+
// Then the redirect happens before all remote logouts are finished.
|
|
1816
|
+
// TODO force logoutLogonSystem after timeout?
|
|
1817
|
+
jQuery.when.apply(jQuery, aRemoteLogoutPromises).done(logoutLogonSystem);
|
|
1818
|
+
}
|
|
1819
|
+
|
|
1820
|
+
if (typeof oAdapter.addFurtherRemoteSystems === "function") {
|
|
1821
|
+
oAdapter.addFurtherRemoteSystems().always(federatedLogout);
|
|
1822
|
+
} else {
|
|
1823
|
+
federatedLogout();
|
|
1824
|
+
}
|
|
1825
|
+
});
|
|
1822
1826
|
|
|
1823
1827
|
return oDeferred.promise();
|
|
1824
1828
|
};
|
|
@@ -1843,14 +1847,85 @@ sap.ui.define([
|
|
|
1843
1847
|
* with an extended SessionHandler function.
|
|
1844
1848
|
* This is so that we can logout additional systems before we can logout from the Shell.
|
|
1845
1849
|
* In this case we will register a substitute logout func from the SessionHandler.
|
|
1850
|
+
* Handlers registered through this API need to return a promise that resolves when the logout process is finished.
|
|
1851
|
+
*
|
|
1846
1852
|
* @param {function} fnLogout function to be set
|
|
1853
|
+
* @returns {boolean} true if the function was successfully registered, false otherwise
|
|
1847
1854
|
*
|
|
1848
1855
|
* @since 1.15.0
|
|
1849
1856
|
* @private
|
|
1850
1857
|
* @alias sap.ushell.Container#registerLogout
|
|
1851
1858
|
*/
|
|
1852
1859
|
this.registerLogout = function (fnLogout) {
|
|
1853
|
-
|
|
1860
|
+
if (typeof fnLogout !== "function") {
|
|
1861
|
+
Log.error("Container.registerLogout - Invalid logout handler function.");
|
|
1862
|
+
return false;
|
|
1863
|
+
}
|
|
1864
|
+
|
|
1865
|
+
if (aRegisteredLogoutHandlers.includes(fnLogout)) {
|
|
1866
|
+
Log.warning("Container.registerLogout - This logout handler is already registered. Ignoring.");
|
|
1867
|
+
return false;
|
|
1868
|
+
}
|
|
1869
|
+
|
|
1870
|
+
aRegisteredLogoutHandlers.push(fnLogout);
|
|
1871
|
+
return true;
|
|
1872
|
+
};
|
|
1873
|
+
|
|
1874
|
+
/**
|
|
1875
|
+
* Deregisters a previously registered logout handler function. If the specified handler is not found
|
|
1876
|
+
* in the list of registered handlers, logs an error and returns false to indicate failure.
|
|
1877
|
+
* This ensures that only registered handlers are removed, maintaining the integrity of the logout process.
|
|
1878
|
+
*
|
|
1879
|
+
* @param {function} fnLogout - The logout handler function to deregister.
|
|
1880
|
+
* @returns {boolean} true if the handler was successfully deregistered, false otherwise.
|
|
1881
|
+
* @since 1.126.0
|
|
1882
|
+
* @private
|
|
1883
|
+
* @alias sap.ushell.Container#deRegisterLogout
|
|
1884
|
+
*/
|
|
1885
|
+
this.deRegisterLogout = function (fnLogout) {
|
|
1886
|
+
const iIndex = aRegisteredLogoutHandlers.indexOf(fnLogout);
|
|
1887
|
+
if (iIndex === -1) {
|
|
1888
|
+
Log.error("Container.deRegisterLogout - Attempted to de-register a logout handler that was not registered.");
|
|
1889
|
+
return false;
|
|
1890
|
+
}
|
|
1891
|
+
aRegisteredLogoutHandlers.splice(iIndex, 1);
|
|
1892
|
+
return true;
|
|
1893
|
+
};
|
|
1894
|
+
|
|
1895
|
+
/**
|
|
1896
|
+
* Checks if a given logout handler function is currently registered.
|
|
1897
|
+
* This can be used to verify if a specific logout handler has been added to the list of handlers
|
|
1898
|
+
* that will be called during the logout process.
|
|
1899
|
+
*
|
|
1900
|
+
* @param {function} fnLogout - The logout handler function to check.
|
|
1901
|
+
* @returns {boolean} true if the handler is registered, false otherwise.
|
|
1902
|
+
* @since 1.126.0
|
|
1903
|
+
* @private
|
|
1904
|
+
* @alias sap.ushell.Container#isLogoutRegistered
|
|
1905
|
+
*/
|
|
1906
|
+
this.isLogoutRegistered = function (fnLogout) {
|
|
1907
|
+
return aRegisteredLogoutHandlers.includes(fnLogout);
|
|
1908
|
+
};
|
|
1909
|
+
|
|
1910
|
+
/**
|
|
1911
|
+
* Calls all registered logout handlers sequentially. If a logout handler throws an error,
|
|
1912
|
+
* the error is logged, and the execution continues with the next handler. This ensures
|
|
1913
|
+
* that all logout handlers are attempted, regardless of individual failures.
|
|
1914
|
+
*
|
|
1915
|
+
* @since 1.126.0
|
|
1916
|
+
* @private
|
|
1917
|
+
* @alias sap.ushell.Container#callRegisteredLogoutHandlers
|
|
1918
|
+
*/
|
|
1919
|
+
this.callRegisteredLogoutHandlers = async function () {
|
|
1920
|
+
if (aRegisteredLogoutHandlers.length > 0) {
|
|
1921
|
+
for (const fnLogout of aRegisteredLogoutHandlers) {
|
|
1922
|
+
try {
|
|
1923
|
+
await fnLogout();
|
|
1924
|
+
} catch (error) {
|
|
1925
|
+
Log.error("Error executing logout handler:", error);
|
|
1926
|
+
}
|
|
1927
|
+
}
|
|
1928
|
+
}
|
|
1854
1929
|
};
|
|
1855
1930
|
|
|
1856
1931
|
/**
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @fileOverview The purpose Fiori20AdapterTest in this file is to decide whether to load the Fiori20Adapter at all.
|
|
5
5
|
* This file is kept small in size on purpose as it is always required in productive code even when Fiori 2 adaptation is not required.
|
|
6
6
|
*
|
|
7
|
-
* @version 1.124.
|
|
7
|
+
* @version 1.124.4
|
|
8
8
|
*/
|
|
9
9
|
sap.ui.define([
|
|
10
10
|
"sap/base/Log",
|
|
@@ -844,46 +844,50 @@ sap.ui.define([
|
|
|
844
844
|
* 2. Clear timeouts
|
|
845
845
|
* 3. Show logout message
|
|
846
846
|
* 4. Perform logout via sap.ushell.Container
|
|
847
|
+
*
|
|
848
|
+
* @returns {Promise<undefined>} A promise that resolves when the logout process is complete.
|
|
847
849
|
*/
|
|
848
850
|
this.logout = function () {
|
|
849
|
-
|
|
851
|
+
return new Promise(function (resolve) {
|
|
852
|
+
Log.debug("SessionHandler.logout :: Logout initiated", "", "SessionHandler");
|
|
850
853
|
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
854
|
+
function _logout (oLoading) {
|
|
855
|
+
if (bInitialized === true) {
|
|
856
|
+
that.detachUserEvents();
|
|
857
|
+
that.detachVisibilityEvents();
|
|
858
|
+
}
|
|
859
|
+
if (that.oUserActivityTimer) {
|
|
860
|
+
clearTimeout(that.oUserActivityTimer);
|
|
861
|
+
}
|
|
862
|
+
if (that.remainingTimer) {
|
|
863
|
+
clearTimeout(that.remainingTimer);
|
|
864
|
+
}
|
|
865
|
+
if (that.notifyServerTimer) {
|
|
866
|
+
clearTimeout(that.notifyServerTimer);
|
|
867
|
+
}
|
|
868
|
+
oLoading.openLoadingScreen();
|
|
869
|
+
oLoading.showAppInfo(oResources.i18n.getText("beforeLogoutMsg"), null);
|
|
870
|
+
Container.setDirtyFlag(false);
|
|
871
|
+
resolve();
|
|
864
872
|
}
|
|
865
|
-
oLoading.openLoadingScreen();
|
|
866
|
-
oLoading.showAppInfo(oResources.i18n.getText("beforeLogoutMsg"), null);
|
|
867
|
-
Container.setDirtyFlag(false);
|
|
868
|
-
Container.defaultLogout();
|
|
869
|
-
}
|
|
870
873
|
|
|
871
|
-
|
|
872
|
-
|
|
874
|
+
var oLoading = new LoadingDialog({ text: "" });
|
|
875
|
+
var oTimeout;
|
|
873
876
|
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
+
// post the logout event to isolated
|
|
878
|
+
PostMessageUtils.postMessageToMultipleIframes("sap.ushell.sessionHandler", "logout", {}, true).then(async function () {
|
|
879
|
+
if (bIsLogoutProcessStarted === false) {
|
|
880
|
+
bIsLogoutProcessStarted = true;
|
|
881
|
+
window.clearTimeout(oTimeout);
|
|
882
|
+
_logout(oLoading);
|
|
883
|
+
}
|
|
884
|
+
});
|
|
885
|
+
|
|
886
|
+
oTimeout = window.setTimeout(async function () {
|
|
877
887
|
bIsLogoutProcessStarted = true;
|
|
878
|
-
window.clearTimeout(oTimeout);
|
|
879
888
|
_logout(oLoading);
|
|
880
|
-
}
|
|
889
|
+
}, 4000);
|
|
881
890
|
});
|
|
882
|
-
|
|
883
|
-
oTimeout = window.setTimeout(function () {
|
|
884
|
-
bIsLogoutProcessStarted = true;
|
|
885
|
-
_logout(oLoading);
|
|
886
|
-
}, 4000);
|
|
887
891
|
};
|
|
888
892
|
};
|
|
889
893
|
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
* The language to define parameters in the URL Template parameter set contains a minimal set of conditionals,
|
|
27
27
|
* logical operators, and functions that allow to define the parameter set with a certain degree of control.
|
|
28
28
|
*
|
|
29
|
-
* @version 1.124.
|
|
29
|
+
* @version 1.124.4
|
|
30
30
|
* @private
|
|
31
31
|
*/
|
|
32
32
|
sap.ui.define([
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* The proper order of evaluation can be determined by creating and visiting a graph that represents parameters and depending parameters
|
|
9
9
|
* as nodes. This graph can be also used to detect cyclic references in the parameter set definition.
|
|
10
10
|
*
|
|
11
|
-
* @version 1.124.
|
|
11
|
+
* @version 1.124.4
|
|
12
12
|
* @private
|
|
13
13
|
*/
|
|
14
14
|
sap.ui.define([
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* For a given context (e.g. the reference to a site, the application section from the site, parameters added during runtime, etc),
|
|
6
6
|
* this module can be used to find the values associated to given URL Template parameter names.
|
|
7
7
|
*
|
|
8
|
-
* @version 1.124.
|
|
8
|
+
* @version 1.124.4
|
|
9
9
|
* @private
|
|
10
10
|
*/
|
|
11
11
|
sap.ui.define([
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @fileOverview The Base of Unified Shell's LaunchPageAdapter for the 'CDM' platform - Version 3 (V3)
|
|
5
5
|
* and StaticGroupsContainer for Featured Group
|
|
6
6
|
*
|
|
7
|
-
* @version 1.124.
|
|
7
|
+
* @version 1.124.4
|
|
8
8
|
*/
|
|
9
9
|
sap.ui.define([
|
|
10
10
|
"sap/ushell/adapters/cdm/v3/_LaunchPage/readHome",
|