@sapui5/sap.ushell 1.126.1 → 1.127.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 (401) 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/Fiori20Adapter.js +1 -1
  4. package/src/main/js/sap/ushell/Fiori20AdapterTest.js +1 -1
  5. package/src/main/js/sap/ushell/NWBCInterface.js +1 -1
  6. package/src/main/js/sap/ushell/SessionHandler.js +2 -2
  7. package/src/main/js/sap/ushell/TechnicalParameters.js +1 -1
  8. package/src/main/js/sap/ushell/URLTemplateProcessor.js +1 -1
  9. package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +1 -1
  10. package/src/main/js/sap/ushell/Ui5ServiceFactory.js +1 -1
  11. package/src/main/js/sap/ushell/User.js +7 -7
  12. package/src/main/js/sap/ushell/UserActivityLog.js +8 -13
  13. package/src/main/js/sap/ushell/_Config/utils.js +18 -0
  14. package/src/main/js/sap/ushell/_URLTemplateProcessor/DefinitionParameterSetBuilder.js +1 -1
  15. package/src/main/js/sap/ushell/_URLTemplateProcessor/DependencyGraph.js +1 -1
  16. package/src/main/js/sap/ushell/_URLTemplateProcessor/Functions.js +1 -1
  17. package/src/main/js/sap/ushell/_URLTemplateProcessor/Resolvers.js +1 -1
  18. package/src/main/js/sap/ushell/_URLTemplateProcessor/TemplateParameterParser.js +1 -1
  19. package/src/main/js/sap/ushell/_URLTemplateProcessor/utils.js +1 -1
  20. package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +1 -1
  21. package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +1 -1
  22. package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
  23. package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +28 -9
  24. package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +1 -1
  25. package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +4 -3
  26. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
  27. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationV2Adapter.js +1 -1
  28. package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +1 -1
  29. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +1 -1
  30. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +1 -1
  31. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +1 -1
  32. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +1 -1
  33. package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +1 -1
  34. package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +1 -1
  35. package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +1 -1
  36. package/src/main/js/sap/ushell/adapters/cdm/v3/FlpLaunchPageAdapter.js +1 -1
  37. package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +1 -1
  38. package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +1 -1
  39. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +1 -1
  40. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +1 -1
  41. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +1 -1
  42. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +1 -1
  43. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +1 -1
  44. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +1 -1
  45. package/src/main/js/sap/ushell/adapters/cdm/v3/utilsCdm.js +6 -1
  46. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +1 -1
  47. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionInternalAdapter.js +1 -1
  48. package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +1 -1
  49. package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +1 -1
  50. package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +1 -1
  51. package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +1 -1
  52. package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +1 -1
  53. package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +1 -1
  54. package/src/main/js/sap/ushell/adapters/local/FlpLaunchPageAdapter.js +1 -1
  55. package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +1 -1
  56. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +1 -1
  57. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionInternalAdapter.js +1 -1
  58. package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +1 -1
  59. package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +1 -1
  60. package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +1 -1
  61. package/src/main/js/sap/ushell/adapters/local/PersonalizationV2Adapter.js +1 -1
  62. package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +1 -1
  63. package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +1 -1
  64. package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +1 -1
  65. package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +1 -1
  66. package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +1 -1
  67. package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +1 -1
  68. package/src/main/js/sap/ushell/appRuntime/neo/AppInfoService.js +1 -0
  69. package/src/main/js/sap/ushell/appRuntime/neo/AppRuntimeNeo.js +1 -0
  70. package/src/main/js/sap/ushell/appRuntime/neo/ProxyAppUtils.js +1 -0
  71. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +6 -0
  72. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/Renderer.js +19 -0
  73. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/RendererExtensions.js +1 -1
  74. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppConfiguration.js +1 -1
  75. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppLifeCycle.js +51 -0
  76. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppState.js +1 -1
  77. package/src/main/js/sap/ushell/appRuntime/ui5/services/Bookmark.js +1 -1
  78. package/src/main/js/sap/ushell/appRuntime/ui5/services/BookmarkV2.js +6 -6
  79. package/src/main/js/sap/ushell/appRuntime/ui5/services/CommonDataModel.js +1 -1
  80. package/src/main/js/sap/ushell/appRuntime/ui5/services/Container.js +1 -1
  81. package/src/main/js/sap/ushell/appRuntime/ui5/services/CrossApplicationNavigation.js +1 -1
  82. package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension/Item.js +1 -1
  83. package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension.js +1 -1
  84. package/src/main/js/sap/ushell/appRuntime/ui5/services/FrameBoundExtension.js +1 -1
  85. package/src/main/js/sap/ushell/appRuntime/ui5/services/LaunchPage.js +1 -1
  86. package/src/main/js/sap/ushell/appRuntime/ui5/services/MessageBroker.js +1 -1
  87. package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolution.js +1 -1
  88. package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolutionInternal.js +1 -1
  89. package/src/main/js/sap/ushell/appRuntime/ui5/services/Navigation.js +1 -1
  90. package/src/main/js/sap/ushell/appRuntime/ui5/services/ReferenceResolver.js +1 -1
  91. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigation.js +1 -1
  92. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigationInternal.js +1 -1
  93. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellUIService.js +1 -1
  94. package/src/main/js/sap/ushell/appRuntime/ui5/services/UserInfo.js +1 -1
  95. package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
  96. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/FLPScheduler.js +47 -16
  97. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/StepConfiguration.json +10 -3
  98. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/logger.js +1 -1
  99. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/state.js +1 -1
  100. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5.js +9 -0
  101. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5datetimeformat.js +1 -1
  102. package/src/main/js/sap/ushell/bootstrap/common/common.create.configcontract.core.js +13 -33
  103. package/src/main/js/sap/ushell/bootstrap/sandbox2.js +1 -1
  104. package/src/main/js/sap/ushell/components/_HeaderManager/ShellHeader.controller.js +135 -8
  105. package/src/main/js/sap/ushell/components/_HomepageManager/DashboardLoadingManager.js +1 -1
  106. package/src/main/js/sap/ushell/components/_HomepageManager/PagingManager.js +1 -1
  107. package/src/main/js/sap/ushell/components/_HomepageManager/PersistentPageOperationAdapter.js +1 -1
  108. package/src/main/js/sap/ushell/components/_HomepageManager/TransientPageOperationAdapter.js +1 -1
  109. package/src/main/js/sap/ushell/components/appfinder/AppFinder.controller.js +0 -6
  110. package/src/main/js/sap/ushell/components/appfinder/Component.js +1 -1
  111. package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
  112. package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +74 -72
  113. package/src/main/js/sap/ushell/components/applicationIntegration/application/Application.js +1 -1
  114. package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxHandler.js +1 -1
  115. package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPI.js +35 -18
  116. package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +42 -27
  117. package/src/main/js/sap/ushell/components/applicationIntegration/relatedServices/RelatedServices.js +1 -1
  118. package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +1 -1
  119. package/src/main/js/sap/ushell/components/contentFinder/Component.js +19 -12
  120. package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +24 -5
  121. package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +1 -1
  122. package/src/main/js/sap/ushell/components/contentFinder/controller/WidgetGallery.controller.js +1 -1
  123. package/src/main/js/sap/ushell/components/contentFinder/manifest.json +1 -1
  124. package/src/main/js/sap/ushell/components/contentFinder/model/formatter.js +47 -7
  125. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearch.view.xml +7 -6
  126. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchBox.fragment.xml +5 -4
  127. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchCategoryTree.view.xml +34 -22
  128. package/src/main/js/sap/ushell/components/contentFinderStandalone/Component.js +7 -6
  129. package/src/main/js/sap/ushell/components/contentFinderStandalone/controller/ContentFinderStandalone.controller.js +3 -1
  130. package/src/main/js/sap/ushell/components/contentFinderStandalone/manifest.json +1 -1
  131. package/src/main/js/sap/ushell/components/contentFinderStandalone/manifestAppSearch.json +1 -1
  132. package/src/main/js/sap/ushell/components/factsheet/Component.js +1 -1
  133. package/src/main/js/sap/ushell/components/homepage/ActionMode.js +1 -1
  134. package/src/main/js/sap/ushell/components/homepage/Component.js +1 -1
  135. package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +1 -1
  136. package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +29 -24
  137. package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +1 -1
  138. package/src/main/js/sap/ushell/components/homepage/manifest.json +1 -1
  139. package/src/main/js/sap/ushell/components/pages/ActionMode.js +1 -1
  140. package/src/main/js/sap/ushell/components/pages/Component.js +10 -3
  141. package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +1 -1
  142. package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +26 -5
  143. package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
  144. package/src/main/js/sap/ushell/components/runtimeSwitcher/Component.js +3 -2
  145. package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +1 -1
  146. package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
  147. package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +1 -1
  148. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +19 -3
  149. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +1 -1
  150. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/view/NavigationBarMenu.view.xml +1 -0
  151. package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +24 -22
  152. package/src/main/js/sap/ushell/components/shell/Notifications/Notifications.controller.js +1 -1
  153. package/src/main/js/sap/ushell/components/shell/PostLoadingHeaderEnhancement/Component.js +80 -17
  154. package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +1 -1
  155. package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
  156. package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +1 -1
  157. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +1 -1
  158. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +1 -1
  159. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +1 -1
  160. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchServiceProvider.js +1 -1
  161. package/src/main/js/sap/ushell/components/shell/Settings/Component.js +12 -16
  162. package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.controller.js +9 -4
  163. package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.view.xml +9 -9
  164. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +3 -45
  165. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/UserActionsMenu.controller.js +31 -23
  166. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/UserActionsMenuPopover.fragment.xml +7 -2
  167. package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +3 -3
  168. package/src/main/js/sap/ushell/components/tiles/applauncher/StaticTile.controller.js +0 -4
  169. package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/DynamicTile.controller.js +0 -1
  170. package/src/main/js/sap/ushell/components/tiles/indicatorcomparison/ComparisonTile.controller.js +1 -1
  171. package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +1 -1
  172. package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +2 -1
  173. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility.js +1 -1
  174. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +1939 -1946
  175. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +1 -1
  176. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +1 -1
  177. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +1 -1
  178. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +1 -1
  179. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +1 -1
  180. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +1 -1
  181. package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
  182. package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +3 -2
  183. package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +1 -1
  184. package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +1 -1
  185. package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
  186. package/src/main/js/sap/ushell/library.js +1 -1
  187. package/src/main/js/sap/ushell/navigationMode.js +1 -1
  188. package/src/main/js/sap/ushell/performance/ShellAnalytics.js +15 -12
  189. package/src/main/js/sap/ushell/performance/StatisticalRecord.js +1 -1
  190. package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
  191. package/src/main/js/sap/ushell/renderer/AccessKeysHandler.js +31 -9
  192. package/src/main/js/sap/ushell/renderer/Renderer.js +303 -287
  193. package/src/main/js/sap/ushell/renderer/Shell.controller.js +99 -101
  194. package/src/main/js/sap/ushell/renderer/Shell.view.js +110 -89
  195. package/src/main/js/sap/ushell/renderer/allMyApps/AllMyApps.controller.js +29 -15
  196. package/src/main/js/sap/ushell/renderer/allMyApps/AllMyApps.view.xml +2 -2
  197. package/src/main/js/sap/ushell/renderer/resources/resources.properties +2 -0
  198. package/src/main/js/sap/ushell/renderer/search/searchComponent/manifest.json +1 -1
  199. package/src/main/js/sap/ushell/renderers/fiori2/History.js +1 -0
  200. package/src/main/js/sap/ushell/renderers/fiori2/LogonFrameProvider.js +1 -0
  201. package/src/main/js/sap/ushell/renderers/fiori2/Shell.view.js +108 -87
  202. package/src/main/js/sap/ushell/renderers/fiori2/allMyApps/AllMyAppsManager.js +1 -0
  203. package/src/main/js/sap/ushell/services/AppLifeCycle.js +1 -1
  204. package/src/main/js/sap/ushell/services/AppState.js +1 -1
  205. package/src/main/js/sap/ushell/services/Bookmark.js +1 -1
  206. package/src/main/js/sap/ushell/services/BookmarkV2.js +1 -1
  207. package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +1 -1
  208. package/src/main/js/sap/ushell/services/CommonDataModel.js +2 -15
  209. package/src/main/js/sap/ushell/services/Configuration.js +1 -1
  210. package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +1 -1
  211. package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +1 -1
  212. package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +1 -1
  213. package/src/main/js/sap/ushell/services/DarkModeSupport.js +11 -5
  214. package/src/main/js/sap/ushell/services/Extension/Item.js +4 -4
  215. package/src/main/js/sap/ushell/services/Extension.js +36 -2
  216. package/src/main/js/sap/ushell/services/FlpLaunchPage.js +1 -1
  217. package/src/main/js/sap/ushell/services/FrameBoundExtension/FloatingContainer.js +1 -1
  218. package/src/main/js/sap/ushell/services/FrameBoundExtension/Footer.js +1 -1
  219. package/src/main/js/sap/ushell/services/FrameBoundExtension/Item.js +4 -4
  220. package/src/main/js/sap/ushell/services/FrameBoundExtension/SidePane.js +18 -2
  221. package/src/main/js/sap/ushell/services/FrameBoundExtension/ToolArea.js +20 -2
  222. package/src/main/js/sap/ushell/services/FrameBoundExtension.js +96 -2
  223. package/src/main/js/sap/ushell/services/LaunchPage.js +1 -1
  224. package/src/main/js/sap/ushell/services/Menu.js +1 -1
  225. package/src/main/js/sap/ushell/services/Message.js +1 -1
  226. package/src/main/js/sap/ushell/services/MessageBroker.js +1 -1
  227. package/src/main/js/sap/ushell/services/MessageInternal.js +13 -8
  228. package/src/main/js/sap/ushell/services/Navigation/compatibility.js +1 -1
  229. package/src/main/js/sap/ushell/services/Navigation/utils.js +1 -1
  230. package/src/main/js/sap/ushell/services/Navigation.js +1 -1
  231. package/src/main/js/sap/ushell/services/NavigationDataProvider.js +1 -1
  232. package/src/main/js/sap/ushell/services/PageBuilding.js +1 -1
  233. package/src/main/js/sap/ushell/services/PagePersistence.js +1 -1
  234. package/src/main/js/sap/ushell/services/PageReferencing.js +1 -1
  235. package/src/main/js/sap/ushell/services/Pages.js +4 -3
  236. package/src/main/js/sap/ushell/services/Personalization.js +1 -1
  237. package/src/main/js/sap/ushell/services/PersonalizationV2.js +1 -1
  238. package/src/main/js/sap/ushell/services/PluginManager.js +1 -1
  239. package/src/main/js/sap/ushell/services/ReferenceResolver.js +1 -1
  240. package/src/main/js/sap/ushell/services/Search.js +1 -1
  241. package/src/main/js/sap/ushell/services/SearchCEP.js +1 -1
  242. package/src/main/js/sap/ushell/services/SearchableContent.js +6 -5
  243. package/src/main/js/sap/ushell/services/ShellNavigation.js +1 -1
  244. package/src/main/js/sap/ushell/services/SmartNavigation.js +1 -1
  245. package/src/main/js/sap/ushell/services/SpaceContent.js +1 -1
  246. package/src/main/js/sap/ushell/services/UITracer.js +1 -1
  247. package/src/main/js/sap/ushell/services/URLShortening.js +1 -1
  248. package/src/main/js/sap/ushell/services/URLTemplate.js +1 -1
  249. package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +3 -3
  250. package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +1 -1
  251. package/src/main/js/sap/ushell/services/UserDefaultParameters.js +1 -1
  252. package/src/main/js/sap/ushell/services/UserInfo.js +1 -1
  253. package/src/main/js/sap/ushell/services/UserRecents.js +1 -1
  254. package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +1 -1
  255. package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +1 -1
  256. package/src/main/js/sap/ushell/services/_AppState/AppStatePersistencyMethod.js +1 -1
  257. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Formatter.js +1 -1
  258. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundIndex.js +1 -1
  259. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundProvider.js +1 -1
  260. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/PrelaunchOperations.js +1 -1
  261. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Search.js +1 -1
  262. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/StagedLogger.js +1 -1
  263. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/SystemContext.js +1 -1
  264. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Utils.js +1 -1
  265. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/VirtualInbounds.js +1 -1
  266. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/XAppStateProcessing.js +1 -1
  267. package/src/main/js/sap/ushell/services/_CommonDataModel/SiteConverter.js +1 -1
  268. package/src/main/js/sap/ushell/services/_CommonDataModel/vizTypeDefaults/VizTypeDefaults.js +1 -1
  269. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +2 -2
  270. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +1 -1
  271. package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +1 -1
  272. package/src/main/js/sap/ushell/services/_MessageBroker/MessageBrokerEngine.js +1 -1
  273. package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +1 -1
  274. package/src/main/js/sap/ushell/services/_Personalization/VariantSetAdapter.js +1 -0
  275. package/src/main/js/sap/ushell/services/_Personalization/WindowAdapter.js +1 -0
  276. package/src/main/js/sap/ushell/services/_Personalization/WindowAdapterContainer.js +1 -0
  277. package/src/main/js/sap/ushell/services/_Personalization/constants.js +1 -0
  278. package/src/main/js/sap/ushell/services/_Personalization/constants.private.js +1 -0
  279. package/src/main/js/sap/ushell/services/_Personalization/utils.js +1 -0
  280. package/src/main/js/sap/ushell/services/_PluginManager/Extensions.js +1 -1
  281. package/src/main/js/sap/ushell/services/_PluginManager/HeaderExtensions.js +2 -2
  282. package/src/main/js/sap/ushell/services/_PluginManager/MenuExtensions.js +1 -1
  283. package/src/main/js/sap/ushell/services/_Ui5ComponentLoader/utils.js +1 -1
  284. package/src/main/js/sap/ushell/state/BaseState.js +79 -0
  285. package/src/main/js/sap/ushell/state/ControlManager.js +209 -0
  286. package/src/main/js/sap/ushell/state/CurrentState.js +180 -0
  287. package/src/main/js/sap/ushell/state/KeepAlive.js +75 -0
  288. package/src/main/js/sap/ushell/state/ShellModel.js +112 -0
  289. package/src/main/js/sap/ushell/state/StateManager/LaunchpadState.js +40 -0
  290. package/src/main/js/sap/ushell/state/StateManager/Operation.js +42 -0
  291. package/src/main/js/sap/ushell/state/StateManager/ShellMode.js +86 -0
  292. package/src/main/js/sap/ushell/state/StateManager.js +648 -0
  293. package/src/main/js/sap/ushell/state/StateRules.js +295 -0
  294. package/src/main/js/sap/ushell/state/StrategyFactory/DefaultStrategy.js +74 -0
  295. package/src/main/js/sap/ushell/state/StrategyFactory/FloatingActionsStrategy.js +78 -0
  296. package/src/main/js/sap/ushell/state/StrategyFactory/HeadEndItemsStrategy.js +130 -0
  297. package/src/main/js/sap/ushell/state/StrategyFactory/HeadItemsStrategy.js +104 -0
  298. package/src/main/js/sap/ushell/state/StrategyFactory/SidePaneStrategy.js +78 -0
  299. package/src/main/js/sap/ushell/state/StrategyFactory/SubHeaderStrategy.js +78 -0
  300. package/src/main/js/sap/ushell/state/StrategyFactory/UserActionsStrategy.js +60 -0
  301. package/src/main/js/sap/ushell/state/StrategyFactory.js +168 -0
  302. package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
  303. package/src/main/js/sap/ushell/themes/base/UserSettings.less +1 -5
  304. package/src/main/js/sap/ushell/themes/base/WorkPageCell.less +45 -49
  305. package/src/main/js/sap/ushell/themes/sap_belize_base/UserSettings.less +1 -5
  306. package/src/main/js/sap/ushell/themes/sap_bluecrystal_base/UserSettings.less +1 -5
  307. package/src/main/js/sap/ushell/themes/sap_hcb/base_ActionMode.less +107 -0
  308. package/src/main/js/sap/ushell/themes/sap_hcb/base_AddBookmarkButton.less +37 -0
  309. package/src/main/js/sap/ushell/themes/sap_hcb/base_AnchorItem.less +81 -0
  310. package/src/main/js/sap/ushell/themes/sap_hcb/base_AnchorNavigationBar.less +86 -0
  311. package/src/main/js/sap/ushell/themes/sap_hcb/base_AppearanceView.less +213 -0
  312. package/src/main/js/sap/ushell/themes/sap_hcb/base_ApplicationContainer.less +37 -0
  313. package/src/main/js/sap/ushell/themes/sap_hcb/base_Catalog.less +387 -0
  314. package/src/main/js/sap/ushell/themes/sap_hcb/base_ContactSupport.less +12 -0
  315. package/src/main/js/sap/ushell/themes/sap_hcb/base_ContentFinder.less +26 -0
  316. package/src/main/js/sap/ushell/themes/sap_hcb/base_CustomGroupHeaderListItem.less +10 -0
  317. package/src/main/js/sap/ushell/themes/sap_hcb/base_Dashboard.less +66 -0
  318. package/src/main/js/sap/ushell/themes/sap_hcb/base_DynamicTile.less +114 -0
  319. package/src/main/js/sap/ushell/themes/sap_hcb/base_Factsheet.less +225 -0
  320. package/src/main/js/sap/ushell/themes/sap_hcb/base_FloatingContainer.less +125 -0
  321. package/src/main/js/sap/ushell/themes/sap_hcb/base_FlpSettings.less +83 -0
  322. package/src/main/js/sap/ushell/themes/sap_hcb/base_GroupList.less +68 -0
  323. package/src/main/js/sap/ushell/themes/sap_hcb/base_GroupListItem.less +54 -0
  324. package/src/main/js/sap/ushell/themes/sap_hcb/base_IconFonts.less +21 -0
  325. package/src/main/js/sap/ushell/themes/sap_hcb/base_ImageTile.less +23 -0
  326. package/src/main/js/sap/ushell/themes/sap_hcb/base_LoadingDialog.less +47 -0
  327. package/src/main/js/sap/ushell/themes/sap_hcb/base_MenuBar.less +23 -0
  328. package/src/main/js/sap/ushell/themes/sap_hcb/base_Notifications.less +135 -0
  329. package/src/main/js/sap/ushell/themes/sap_hcb/base_Page.less +49 -0
  330. package/src/main/js/sap/ushell/themes/sap_hcb/base_PictureTile.less +119 -0
  331. package/src/main/js/sap/ushell/themes/sap_hcb/base_PictureViewer.less +25 -0
  332. package/src/main/js/sap/ushell/themes/sap_hcb/base_PlusTile.less +38 -0
  333. package/src/main/js/sap/ushell/themes/sap_hcb/base_QuickAccess.less +18 -0
  334. package/src/main/js/sap/ushell/themes/sap_hcb/base_RightFloatingContainerItem.less +82 -0
  335. package/src/main/js/sap/ushell/themes/sap_hcb/base_SearchCEP.less +121 -0
  336. package/src/main/js/sap/ushell/themes/sap_hcb/base_SearchFLP.less +10 -0
  337. package/src/main/js/sap/ushell/themes/sap_hcb/base_Section.less +60 -0
  338. package/src/main/js/sap/ushell/themes/sap_hcb/base_ShellAppTitle.less +207 -0
  339. package/src/main/js/sap/ushell/themes/sap_hcb/base_ShellFloatingAction.less +61 -0
  340. package/src/main/js/sap/ushell/themes/sap_hcb/base_ShellFloatingActions.less +14 -0
  341. package/src/main/js/sap/ushell/themes/sap_hcb/base_ShellHeader.less +389 -0
  342. package/src/main/js/sap/ushell/themes/sap_hcb/base_ShellLayout.less +168 -0
  343. package/src/main/js/sap/ushell/themes/sap_hcb/base_SidePane.less +8 -0
  344. package/src/main/js/sap/ushell/themes/sap_hcb/base_StaticTile.less +9 -0
  345. package/src/main/js/sap/ushell/themes/sap_hcb/base_SubHeader.less +3 -0
  346. package/src/main/js/sap/ushell/themes/sap_hcb/base_SysInfoBar.less +164 -0
  347. package/src/main/js/sap/ushell/themes/sap_hcb/base_TargetMappingConfiguration.less +8 -0
  348. package/src/main/js/sap/ushell/themes/sap_hcb/base_Tile.less +223 -0
  349. package/src/main/js/sap/ushell/themes/sap_hcb/base_TileBase.less +152 -0
  350. package/src/main/js/sap/ushell/themes/sap_hcb/base_TileContainer.less +495 -0
  351. package/src/main/js/sap/ushell/themes/sap_hcb/base_TilePlaceholder.less +75 -0
  352. package/src/main/js/sap/ushell/themes/sap_hcb/base_TileState.less +62 -0
  353. package/src/main/js/sap/ushell/themes/sap_hcb/base_ToolAreaItem.less +85 -0
  354. package/src/main/js/sap/ushell/themes/sap_hcb/base_UserActionsMenu.less +23 -0
  355. package/src/main/js/sap/ushell/themes/sap_hcb/base_UserConsentDialog.less +52 -0
  356. package/src/main/js/sap/ushell/themes/sap_hcb/base_UserSettings.less +109 -0
  357. package/src/main/js/sap/ushell/themes/sap_hcb/base_ViewPortContainer.less +28 -0
  358. package/src/main/js/sap/ushell/themes/sap_hcb/base_WorkPage.less +58 -0
  359. package/src/main/js/sap/ushell/themes/sap_hcb/base_WorkPageButton.less +60 -0
  360. package/src/main/js/sap/ushell/themes/sap_hcb/base_WorkPageCell.less +144 -0
  361. package/src/main/js/sap/ushell/themes/sap_hcb/base_WorkPageColumn.less +39 -0
  362. package/src/main/js/sap/ushell/themes/sap_hcb/base_WorkPageColumnResizer.less +128 -0
  363. package/src/main/js/sap/ushell/themes/sap_hcb/base_WorkPageRow.less +987 -0
  364. package/src/main/js/sap/ushell/themes/sap_hcb/base_shared.less +40 -0
  365. package/src/main/js/sap/ushell/themes/sap_hcb/library.source.less +70 -1
  366. package/src/main/js/sap/ushell/ui/ShellHeader.fragment.xml +17 -11
  367. package/src/main/js/sap/ushell/ui/ShellHeader.js +10 -3
  368. package/src/main/js/sap/ushell/ui/cards/FrequentActivitiesExtension.js +0 -4
  369. package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +1 -5
  370. package/src/main/js/sap/ushell/ui/footerbar/AddBookmarkButton.js +19 -5
  371. package/src/main/js/sap/ushell/ui/footerbar/ContactSupportDialog.controller.js +9 -3
  372. package/src/main/js/sap/ushell/ui/footerbar/SendAsEmailButton.js +5 -5
  373. package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
  374. package/src/main/js/sap/ushell/ui/launchpad/Section.js +1 -1
  375. package/src/main/js/sap/ushell/ui/launchpad/TileContainer.js +17 -12
  376. package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +1 -1
  377. package/src/main/js/sap/ushell/ui/shell/ShellAppTitle.js +50 -35
  378. package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +2 -2
  379. package/src/main/js/sap/ushell/ui/utils.js +1 -1
  380. package/src/main/js/sap/ushell/ui5service/ShellUIService.js +1 -1
  381. package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
  382. package/src/main/js/sap/ushell/utils/UrlShortening.js +1 -1
  383. package/src/main/js/sap/ushell/utils/WindowUtils.js +3 -3
  384. package/src/main/js/sap/ushell/utils/workpage/DestinationResolver.js +89 -0
  385. package/src/main/js/sap/ushell/utils/workpage/WorkPageHost.js +51 -47
  386. package/src/main/js/sap/ushell/utils/workpage/WorkPageService.js +32 -1
  387. package/src/main/js/sap/ushell/utils/workpage/WorkPageVizInstantiation.js +1 -1
  388. package/src/main/js/sap/ushell/utils.js +26 -2
  389. package/src/test/js/sap/ushell/bootstrap/sandbox.js +1 -1
  390. package/src/main/js/sap/ushell/bootstrap/common/common.load.ui5theme.js +0 -67
  391. package/src/main/js/sap/ushell/components/HeaderManager.js +0 -547
  392. package/src/main/js/sap/ushell/components/StateHelper.js +0 -70
  393. package/src/main/js/sap/ushell/components/_HeaderManager/AddHeadEndItemsStrategy.js +0 -105
  394. package/src/main/js/sap/ushell/components/_HeaderManager/AddHeadItemsStrategy.js +0 -75
  395. package/src/main/js/sap/ushell/components/_HeaderManager/ControlManager.js +0 -70
  396. package/src/main/js/sap/ushell/components/_HeaderManager/ExtendApplicationPropertyStrategy.js +0 -18
  397. package/src/main/js/sap/ushell/components/_HeaderManager/PropertyStrategiesFactory.js +0 -58
  398. package/src/main/js/sap/ushell/components/_HeaderManager/RemoveItemsStrategy.js +0 -46
  399. package/src/main/js/sap/ushell/components/_HeaderManager/SetHeadPropertyStrategy.js +0 -19
  400. package/src/main/js/sap/ushell/components/applicationIntegration/elements/model.js +0 -1309
  401. package/src/main/js/sap/ushell/components/applicationIntegration/relatedShellElements/RelatedShellElements.js +0 -363
@@ -1,12 +1,11 @@
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.126.1
4
+ * @version 1.127.0
5
5
  */
6
6
  sap.ui.define([
7
7
  "sap/ui/core/Element",
8
8
  "sap/ui/core/EventBus",
9
- "sap/ushell/components/applicationIntegration/elements/model",
10
9
  "sap/ushell/components/applicationIntegration/Storage",
11
10
  "sap/ushell/components/applicationIntegration/application/BlueBoxHandler",
12
11
  "sap/ushell/ui5service/ShellUIService",
@@ -14,7 +13,6 @@ sap.ui.define([
14
13
  "sap/ushell/components/applicationIntegration/application/PostMessageUtils",
15
14
  "sap/ushell/components/applicationIntegration/application/WebGUIStatefulHandler",
16
15
  "sap/ushell/components/applicationIntegration/relatedServices/RelatedServices",
17
- "sap/ushell/components/applicationIntegration/relatedShellElements/RelatedShellElements",
18
16
  "sap/ushell/components/applicationIntegration/configuration/AppMeta",
19
17
  "sap/ushell/services/AppConfiguration",
20
18
  "sap/ushell/utils",
@@ -31,11 +29,12 @@ sap.ui.define([
31
29
  "sap/ushell/services/_MessageBroker/MessageBrokerEngine",
32
30
  "sap/ushell/renderer/utils",
33
31
  "sap/m/library",
34
- "sap/ushell/Container"
32
+ "sap/ushell/Container",
33
+ "sap/ushell/state/StateManager",
34
+ "sap/ushell/state/KeepAlive"
35
35
  ], function (
36
36
  Element,
37
37
  EventBus,
38
- ElementsModel,
39
38
  Storage,
40
39
  BlueBoxHandler,
41
40
  ShellUIService,
@@ -43,10 +42,9 @@ sap.ui.define([
43
42
  PostMessageUtils,
44
43
  WebGUIStatefulHandler,
45
44
  RelatedServices,
46
- RelatedShellElements,
47
45
  AppMeta,
48
46
  AppConfiguration,
49
- utils,
47
+ ushellUtils,
50
48
  Config,
51
49
  ApplicationType,
52
50
  deepExtend,
@@ -60,39 +58,24 @@ sap.ui.define([
60
58
  MessageBrokerEngine,
61
59
  RendererUtils,
62
60
  mobileLibrary,
63
- Container
61
+ Container,
62
+ StateManager,
63
+ KeepAlive
64
64
  ) {
65
65
  "use strict";
66
66
 
67
+ // shortcut for sap.ushell.state.StateManager.ShellMode
68
+ const ShellMode = StateManager.ShellMode;
69
+
67
70
  function AppLifeCycle () {
68
71
  //Dangling controls is a queue of requests to change shell elements attributes, requested by the application in the process of createContent before the actual application state was apply.
69
72
  var oViewPortContainer,
70
73
  aCachedAppTypes = ["URL"],
71
74
  sRootIntent,
72
75
  oShellUIService,
73
- appState,
74
76
  disableHomeAppCache = false,
75
77
  bEnableRouterRetrigger = true,
76
78
  oCurrentApplication = {},
77
- oActualElementsModelStateMap = {
78
- home: {
79
- embedded: "embedded-home",
80
- headerless: "headerless-home",
81
- merged: "blank-home",
82
- blank: "blank-home"
83
- },
84
- app: {
85
- minimal: "minimal",
86
- app: "app",
87
- standalone: "standalone",
88
- embedded: "embedded",
89
- headerless: "headerless",
90
- merged: "merged",
91
- home: "home",
92
- blank: "blank",
93
- lean: "lean"
94
- }
95
- },
96
79
  oGlobalShellCommunicationHandlers = [],
97
80
  oGlobalIframeCommunicationHandlers = {},
98
81
  oComponentCreatedPromises = {},
@@ -108,9 +91,6 @@ sap.ui.define([
108
91
  if (window.QUnit === undefined) {
109
92
  MessageBrokerEngine.connect("FLP");
110
93
  }
111
- this.shellElements = function () {
112
- return RelatedShellElements;
113
- };
114
94
 
115
95
  this.service = function () {
116
96
  return RelatedServices;
@@ -251,8 +231,8 @@ sap.ui.define([
251
231
  function doDestroy () {
252
232
  BlueBoxHandler.deleteBlueBoxByContainer(oFrom);
253
233
  Application.destroy(oFrom);
254
- RelatedShellElements.destroy(oFrom);
255
234
  AppMeta.destroy(oFrom);
235
+ KeepAlive.destroy(oStorageEntry);
256
236
  }
257
237
 
258
238
  if (bHardDestroy === true) {
@@ -327,7 +307,7 @@ sap.ui.define([
327
307
  Application.restore(oStorageEntry);
328
308
  RelatedServices.restore(oStorageEntry.service);
329
309
  this.setBackNavigationChanged(true);
330
- AppMeta.restore();
310
+ AppMeta.restore(oStorageEntry.meta);
331
311
  }
332
312
  };
333
313
 
@@ -417,7 +397,7 @@ sap.ui.define([
417
397
  } else {
418
398
  bIsAppOfTypeCachable = aCachedAppTypes.indexOf(oFrom.getApplicationType) >= 0;
419
399
 
420
- //distroy the application and its resources
400
+ //destroy the application and its resources
421
401
  var bIsKeepAlive = this.isAppOfTypeCached(sFromId, bIsAppOfTypeCachable);
422
402
  if (bIsKeepAlive === false) {
423
403
  oDeferredAppClose = new jQuery.Deferred();
@@ -530,7 +510,8 @@ sap.ui.define([
530
510
  shellHash: sFixedShellHash,
531
511
  appId: appId,
532
512
  stt: "loading",
533
- appRelatedElements: RelatedShellElements.getAppRelatedElement(),
513
+ currentState: null, // current state is stored before close see: sap/ushell/state/CurrentState
514
+ controlManager: null, // control manager state is stored before close see: sap/ushell/state/ControlManager
534
515
  container: oContainer,
535
516
  meta: AppConfiguration.getMetadata(oTarget),
536
517
  app: undefined,
@@ -801,7 +782,7 @@ sap.ui.define([
801
782
  };
802
783
  }());
803
784
 
804
- this.init = function (inAppState, oInViewPortContainer, inSRootIntent, inDisableHomeAppCache, oShellUIServiceChange, aActions) {
785
+ this.init = function (oInViewPortContainer, inSRootIntent, inDisableHomeAppCache, oShellUIServiceChange) {
805
786
  if (Container && Config.last("/core/shell/enablePersistantAppstateWhenSharing")) {
806
787
  Container.getServiceAsync("AppState").then(function (oAppStateService) {
807
788
  fnOldTriggerEmail = URLHelper.triggerEmail.bind(URLHelper);
@@ -827,7 +808,6 @@ sap.ui.define([
827
808
  scopeType: "component"
828
809
  });
829
810
 
830
- appState = inAppState;
831
811
  oViewPortContainer = oInViewPortContainer;
832
812
  sRootIntent = inSRootIntent;
833
813
  AppMeta.init(sRootIntent);
@@ -872,7 +852,7 @@ sap.ui.define([
872
852
  bIgnoreStateful = false;
873
853
  if (oSetup) {
874
854
  if (oServiceParams.oContainer.getIsKeepAlive() === true &&
875
- utils.isSAPLegacyApplicationType(oServiceParams.oContainer.getApplicationType(), oServiceParams.oContainer.getFrameworkId())) {
855
+ ushellUtils.isSAPLegacyApplicationType(oServiceParams.oContainer.getApplicationType(), oServiceParams.oContainer.getFrameworkId())) {
876
856
  bIgnoreStateful = true;
877
857
  }
878
858
  if (oSetup.isStateful === true) {
@@ -933,7 +913,6 @@ sap.ui.define([
933
913
  EventBus.getInstance().subscribe("sap.ushell", "appComponentLoaded", this.onComponentCreated, this);
934
914
  EventBus.getInstance().subscribe("sap.ushell", "getAppLifeCycle", this.onGetMe, this);
935
915
 
936
- RelatedShellElements.init(this.getElementsModel(), aActions);
937
916
  this.addEvents();
938
917
  };
939
918
 
@@ -1020,15 +999,23 @@ sap.ui.define([
1020
999
  function fnCloseKeepAliveIfSameUI5App (oApp) {
1021
1000
  return (oApp.ui5ComponentName === oResolvedHashFragment.ui5ComponentName);
1022
1001
  }
1023
- var arrClosePromises = [],
1024
- oDeferred = new jQuery.Deferred();
1002
+ var arrClosePromises = [];
1003
+ var oDeferred = new jQuery.Deferred();
1025
1004
 
1026
- this.shellElements().setDangling(true);
1005
+ StateManager.stallChanges();
1027
1006
  this.closeKeepAliveApps(fnCloseKeepAliveIfSameUI5App, arrClosePromises);
1028
1007
 
1029
- Promise.all(arrClosePromises).then(function () {
1030
- Application.createComponent(oResolvedHashFragment, oParsedShellHash).done(oDeferred.resolve).fail(oDeferred.reject);
1031
- });
1008
+ Promise.all(arrClosePromises)
1009
+ .then(() => {
1010
+ return ushellUtils.promisify(Application.createComponent(oResolvedHashFragment, oParsedShellHash));
1011
+ })
1012
+ .then((oResult) => {
1013
+ oDeferred.resolve(oResult);
1014
+ })
1015
+ .catch((oError) => {
1016
+ StateManager.discardStalledChanges();
1017
+ oDeferred.reject(oError);
1018
+ });
1032
1019
 
1033
1020
  return oDeferred.promise();
1034
1021
  };
@@ -1070,10 +1057,6 @@ sap.ui.define([
1070
1057
  oShellUIService._attachBackNavigationChanged(oShellUIServiceChange.fnOnBackNavigationChange.bind(this));
1071
1058
  };
1072
1059
 
1073
- this.getElementsModel = function () {
1074
- return ElementsModel;
1075
- };
1076
-
1077
1060
  /**
1078
1061
  * In the FLP, only one container at a time can be active. If we have
1079
1062
  * multiple ApplicationContainers, they may still be active in the
@@ -1523,7 +1506,13 @@ sap.ui.define([
1523
1506
  // Assuming a previously existing TR container existed and is now
1524
1507
  // going to be reused, we prompt the container to load the new application context.
1525
1508
  var oPromiseAsyncAppCreate = new jQuery.Deferred().resolve().promise();
1526
-
1509
+ // SAP GUI is sending post messages for back navigation as soon the create application event is sent to the iframe,
1510
+ // so this makes sure the container is active before sending the event.
1511
+ // For WD applications, the application is active only after the application is created.
1512
+ // So it is not navigated twice.
1513
+ if (oInnerControl.getApplicationType() === ApplicationType.TR.type) {
1514
+ that.activeContainer(oInnerControl);
1515
+ }
1527
1516
  //here, we create the application in case this is a stateful container (meaning, using the existing iframe)
1528
1517
  if (bReuseStatefulContainer) {
1529
1518
  //for scube - make sure the container is active before we open the app
@@ -1542,9 +1531,11 @@ sap.ui.define([
1542
1531
 
1543
1532
  //for case of stateful container or gui v1 stateful, show the application view (make it visible)
1544
1533
  oPromiseAsyncAppCreate.then(function () {
1545
- utils.setPerformanceMark("FLP -- centerViewPort");
1546
- // Activate container before showing it (start reacting to postMessage calls)
1547
- that.activeContainer(oInnerControl);
1534
+ ushellUtils.setPerformanceMark("FLP -- centerViewPort");
1535
+ if (oInnerControl.getApplicationType() !== ApplicationType.TR.type) {
1536
+ // Activate container before showing it (start reacting to postMessage calls)
1537
+ that.activeContainer(oInnerControl);
1538
+ }
1548
1539
  oDeferredOpenApp.resolve();
1549
1540
  });
1550
1541
  });
@@ -1554,33 +1545,44 @@ sap.ui.define([
1554
1545
  return oDeferredOpenApp.promise();
1555
1546
  };
1556
1547
 
1557
- this.switchViewState = function (sState, bSaveLastState, sAppId) {
1558
- var sActualState = sState,
1559
- oStorageEntry;
1560
-
1561
- if (oActualElementsModelStateMap[sState] && oActualElementsModelStateMap[sState][appState]) {
1562
- sActualState = oActualElementsModelStateMap[sState][appState];
1548
+ /**
1549
+ * New app was created and we now have to switch the state
1550
+ */
1551
+ this.switchViewState = function (sLaunchpadState, sAppId, sAppType, bIsExplaceNavigation) {
1552
+ // Store state before creating a new one
1553
+ const oFromStorageEntry = Storage.get(oCurrentApplication.appId);
1554
+ if (oFromStorageEntry) {
1555
+ KeepAlive.store(oFromStorageEntry);
1556
+ } else {
1557
+ // We have to destroy managed queue BEFORE we're applying the pending changes
1558
+ StateManager.destroyManagedControls();
1563
1559
  }
1564
1560
 
1565
- var bIsCurrentStateHome = Config.last("/core/shell/model/currentState/stateName") === "home";
1566
1561
 
1567
- if (!bIsCurrentStateHome && (!oCurrentApplication.appId || !Storage.get(oCurrentApplication.appId))) {
1568
- ElementsModel.destroyManageQueue();
1562
+ const sShellMode = StateManager.getShellMode();
1563
+ // GUI Applications need a back button to work properly
1564
+ const oShellModeOverrides = {
1565
+ TR: {
1566
+ headerless: ShellMode.Minimal
1567
+ }
1568
+ };
1569
+
1570
+ let sShellModeOverride;
1571
+ if (!bIsExplaceNavigation) {
1572
+ sShellModeOverride = oShellModeOverrides[sAppType]?.[sShellMode];
1569
1573
  }
1570
- //change the application related shell model.
1571
- oStorageEntry = Storage.get("application" + sAppId);
1574
+ StateManager.switchState(sLaunchpadState, sShellModeOverride);
1572
1575
 
1573
- if (oStorageEntry) {
1574
- RelatedShellElements.restore(oStorageEntry);
1576
+ // Restore state if it already exists
1577
+ const oToStorageEntry = Storage.get("application" + sAppId);
1578
+ if (oToStorageEntry) {
1579
+ KeepAlive.restore(oToStorageEntry);
1575
1580
  } else {
1576
- RelatedShellElements.assignNew(sState);
1581
+ KeepAlive.flush();
1577
1582
  }
1578
1583
 
1579
- ElementsModel.switchState(sActualState, bSaveLastState, sAppId);
1580
-
1581
- //Process Dangling UI elements.
1582
- this.shellElements().setDangling(false);
1583
- this.shellElements().processDangling();
1584
+ //Process Dangling UI elements and continue.
1585
+ StateManager.applyStalledChanges();
1584
1586
  };
1585
1587
 
1586
1588
  this.registerShellCommunicationHandler = function (oCommunicationHandler) {
@@ -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.126.1
4
+ * @version 1.127.0
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.126.1
4
+ * @version 1.127.0
5
5
  */
6
6
  sap.ui.define([
7
7
  "sap/ui/core/EventBus",
@@ -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.126.1
5
+ * @version 1.127.0
6
6
  * @private
7
7
  */
8
8
  sap.ui.define([
@@ -31,7 +31,8 @@ sap.ui.define([
31
31
  "sap/ushell/ui/shell/ShellHeadItem",
32
32
  "sap/base/util/uid",
33
33
  "sap/ushell/Container",
34
- "sap/base/util/Deferred"
34
+ "sap/base/util/Deferred",
35
+ "sap/ushell/state/ShellModel"
35
36
  ], function (
36
37
  Formatting,
37
38
  Localization,
@@ -58,7 +59,8 @@ sap.ui.define([
58
59
  ShellHeadItem,
59
60
  fnGetUid,
60
61
  Container,
61
- Deferred
62
+ Deferred,
63
+ ShellModel
62
64
  ) {
63
65
  "use strict";
64
66
 
@@ -488,7 +490,8 @@ sap.ui.define([
488
490
  },
489
491
  sendUrlAsEmail: {
490
492
  executeServiceCallFn: async () => {
491
- const sAppName = Config.last("/core/shellHeader/application").title;
493
+ const sAppName = ShellModel.getModel().getProperty("/application/title");
494
+
492
495
  let sSubject;
493
496
  if (sAppName === undefined) {
494
497
  sSubject = resources.i18n.getText("linkToApplication");
@@ -511,7 +514,7 @@ sap.ui.define([
511
514
  executeServiceCallFn: async (oServiceParams) => {
512
515
  const { bSetAppStateToPublic } = oServiceParams.oMessageData.body;
513
516
 
514
- const sAppName = Config.last("/core/shellHeader/application").title;
517
+ const sAppName = ShellModel.getModel().getProperty("/application/title");
515
518
  let sSubject;
516
519
  if (sAppName === undefined) {
517
520
  sSubject = resources.i18n.getText("linkToApplication");
@@ -1016,6 +1019,16 @@ sap.ui.define([
1016
1019
  },
1017
1020
  "sap.ushell.services.AppLifeCycle": {
1018
1021
  oServiceCalls: {
1022
+ reloadCurrentApp: {
1023
+ executeServiceCallFn: async (oServiceParams) => {
1024
+ // should only be called for appruntime
1025
+ EventHub.emit("reloadCurrentApp", {
1026
+ // Omit sAppContainerId, otherwise the entire iframe will be reloaded
1027
+ sCurrentHash: hasher.getHash(),
1028
+ date: Date.now()
1029
+ });
1030
+ }
1031
+ },
1019
1032
  getFullyQualifiedXhrUrl: {
1020
1033
  executeServiceCallFn: async (oServiceParams) => {
1021
1034
  const { path } = oServiceParams.oMessageData.body;
@@ -1048,29 +1061,33 @@ sap.ui.define([
1048
1061
  getSystemAlias: {
1049
1062
  executeServiceCallFn: async (oServiceParams) => {
1050
1063
  const oAppTargetResolution = oServiceParams.oContainer.getCurrentAppTargetResolution();
1051
- const sFullSystemAlias = oAppTargetResolution.systemAlias;
1064
+ const sFullyQualifiedSystemAlias = oAppTargetResolution.systemAlias;
1052
1065
  const sContentProviderId = oAppTargetResolution.contentProviderId;
1053
1066
 
1054
1067
  if (sContentProviderId) {
1055
- if (!sFullSystemAlias.includes(sContentProviderId)) {
1056
- Log.error("Unexpected format for systemAlias: missing contentProviderId.");
1057
- return sFullSystemAlias;
1068
+ if (!sFullyQualifiedSystemAlias.includes(sContentProviderId)) {
1069
+ Log.error("Unexpected format for fully qualified systemAlias: missing contentProviderId.");
1070
+ return sFullyQualifiedSystemAlias;
1058
1071
  }
1059
1072
 
1060
- const sSystemAliasSuffix = sFullSystemAlias.replace(sContentProviderId, "");
1061
-
1062
- if (sSystemAliasSuffix.length === 0) {
1063
- return sSystemAliasSuffix;
1073
+ const sSystemAliasInProvider = sFullyQualifiedSystemAlias.replace(sContentProviderId, "");
1074
+ // pass undefined as a default system alias within a provider
1075
+ if (sSystemAliasInProvider.length === 0) {
1076
+ return undefined;
1064
1077
  }
1065
1078
 
1066
- if (sSystemAliasSuffix[0] !== "_") {
1067
- Log.error("Unexpected format for systemAlias: missing underscore delimiter.");
1068
- return sSystemAliasSuffix;
1079
+ if (sSystemAliasInProvider[0] !== "_") {
1080
+ Log.error("Unexpected format for fully qualified systemAlias: missing underscore delimiter.");
1081
+ return sSystemAliasInProvider;
1082
+ }
1083
+ // pass undefined as a default system alias within a provider
1084
+ if (sSystemAliasInProvider === "_") {
1085
+ return undefined;
1069
1086
  }
1070
1087
 
1071
- return sSystemAliasSuffix.replace("_", "");
1088
+ return sSystemAliasInProvider.replace("_", "");
1072
1089
  }
1073
- return sFullSystemAlias;
1090
+ return sFullyQualifiedSystemAlias;
1074
1091
  }
1075
1092
  },
1076
1093
  setNewAppInfo: {
@@ -2,42 +2,53 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview handle all the resources for the different applications.
5
- * @version 1.126.1
5
+ * @version 1.127.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/base/util/extend",
9
9
  "sap/ushell/services/AppConfiguration",
10
- "sap/ushell/components/applicationIntegration/elements/model",
11
10
  "sap/ui/Device",
12
11
  "sap/ushell/Config",
13
12
  "sap/ushell/utils",
14
13
  "sap/ushell/resources",
15
14
  "sap/ushell/EventHub",
16
- "sap/ushell/components/applicationIntegration/relatedShellElements/RelatedShellElements",
17
15
  "sap/ui/performance/Measurement",
18
16
  "sap/ui/util/Mobile",
19
17
  "sap/ui/core/Core",
20
18
  "sap/ui/core/Theming",
21
- "sap/ushell/Container"
19
+ "sap/ushell/Container",
20
+ "sap/ushell/state/StateManager"
22
21
  ], function (
23
22
  extend,
24
23
  AppConfiguration,
25
- ElementsModel,
26
24
  Device,
27
25
  Config,
28
26
  ushellUtils,
29
27
  resources,
30
28
  EventHub,
31
- RelatedShellElements,
32
29
  Measurement,
33
30
  Mobile,
34
31
  Core,
35
32
  Theming,
36
- Container
33
+ Container,
34
+ StateManager
37
35
  ) {
38
36
  "use strict";
39
37
 
40
- function AppMeta() {
38
+ // shortcut for sap.ushell.state.StateManager.LaunchpadState
39
+ const LaunchpadState = StateManager.LaunchpadState;
40
+
41
+ // shortcut for sap.ushell.state.StateManager.Operation
42
+ const Operation = StateManager.Operation;
43
+
44
+ // shortcut for sap.ushell.state.StateManager.ShellMode
45
+ const ShellMode = StateManager.ShellMode;
46
+ const {
47
+ Default,
48
+ Embedded
49
+ } = ShellMode;
50
+
51
+ function AppMeta () {
41
52
  var isTitleChanged;
42
53
  var isHierarchyChanged;
43
54
  var sRootIntent;
@@ -53,10 +64,11 @@ sap.ui.define([
53
64
 
54
65
  this.getHierarchyDefaultValue = function () {
55
66
  var oHierarchy = [];
56
- var sCurrentStateName = Config.last("/core/shell/model/currentState/stateName");
67
+ const sCurrentLaunchpadState = StateManager.getLaunchpadState();
68
+ const sCurrentShellMode = StateManager.getShellMode();
57
69
 
58
70
  // if we navigate for a page with state == app add home to it
59
- if (sCurrentStateName && ((sCurrentStateName === "app" || sCurrentStateName === "embedded") /* || sCurrentStateName === "home" */)) {
71
+ if (sCurrentLaunchpadState === LaunchpadState.App && [Default, Embedded].includes(sCurrentShellMode)) {
60
72
  // add home entry to hierarchy
61
73
  oHierarchy.push({
62
74
  icon: "sap-icon://home",
@@ -70,7 +82,7 @@ sap.ui.define([
70
82
  // AppLifeCycle gets data from the root control in the attachBeforeNavigate listener of the AppLifeCycle service, when an app is opened from a space/page.
71
83
  // Then the AppLifeCycle service extends the application object.
72
84
  // Here, we access data from the application object.
73
- var oTitles = Config.last("/core/shell/model/currentSpaceAndPage");
85
+ var oTitles = Config.last("/core/spaces/currentSpaceAndPage");
74
86
  if (oTitles !== undefined) {
75
87
  oHierarchy.splice(0, 0, { // insert at 0 index because the hierarchy is shown as stack
76
88
  icon: "sap-icon://space-navigation",
@@ -95,7 +107,6 @@ sap.ui.define([
95
107
  isHierarchyChanged = true;
96
108
  var aHierarchy = oEvent.getParameters().data;
97
109
  var aExtendedHierarchy = [];
98
- var sCurrentStateName = Config.last("/core/shell/model/currentState/stateName");
99
110
 
100
111
  if (!aHierarchy) {
101
112
  aHierarchy = [];
@@ -108,25 +119,24 @@ sap.ui.define([
108
119
  });
109
120
  aExtendedHierarchy = aExtendedHierarchy.concat(oHierarchyDefaultValue);
110
121
 
111
- if (sCurrentStateName === "home") {
112
- ElementsModel.updateStateProperty("application/hierarchy", aExtendedHierarchy, false, ["home"]);
122
+ if (StateManager.isLegacyHome()) {
123
+ StateManager.updateBaseStates([LaunchpadState.Home], "application.hierarchy", Operation.Set, aExtendedHierarchy);
113
124
  }
114
- ElementsModel.updateStateProperty("application/hierarchy", aExtendedHierarchy, true);
125
+ StateManager.updateCurrentState("application.hierarchy", Operation.Set, aExtendedHierarchy);
115
126
  }.bind(this);
116
127
 
117
128
  this.onRelatedAppsChange = function (oEvent) {
118
129
  isRelatedAppsChanged = true;
119
130
  var oRelatedApps = oEvent.getParameters().data;
120
- var sCurrentStateName = Config.last("/core/shell/model/currentState/stateName");
121
131
 
122
132
  if (!oRelatedApps) {
123
133
  oRelatedApps = [];
124
134
  }
125
135
 
126
- if (sCurrentStateName === "home") {
127
- ElementsModel.updateStateProperty("application/relatedApps", oRelatedApps, false, ["home"]);
136
+ if (StateManager.isLegacyHome()) {
137
+ StateManager.updateBaseStates([LaunchpadState.Home], "application.relatedApps", Operation.Set, oRelatedApps);
128
138
  }
129
- ElementsModel.updateStateProperty("application/relatedApps", oRelatedApps, true);
139
+ StateManager.updateCurrentState("application.relatedApps", Operation.Set, oRelatedApps);
130
140
  };
131
141
 
132
142
  this.resetShellUIServiceHandlers = function () {
@@ -143,13 +153,10 @@ sap.ui.define([
143
153
  sTitle = this.getAppMeta().getTitleDefaultValue();
144
154
  }
145
155
 
146
- var sCurrentStateName = Config.last("/core/shell/model/currentState/stateName");
147
-
148
- if (sCurrentStateName === "home") {
149
- ElementsModel.updateStateProperty("application/title", sTitle, false, ["home"]);
156
+ if (StateManager.isLegacyHome()) {
157
+ StateManager.updateBaseStates([LaunchpadState.Home], "application.title", Operation.Set, sTitle);
150
158
  }
151
- ElementsModel.updateStateProperty("application/title", sTitle, true);
152
- RelatedShellElements.genericSetItem("application/title", sTitle);
159
+ StateManager.updateCurrentState("application.title", Operation.Set, sTitle);
153
160
  AppConfiguration.setWindowTitle(sTitle);
154
161
  ushellUtils.setPerformanceMark("FLP -- title change");
155
162
  EventHub.emit("TitleChanged", sTitle);
@@ -327,12 +334,20 @@ sap.ui.define([
327
334
 
328
335
  this.create = function () { };
329
336
 
330
- this.restore = function () {
337
+ this.restore = function (oInMeta) {
331
338
  this._applyContentDensityByPriority();
332
339
  this.setAppIcons();
340
+
341
+ isTitleChanged = oInMeta.isTitleChanged;
342
+ isHierarchyChanged = oInMeta.isHierarchyChanged;
343
+ isRelatedAppsChanged = oInMeta.isRelatedAppsChanged;
333
344
  };
334
345
 
335
- this.store = function (oInMeta) { };
346
+ this.store = function (oInMeta) {
347
+ oInMeta.isTitleChanged = isTitleChanged;
348
+ oInMeta.isHierarchyChanged = isHierarchyChanged;
349
+ oInMeta.isRelatedAppsChanged = isRelatedAppsChanged;
350
+ };
336
351
 
337
352
  this.destroy = function (oInMeta) {
338
353
  // handle destroy of the services
@@ -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.126.1
4
+ * @version 1.127.0
5
5
  */
6
6
  sap.ui.define([
7
7
  "sap/ui/core/EventBus",
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview The UI integration's SAPUI5 control which supports application embedding.
5
- * @version 1.126.1
5
+ * @version 1.127.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/base/Log",