@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.
Files changed (231) 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/Container.js +137 -62
  4. package/src/main/js/sap/ushell/Fiori20Adapter.js +1 -1
  5. package/src/main/js/sap/ushell/Fiori20AdapterTest.js +1 -1
  6. package/src/main/js/sap/ushell/NWBCInterface.js +1 -1
  7. package/src/main/js/sap/ushell/SessionHandler.js +35 -31
  8. package/src/main/js/sap/ushell/TechnicalParameters.js +1 -1
  9. package/src/main/js/sap/ushell/URLTemplateProcessor.js +1 -1
  10. package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +1 -1
  11. package/src/main/js/sap/ushell/Ui5ServiceFactory.js +1 -1
  12. package/src/main/js/sap/ushell/_URLTemplateProcessor/DefinitionParameterSetBuilder.js +1 -1
  13. package/src/main/js/sap/ushell/_URLTemplateProcessor/DependencyGraph.js +1 -1
  14. package/src/main/js/sap/ushell/_URLTemplateProcessor/Functions.js +1 -1
  15. package/src/main/js/sap/ushell/_URLTemplateProcessor/Resolvers.js +1 -1
  16. package/src/main/js/sap/ushell/_URLTemplateProcessor/TemplateParameterParser.js +1 -1
  17. package/src/main/js/sap/ushell/_URLTemplateProcessor/utils.js +1 -1
  18. package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +1 -1
  19. package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +1 -1
  20. package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
  21. package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +1 -1
  22. package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +1 -1
  23. package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +1 -1
  24. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
  25. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationV2Adapter.js +1 -1
  26. package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +1 -1
  27. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +1 -1
  28. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +1 -1
  29. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +1 -1
  30. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +1 -1
  31. package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +1 -1
  32. package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +1 -1
  33. package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +1 -1
  34. package/src/main/js/sap/ushell/adapters/cdm/v3/FlpLaunchPageAdapter.js +1 -1
  35. package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +1 -1
  36. package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +1 -1
  37. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +1 -1
  38. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +1 -1
  39. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +1 -1
  40. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +1 -1
  41. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +1 -1
  42. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +1 -1
  43. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +1 -1
  44. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionInternalAdapter.js +1 -1
  45. package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +1 -1
  46. package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +1 -1
  47. package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +1 -1
  48. package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +1 -1
  49. package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +1 -1
  50. package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +1 -1
  51. package/src/main/js/sap/ushell/adapters/local/FlpLaunchPageAdapter.js +1 -1
  52. package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +1 -1
  53. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +1 -1
  54. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionInternalAdapter.js +1 -1
  55. package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +1 -1
  56. package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +1 -1
  57. package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +1 -1
  58. package/src/main/js/sap/ushell/adapters/local/PersonalizationV2Adapter.js +1 -1
  59. package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +1 -1
  60. package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +1 -1
  61. package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +1 -1
  62. package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +1 -1
  63. package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +1 -1
  64. package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +1 -1
  65. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +6 -0
  66. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/Renderer.js +19 -0
  67. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppLifeCycle.js +51 -0
  68. package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension/Item.js +1 -1
  69. package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
  70. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/logger.js +1 -1
  71. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/state.js +1 -1
  72. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5datetimeformat.js +1 -1
  73. package/src/main/js/sap/ushell/bootstrap/sandbox2.js +1 -1
  74. package/src/main/js/sap/ushell/components/HomepageManager.js +1 -0
  75. package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
  76. package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +87 -4
  77. package/src/main/js/sap/ushell/components/applicationIntegration/application/Application.js +1 -1
  78. package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxHandler.js +2 -2
  79. package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPI.js +11 -1
  80. package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +1 -1
  81. package/src/main/js/sap/ushell/components/applicationIntegration/elements/model.js +25 -2
  82. package/src/main/js/sap/ushell/components/applicationIntegration/relatedServices/RelatedServices.js +1 -1
  83. package/src/main/js/sap/ushell/components/applicationIntegration/relatedShellElements/RelatedShellElements.js +1 -1
  84. package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +1 -1
  85. package/src/main/js/sap/ushell/components/contentFinder/Component.js +1 -1
  86. package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +1 -1
  87. package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +1 -1
  88. package/src/main/js/sap/ushell/components/contentFinder/controller/WidgetGallery.controller.js +1 -1
  89. package/src/main/js/sap/ushell/components/contentFinder/manifest.json +1 -1
  90. package/src/main/js/sap/ushell/components/contentFinderStandalone/Component.js +1 -1
  91. package/src/main/js/sap/ushell/components/contentFinderStandalone/controller/ContentFinderStandalone.controller.js +1 -1
  92. package/src/main/js/sap/ushell/components/contentFinderStandalone/manifest.json +1 -1
  93. package/src/main/js/sap/ushell/components/contentFinderStandalone/manifestAppSearch.json +1 -1
  94. package/src/main/js/sap/ushell/components/factsheet/Component.js +1 -1
  95. package/src/main/js/sap/ushell/components/homepage/ActionMode.js +1 -1
  96. package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +1 -1
  97. package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +1 -1
  98. package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +1 -1
  99. package/src/main/js/sap/ushell/components/homepage/manifest.json +1 -1
  100. package/src/main/js/sap/ushell/components/pages/ActionMode.js +1 -1
  101. package/src/main/js/sap/ushell/components/pages/Component.js +1 -1
  102. package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +1 -1
  103. package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +2 -1
  104. package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
  105. package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +1 -1
  106. package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
  107. package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +1 -1
  108. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +1 -1
  109. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +1 -1
  110. package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +1 -1
  111. package/src/main/js/sap/ushell/components/shell/Notifications/Notifications.controller.js +1 -2
  112. package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +1 -1
  113. package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
  114. package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +1 -1
  115. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +1 -1
  116. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +1 -1
  117. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +1 -1
  118. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchServiceProvider.js +1 -1
  119. package/src/main/js/sap/ushell/components/shell/Settings/Component.js +1 -1
  120. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +1 -1
  121. package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +1 -1
  122. package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +1 -1
  123. package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +1 -1
  124. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility.js +1 -1
  125. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +1 -1
  126. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +1 -1
  127. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +1 -1
  128. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +1 -1
  129. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +1 -1
  130. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +1 -1
  131. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +1 -1
  132. package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
  133. package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +1 -1
  134. package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +1 -1
  135. package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +1 -1
  136. package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
  137. package/src/main/js/sap/ushell/library.js +1 -1
  138. package/src/main/js/sap/ushell/navigationMode.js +1 -1
  139. package/src/main/js/sap/ushell/performance/ShellAnalytics.js +1 -1
  140. package/src/main/js/sap/ushell/performance/StatisticalRecord.js +1 -1
  141. package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
  142. package/src/main/js/sap/ushell/renderer/Renderer.js +44 -10
  143. package/src/main/js/sap/ushell/renderer/search/searchComponent/manifest.json +1 -1
  144. package/src/main/js/sap/ushell/services/AppLifeCycle.js +1 -1
  145. package/src/main/js/sap/ushell/services/AppState.js +1 -1
  146. package/src/main/js/sap/ushell/services/Bookmark.js +1 -1
  147. package/src/main/js/sap/ushell/services/BookmarkV2.js +1 -1
  148. package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +1 -1
  149. package/src/main/js/sap/ushell/services/CommonDataModel.js +1 -1
  150. package/src/main/js/sap/ushell/services/Configuration.js +1 -1
  151. package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +1 -1
  152. package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +1 -1
  153. package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +14 -3
  154. package/src/main/js/sap/ushell/services/DarkModeSupport.js +1 -1
  155. package/src/main/js/sap/ushell/services/Extension/Item.js +38 -2
  156. package/src/main/js/sap/ushell/services/Extension.js +9 -4
  157. package/src/main/js/sap/ushell/services/FlpLaunchPage.js +1 -1
  158. package/src/main/js/sap/ushell/services/FrameBoundExtension/FloatingContainer.js +1 -1
  159. package/src/main/js/sap/ushell/services/FrameBoundExtension/Footer.js +1 -1
  160. package/src/main/js/sap/ushell/services/FrameBoundExtension/Item.js +39 -3
  161. package/src/main/js/sap/ushell/services/FrameBoundExtension/SidePane.js +5 -2
  162. package/src/main/js/sap/ushell/services/FrameBoundExtension/ToolArea.js +5 -2
  163. package/src/main/js/sap/ushell/services/FrameBoundExtension.js +11 -5
  164. package/src/main/js/sap/ushell/services/LaunchPage.js +1 -1
  165. package/src/main/js/sap/ushell/services/Menu.js +1 -1
  166. package/src/main/js/sap/ushell/services/Message.js +1 -1
  167. package/src/main/js/sap/ushell/services/MessageBroker.js +1 -1
  168. package/src/main/js/sap/ushell/services/Navigation/compatibility.js +1 -1
  169. package/src/main/js/sap/ushell/services/Navigation/utils.js +1 -1
  170. package/src/main/js/sap/ushell/services/Navigation.js +1 -1
  171. package/src/main/js/sap/ushell/services/NavigationDataProvider.js +1 -1
  172. package/src/main/js/sap/ushell/services/PageBuilding.js +1 -1
  173. package/src/main/js/sap/ushell/services/PagePersistence.js +1 -1
  174. package/src/main/js/sap/ushell/services/PageReferencing.js +1 -1
  175. package/src/main/js/sap/ushell/services/Pages.js +1 -1
  176. package/src/main/js/sap/ushell/services/Personalization.js +1 -1
  177. package/src/main/js/sap/ushell/services/PersonalizationV2.js +1 -1
  178. package/src/main/js/sap/ushell/services/PluginManager.js +1 -1
  179. package/src/main/js/sap/ushell/services/ReferenceResolver.js +1 -1
  180. package/src/main/js/sap/ushell/services/Search.js +1 -1
  181. package/src/main/js/sap/ushell/services/SearchCEP.js +1 -1
  182. package/src/main/js/sap/ushell/services/SearchableContent.js +1 -1
  183. package/src/main/js/sap/ushell/services/ShellNavigation.js +1 -1
  184. package/src/main/js/sap/ushell/services/SmartNavigation.js +1 -1
  185. package/src/main/js/sap/ushell/services/SpaceContent.js +1 -1
  186. package/src/main/js/sap/ushell/services/UITracer.js +1 -1
  187. package/src/main/js/sap/ushell/services/URLShortening.js +1 -1
  188. package/src/main/js/sap/ushell/services/URLTemplate.js +1 -1
  189. package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +3 -3
  190. package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +1 -1
  191. package/src/main/js/sap/ushell/services/UserDefaultParameters.js +1 -1
  192. package/src/main/js/sap/ushell/services/UserInfo.js +1 -1
  193. package/src/main/js/sap/ushell/services/UserRecents.js +1 -1
  194. package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +1 -1
  195. package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +1 -1
  196. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Formatter.js +1 -1
  197. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundIndex.js +1 -1
  198. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundProvider.js +1 -1
  199. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/PrelaunchOperations.js +1 -1
  200. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Search.js +1 -1
  201. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/StagedLogger.js +1 -1
  202. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/SystemContext.js +1 -1
  203. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Utils.js +1 -1
  204. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/VirtualInbounds.js +1 -1
  205. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/XAppStateProcessing.js +1 -1
  206. package/src/main/js/sap/ushell/services/_CommonDataModel/SiteConverter.js +1 -1
  207. package/src/main/js/sap/ushell/services/_CommonDataModel/vizTypeDefaults/VizTypeDefaults.js +1 -1
  208. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +1 -1
  209. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +1 -1
  210. package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +1 -1
  211. package/src/main/js/sap/ushell/services/_MessageBroker/MessageBrokerEngine.js +1 -1
  212. package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +1 -1
  213. package/src/main/js/sap/ushell/services/_PluginManager/Extensions.js +1 -1
  214. package/src/main/js/sap/ushell/services/_PluginManager/HeaderExtensions.js +1 -1
  215. package/src/main/js/sap/ushell/services/_PluginManager/MenuExtensions.js +1 -1
  216. package/src/main/js/sap/ushell/services/_Ui5ComponentLoader/utils.js +1 -1
  217. package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
  218. package/src/main/js/sap/ushell/ui/cards/FrequentActivitiesExtension.js +0 -4
  219. package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +1 -5
  220. package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
  221. package/src/main/js/sap/ushell/ui/launchpad/Section.js +1 -1
  222. package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +1 -1
  223. package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +1 -1
  224. package/src/main/js/sap/ushell/ui/utils.js +1 -1
  225. package/src/main/js/sap/ushell/ui5service/ShellUIService.js +1 -1
  226. package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
  227. package/src/main/js/sap/ushell/utils/UrlShortening.js +1 -1
  228. package/src/main/js/sap/ushell/utils/workpage/WorkPageHost.js +1 -1
  229. package/src/main/js/sap/ushell/utils/workpage/WorkPageService.js +1 -1
  230. package/src/main/js/sap/ushell/utils/workpage/WorkPageVizInstantiation.js +1 -1
  231. package/src/test/js/sap/ushell/bootstrap/sandbox.js +1 -1
@@ -1,7 +1,7 @@
1
1
  // Copyright (c) 2009-2023 SAP SE, All Rights Reserved
2
2
  /**
3
3
  * @fileOverview handle all the resources for the different applications.
4
- * @version 1.124.2
4
+ * @version 1.124.4
5
5
  */
6
6
  sap.ui.define([
7
7
  "sap/ui/core/Element",
@@ -95,6 +95,7 @@ sap.ui.define([
95
95
  },
96
96
  oGlobalShellCommunicationHandlers = [],
97
97
  oGlobalIframeCommunicationHandlers = {},
98
+ oComponentCreatedPromises = {},
98
99
  isBackNavigationChanged = false,
99
100
  oKeepAliveModes = {
100
101
  FULL: "true",
@@ -122,6 +123,64 @@ sap.ui.define([
122
123
  return (oCurrentApplication.appId === appId);
123
124
  };
124
125
 
126
+ /**
127
+ * Sets the componentCreated promise for a given appId if it does not exist yet.
128
+ * Returns the promise along with the resolve and reject functions.
129
+ * @private
130
+ * @since 1.125.0
131
+ * @param {string} sAppId The id of the created application.
132
+ * @returns {{
133
+ * promise: Promise,
134
+ * resolve: function,
135
+ * reject: function
136
+ * }} An object containing the promise and the resolve and reject functions.
137
+ */
138
+ this.setComponentCreatedPromise = function (sAppId) {
139
+ if (!oComponentCreatedPromises[sAppId]) {
140
+ oComponentCreatedPromises[sAppId] = {};
141
+ oComponentCreatedPromises[sAppId].promise = new Promise((resolve, reject) => {
142
+ oComponentCreatedPromises[sAppId].resolve = resolve;
143
+ oComponentCreatedPromises[sAppId].reject = reject;
144
+ });
145
+ }
146
+
147
+ return oComponentCreatedPromises[sAppId];
148
+ };
149
+
150
+ /**
151
+ * Resolves the componentCreated promise for the given appId. If the promise does not yet exist, it is created.
152
+ * @param {string} sAppId The id of the created application.
153
+ * @private
154
+ * @since 1.125.0
155
+ */
156
+ this.resolveComponentCreatedPromise = function (sAppId) {
157
+ if (!sAppId) { return; }
158
+ this.setComponentCreatedPromise(sAppId).resolve();
159
+ };
160
+
161
+ /**
162
+ * Rejects the componentCreated promise for the given appId. If the promise does not yet exist, it is created.
163
+ * @param {string} sAppId The id of the created application.
164
+ * @private
165
+ * @since 1.125.0
166
+ */
167
+ this.rejectComponentCreatedPromise = function (sAppId) {
168
+ if (!sAppId) { return; }
169
+ this.setComponentCreatedPromise(sAppId).reject("Component was not created for app " + sAppId);
170
+ };
171
+
172
+ /**
173
+ * Returns the componentCreated promise for the given appId. If the promise does not yet exist, it is created.
174
+ * @param {string} sAppId The id of the created application.
175
+ * @returns {Promise | undefined} The componentCreated promise for the given appId or undefined if no appId is given.
176
+ * @private
177
+ * @since 1.125.0
178
+ */
179
+ this.getComponentCreatedPromise = function (sAppId) {
180
+ if (!sAppId) { return; }
181
+ return this.setComponentCreatedPromise(sAppId).promise;
182
+ };
183
+
125
184
  this.isAppWithSimilarShellHashInCache = function (appId, sFixedShellHash) {
126
185
  var oAppEntry = Storage.get(appId);
127
186
 
@@ -162,6 +221,8 @@ sap.ui.define([
162
221
  oApp.active();
163
222
  }
164
223
  }
224
+
225
+ this.resolveComponentCreatedPromise(sAppId);
165
226
  };
166
227
 
167
228
  this.onGetMe = function (oEvent, sChannel, oData) {
@@ -319,9 +380,13 @@ sap.ui.define([
319
380
  }
320
381
 
321
382
  if (sFromId && oFrom) {
383
+ // STATEFUL
322
384
  if (BlueBoxHandler.isStatefulContainer(oFrom)) {
323
385
  oPromiseAppClose = this.handleExitStateful(sFromId, oFrom, isHomePage);
386
+
387
+ //STATELESS
324
388
  } else if (Storage.get(sFromId)) {
389
+ // Back Navigation Case
325
390
  if (RelatedServices.isBackNavigation() === true && !isHomePage) {
326
391
  //check if the Iframe needs to be cached instead of destroy
327
392
  if (!BlueBoxHandler.returnUnusedKeepAliveContainer(oFrom)) {
@@ -331,14 +396,24 @@ sap.ui.define([
331
396
  } else {
332
397
  oPromiseAppClose = this.handleExitStateful(sFromId, oFrom, isHomePage);
333
398
  }
399
+
400
+ // Forward Navigation Cases
401
+ } else if (oFrom.getApplicationType() === "UI5") {
402
+ // Wait until navigation's source app has been started completey, so that a later back navigation finds a proper app that
403
+ // can be re-enabled (keep-alive scenario)
404
+ oPromiseAppClose = this.getComponentCreatedPromise(sFromId).then(() => { this.store(sFromId); });
334
405
  } else {
335
406
  this.store(sFromId);
336
407
  }
337
408
  EventBus.getInstance().publish("sap.ushell", "appClosed", oFrom);
409
+
410
+ // LEGACY STATEFUL (WebGUI)
338
411
  } else if (oFrom.getStatefulType && oFrom.getStatefulType() === BlueBoxHandler.STATEFUL_TYPES.GUI_V1) {
339
412
  if (isHomePage) {
340
413
  oPromiseAppClose = PostMessageUtils.postMessageToIframeApp(oFrom, "sap.gui", "triggerCloseSessionImmediately");
341
414
  }
415
+
416
+ // THE REST...
342
417
  } else {
343
418
  bIsAppOfTypeCachable = aCachedAppTypes.indexOf(oFrom.getApplicationType) >= 0;
344
419
 
@@ -1448,7 +1523,13 @@ sap.ui.define([
1448
1523
  // Assuming a previously existing TR container existed and is now
1449
1524
  // going to be reused, we prompt the container to load the new application context.
1450
1525
  var oPromiseAsyncAppCreate = new jQuery.Deferred().resolve().promise();
1451
-
1526
+ // SAP GUI is sending post messages for back navigation as soon the create application event is sent to the iframe,
1527
+ // so this makes sure the container is active before sending the event.
1528
+ // For WD applications, the application is active only after the application is created.
1529
+ // So it is not navigated twice.
1530
+ if (oInnerControl.getApplicationType() === ApplicationType.TR.type) {
1531
+ that.activeContainer(oInnerControl);
1532
+ }
1452
1533
  //here, we create the application in case this is a stateful container (meaning, using the existing iframe)
1453
1534
  if (bReuseStatefulContainer) {
1454
1535
  //for scube - make sure the container is active before we open the app
@@ -1468,8 +1549,10 @@ sap.ui.define([
1468
1549
  //for case of stateful container or gui v1 stateful, show the application view (make it visible)
1469
1550
  oPromiseAsyncAppCreate.then(function () {
1470
1551
  utils.setPerformanceMark("FLP -- centerViewPort");
1471
- // Activate container before showing it (start reacting to postMessage calls)
1472
- that.activeContainer(oInnerControl);
1552
+ if (oInnerControl.getApplicationType() !== ApplicationType.TR.type) {
1553
+ // Activate container before showing it (start reacting to postMessage calls)
1554
+ that.activeContainer(oInnerControl);
1555
+ }
1473
1556
  oDeferredOpenApp.resolve();
1474
1557
  });
1475
1558
  });
@@ -1,7 +1,7 @@
1
1
  // Copyright (c) 2009-2023 SAP SE, All Rights Reserved
2
2
  /**
3
3
  * @fileOverview handle all the resources for the different applications.
4
- * @version 1.124.2
4
+ * @version 1.124.4
5
5
  */
6
6
  sap.ui.define([
7
7
  "sap/ui/core/EventBus",
@@ -1,7 +1,7 @@
1
1
  // Copyright (c) 2009-2023 SAP SE, All Rights Reserved
2
2
  /**
3
3
  * @fileOverview handle all the resources for the different applications.
4
- * @version 1.124.2
4
+ * @version 1.124.4
5
5
  */
6
6
  sap.ui.define([
7
7
  "sap/ui/core/EventBus",
@@ -145,7 +145,7 @@ sap.ui.define([
145
145
  });
146
146
  });
147
147
  }
148
-
148
+ oInnerControl.setProperty("reservedParameters", oTarget.reservedParameters, true);
149
149
  oInnerControl.setProperty("currentAppUrl", sUrl, true);
150
150
  oInnerControl.setProperty("currentAppId", sStorageKey, true);
151
151
  oInnerControl.setProperty("currentAppTargetResolution", oTarget, true);
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview defines the post message API for all applications running in iframe within the shell
5
- * @version 1.124.2
5
+ * @version 1.124.4
6
6
  * @private
7
7
  */
8
8
  sap.ui.define([
@@ -1016,6 +1016,16 @@ sap.ui.define([
1016
1016
  },
1017
1017
  "sap.ushell.services.AppLifeCycle": {
1018
1018
  oServiceCalls: {
1019
+ reloadCurrentApp: {
1020
+ executeServiceCallFn: async (oServiceParams) => {
1021
+ // should only be called for appruntime
1022
+ EventHub.emit("reloadCurrentApp", {
1023
+ // Omit sAppContainerId, otherwise the entire iframe will be reloaded
1024
+ sCurrentHash: hasher.getHash(),
1025
+ date: Date.now()
1026
+ });
1027
+ }
1028
+ },
1019
1029
  getFullyQualifiedXhrUrl: {
1020
1030
  executeServiceCallFn: async (oServiceParams) => {
1021
1031
  const { path } = oServiceParams.oMessageData.body;
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview handle all the resources for the different applications.
5
- * @version 1.124.2
5
+ * @version 1.124.4
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/base/util/extend",
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview The models assosicated with the applciation.
5
- * @version 1.124.2
5
+ * @version 1.124.4
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/ui/core/EventBus",
@@ -862,7 +862,7 @@ sap.ui.define([
862
862
  };
863
863
 
864
864
  this.addElementToManagedQueue = function (oItem) {
865
- //update extenstionShell
865
+ //update extensionShell
866
866
  //get the current model ref
867
867
  var sStateName = Config.last("/core/shell/model/currentState/stateName"),
868
868
  oBaseExtensionShellStates,
@@ -900,6 +900,29 @@ sap.ui.define([
900
900
  }
901
901
  };
902
902
 
903
+ /**
904
+ * Removes an item from the managed queue.
905
+ * @param {sap.ui.core.Control} oItem The item to remove from the managed queue.
906
+ *
907
+ * @since 1.128.0
908
+ * @private
909
+ */
910
+ this.removeElementFromManagedQueue = function (oItem) {
911
+ var sStateName = Config.last("/core/shell/model/currentState/stateName");
912
+ var sItemId = oItem.getId();
913
+
914
+ // remove from currentState
915
+ var aCurrentStateManagedObjects = oApplicationShellStates.extendedShellStates[sStateName].managedObjects;
916
+ var iIndexInCurrentState = aCurrentStateManagedObjects.indexOf(sItemId);
917
+ if (iIndexInCurrentState > -1) {
918
+ aCurrentStateManagedObjects.splice(iIndexInCurrentState, 1);
919
+ }
920
+
921
+ // remove from managed elements
922
+ delete oManagedElements[sItemId];
923
+ };
924
+
925
+
903
926
  this.updateNeededTriggersMap = function (oStorage, aTriggers) {
904
927
  var index;
905
928
 
@@ -1,7 +1,7 @@
1
1
  // Copyright (c) 2009-2023 SAP SE, All Rights Reserved
2
2
  /**
3
3
  * @fileOverview handle all the services for the different applications.
4
- * @version 1.124.2
4
+ * @version 1.124.4
5
5
  */
6
6
  sap.ui.define([
7
7
  "sap/ui/core/EventBus",
@@ -1,7 +1,7 @@
1
1
  // Copyright (c) 2009-2023 SAP SE, All Rights Reserved
2
2
  /**
3
3
  * @fileOverview handle all the related shell elements of the different applications.
4
- * @version 1.124.2
4
+ * @version 1.124.4
5
5
  */
6
6
  sap.ui.define([
7
7
  "sap/base/Log",
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview The UI integration's SAPUI5 control which supports application embedding.
5
- * @version 1.124.2
5
+ * @version 1.124.4
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/base/Log",
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * @fileOverview ContentFinder Component
4
4
  *
5
- * @version 1.124.2
5
+ * @version 1.124.4
6
6
  */
7
7
 
8
8
  sap.ui.define([
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @file AppSearch controller for AppSearch view
5
- * @version 1.124.2
5
+ * @version 1.124.4
6
6
  */
7
7
  sap.ui.define([
8
8
  "./ContentFinderDialog.controller",
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @file Controller for ContentFinderDialog root view
5
- * @version 1.124.2
5
+ * @version 1.124.4
6
6
  */
7
7
  sap.ui.define([
8
8
  "../model/formatter",
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @file Controller for WidgetGallery view
5
- * @version 1.124.2
5
+ * @version 1.124.4
6
6
  */
7
7
  sap.ui.define([
8
8
  "./ContentFinderDialog.controller"
@@ -3,7 +3,7 @@
3
3
  "sap.app": {
4
4
  "id": "sap.ushell.components.contentFinder",
5
5
  "applicationVersion": {
6
- "version": "1.124.2"
6
+ "version": "1.124.4"
7
7
  },
8
8
  "i18n": "./resources/resources.properties",
9
9
  "ach": "CA-FLP-FE-UI",
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * @fileOverview ContentFinder standalone Component
4
4
  *
5
- * @version 1.124.2
5
+ * @version 1.124.4
6
6
  */
7
7
 
8
8
  sap.ui.define([
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @file Controller for ContentFinderDialog standalone root view
5
- * @version 1.124.2
5
+ * @version 1.124.4
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/ui/core/mvc/Controller",
@@ -3,7 +3,7 @@
3
3
  "sap.app": {
4
4
  "id": "sap.ushell.components.contentFinderStandalone",
5
5
  "applicationVersion": {
6
- "version": "1.124.2"
6
+ "version": "1.124.4"
7
7
  },
8
8
  "ach": "CA-FLP-FE-UI",
9
9
  "type": "component",
@@ -3,7 +3,7 @@
3
3
  "sap.app": {
4
4
  "id": "sap.ushell.components.contentFinder",
5
5
  "applicationVersion": {
6
- "version": "1.124.2"
6
+ "version": "1.124.4"
7
7
  },
8
8
  "i18n": "../contentFinder/resources/resources.properties",
9
9
  "ach": "CA-FLP-FE-UI",
@@ -17,7 +17,7 @@ sap.ui.define([
17
17
 
18
18
  // use inline declaration instead of component.json to save 1 round trip
19
19
  metadata: {
20
- version: "1.124.2",
20
+ version: "1.124.4",
21
21
  library: "sap.ushell",
22
22
  dependencies: {
23
23
  libs: ["sap.m", "sap.ui.vbm", "sap.suite.ui.commons", "sap.ui.layout", "sap.viz"],
@@ -20,7 +20,7 @@
20
20
  * - Deactivation handler
21
21
  * - Rendering tile action menu
22
22
  *
23
- * @version 1.124.2
23
+ * @version 1.124.4
24
24
  *
25
25
  * @deprecated since 1.112
26
26
  */
@@ -5,7 +5,7 @@
5
5
  * with a header of type <code>sap.ushell.ui.launchpad.AnchorNavigationBar</code>
6
6
  * and content of type <code>sap.ushell.ui.launchpad.DashboardGroupsContainer</code>.
7
7
  *
8
- * @version 1.124.2
8
+ * @version 1.124.4
9
9
  *
10
10
  * @deprecated since 1.112
11
11
  * @private
@@ -6,7 +6,7 @@
6
6
  * Exposes the public function <code>createGroupsBox</code>
7
7
  * @see sap.ushell.components.homepage.DashboardContent.view
8
8
  *
9
- * @version 1.124.2
9
+ * @version 1.124.4
10
10
  * @since 1.35.0
11
11
  *
12
12
  * @deprecated since 1.112
@@ -5,7 +5,7 @@
5
5
  * Extends <code>sap.ui.base.Object</code><br>
6
6
  * Exposes the public function <code>initializeUIActions</code>
7
7
  *
8
- * @version 1.124.2
8
+ * @version 1.124.4
9
9
  * @since 1.35.0
10
10
  *
11
11
  * @deprecated since 1.112
@@ -3,7 +3,7 @@
3
3
  "sap.app": {
4
4
  "id": "sap.ushell.components.homepage",
5
5
  "applicationVersion": {
6
- "version": "1.124.2"
6
+ "version": "1.124.4"
7
7
  },
8
8
  "i18n": {
9
9
  "bundleUrl": "../../renderer/resources/resources.properties",
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * @fileOverview ActionMode for the PageRuntime view
4
4
  *
5
- * @version 1.124.2
5
+ * @version 1.124.4
6
6
  */
7
7
 
8
8
  sap.ui.define([
@@ -5,7 +5,7 @@
5
5
  * #Shell-home or #Launchpad-openFLPPage if spaces are enabled (/core/spaces/enabled).
6
6
  * In the future it should completely replace the classical homepage.
7
7
  *
8
- * @version 1.124.2
8
+ * @version 1.124.4
9
9
  */
10
10
 
11
11
  sap.ui.define([
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * @fileOverview MyHome migrate functionality for the PageRuntime view
4
4
  *
5
- * @version 1.124.2
5
+ * @version 1.124.4
6
6
  */
7
7
 
8
8
  sap.ui.define([
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @file PageRuntime controller for PageRuntime view
5
- * @version 1.124.2
5
+ * @version 1.124.4
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/ui/core/Element",
@@ -298,6 +298,7 @@ sap.ui.define([
298
298
  if (!bNavigationToHomeApp) {
299
299
  this._openFLPPage();
300
300
  } else {
301
+ this._cancelActionMode();
301
302
  // Navigate to empty page to avoid flickering of old page
302
303
  // BCP: 2270064359
303
304
  this.oPagesRuntimeNavContainer.to(this.oEmptyPage);
@@ -3,7 +3,7 @@
3
3
  "sap.app": {
4
4
  "id": "sap.ushell.components.pages",
5
5
  "applicationVersion": {
6
- "version": "1.124.2"
6
+ "version": "1.124.4"
7
7
  },
8
8
  "i18n": {
9
9
  "bundleUrl": "../../renderer/resources/resources.properties",
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @file RuntimeSwitcher's controller for RuntimeSwitcher's view
5
- * @version 1.124.2
5
+ * @version 1.124.4
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/ui/core/mvc/Controller",
@@ -3,7 +3,7 @@
3
3
  "sap.app": {
4
4
  "id": "sap.ushell.components.runtimeSwitcher",
5
5
  "applicationVersion": {
6
- "version": "1.124.2"
6
+ "version": "1.124.4"
7
7
  },
8
8
  "ach": "CA-FLP-FE-COR",
9
9
  "type": "component",
@@ -3,7 +3,7 @@
3
3
  "sap.app": {
4
4
  "id": "sap.ushell.components.shell.MenuBar",
5
5
  "applicationVersion": {
6
- "version": "1.124.2"
6
+ "version": "1.124.4"
7
7
  },
8
8
  "i18n": {
9
9
  "bundleUrl": "../../../renderer/resources/resources.properties",
@@ -4,7 +4,7 @@
4
4
  * @fileOverview Controller for the NavigationBarMenu Popover. It is responsible for Popover handling, model binding, persistence
5
5
  * logic to pin, unpin and rearrange pinned spaces as well as executing navigation.
6
6
  *
7
- * @version 1.124.2
7
+ * @version 1.124.4
8
8
  * @private
9
9
  */
10
10
  sap.ui.define([
@@ -3,7 +3,7 @@
3
3
  "sap.app": {
4
4
  "id": "sap.ushell.components.shell.NavigationBarMenu",
5
5
  "applicationVersion": {
6
- "version": "1.124.2"
6
+ "version": "1.124.4"
7
7
  },
8
8
  "i18n": {
9
9
  "bundleUrl": "../../../renderer/resources/resources.properties",
@@ -48,7 +48,7 @@ sap.ui.define([
48
48
 
49
49
  return UIComponent.extend("sap.ushell.components.shell.Notifications.Component", {
50
50
  metadata: {
51
- version: "1.124.2",
51
+ version: "1.124.4",
52
52
  library: "sap.ushell.components.shell.Notifications",
53
53
  dependencies: {
54
54
  libs: ["sap.m"]
@@ -378,7 +378,6 @@ sap.ui.define([
378
378
  ]);
379
379
  MessageToast.show(sMessage, { duration: 4000 });
380
380
  await this.refreshModel();
381
- this._retainFocus();
382
381
  } catch (oResult) {
383
382
  const iNrOfSucceededNotifications = oResult.succededNotifications && oResult.succededNotifications.length;
384
383
  if (iNrOfSucceededNotifications) {
@@ -392,12 +391,12 @@ sap.ui.define([
392
391
  ]);
393
392
  MessageToast.show(sMessage, { duration: 4000 });
394
393
  await this.refreshModel();
395
- this._retainFocus();
396
394
  } else {
397
395
  _errorMessage(resources.i18n.getText("notificationsFailedExecuteBulkAction"));
398
396
  }
399
397
  } finally {
400
398
  oModel.setProperty(`${sPathToNotification}/Busy`, false);
399
+ this._retainFocus();
401
400
  }
402
401
  },
403
402
 
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  return UIComponent.extend("sap.ushell.components.shell.ProductSwitch.Component", {
34
34
 
35
35
  metadata: {
36
- version: "1.124.2",
36
+ version: "1.124.4",
37
37
  library: "sap.ushell.components.shell.ProductSwitch",
38
38
  dependencies: {
39
39
  libs: {
@@ -4,7 +4,7 @@
4
4
  "id": "sap.ushell.components.shell.Search",
5
5
 
6
6
  "applicationVersion": {
7
- "version": "1.124.2"
7
+ "version": "1.124.4"
8
8
  },
9
9
  "i18n": {
10
10
  "bundleUrl": "../../../renderer/resources/resources.properties",
@@ -31,7 +31,7 @@ sap.ui.define([
31
31
 
32
32
  return UIComponent.extend("sap.ushell.components.shell.SearchCEP.Component", {
33
33
  metadata: {
34
- version: "1.124.2",
34
+ version: "1.124.4",
35
35
  library: ["sap.ushell", "sap.ushell.components.shell"],
36
36
  dependencies: {
37
37
  libs: ["sap.m"]
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview
5
- * @version 1.124.2
5
+ * @version 1.124.4
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/base/Log",
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview
5
- * @version 1.124.2
5
+ * @version 1.124.4
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/base/Log",