@sapui5/sap.ushell 1.124.3 → 1.126.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (482) hide show
  1. package/package.json +1 -1
  2. package/src/main/js/sap/ushell/.library +1 -1
  3. package/src/main/js/sap/ushell/AppInfoParameters.js +29 -27
  4. package/src/main/js/sap/ushell/Container.js +143 -72
  5. package/src/main/js/sap/ushell/Fiori20Adapter.js +1 -1
  6. package/src/main/js/sap/ushell/Fiori20AdapterTest.js +13 -10
  7. package/src/main/js/sap/ushell/Layout.js +7 -4
  8. package/src/main/js/sap/ushell/NWBCInterface.js +1 -1
  9. package/src/main/js/sap/ushell/SessionHandler.js +35 -31
  10. package/src/main/js/sap/ushell/TechnicalParameters.js +5 -3
  11. package/src/main/js/sap/ushell/URLTemplateProcessor.js +1 -1
  12. package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +1 -1
  13. package/src/main/js/sap/ushell/Ui5ServiceFactory.js +9 -3
  14. package/src/main/js/sap/ushell/UserActivityLog.js +5 -3
  15. package/src/main/js/sap/ushell/_URLTemplateProcessor/DefinitionParameterSetBuilder.js +1 -1
  16. package/src/main/js/sap/ushell/_URLTemplateProcessor/DependencyGraph.js +1 -1
  17. package/src/main/js/sap/ushell/_URLTemplateProcessor/Functions.js +1 -1
  18. package/src/main/js/sap/ushell/_URLTemplateProcessor/Resolvers.js +1 -1
  19. package/src/main/js/sap/ushell/_URLTemplateProcessor/TemplateParameterParser.js +1 -1
  20. package/src/main/js/sap/ushell/_URLTemplateProcessor/utils.js +1 -1
  21. package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +4 -4
  22. package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +2 -4
  23. package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
  24. package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +1 -1
  25. package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +12 -10
  26. package/src/main/js/sap/ushell/adapters/cdm/MenuAdapter.js +8 -6
  27. package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +14 -13
  28. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
  29. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationV2Adapter.js +1 -1
  30. package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +1 -1
  31. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +1 -1
  32. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +1 -1
  33. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +1 -1
  34. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +1 -1
  35. package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +1 -1
  36. package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +1 -1
  37. package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +7 -5
  38. package/src/main/js/sap/ushell/adapters/cdm/v3/FlpLaunchPageAdapter.js +15 -13
  39. package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +1 -1
  40. package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +1 -1
  41. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +1 -1
  42. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +1 -1
  43. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +1 -1
  44. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +1 -1
  45. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +1 -1
  46. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +1 -1
  47. package/src/main/js/sap/ushell/adapters/cdm/v3/utilsCdm.js +34 -0
  48. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +1 -1
  49. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionInternalAdapter.js +1 -1
  50. package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +6 -4
  51. package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +7 -5
  52. package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +1 -1
  53. package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +1 -1
  54. package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +10 -12
  55. package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +1 -1
  56. package/src/main/js/sap/ushell/adapters/local/FlpLaunchPageAdapter.js +7 -5
  57. package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +1 -1
  58. package/src/main/js/sap/ushell/adapters/local/MenuAdapter.js +5 -3
  59. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +1 -1
  60. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionInternalAdapter.js +6 -4
  61. package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +1 -1
  62. package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +1 -1
  63. package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +1 -1
  64. package/src/main/js/sap/ushell/adapters/local/PersonalizationV2Adapter.js +1 -1
  65. package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +1 -1
  66. package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +1 -1
  67. package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +1 -1
  68. package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +1 -1
  69. package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +5 -4
  70. package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +5 -4
  71. package/src/main/js/sap/ushell/api/RTA.js +14 -2
  72. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +10 -5
  73. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/baseRta/CheckConditions.js +1 -3
  74. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/rtaAgent/i18n/i18n_sh.properties +2 -2
  75. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/RendererExtensions.js +5 -0
  76. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppConfiguration.js +37 -0
  77. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppState.js +21 -2
  78. package/src/main/js/sap/ushell/appRuntime/ui5/services/Bookmark.js +21 -1
  79. package/src/main/js/sap/ushell/appRuntime/ui5/services/BookmarkV2.js +38 -1
  80. package/src/main/js/sap/ushell/appRuntime/ui5/services/CommonDataModel.js +19 -1
  81. package/src/main/js/sap/ushell/appRuntime/ui5/services/Container.js +20 -3
  82. package/src/main/js/sap/ushell/appRuntime/ui5/services/CrossApplicationNavigation.js +28 -1
  83. package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension/Item.js +1 -1
  84. package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension.js +25 -2
  85. package/src/main/js/sap/ushell/appRuntime/ui5/services/FrameBoundExtension.js +8 -1
  86. package/src/main/js/sap/ushell/appRuntime/ui5/services/LaunchPage.js +20 -1
  87. package/src/main/js/sap/ushell/appRuntime/ui5/services/MessageBroker.js +18 -1
  88. package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolution.js +16 -0
  89. package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolutionInternal.js +14 -0
  90. package/src/main/js/sap/ushell/appRuntime/ui5/services/Navigation.js +24 -1
  91. package/src/main/js/sap/ushell/appRuntime/ui5/services/ReferenceResolver.js +18 -1
  92. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigation.js +23 -1
  93. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigationInternal.js +21 -1
  94. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellUIService.js +28 -4
  95. package/src/main/js/sap/ushell/appRuntime/ui5/services/UserInfo.js +19 -1
  96. package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
  97. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/logger.js +1 -1
  98. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/state.js +1 -1
  99. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5datetimeformat.js +1 -1
  100. package/src/main/js/sap/ushell/bootstrap/common/common.create.configcontract.core.js +15 -5
  101. package/src/main/js/sap/ushell/bootstrap/common/common.read.ushell.config.from.url.js +2 -2
  102. package/src/main/js/sap/ushell/bootstrap/common/common.util.js +8 -1
  103. package/src/main/js/sap/ushell/bootstrap/sandbox2.js +11 -6
  104. package/src/main/js/sap/ushell/components/CatalogsManager.js +28 -17
  105. package/src/main/js/sap/ushell/components/ComponentKeysHandler.js +14 -12
  106. package/src/main/js/sap/ushell/components/HomepageManager.js +6 -4
  107. package/src/main/js/sap/ushell/components/MessagingHelper.js +5 -4
  108. package/src/main/js/sap/ushell/components/SharedComponentUtils.js +6 -4
  109. package/src/main/js/sap/ushell/components/_HeaderManager/ControlManager.js +6 -4
  110. package/src/main/js/sap/ushell/components/_HeaderManager/ShellHeader.controller.js +6 -3
  111. package/src/main/js/sap/ushell/components/_HomepageManager/PersistentPageOperationAdapter.js +4 -2
  112. package/src/main/js/sap/ushell/components/appfinder/AppFinder.controller.js +18 -23
  113. package/src/main/js/sap/ushell/components/appfinder/Catalog.controller.js +6 -4
  114. package/src/main/js/sap/ushell/components/appfinder/Component.js +6 -4
  115. package/src/main/js/sap/ushell/components/appfinder/EasyAccess.controller.js +10 -10
  116. package/src/main/js/sap/ushell/components/appfinder/HierarchyApps.controller.js +6 -4
  117. package/src/main/js/sap/ushell/components/appfinder/HierarchyFolders.controller.js +5 -3
  118. package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
  119. package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +78 -3
  120. package/src/main/js/sap/ushell/components/applicationIntegration/application/Application.js +1 -1
  121. package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxHandler.js +1 -1
  122. package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxesCache.js +37 -7
  123. package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPI.js +239 -94
  124. package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +1 -1
  125. package/src/main/js/sap/ushell/components/applicationIntegration/elements/model.js +1 -1
  126. package/src/main/js/sap/ushell/components/applicationIntegration/relatedServices/RelatedServices.js +1 -1
  127. package/src/main/js/sap/ushell/components/applicationIntegration/relatedShellElements/RelatedShellElements.js +3 -2
  128. package/src/main/js/sap/ushell/components/cards/Card.controller.js +5 -3
  129. package/src/main/js/sap/ushell/components/cepsearchresult/app/Main.controller.js +9 -14
  130. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_sh.properties +5 -5
  131. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/categories/Application.js +7 -14
  132. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_sh.properties +19 -19
  133. package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +2 -2
  134. package/src/main/js/sap/ushell/components/container/IframePOSTUtils.js +1 -1
  135. package/src/main/js/sap/ushell/components/container/resources/resources_sh.properties +1 -1
  136. package/src/main/js/sap/ushell/components/contentFinder/Component.js +1 -1
  137. package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +3 -3
  138. package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +1 -1
  139. package/src/main/js/sap/ushell/components/contentFinder/controller/WidgetGallery.controller.js +1 -1
  140. package/src/main/js/sap/ushell/components/contentFinder/manifest.json +1 -1
  141. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sh.properties +3 -3
  142. package/src/main/js/sap/ushell/components/contentFinder/view/WidgetGallery.view.xml +3 -5
  143. package/src/main/js/sap/ushell/components/contentFinderStandalone/Component.js +1 -1
  144. package/src/main/js/sap/ushell/components/contentFinderStandalone/controller/ContentFinderStandalone.controller.js +1 -1
  145. package/src/main/js/sap/ushell/components/contentFinderStandalone/manifest.json +1 -1
  146. package/src/main/js/sap/ushell/components/contentFinderStandalone/manifestAppSearch.json +1 -1
  147. package/src/main/js/sap/ushell/components/factsheet/Component.js +1 -1
  148. package/src/main/js/sap/ushell/components/homepage/ActionMode.js +1 -1
  149. package/src/main/js/sap/ushell/components/homepage/DashboardContent.controller.js +2 -27
  150. package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +1 -1
  151. package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +1 -1
  152. package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +1 -1
  153. package/src/main/js/sap/ushell/components/homepage/manifest.json +1 -1
  154. package/src/main/js/sap/ushell/components/pages/ActionMode.js +6 -5
  155. package/src/main/js/sap/ushell/components/pages/Component.js +5 -4
  156. package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +9 -7
  157. package/src/main/js/sap/ushell/components/pages/controller/ImportDialog.controller.js +10 -8
  158. package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +18 -13
  159. package/src/main/js/sap/ushell/components/pages/controller/PagesAndSpaceId.js +6 -5
  160. package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
  161. package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +31 -34
  162. package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
  163. package/src/main/js/sap/ushell/components/shell/MenuBar/controller/MenuBar.controller.js +8 -6
  164. package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +1 -1
  165. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +1 -1
  166. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +1 -1
  167. package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +1 -1
  168. package/src/main/js/sap/ushell/components/shell/Notifications/Notifications.controller.js +1 -1
  169. package/src/main/js/sap/ushell/components/shell/PostLoadingHeaderEnhancement/Component.js +8 -5
  170. package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +6 -4
  171. package/src/main/js/sap/ushell/components/shell/Search/Component.js +5 -4
  172. package/src/main/js/sap/ushell/components/shell/Search/ESearch.js +5 -4
  173. package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
  174. package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +1 -1
  175. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +1 -1
  176. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +1 -1
  177. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +1 -1
  178. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchServiceProvider.js +1 -1
  179. package/src/main/js/sap/ushell/components/shell/Settings/Component.js +10 -8
  180. package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.controller.js +17 -5
  181. package/src/main/js/sap/ushell/components/shell/Settings/appearance/Appearance.controller.js +9 -7
  182. package/src/main/js/sap/ushell/components/shell/Settings/appearance/AppearanceEntry.js +6 -4
  183. package/src/main/js/sap/ushell/components/shell/Settings/homepage/HomepageEntry.js +5 -3
  184. package/src/main/js/sap/ushell/components/shell/Settings/notifications/NotificationsSetting.controller.js +3 -3
  185. package/src/main/js/sap/ushell/components/shell/Settings/spaces/SpacesEntry.js +6 -4
  186. package/src/main/js/sap/ushell/components/shell/Settings/userAccount/UserAccountEntry.js +6 -4
  187. package/src/main/js/sap/ushell/components/shell/Settings/userAccount/UserAccountSelector.controller.js +9 -7
  188. package/src/main/js/sap/ushell/components/shell/Settings/userActivities/UserActivitiesSetting.controller.js +6 -4
  189. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/UserDefaultsEntry.js +7 -5
  190. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/controller/UserDefaultsSetting.controller.js +11 -9
  191. package/src/main/js/sap/ushell/components/shell/Settings/userLanguageRegion/LanguageRegionSelector.controller.js +10 -7
  192. package/src/main/js/sap/ushell/components/shell/Settings/userLanguageRegion/UserLanguageRegionEntry.js +5 -3
  193. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +6 -4
  194. package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +11 -9
  195. package/src/main/js/sap/ushell/components/tiles/applauncher/StaticTile.controller.js +5 -3
  196. package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/DynamicTile.controller.js +6 -4
  197. package/src/main/js/sap/ushell/components/tiles/cdm/applauncher/StaticTile.controller.js +5 -3
  198. package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/Component.js +3 -0
  199. package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.controller.js +5 -3
  200. package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +10 -10
  201. package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +1 -1
  202. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility.js +1 -1
  203. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +6 -6
  204. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +1 -1
  205. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +1 -1
  206. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +1 -1
  207. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +1 -1
  208. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +1 -1
  209. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +2 -2
  210. package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
  211. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_sh.properties +17 -17
  212. package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +1 -1
  213. package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +6 -4
  214. package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +1 -1
  215. package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
  216. package/src/main/js/sap/ushell/library.js +1 -1
  217. package/src/main/js/sap/ushell/navigationMode.js +1 -1
  218. package/src/main/js/sap/ushell/performance/ShellAnalytics.js +8 -6
  219. package/src/main/js/sap/ushell/performance/StatisticalRecord.js +1 -1
  220. package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
  221. package/src/main/js/sap/ushell/plugins/rta/i18n/i18n_sh.properties +2 -2
  222. package/src/main/js/sap/ushell/renderer/AccessKeysHandler.js +6 -4
  223. package/src/main/js/sap/ushell/renderer/History.js +1 -2
  224. package/src/main/js/sap/ushell/renderer/LogonFrameProvider.js +5 -3
  225. package/src/main/js/sap/ushell/renderer/Renderer.js +34 -35
  226. package/src/main/js/sap/ushell/renderer/Shell.controller.js +37 -37
  227. package/src/main/js/sap/ushell/renderer/Shell.view.js +9 -4
  228. package/src/main/js/sap/ushell/renderer/allMyApps/AllMyApps.controller.js +8 -6
  229. package/src/main/js/sap/ushell/renderer/allMyApps/AllMyAppsManager.js +13 -11
  230. package/src/main/js/sap/ushell/renderer/resources/resources.properties +4 -4
  231. package/src/main/js/sap/ushell/renderer/resources/resources_ar.properties +23 -26
  232. package/src/main/js/sap/ushell/renderer/resources/resources_bg.properties +24 -27
  233. package/src/main/js/sap/ushell/renderer/resources/resources_ca.properties +21 -24
  234. package/src/main/js/sap/ushell/renderer/resources/resources_cnr.properties +4 -10
  235. package/src/main/js/sap/ushell/renderer/resources/resources_cs.properties +19 -22
  236. package/src/main/js/sap/ushell/renderer/resources/resources_cy.properties +24 -27
  237. package/src/main/js/sap/ushell/renderer/resources/resources_da.properties +30 -33
  238. package/src/main/js/sap/ushell/renderer/resources/resources_de.properties +23 -26
  239. package/src/main/js/sap/ushell/renderer/resources/resources_el.properties +28 -31
  240. package/src/main/js/sap/ushell/renderer/resources/resources_en.properties +4 -928
  241. package/src/main/js/sap/ushell/renderer/resources/resources_en_GB.properties +30 -33
  242. package/src/main/js/sap/ushell/renderer/resources/resources_en_US_saprigi.properties +4 -4
  243. package/src/main/js/sap/ushell/renderer/resources/resources_es.properties +23 -26
  244. package/src/main/js/sap/ushell/renderer/resources/resources_es_MX.properties +18 -21
  245. package/src/main/js/sap/ushell/renderer/resources/resources_et.properties +25 -28
  246. package/src/main/js/sap/ushell/renderer/resources/resources_fi.properties +24 -27
  247. package/src/main/js/sap/ushell/renderer/resources/resources_fr.properties +28 -31
  248. package/src/main/js/sap/ushell/renderer/resources/resources_fr_CA.properties +53 -56
  249. package/src/main/js/sap/ushell/renderer/resources/resources_hi.properties +29 -32
  250. package/src/main/js/sap/ushell/renderer/resources/resources_hr.properties +21 -24
  251. package/src/main/js/sap/ushell/renderer/resources/resources_hu.properties +24 -27
  252. package/src/main/js/sap/ushell/renderer/resources/resources_id.properties +24 -27
  253. package/src/main/js/sap/ushell/renderer/resources/resources_it.properties +20 -23
  254. package/src/main/js/sap/ushell/renderer/resources/resources_iw.properties +20 -23
  255. package/src/main/js/sap/ushell/renderer/resources/resources_ja.properties +20 -23
  256. package/src/main/js/sap/ushell/renderer/resources/resources_kk.properties +28 -31
  257. package/src/main/js/sap/ushell/renderer/resources/resources_ko.properties +23 -26
  258. package/src/main/js/sap/ushell/renderer/resources/resources_lt.properties +20 -23
  259. package/src/main/js/sap/ushell/renderer/resources/resources_lv.properties +25 -28
  260. package/src/main/js/sap/ushell/renderer/resources/resources_mk.properties +4 -10
  261. package/src/main/js/sap/ushell/renderer/resources/resources_ms.properties +22 -25
  262. package/src/main/js/sap/ushell/renderer/resources/resources_nl.properties +21 -24
  263. package/src/main/js/sap/ushell/renderer/resources/resources_no.properties +33 -36
  264. package/src/main/js/sap/ushell/renderer/resources/resources_pl.properties +24 -27
  265. package/src/main/js/sap/ushell/renderer/resources/resources_pt.properties +22 -25
  266. package/src/main/js/sap/ushell/renderer/resources/resources_pt_PT.properties +17 -20
  267. package/src/main/js/sap/ushell/renderer/resources/resources_ro.properties +20 -23
  268. package/src/main/js/sap/ushell/renderer/resources/resources_ru.properties +21 -24
  269. package/src/main/js/sap/ushell/renderer/resources/resources_sh.properties +121 -124
  270. package/src/main/js/sap/ushell/renderer/resources/resources_sk.properties +21 -24
  271. package/src/main/js/sap/ushell/renderer/resources/resources_sl.properties +23 -26
  272. package/src/main/js/sap/ushell/renderer/resources/resources_sr.properties +4 -10
  273. package/src/main/js/sap/ushell/renderer/resources/resources_sv.properties +22 -25
  274. package/src/main/js/sap/ushell/renderer/resources/resources_th.properties +24 -27
  275. package/src/main/js/sap/ushell/renderer/resources/resources_tr.properties +24 -27
  276. package/src/main/js/sap/ushell/renderer/resources/resources_uk.properties +25 -28
  277. package/src/main/js/sap/ushell/renderer/resources/resources_vi.properties +22 -25
  278. package/src/main/js/sap/ushell/renderer/resources/resources_zh_CN.properties +19 -22
  279. package/src/main/js/sap/ushell/renderer/resources/resources_zh_TW.properties +25 -28
  280. package/src/main/js/sap/ushell/renderer/search/searchComponent/Component.js +4 -3
  281. package/src/main/js/sap/ushell/renderer/search/searchComponent/manifest.json +1 -1
  282. package/src/main/js/sap/ushell/services/AppConfiguration.js +326 -274
  283. package/src/main/js/sap/ushell/services/AppLifeCycle.js +14 -14
  284. package/src/main/js/sap/ushell/services/AppState.js +1 -1
  285. package/src/main/js/sap/ushell/services/Bookmark.js +1 -1
  286. package/src/main/js/sap/ushell/services/BookmarkV2.js +12 -10
  287. package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +635 -755
  288. package/src/main/js/sap/ushell/services/CommonDataModel.js +25 -16
  289. package/src/main/js/sap/ushell/services/Configuration.js +5 -4
  290. package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +1 -1
  291. package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +1 -1
  292. package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +2 -2
  293. package/src/main/js/sap/ushell/services/DarkModeSupport.js +9 -7
  294. package/src/main/js/sap/ushell/services/Extension/Item.js +1 -1
  295. package/src/main/js/sap/ushell/services/Extension.js +18 -1
  296. package/src/main/js/sap/ushell/services/FlpLaunchPage.js +8 -6
  297. package/src/main/js/sap/ushell/services/FrameBoundExtension/FloatingContainer.js +1 -1
  298. package/src/main/js/sap/ushell/services/FrameBoundExtension/Footer.js +1 -1
  299. package/src/main/js/sap/ushell/services/FrameBoundExtension/Item.js +1 -1
  300. package/src/main/js/sap/ushell/services/FrameBoundExtension/SidePane.js +1 -1
  301. package/src/main/js/sap/ushell/services/FrameBoundExtension/ToolArea.js +1 -1
  302. package/src/main/js/sap/ushell/services/FrameBoundExtension.js +18 -1
  303. package/src/main/js/sap/ushell/services/LaunchPage.js +1 -1
  304. package/src/main/js/sap/ushell/services/Menu.js +6 -4
  305. package/src/main/js/sap/ushell/services/Message.js +91 -412
  306. package/src/main/js/sap/ushell/services/MessageBroker.js +1 -1
  307. package/src/main/js/sap/ushell/services/MessageInternal.js +448 -0
  308. package/src/main/js/sap/ushell/services/NavTargetResolution.js +2 -1
  309. package/src/main/js/sap/ushell/services/NavTargetResolutionInternal.js +1 -1
  310. package/src/main/js/sap/ushell/services/Navigation/compatibility.js +1 -1
  311. package/src/main/js/sap/ushell/services/Navigation/utils.js +1 -1
  312. package/src/main/js/sap/ushell/services/Navigation.js +3 -3
  313. package/src/main/js/sap/ushell/services/NavigationDataProvider.js +1 -1
  314. package/src/main/js/sap/ushell/services/Notifications.js +4 -2
  315. package/src/main/js/sap/ushell/services/NotificationsV2.js +7 -5
  316. package/src/main/js/sap/ushell/services/PageBuilding.js +1 -1
  317. package/src/main/js/sap/ushell/services/PagePersistence.js +1 -1
  318. package/src/main/js/sap/ushell/services/PageReferencing.js +1 -1
  319. package/src/main/js/sap/ushell/services/Pages.js +1 -1
  320. package/src/main/js/sap/ushell/services/Personalization.js +1 -1
  321. package/src/main/js/sap/ushell/services/PersonalizationV2.js +1 -1
  322. package/src/main/js/sap/ushell/services/PluginManager.js +7 -5
  323. package/src/main/js/sap/ushell/services/ReferenceResolver.js +234 -238
  324. package/src/main/js/sap/ushell/services/Search.js +1 -1
  325. package/src/main/js/sap/ushell/services/SearchCEP.js +5 -4
  326. package/src/main/js/sap/ushell/services/SearchableContent.js +1 -1
  327. package/src/main/js/sap/ushell/services/ShellNavigation.js +3 -3
  328. package/src/main/js/sap/ushell/services/ShellNavigationHashChanger.js +38 -56
  329. package/src/main/js/sap/ushell/services/ShellNavigationInternal.js +1 -1
  330. package/src/main/js/sap/ushell/services/SmartNavigation.js +8 -6
  331. package/src/main/js/sap/ushell/services/SpaceContent.js +16 -14
  332. package/src/main/js/sap/ushell/services/UITracer.js +1 -1
  333. package/src/main/js/sap/ushell/services/URLParsing.js +6 -4
  334. package/src/main/js/sap/ushell/services/URLShortening.js +1 -1
  335. package/src/main/js/sap/ushell/services/URLTemplate.js +1 -1
  336. package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +1 -1
  337. package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +89 -78
  338. package/src/main/js/sap/ushell/services/UserDefaultParameters.js +229 -273
  339. package/src/main/js/sap/ushell/services/UserInfo.js +1 -1
  340. package/src/main/js/sap/ushell/services/UserRecents.js +1 -1
  341. package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +1 -1
  342. package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +1 -1
  343. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Formatter.js +11 -11
  344. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundIndex.js +9 -6
  345. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundProvider.js +16 -25
  346. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/ParameterMapping.js +3 -1
  347. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/PrelaunchOperations.js +20 -24
  348. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Search.js +52 -45
  349. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/StagedLogger.js +3 -5
  350. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/SystemContext.js +5 -2
  351. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Utils.js +1 -1
  352. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/VirtualInbounds.js +1 -1
  353. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/XAppStateProcessing.js +63 -80
  354. package/src/main/js/sap/ushell/services/_CommonDataModel/SiteConverter.js +1 -1
  355. package/src/main/js/sap/ushell/services/_CommonDataModel/vizTypeDefaults/VizTypeDefaults.js +1 -1
  356. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +1 -1
  357. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +1 -1
  358. package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +1 -1
  359. package/src/main/js/sap/ushell/services/_MessageBroker/MessageBrokerEngine.js +1 -1
  360. package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +6 -4
  361. package/src/main/js/sap/ushell/services/_PluginManager/Extensions.js +1 -1
  362. package/src/main/js/sap/ushell/services/_PluginManager/HeaderExtensions.js +1 -1
  363. package/src/main/js/sap/ushell/services/_PluginManager/MenuExtensions.js +3 -3
  364. package/src/main/js/sap/ushell/services/_Ui5ComponentLoader/utils.js +2 -2
  365. package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
  366. package/src/main/js/sap/ushell/themes/base/ShellHeader.less +32 -24
  367. package/src/main/js/sap/ushell/themes/sap_belize/library.source.less +10 -1
  368. package/src/main/js/sap/ushell/themes/sap_belize_base/.theming +4 -0
  369. package/src/main/js/sap/ushell/themes/sap_belize_base/ActionMode.less +107 -0
  370. package/src/main/js/sap/ushell/themes/sap_belize_base/AddBookmarkButton.less +37 -0
  371. package/src/main/js/sap/ushell/themes/sap_belize_base/AnchorItem.less +81 -0
  372. package/src/main/js/sap/ushell/themes/sap_belize_base/AnchorNavigationBar.less +86 -0
  373. package/src/main/js/sap/ushell/themes/sap_belize_base/AppearanceView.less +213 -0
  374. package/src/main/js/sap/ushell/themes/sap_belize_base/ApplicationContainer.less +37 -0
  375. package/src/main/js/sap/ushell/themes/sap_belize_base/Catalog.less +387 -0
  376. package/src/main/js/sap/ushell/themes/sap_belize_base/ContactSupport.less +12 -0
  377. package/src/main/js/sap/ushell/themes/sap_belize_base/ContentFinder.less +26 -0
  378. package/src/main/js/sap/ushell/themes/sap_belize_base/CustomGroupHeaderListItem.less +10 -0
  379. package/src/main/js/sap/ushell/themes/sap_belize_base/Dashboard.less +66 -0
  380. package/src/main/js/sap/ushell/themes/sap_belize_base/DynamicTile.less +114 -0
  381. package/src/main/js/sap/ushell/themes/sap_belize_base/Factsheet.less +225 -0
  382. package/src/main/js/sap/ushell/themes/sap_belize_base/FloatingContainer.less +125 -0
  383. package/src/main/js/sap/ushell/themes/sap_belize_base/FlpSettings.less +83 -0
  384. package/src/main/js/sap/ushell/themes/sap_belize_base/GroupList.less +68 -0
  385. package/src/main/js/sap/ushell/themes/sap_belize_base/GroupListItem.less +54 -0
  386. package/src/main/js/sap/ushell/themes/sap_belize_base/IconFonts.less +21 -0
  387. package/src/main/js/sap/ushell/themes/sap_belize_base/ImageTile.less +23 -0
  388. package/src/main/js/sap/ushell/themes/sap_belize_base/LoadingDialog.less +47 -0
  389. package/src/main/js/sap/ushell/themes/sap_belize_base/MenuBar.less +23 -0
  390. package/src/main/js/sap/ushell/themes/sap_belize_base/Notifications.less +135 -0
  391. package/src/main/js/sap/ushell/themes/sap_belize_base/Page.less +49 -0
  392. package/src/main/js/sap/ushell/themes/sap_belize_base/PictureTile.less +119 -0
  393. package/src/main/js/sap/ushell/themes/sap_belize_base/PictureViewer.less +25 -0
  394. package/src/main/js/sap/ushell/themes/sap_belize_base/PlusTile.less +38 -0
  395. package/src/main/js/sap/ushell/themes/sap_belize_base/QuickAccess.less +18 -0
  396. package/src/main/js/sap/ushell/themes/sap_belize_base/RightFloatingContainerItem.less +82 -0
  397. package/src/main/js/sap/ushell/themes/sap_belize_base/SearchCEP.less +121 -0
  398. package/src/main/js/sap/ushell/themes/sap_belize_base/SearchFLP.less +10 -0
  399. package/src/main/js/sap/ushell/themes/sap_belize_base/Section.less +60 -0
  400. package/src/main/js/sap/ushell/themes/sap_belize_base/ShellAppTitle.less +207 -0
  401. package/src/main/js/sap/ushell/themes/sap_belize_base/ShellFloatingAction.less +61 -0
  402. package/src/main/js/sap/ushell/themes/sap_belize_base/ShellFloatingActions.less +14 -0
  403. package/src/main/js/sap/ushell/themes/sap_belize_base/ShellHeader.less +389 -0
  404. package/src/main/js/sap/ushell/themes/sap_belize_base/ShellLayout.less +168 -0
  405. package/src/main/js/sap/ushell/themes/sap_belize_base/SidePane.less +8 -0
  406. package/src/main/js/sap/ushell/themes/sap_belize_base/StaticTile.less +9 -0
  407. package/src/main/js/sap/ushell/themes/sap_belize_base/SubHeader.less +3 -0
  408. package/src/main/js/sap/ushell/themes/sap_belize_base/SysInfoBar.less +164 -0
  409. package/src/main/js/sap/ushell/themes/sap_belize_base/TargetMappingConfiguration.less +8 -0
  410. package/src/main/js/sap/ushell/themes/sap_belize_base/Tile.less +223 -0
  411. package/src/main/js/sap/ushell/themes/sap_belize_base/TileBase.less +152 -0
  412. package/src/main/js/sap/ushell/themes/sap_belize_base/TileContainer.less +495 -0
  413. package/src/main/js/sap/ushell/themes/sap_belize_base/TilePlaceholder.less +75 -0
  414. package/src/main/js/sap/ushell/themes/sap_belize_base/TileState.less +62 -0
  415. package/src/main/js/sap/ushell/themes/sap_belize_base/ToolAreaItem.less +85 -0
  416. package/src/main/js/sap/ushell/themes/sap_belize_base/UserActionsMenu.less +23 -0
  417. package/src/main/js/sap/ushell/themes/sap_belize_base/UserConsentDialog.less +52 -0
  418. package/src/main/js/sap/ushell/themes/sap_belize_base/UserSettings.less +113 -0
  419. package/src/main/js/sap/ushell/themes/sap_belize_base/ViewPortContainer.less +28 -0
  420. package/src/main/js/sap/ushell/themes/sap_belize_base/WorkPage.less +58 -0
  421. package/src/main/js/sap/ushell/themes/sap_belize_base/WorkPageButton.less +60 -0
  422. package/src/main/js/sap/ushell/themes/sap_belize_base/WorkPageCell.less +144 -0
  423. package/src/main/js/sap/ushell/themes/sap_belize_base/WorkPageColumn.less +39 -0
  424. package/src/main/js/sap/ushell/themes/sap_belize_base/WorkPageColumnResizer.less +128 -0
  425. package/src/main/js/sap/ushell/themes/sap_belize_base/WorkPageRow.less +987 -0
  426. package/src/main/js/sap/ushell/themes/sap_belize_base/library.source.less +64 -0
  427. package/src/main/js/sap/ushell/themes/sap_belize_base/shared.less +40 -0
  428. package/src/main/js/sap/ushell/themes/sap_belize_hcb/library.source.less +10 -1
  429. package/src/main/js/sap/ushell/themes/sap_belize_hcw/library.source.less +10 -1
  430. package/src/main/js/sap/ushell/themes/sap_horizon/ShellHeader.less +9 -18
  431. package/src/main/js/sap/ushell/themes/sap_horizon/Tile.less +2 -6
  432. package/src/main/js/sap/ushell/themes/sap_horizon_dark/ShellHeader.less +9 -18
  433. package/src/main/js/sap/ushell/themes/sap_horizon_hcb/ShellHeader.less +7 -14
  434. package/src/main/js/sap/ushell/themes/sap_horizon_hcw/ShellHeader.less +7 -14
  435. package/src/main/js/sap/ushell/ui/AppContainer.js +5 -3
  436. package/src/main/js/sap/ushell/ui/ContentNodeSelector.js +78 -21
  437. package/src/main/js/sap/ushell/ui/ContentNodeSelectorRenderer.js +32 -0
  438. package/src/main/js/sap/ushell/ui/ShellHeader.js +8 -5
  439. package/src/main/js/sap/ushell/ui/appfinder/AppBoxInternal.js +1 -1
  440. package/src/main/js/sap/ushell/ui/cards/FrequentActivitiesExtension.js +5 -4
  441. package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +6 -5
  442. package/src/main/js/sap/ushell/ui/footerbar/AboutDialog.controller.js +11 -7
  443. package/src/main/js/sap/ushell/ui/footerbar/AboutDialog.fragment.xml +3 -3
  444. package/src/main/js/sap/ushell/ui/footerbar/AddBookmarkButton.js +4 -4
  445. package/src/main/js/sap/ushell/ui/footerbar/ContactSupportDialog.controller.js +6 -4
  446. package/src/main/js/sap/ushell/ui/footerbar/JamDiscussButton.js +8 -5
  447. package/src/main/js/sap/ushell/ui/footerbar/JamShareButton.js +8 -6
  448. package/src/main/js/sap/ushell/ui/footerbar/LogoutButton.js +10 -7
  449. package/src/main/js/sap/ushell/ui/footerbar/SaveAsTile.controller.js +5 -3
  450. package/src/main/js/sap/ushell/ui/footerbar/SendAsEmailButton.js +8 -6
  451. package/src/main/js/sap/ushell/ui/launchpad/CatalogEntryContainer.js +7 -4
  452. package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
  453. package/src/main/js/sap/ushell/ui/launchpad/Section.js +3 -6
  454. package/src/main/js/sap/ushell/ui/launchpad/TileContainer.js +14 -10
  455. package/src/main/js/sap/ushell/ui/launchpad/ViewPortState.js +1 -1
  456. package/src/main/js/sap/ushell/ui/launchpad/VizInstance.js +10 -7
  457. package/src/main/js/sap/ushell/ui/launchpad/VizInstanceAbap.js +4 -3
  458. package/src/main/js/sap/ushell/ui/launchpad/VizInstanceCdm.js +5 -3
  459. package/src/main/js/sap/ushell/ui/launchpad/VizInstanceLaunchPage.js +3 -0
  460. package/src/main/js/sap/ushell/ui/launchpad/VizInstanceLink.js +5 -3
  461. package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +1 -1
  462. package/src/main/js/sap/ushell/ui/shell/ShellHeadItem.js +3 -8
  463. package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +1 -2
  464. package/src/main/js/sap/ushell/ui/utils.js +1 -1
  465. package/src/main/js/sap/ushell/ui5service/ShellUIService.js +1 -1
  466. package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
  467. package/src/main/js/sap/ushell/utils/DynamicTileRequest.js +9 -7
  468. package/src/main/js/sap/ushell/utils/UriParameters.js +43 -0
  469. package/src/main/js/sap/ushell/utils/UrlParsing.js +2 -4
  470. package/src/main/js/sap/ushell/utils/UrlShortening.js +1 -1
  471. package/src/main/js/sap/ushell/utils/WindowUtils.js +20 -5
  472. package/src/main/js/sap/ushell/utils/chipsUtils.js +4 -3
  473. package/src/main/js/sap/ushell/utils/tilecard/TileCard.js +305 -305
  474. package/src/main/js/sap/ushell/utils/workpage/WorkPageHost.js +1 -1
  475. package/src/main/js/sap/ushell/utils/workpage/WorkPageService.js +22 -5
  476. package/src/main/js/sap/ushell/utils/workpage/WorkPageVizInstantiation.js +7 -6
  477. package/src/main/js/sap/ushell/utils/workpage/resources/resources_en.properties +5 -4
  478. package/src/main/js/sap/ushell/utils/workpage/resources/resources_sh.properties +21 -20
  479. package/src/main/js/sap/ushell/utils.js +69 -64
  480. package/src/test/js/sap/ushell/bootstrap/sandbox.js +6 -8
  481. package/ui5.yaml +1 -1
  482. package/src/main/js/sap/ushell/ui/ContentNodeSelector.control.xml +0 -26
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapui5/sap.ushell",
3
- "version": "1.124.3",
3
+ "version": "1.126.0",
4
4
  "description": "SAPUI5 Library sap.ushell",
5
5
  "homepage": "https://sap.github.io/ui5-tooling/pages/SAPUI5/",
6
6
  "keywords": [
@@ -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.3</version>
5
+ <version>1.126.0</version>
6
6
  <copyright>Copyright (c) 2009-2023 SAP SE, All Rights Reserved</copyright>
7
7
  <documentation>SAP library: sap.ushell</documentation>
8
8
 
@@ -6,8 +6,9 @@ sap.ui.define([
6
6
  "sap/base/util/restricted/_curry",
7
7
  "sap/base/util/restricted/_zipObject",
8
8
  "sap/ui/VersionInfo",
9
- "sap/ushell/Config"
10
- ], function (Log, oAppConfiguration, _curry, _zipObject, VersionInfo, Config) {
9
+ "sap/ushell/Config",
10
+ "sap/ushell/Container"
11
+ ], function (Log, oAppConfiguration, _curry, _zipObject, VersionInfo, Config, Container) {
11
12
  "use strict";
12
13
  /*global */
13
14
 
@@ -192,7 +193,7 @@ sap.ui.define([
192
193
  * @returns {Promise<string>} The promise resolves the user parameter
193
194
  */
194
195
  function getUserEnv (sUserEnv) {
195
- return sap.ushell.Container.getServiceAsync("ReferenceResolver")
196
+ return Container.getServiceAsync("ReferenceResolver")
196
197
  .then(function (oReferenceResolverService) {
197
198
  return new Promise(function (fnResolve, fnReject) {
198
199
  oReferenceResolverService.resolveReferences([sUserEnv])
@@ -340,33 +341,34 @@ sap.ui.define([
340
341
  * @returns {Promise} oPromise Promise that resolves to an object
341
342
  * keeping the application info parameters with values
342
343
  */
343
- function _getInfo (aParameters, oCurrentApplication, oApplicationContainer) {
344
- var aPromises = aParameters.map(function (sParameter) {
345
- if (isAttributeExist(sParameter)) {
346
- return Promise.resolve(getCustomValue(sParameter));
347
- }
348
- // add handler function in case of custom property
349
- if (_isCustom(sParameter)) {
350
- oHandlers[sParameter] = _curry(getSystemContext)(sParameter);
351
- }
352
- if (!oHandlers[sParameter]) {
353
- Log.error(sParameter + " is not a valid app info parameter");
354
- return undefined;
355
- }
356
- return oHandlers[sParameter](oCurrentApplication, oApplicationContainer);
357
- });
344
+ function _getInfo (aParameters, oCurrentApplication, oApplicationContainer) {
345
+ var oHandlersIncludingCustom = {...oHandlers};
346
+ var aPromises = aParameters.map(function (sParameter) {
347
+ if (isAttributeExist(sParameter)) {
348
+ return Promise.resolve(getCustomValue(sParameter));
349
+ }
350
+ // add handler function in case of custom property
351
+ if (_isCustom(sParameter)) {
352
+ oHandlersIncludingCustom[sParameter] = _curry(getSystemContext)(sParameter);
353
+ }
354
+ if (!oHandlersIncludingCustom[sParameter]) {
355
+ Log.error(sParameter + " is not a valid app info parameter");
356
+ return undefined;
357
+ }
358
+ return oHandlersIncludingCustom[sParameter](oCurrentApplication, oApplicationContainer);
359
+ });
358
360
 
359
- return Promise.allSettled(aPromises).then(function (aValues) {
360
- for (var i = 0; i < aValues.length; i++) {
361
- if (aValues[i].status === "fulfilled") {
362
- aValues[i] = aValues[i].value;
363
- } else {
364
- aValues[i] = undefined;
365
- }
361
+ return Promise.allSettled(aPromises).then(function (aValues) {
362
+ for (var i = 0; i < aValues.length; i++) {
363
+ if (aValues[i].status === "fulfilled") {
364
+ aValues[i] = aValues[i].value;
365
+ } else {
366
+ aValues[i] = undefined;
366
367
  }
368
+ }
367
369
 
368
- return _zipObject(aParameters, aValues);
369
- });
370
+ return _zipObject(aParameters, aValues);
371
+ });
370
372
  }
371
373
 
372
374
  //object of all app info
@@ -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 () {
@@ -133,9 +134,6 @@ sap.ui.define([
133
134
  // Special case: Notifications and NotificationsV2 configurations are interchangeable.
134
135
  // Notifications service configuration has priority
135
136
  if (sServiceName === "Notifications" || sServiceName === "NotificationsV2") {
136
- if (oServices.Notifications && oServices.NotificationsV2) {
137
- Log.error("Notifications and NotificationsV2 services should not be configured at the same time. NotificationsV2 configuration is ignored.");
138
- }
139
137
  return oServices.Notifications || oServices.NotificationsV2 || {};
140
138
  }
141
139
  return oServices[sServiceName] || {};
@@ -229,7 +227,6 @@ sap.ui.define([
229
227
  * });
230
228
  * </pre>
231
229
  *
232
- * @see sap.ushell.bootstrap
233
230
  * @since 1.15.0
234
231
  * @public
235
232
  */
@@ -643,7 +640,7 @@ sap.ui.define([
643
640
  *
644
641
  * @since 1.30.0
645
642
  * @public
646
- * @deprecated since 1.120.0
643
+ * @deprecated since 1.120. Use {@link sap.ushell.services.Extension} for shell extensions instead.
647
644
  * @alias sap.ushell.Container#getRenderer
648
645
  */
649
646
  this.getRenderer = function (sRendererName) {
@@ -1298,7 +1295,7 @@ sap.ui.define([
1298
1295
  // Note: this might become really asynchronous once the remote adapter is loaded
1299
1296
  // from the remote system itself
1300
1297
  oDeferred.resolve(createAdapter(sServiceName, oSystem, sParameter));
1301
- sap.ushell.Container.addRemoteSystem(oSystem);
1298
+ oContainerInstance.addRemoteSystem(oSystem);
1302
1299
  return oDeferred.promise();
1303
1300
  }
1304
1301
 
@@ -1415,7 +1412,7 @@ sap.ui.define([
1415
1412
  // Note: this might become really asynchronous once the remote adapter is loaded
1416
1413
  // from the remote system itself
1417
1414
  oDeferred.resolve(createAdapter(sServiceName, oSystem, sParameter));
1418
- sap.ushell.Container.addRemoteSystem(oSystem);
1415
+ oContainerInstance.addRemoteSystem(oSystem);
1419
1416
  return oDeferred.promise();
1420
1417
  }
1421
1418
 
@@ -1738,6 +1735,7 @@ sap.ui.define([
1738
1735
 
1739
1736
  /**
1740
1737
  * Logs out the current user from all relevant back-end systems, including the logon system itself.
1738
+ * This method also iterates through all registered logout handlers and calls them before continuing with the default logout.
1741
1739
  *
1742
1740
  * @returns {jQuery.Promise} Resolves when logout is finished, even when it fails.
1743
1741
  *
@@ -1748,77 +1746,79 @@ sap.ui.define([
1748
1746
  this.defaultLogout = function () {
1749
1747
  var oDeferred = new jQuery.Deferred();
1750
1748
 
1751
- function resolve () {
1752
- oAdapter.logout(true).always(function () {
1753
- oLocalStorage.removeItem(sSessionTerminationKey);
1754
- oDeferred.resolve();
1755
- });
1756
- }
1757
-
1758
- function logoutLogonSystem () {
1759
- var oDeferredAsyncLogoutEvent = new jQuery.Deferred();
1760
- var oPromiseAsyncLogoutEvent = oDeferredAsyncLogoutEvent.promise();
1761
- var arrLogoutEventsPromises = [];
1749
+ this.callRegisteredLogoutHandlers().then(() => {
1750
+ function resolve () {
1751
+ oAdapter.logout(true).always(function () {
1752
+ oLocalStorage.removeItem(sSessionTerminationKey);
1753
+ oDeferred.resolve();
1754
+ });
1755
+ }
1762
1756
 
1763
- if (aAsyncLogoutEventFunctions.length > 0) {
1764
- for (var i = 0; i < aAsyncLogoutEventFunctions.length; i++) {
1765
- arrLogoutEventsPromises.push(aAsyncLogoutEventFunctions[i]());
1766
- }
1767
- Promise.all(arrLogoutEventsPromises).then(oDeferredAsyncLogoutEvent.resolve);
1757
+ function logoutLogonSystem () {
1758
+ var oDeferredAsyncLogoutEvent = new jQuery.Deferred();
1759
+ var oPromiseAsyncLogoutEvent = oDeferredAsyncLogoutEvent.promise();
1760
+ var arrLogoutEventsPromises = [];
1768
1761
 
1769
- //if after 4 seconds we did not get all the async callbacks
1770
- //promises resolved, we will continue with the logout process
1771
- setTimeout(oDeferredAsyncLogoutEvent.resolve, 4000);
1772
- } else {
1773
- oDeferredAsyncLogoutEvent.resolve();
1774
- }
1762
+ if (aAsyncLogoutEventFunctions.length > 0) {
1763
+ for (var i = 0; i < aAsyncLogoutEventFunctions.length; i++) {
1764
+ arrLogoutEventsPromises.push(aAsyncLogoutEventFunctions[i]());
1765
+ }
1766
+ Promise.all(arrLogoutEventsPromises).then(oDeferredAsyncLogoutEvent.resolve);
1775
1767
 
1776
- oPromiseAsyncLogoutEvent.done(function () {
1777
- if (oEventProvider.fireEvent("Logout", true)) {
1778
- resolve();
1768
+ //if after 4 seconds we did not get all the async callbacks
1769
+ //promises resolved, we will continue with the logout process
1770
+ setTimeout(oDeferredAsyncLogoutEvent.resolve, 4000);
1779
1771
  } else {
1780
- // defer UShell redirect to let NWBC receive message asynchronously
1781
- setTimeout(resolve, 1000);
1772
+ oDeferredAsyncLogoutEvent.resolve();
1782
1773
  }
1783
- });
1784
- }
1785
-
1786
- function federatedLogout () {
1787
- var aRemoteLogoutPromises = [];
1788
1774
 
1789
- if (fnStorageEventListener) {
1790
- // IE sends localStorage events also to the issuing window, -
1791
- // this is not needed hence we remove the listener in general at that point
1792
- window.removeEventListener("storage", fnStorageEventListener);
1775
+ oPromiseAsyncLogoutEvent.done(function () {
1776
+ if (oEventProvider.fireEvent("Logout", true)) {
1777
+ resolve();
1778
+ } else {
1779
+ // defer UShell redirect to let NWBC receive message asynchronously
1780
+ setTimeout(resolve, 1000);
1781
+ }
1782
+ });
1793
1783
  }
1794
1784
 
1795
- ushellUtils.localStorageSetItem(sSessionTerminationKey, "pending");
1796
- that._suppressOData();
1797
- var mSystems = that._getRemoteSystems();
1798
- Object.keys(mSystems).forEach(function (sAlias) {
1799
- try {
1800
- aRemoteLogoutPromises.push(
1801
- createAdapter("Container", mSystems[sAlias]).logout(false)
1802
- );
1803
- } catch (e) {
1804
- Log.warning("Could not create adapter for " + sAlias,
1805
- e.toString(), "sap.ushell.Container");
1785
+ function federatedLogout () {
1786
+ var aRemoteLogoutPromises = [];
1787
+
1788
+ if (fnStorageEventListener) {
1789
+ // IE sends localStorage events also to the issuing window, -
1790
+ // this is not needed hence we remove the listener in general at that point
1791
+ window.removeEventListener("storage", fnStorageEventListener);
1806
1792
  }
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
1793
 
1817
- if (typeof oAdapter.addFurtherRemoteSystems === "function") {
1818
- oAdapter.addFurtherRemoteSystems().always(federatedLogout);
1819
- } else {
1820
- federatedLogout();
1821
- }
1794
+ ushellUtils.localStorageSetItem(sSessionTerminationKey, "pending");
1795
+ that._suppressOData();
1796
+ var mSystems = that._getRemoteSystems();
1797
+ Object.keys(mSystems).forEach(function (sAlias) {
1798
+ try {
1799
+ aRemoteLogoutPromises.push(
1800
+ createAdapter("Container", mSystems[sAlias]).logout(false)
1801
+ );
1802
+ } catch (e) {
1803
+ Log.warning("Could not create adapter for " + sAlias,
1804
+ e.toString(), "sap.ushell.Container");
1805
+ }
1806
+ oLocalStorage.removeItem(sRemoteSystemPrefix + sAlias);
1807
+ });
1808
+ // wait for all remote system logouts to be finished
1809
+ // Note: We use done() and not always(), and we require all adapters to resolve their logout(false) in any case.
1810
+ // If we use always() and any adapter's promise is rejected, the deferred object from when() is *immediately* rejected, too.
1811
+ // Then the redirect happens before all remote logouts are finished.
1812
+ // TODO force logoutLogonSystem after timeout?
1813
+ jQuery.when.apply(jQuery, aRemoteLogoutPromises).done(logoutLogonSystem);
1814
+ }
1815
+
1816
+ if (typeof oAdapter.addFurtherRemoteSystems === "function") {
1817
+ oAdapter.addFurtherRemoteSystems().always(federatedLogout);
1818
+ } else {
1819
+ federatedLogout();
1820
+ }
1821
+ });
1822
1822
 
1823
1823
  return oDeferred.promise();
1824
1824
  };
@@ -1843,14 +1843,85 @@ sap.ui.define([
1843
1843
  * with an extended SessionHandler function.
1844
1844
  * This is so that we can logout additional systems before we can logout from the Shell.
1845
1845
  * In this case we will register a substitute logout func from the SessionHandler.
1846
+ * Handlers registered through this API need to return a promise that resolves when the logout process is finished.
1847
+ *
1846
1848
  * @param {function} fnLogout function to be set
1849
+ * @returns {boolean} true if the function was successfully registered, false otherwise
1847
1850
  *
1848
1851
  * @since 1.15.0
1849
1852
  * @private
1850
1853
  * @alias sap.ushell.Container#registerLogout
1851
1854
  */
1852
1855
  this.registerLogout = function (fnLogout) {
1853
- this.logout = fnLogout;
1856
+ if (typeof fnLogout !== "function") {
1857
+ Log.error("Container.registerLogout - Invalid logout handler function.");
1858
+ return false;
1859
+ }
1860
+
1861
+ if (aRegisteredLogoutHandlers.includes(fnLogout)) {
1862
+ Log.warning("Container.registerLogout - This logout handler is already registered. Ignoring.");
1863
+ return false;
1864
+ }
1865
+
1866
+ aRegisteredLogoutHandlers.push(fnLogout);
1867
+ return true;
1868
+ };
1869
+
1870
+ /**
1871
+ * Deregisters a previously registered logout handler function. If the specified handler is not found
1872
+ * in the list of registered handlers, logs an error and returns false to indicate failure.
1873
+ * This ensures that only registered handlers are removed, maintaining the integrity of the logout process.
1874
+ *
1875
+ * @param {function} fnLogout - The logout handler function to deregister.
1876
+ * @returns {boolean} true if the handler was successfully deregistered, false otherwise.
1877
+ * @since 1.126.0
1878
+ * @private
1879
+ * @alias sap.ushell.Container#deRegisterLogout
1880
+ */
1881
+ this.deRegisterLogout = function (fnLogout) {
1882
+ const iIndex = aRegisteredLogoutHandlers.indexOf(fnLogout);
1883
+ if (iIndex === -1) {
1884
+ Log.error("Container.deRegisterLogout - Attempted to de-register a logout handler that was not registered.");
1885
+ return false;
1886
+ }
1887
+ aRegisteredLogoutHandlers.splice(iIndex, 1);
1888
+ return true;
1889
+ };
1890
+
1891
+ /**
1892
+ * Checks if a given logout handler function is currently registered.
1893
+ * This can be used to verify if a specific logout handler has been added to the list of handlers
1894
+ * that will be called during the logout process.
1895
+ *
1896
+ * @param {function} fnLogout - The logout handler function to check.
1897
+ * @returns {boolean} true if the handler is registered, false otherwise.
1898
+ * @since 1.126.0
1899
+ * @private
1900
+ * @alias sap.ushell.Container#isLogoutRegistered
1901
+ */
1902
+ this.isLogoutRegistered = function (fnLogout) {
1903
+ return aRegisteredLogoutHandlers.includes(fnLogout);
1904
+ };
1905
+
1906
+ /**
1907
+ * Calls all registered logout handlers sequentially. If a logout handler throws an error,
1908
+ * the error is logged, and the execution continues with the next handler. This ensures
1909
+ * that all logout handlers are attempted, regardless of individual failures.
1910
+ *
1911
+ * @since 1.126.0
1912
+ * @private
1913
+ * @alias sap.ushell.Container#callRegisteredLogoutHandlers
1914
+ */
1915
+ this.callRegisteredLogoutHandlers = async function () {
1916
+ if (aRegisteredLogoutHandlers.length > 0) {
1917
+ for (const fnLogout of aRegisteredLogoutHandlers) {
1918
+ try {
1919
+ await fnLogout();
1920
+ } catch (error) {
1921
+ Log.error("Error executing logout handler:", error);
1922
+ }
1923
+ }
1924
+ }
1854
1925
  };
1855
1926
 
1856
1927
  /**
@@ -2175,7 +2246,7 @@ sap.ui.define([
2175
2246
 
2176
2247
  function handleDarkMode (Config) {
2177
2248
  if (Config.last("/core/darkMode/enabled")) {
2178
- sap.ushell.Container.getServiceAsync("DarkModeSupport").then(function (DarkModeSupportService) {
2249
+ oContainerInstance.getServiceAsync("DarkModeSupport").then(function (DarkModeSupportService) {
2179
2250
  if (DarkModeSupportService && DarkModeSupportService.setup) { // Many qUnits mock getServiceAsync without DarkModeSupport
2180
2251
  DarkModeSupportService.setup();
2181
2252
  }
@@ -2186,7 +2257,7 @@ sap.ui.define([
2186
2257
  function initUITracer (Config) {
2187
2258
  var bTraceEnabled = !!(new URLSearchParams(window.location.search)).get("sap-ui-xx-ushell-UITraceEnabled");
2188
2259
  if (Config.last("/core/uiTracer/enabled") || bTraceEnabled) {
2189
- sap.ushell.Container.getServiceAsync("UITracer");
2260
+ oContainerInstance.getServiceAsync("UITracer");
2190
2261
  }
2191
2262
  }
2192
2263
  }.bind(this));
@@ -2208,7 +2279,7 @@ sap.ui.define([
2208
2279
  that._redirectWindow();
2209
2280
  }
2210
2281
 
2211
- if (sap.ushell.Container !== that) {
2282
+ if (oContainerInstance !== that) {
2212
2283
  // In integration test suite, old listeners remain which do not belong to the current sap.ushell.Container instance.
2213
2284
  // IE sends events also to own window. Then these old listeners react as if a remote window logged out...
2214
2285
  return;
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * The Fiori20 adapter automatically re-styles old (Fiori 1) applications to match Fiori2 design requirements.
7
7
  *
8
- * @version 1.124.3
8
+ * @version 1.126.0
9
9
  */
10
10
  sap.ui.define([
11
11
  "sap/ui/base/Object",
@@ -4,12 +4,11 @@
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.3
7
+ * @version 1.126.0
8
8
  */
9
9
  sap.ui.define([
10
10
  "sap/base/Log",
11
11
  "sap/base/util/isEmptyObject",
12
- "sap/base/util/UriParameters",
13
12
  "sap/base/util/Version",
14
13
  "sap/ui/core/Configuration",
15
14
  "sap/ui/core/library",
@@ -19,7 +18,6 @@ sap.ui.define([
19
18
  ], function (
20
19
  Log,
21
20
  isEmptyObject,
22
- UriParameters,
23
21
  Version,
24
22
  Configuration,
25
23
  coreLibrary,
@@ -77,7 +75,9 @@ sap.ui.define([
77
75
  ],
78
76
 
79
77
  getConfiguration: function (oComp) {
80
- var oConfig = this._getURLParamConfiguration(); // highest priority
78
+ var oConfig;
79
+
80
+ oConfig = this._getURLParamConfiguration(); // highest priority
81
81
 
82
82
  if (!oConfig) {
83
83
  oConfig = this._getMetadataConfiguration(oComp); // second source, if no URL config specified
@@ -102,11 +102,11 @@ sap.ui.define([
102
102
  * @private
103
103
  */
104
104
  _getURLParamConfiguration: function () {
105
- if (typeof Configuration.getFiori2Adaptation !== "function") {
105
+ if (!Configuration || typeof Configuration.getFiori2Adaptation !== "function") {
106
106
  return; // parameter is not defined in the Core
107
107
  }
108
108
 
109
- var oUriParameters = UriParameters.fromQuery(window.location.search);
109
+ var oUriParameters = new URLSearchParams(window.location.search);
110
110
  if (!oUriParameters.get(Fiori20AdapterConfiguration.S_FIORI20ADAPTER_URL_PARAM_NAME)) {
111
111
  return; // no param value specified in the URL
112
112
  }
@@ -200,6 +200,10 @@ sap.ui.define([
200
200
  * The allowlist is only used for applications with minUI5Version lower than 1.38 and for applications without
201
201
  * valid minUI5Version or valid app descriptor.
202
202
  * Any new/modified app with version 1.38 and higher is assumed to be built according to the Fiori 2.0 guidelines
203
+ *
204
+ * @param {sap.ui.core.UIComponent} oComp The component to check
205
+ * @param {string} sVersion The version to compare with
206
+ * @returns {boolean} Whether the component has a min version smaller than the given version
203
207
  */
204
208
  _hasMinVersionSmallerThan: function (oComp, sVersion) {
205
209
  var oInfo = oComp.getManifestEntry("sap.ui5");
@@ -253,9 +257,9 @@ sap.ui.define([
253
257
  // check: ShellUIService is available
254
258
  // this check is done after attaching onBeforeRendering since the service is obtained asynchronously
255
259
  const oService = ServiceFactoryRegistry.get("sap.ushell.ui5service.ShellUIService"),
256
- oServiceInstance = oService && oService.createInstance();
260
+ oServiceInstancePromise = oService && oService.createInstance();
257
261
 
258
- if (!oService || !oServiceInstance) {
262
+ if (!oService || !oServiceInstancePromise) {
259
263
  Log.warning(
260
264
  "Fiori20Adapter not loaded because ShellUIService is not available",
261
265
  "sap.ushell.ui5service.ShellUIService should be declared by configuration",
@@ -264,7 +268,7 @@ sap.ui.define([
264
268
  return;
265
269
  }
266
270
 
267
- oServiceInstance.then(
271
+ oServiceInstancePromise.then(
268
272
  (oServiceParam) => Fiori20Adapter.applyTo(oControl, oComponent, oConfig, oServiceParam),
269
273
  (oError) => {
270
274
  Log.warning(
@@ -274,7 +278,6 @@ sap.ui.define([
274
278
  );
275
279
  }
276
280
  );
277
-
278
281
  }
279
282
  };
280
283
  oControl.addEventDelegate(oDelegate);
@@ -10,7 +10,8 @@ sap.ui.define([
10
10
  "sap/ui/core/Element",
11
11
  "sap/ui/core/EventBus",
12
12
  "sap/ui/thirdparty/jquery",
13
- "sap/ushell/Config"
13
+ "sap/ushell/Config",
14
+ "sap/ushell/Container"
14
15
  ], function (
15
16
  Localization,
16
17
  Extend,
@@ -18,7 +19,8 @@ sap.ui.define([
18
19
  Element,
19
20
  EventBus,
20
21
  jQuery,
21
- Config
22
+ Config,
23
+ Container
22
24
  ) {
23
25
  "use strict";
24
26
 
@@ -1273,8 +1275,9 @@ sap.ui.define([
1273
1275
  this.oTabBarItemClickTimer = new Date();
1274
1276
  this.bTabBarModeActive = false;
1275
1277
  this.bOnTabBarElement = false;
1276
- if (sap.ushell.Container) {
1277
- sap.ushell.Container.getServiceAsync("FlpLaunchPage").then(function (oLaunchPageService) {
1278
+ var oLaunchpageService = Container.getServiceAsync("FlpLaunchPage");
1279
+ if (oLaunchpageService) {
1280
+ oLaunchpageService.then(function (oLaunchPageService) {
1278
1281
  this.oLaunchPageService = oLaunchPageService;
1279
1282
  timeoutLayoutInfo();
1280
1283
  }.bind(this));
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * @fileOverview NWBCInterface for NWBC client
4
4
  *
5
- * @version 1.124.3
5
+ * @version 1.126.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/ushell/EventHub",
@@ -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
- Log.debug("SessionHandler.logout :: Logout initiated", "", "SessionHandler");
851
+ return new Promise(function (resolve) {
852
+ Log.debug("SessionHandler.logout :: Logout initiated", "", "SessionHandler");
850
853
 
851
- function _logout (oLoading) {
852
- if (bInitialized === true) {
853
- that.detachUserEvents();
854
- that.detachVisibilityEvents();
855
- }
856
- if (that.oUserActivityTimer) {
857
- clearTimeout(that.oUserActivityTimer);
858
- }
859
- if (that.remainingTimer) {
860
- clearTimeout(that.remainingTimer);
861
- }
862
- if (that.notifyServerTimer) {
863
- clearTimeout(that.notifyServerTimer);
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
- var oLoading = new LoadingDialog({ text: "" });
872
- var oTimeout;
874
+ var oLoading = new LoadingDialog({ text: "" });
875
+ var oTimeout;
873
876
 
874
- // post the logout event to isolated
875
- PostMessageUtils.postMessageToMultipleIframes("sap.ushell.sessionHandler", "logout", {}, true).then(function () {
876
- if (bIsLogoutProcessStarted === false) {
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
 
@@ -31,16 +31,18 @@
31
31
  * Therefore, applications are encouraged to use
32
32
  * the <code>AppLifeCycle</code> service in the following way:
33
33
  * <pre>
34
- * sap.ushell.Container.getServiceAsync("AppLifeCycle").then(function (oAppLifeCycle) {
34
+ * sap.ui.require(["sap/ushell/Container"], function(Container) {
35
+ * Container.getServiceAsync("AppLifeCycle").then(function (oAppLifeCycle) {
35
36
  * oAppLifeCycle.getCurrentApplication().getTechnicalParameter("sap-fiori-id");
36
- * });
37
+ * });
38
+ * })
37
39
  * </pre>
38
40
  *
39
41
  * It is also possible to prevent applications from using the technical
40
42
  * parameters. If the application tries to access an internal parameter (e.g.,
41
43
  * sap-ui-app-id-hint) via the API, the application receives an error message.
42
44
  *
43
- * @version 1.124.3
45
+ * @version 1.126.0
44
46
  * @private
45
47
  */
46
48
  sap.ui.define([