@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
@@ -4,13 +4,15 @@ sap.ui.define([
4
4
  "sap/ushell/bootstrap/_SchedulingAgent/state",
5
5
  "sap/base/util/LoaderExtensions",
6
6
  "sap/base/Log",
7
- "sap/ushell/Config"
7
+ "sap/ushell/Config",
8
+ "sap/ushell/state/StateManager"
8
9
  ], function (
9
10
  FESR,
10
11
  state,
11
12
  LoaderExtensions,
12
13
  Log,
13
- Config
14
+ Config,
15
+ StateManager
14
16
  ) {
15
17
  "use strict";
16
18
 
@@ -28,10 +30,6 @@ sap.ui.define([
28
30
  var LOADING_CONFIG_PATH = "sap/ushell/bootstrap/_SchedulingAgent/LoadingConfiguration.json";
29
31
  var STEP_CONFIG_PATH = "sap/ushell/bootstrap/_SchedulingAgent/StepConfiguration.json";
30
32
 
31
- function getCurrentState () {
32
- return Config.last("/core/shell/model/currentState/stateName");
33
- }
34
-
35
33
  var FLPScheduler = {
36
34
 
37
35
  oSchedule: {
@@ -177,16 +175,45 @@ sap.ui.define([
177
175
  waitInMs: {
178
176
  waitingTime: 3000
179
177
  },
180
- mandatoryFLPStates: ["app"]
178
+ mandatoryShellModeAndLaunchpadStates: [{
179
+ shellMode: "default",
180
+ launchpadState: "app"
181
+ }]
181
182
  };
182
183
 
183
184
  Log.info("Step 'ConditionalWaitForAppLoading' was overwritten to 3 sec timeout for apps only.", "FLPScheduler");
184
185
  }
185
186
  },
186
187
 
188
+ /**
189
+ * Checks if the current shell mode and launchpad state match the given ones.
190
+ * If a shell mode or launchpad state is not provided, it matches any value.
191
+ * @param {sap.ushell.state.StateManager.ShellMode} [sShellMode] The shell mode to be checked.
192
+ * @param {sap.ushell.state.StateManager.launchpadState} [sLaunchpadState] The launchpad state to be checked.
193
+ * @returns {boolean} Whether the current shell mode and launchpad state match the given ones.
194
+ *
195
+ * @since 1.127.0
196
+ * @private
197
+ */
198
+ _matchesShellModeAndLaunchpadState: function (sShellMode, sLaunchpadState) {
199
+ const sCurrentLaunchpadState = StateManager.getLaunchpadState();
200
+ const sCurrentShellMode = StateManager.getShellMode() || "default"; // map empty string to default
201
+
202
+ let bMatched = false;
203
+ if (sShellMode && sLaunchpadState) {
204
+ bMatched = sCurrentShellMode === sShellMode && sCurrentLaunchpadState === sLaunchpadState;
205
+ } else if (sShellMode) {
206
+ bMatched = sCurrentShellMode === sShellMode;
207
+ } else if (sLaunchpadState) {
208
+ bMatched = sCurrentLaunchpadState === sLaunchpadState;
209
+ }
210
+
211
+ return bMatched;
212
+ },
213
+
187
214
  /**
188
215
  * Checks the different config switches to see if a step should be loaded or skipped.
189
- * This information is checked on the ExcludedFLPStates, the mandatoryFLPStates,
216
+ * This information is checked on the excludedShellModeAndLaunchpadStates, the mandatoryShellModeAndLaunchpadStates,
190
217
  * as well as in any existent config switch.
191
218
  *
192
219
  * @param {object} step The step being currently processed.
@@ -196,18 +223,22 @@ sap.ui.define([
196
223
  * @private
197
224
  */
198
225
  _loadingIsEnabled: function (step) {
199
- var aSwitches;
226
+ if (Array.isArray(step.oConfig.excludedShellModeAndLaunchpadStates)) {
227
+ const aMatched = step.oConfig.excludedShellModeAndLaunchpadStates.map(({ shellMode, launchpadState }) => {
228
+ return this._matchesShellModeAndLaunchpadState(shellMode, launchpadState);
229
+ });
200
230
 
201
- if (Array.isArray(step.oConfig.excludedFLPStates)) {
202
- if (step.oConfig.excludedFLPStates.indexOf(getCurrentState()) > -1) {
231
+ if (aMatched.some((bMatched) => bMatched)) {
203
232
  return false;
204
233
  }
205
234
  }
206
235
 
207
- if (Array.isArray(step.oConfig.mandatoryFLPStates) && step.oConfig.mandatoryFLPStates.length !== 0) {
208
- if (step.oConfig.mandatoryFLPStates.indexOf(getCurrentState()) === -1) {
209
- return false;
210
- }
236
+ if (Array.isArray(step.oConfig.mandatoryShellModeAndLaunchpadStates) && step.oConfig.mandatoryShellModeAndLaunchpadStates.length !== 0) {
237
+ const aMatched = step.oConfig.mandatoryShellModeAndLaunchpadStates.map(({ shellMode, launchpadState }) => {
238
+ return this._matchesShellModeAndLaunchpadState(shellMode, launchpadState);
239
+ });
240
+
241
+ return aMatched.every((bMatched) => bMatched);
211
242
  }
212
243
 
213
244
  // Check if any of the provided configuration switch conditions is not met.
@@ -217,7 +248,7 @@ sap.ui.define([
217
248
  return oSwitch.path && Config.last(oSwitch.path) !== oSwitch.assertionValue;
218
249
  }
219
250
  if (step.oConfig.configSwitch) {
220
- aSwitches = [].concat(step.oConfig.configSwitch); // Make it an array
251
+ const aSwitches = [].concat(step.oConfig.configSwitch); // Make it an array
221
252
  if (aSwitches.some(assertFalse)) {
222
253
  return false;
223
254
  }
@@ -57,7 +57,9 @@
57
57
  "Notifications": {
58
58
  "loadingMode": "byComponentCreate",
59
59
 
60
- "excludedFLPStates": ["lean", "lean-home"],
60
+ "excludedShellModeAndLaunchpadStates": [{
61
+ "shellMode": "lean"
62
+ }],
61
63
 
62
64
  "byComponentCreate": {
63
65
  "enabled": true,
@@ -158,7 +160,9 @@
158
160
  "Search": {
159
161
  "loadingMode":"byComponentCreate",
160
162
 
161
- "excludedFLPStates": ["lean", "lean-home"],
163
+ "excludedShellModeAndLaunchpadStates": [{
164
+ "shellMode": "lean"
165
+ }],
162
166
 
163
167
  "byComponentCreate": {
164
168
  "enabled": true,
@@ -185,7 +189,10 @@
185
189
  "WarmupPlugins": {
186
190
  "loadingMode": "byEvent",
187
191
 
188
- "excludedFLPStates": ["app"],
192
+ "excludedShellModeAndLaunchpadStates": [{
193
+ "shellMode": "default",
194
+ "launchpadState": "app"
195
+ }],
189
196
 
190
197
  "byEvent": {
191
198
  "eventName": "loadWarmupPlugins",
@@ -45,7 +45,7 @@
45
45
  * }, false);
46
46
  * </pre>
47
47
  *
48
- * @version 1.126.1
48
+ * @version 1.127.0
49
49
  */
50
50
 
51
51
  sap.ui.define([
@@ -71,7 +71,7 @@
71
71
  * }, false);
72
72
  * </pre>
73
73
  *
74
- * @version 1.126.1
74
+ * @version 1.127.0
75
75
  */
76
76
  sap.ui.define([
77
77
  "sap/ushell/bootstrap/_SchedulingAgent/logger",
@@ -20,6 +20,7 @@ sap.ui.define([
20
20
  * @param {object} oSettings.libs - the libraries to configure UI5 with
21
21
  * @param {object} oSettings.ushellConfig - the ushell configuration object
22
22
  * @param {string} [oSettings.theme] - the theme to boot UI5 with, if not provided the theme from ushell config is used
23
+ * @param {object} osettings.oThemeRoots - theme roots object in ui5 format
23
24
  * @param {function} [oSettings.bootTask] - the function to bind to the boottask of UI5
24
25
  * @param {function} [oSettings.onInitCallback] - the function to bind to the UI5 CORE onInit event
25
26
  *
@@ -37,6 +38,7 @@ sap.ui.define([
37
38
  var oPlatformAdapters = oSettings && oSettings.platformAdapters;
38
39
  var oUshellConfig = oSettings.ushellConfig;
39
40
  var sUi5Theme = oSettings.theme ? oSettings.theme : fnGetUi5theme(oUshellConfig).theme; // fallback theme if no user-specific or default theme is defined
41
+ const oThemeRoots = oSettings.themeRoots;
40
42
 
41
43
  if (oUshellConfig && oUshellConfig.modulePaths) {
42
44
  var oModules = Object.keys(oUshellConfig.modulePaths).reduce(function (result, sModulePath) {
@@ -76,6 +78,13 @@ sap.ui.define([
76
78
  oSAPUIConfig.compatversion = "edge";
77
79
  oSAPUIConfig.libs = oSettings.libs.join();
78
80
  oSAPUIConfig.theme = sUi5Theme;
81
+ if (oThemeRoots) {
82
+ oSAPUIConfig["theme-roots"] ??= {};
83
+ for (const [theme, themeRoot] of Object.entries(oThemeRoots)) {
84
+ oSAPUIConfig["theme-roots"][theme] = themeRoot;
85
+ }
86
+ }
87
+
79
88
  oSAPUIConfig["xx-boottask"] = oSettings.bootTask;
80
89
  oSAPUIConfig.calendarWeekNumbering = oUshellConfig?.services?.Container?.adapter?.config?.calendarWeekNumbering || "Default";
81
90
 
@@ -4,7 +4,7 @@
4
4
  * @fileOverview Configure the UI5Settings for Date and Time Format for the 'CDM'
5
5
  * platform.
6
6
  *
7
- * @version 1.126.1
7
+ * @version 1.127.0
8
8
  */
9
9
  sap.ui.define([
10
10
  "sap/base/i18n/Formatting",
@@ -202,7 +202,8 @@ sap.ui.define([
202
202
  // only for support purposes; should not be used in production!
203
203
  enabled: getConfigValue("ushell/spaces/extendedChangeDetection/enabled", true)
204
204
  },
205
- homeNavigationTarget: getConfigValue("renderers/fiori2/componentData/config/homeNavigationTarget", undefined)
205
+ homeNavigationTarget: getConfigValue("renderers/fiori2/componentData/config/homeNavigationTarget", undefined),
206
+ currentSpaceAndPage: undefined
206
207
  },
207
208
  workPages: {
208
209
  enabled: getConfigValue("ushell/spaces/enabled", false) && getConfigValue("ushell/workPages/enabled", false),
@@ -267,16 +268,8 @@ sap.ui.define([
267
268
  url: getConfigValue("ushell/productSwitch/url", "")
268
269
  },
269
270
  shellHeader: {
270
- application: {},
271
- centralAreaElement: null,
272
- headEndItems: [],
273
- headItems: [],
274
- headerVisible: true,
275
- showLogo: false,
276
- ShellAppTitleState: undefined,
277
271
  rootIntent: getConfigValue("renderers/fiori2/componentData/config/rootIntent", ""),
278
- homeUri: getHomeUri(), // "homeUri" might change during runtime; see "HeaderManager"
279
- title: ""
272
+ homeUri: getHomeUri() // "homeUri" might change during runtime; see "HeaderManager"
280
273
  },
281
274
  companyLogo: {
282
275
  accessibleText: getConfigValue("ushell/companyLogo/accessibleText", ""),
@@ -312,7 +305,7 @@ sap.ui.define([
312
305
  useAppTitleFromNavTargetResolution: csvToArray(getConfigValue("ushell/useAppTitleFromNavTargetResolution")),
313
306
  intentNavigation: getConfigValue("ushell/intentNavigation", false),
314
307
  model: {
315
- enableSAPCopilotWindowDocking: undefined,
308
+ enableSAPCopilotWindowDocking: undefined, // todo: remove (done in follow up)
316
309
  enableBackGroundShapes: getEnableBackGroundShapes(),
317
310
  personalization: undefined,
318
311
  contentDensity: undefined,
@@ -329,12 +322,13 @@ sap.ui.define([
329
322
  getConfigValue("services/Notifications/config/enabled", false)),
330
323
  enableNotificationsUI: false,
331
324
  notificationsCount: 0,
332
- currentViewPortState: "Center",
325
+ currentViewPortState: "Center", // todo: remove (done in follow up)
333
326
  migrationConfig: undefined,
327
+ shellAppTitleState: "",
334
328
  allMyAppsMasterLevel: undefined,
335
- userStatus: undefined,
336
- userStatusUserEnabled: true,
337
- shellAppTitleData: {
329
+ userStatus: undefined, // todo: remove (done in follow up)
330
+ userStatusUserEnabled: true, // todo: remove (done in follow up)
331
+ shellAppTitleData: { // todo: remove (done in follow up)
338
332
  currentViewInPopover: "navigationMenu",
339
333
  enabled: false,
340
334
  showGroupsApps: false,
@@ -345,26 +339,12 @@ sap.ui.define([
345
339
  personPlaceHolder: null,
346
340
  account: "sap-icon://account"
347
341
  },
348
- currentState: {
349
- stateName: "blank",
350
- showCurtain: false,
351
- showCatalog: false,
352
- showPane: false,
353
- showRightFloatingContainer: false,
354
- showRecentActivity: true,
355
- search: "",
356
- paneContent: [],
357
- actions: [],
358
- floatingActions: [],
359
- subHeader: [],
360
- toolAreaItems: [],
361
- RightFloatingContainerItems: [],
362
- toolAreaVisible: false,
363
- floatingContainerContent: []
364
- },
365
- currentSpaceAndPage: undefined
342
+ showRecentActivity: true
366
343
  }
367
344
  },
345
+ state: {
346
+ shellMode: getConfigValue("renderers/fiori2/componentData/config/appState", "") // only used as initial value
347
+ },
368
348
  home: {
369
349
  disableSortedLockedGroups:
370
350
  getConfigValue("renderers/fiori2/componentData/config/applications/Shell-home/disableSortedLockedGroups", false),
@@ -4,7 +4,7 @@
4
4
  * @fileOverview The Unified Shell's bootstrap code for development sandbox scenarios.
5
5
  * This is the version that creates spaces/pages runtime environment.
6
6
  *
7
- * @version 1.126.1
7
+ * @version 1.127.0
8
8
  */
9
9
 
10
10
  const OBJECT_PROTOTYPE_KEYS = Object.getOwnPropertyNames(Object.prototype);
@@ -12,7 +12,9 @@ sap.ui.define([
12
12
  "sap/ushell/EventHub",
13
13
  "sap/ushell/library",
14
14
  "sap/ushell/ui/shell/OverflowListItem",
15
- "sap/ushell/Container"
15
+ "sap/ushell/Container",
16
+ "sap/ushell/state/ShellModel",
17
+ "sap/ushell/state/StateManager"
16
18
  ], function (
17
19
  mobileLibrary,
18
20
  Element,
@@ -25,15 +27,25 @@ sap.ui.define([
25
27
  EventHub,
26
28
  ushellLibrary,
27
29
  OverflowListItem,
28
- Container
30
+ Container,
31
+ ShellModel,
32
+ StateManager
29
33
  ) {
30
34
  "use strict";
31
35
 
32
36
  // shortcut for sap.m.ListType
33
- var ListType = mobileLibrary.ListType;
37
+ const ListType = mobileLibrary.ListType;
34
38
 
35
39
  // shortcut for sap.ushell.FloatingNumberType
36
- var FloatingNumberType = ushellLibrary.FloatingNumberType;
40
+ const FloatingNumberType = ushellLibrary.FloatingNumberType;
41
+
42
+ // shortcut for sap.ushell.state.StateManager.LaunchpadState
43
+ const LaunchpadState = StateManager.LaunchpadState;
44
+
45
+ // shortcut for sap.ushell.state.StateManager.Operation
46
+ const Operation = StateManager.Operation;
47
+
48
+ const sOverflowBtnId = "endItemsOverflowBtn";
37
49
 
38
50
  return Controller.extend("sap.ushell.components._HeaderManager.ShellHeader", {
39
51
 
@@ -42,6 +54,119 @@ sap.ui.define([
42
54
  this.aDoables.push(EventHub.on("navigateBack").do(this.pressNavBackButton.bind(this)));
43
55
  this.aDoables.push(EventHub.on("showEndItemOverflow").do(this.pressEndItemsOverflow.bind(this)));
44
56
  this.aDoables.push(EventHub.on("navigateFromShellApplicationNavigationMenu").do(this.navigateFromShellApplicationNavigationMenu.bind(this)));
57
+ this.aDoables.push(EventHub.on("setHeaderCentralAreaElement").do(this._handleSetHeaderCentralAreaElement.bind(this)));
58
+
59
+ this.aDoables.push(Config.on("/core/shellHeader/homeUri").do(this._updateHomeUri.bind(this)));
60
+ this._updateHomeUri(Config.last("/core/shellHeader/homeUri"));
61
+
62
+ // HeadEndItem Overflow
63
+ this.aDoables.push(EventHub.on("updateHeaderOverflowState").do(this._handleHeadEndItemsOverflow.bind(this)));
64
+ Device.media.attachHandler(this._handleHeadEndItemsOverflow, this, Device.media.RANGESETS.SAP_STANDARD);
65
+ // Overflow must be checked each time when a button is added to the header.
66
+ this.oHeadEndBinding = ShellModel.getModel().bindList("/header/headEndItems");
67
+ this.oHeadEndBinding.attachChange(this._handleHeadEndItemsOverflow, this);
68
+
69
+ NewExperience.attachActiveChanged(this._handleHeadEndItemsOverflow, this);
70
+ },
71
+
72
+ _handleSetHeaderCentralAreaElement: function (oParameters) {
73
+ const { id, currentState, states } = oParameters;
74
+
75
+ if (currentState) {
76
+ StateManager.updateCurrentState("header.centralAreaElement", Operation.Set, id);
77
+ } else if (Array.isArray(states)) {
78
+ StateManager.updateBaseStates(states, "header.centralAreaElement", Operation.Set, id);
79
+ } else {
80
+ // all base states
81
+ StateManager.updateAllBaseStates("header.centralAreaElement", Operation.Set, id);
82
+ }
83
+ },
84
+
85
+ _addHeadEndItem: function (sId, bCurrentState, aStates) {
86
+ this._updateHeadEndItems(sId, Operation.Add, bCurrentState, aStates);
87
+ },
88
+
89
+ _removeHeadEndItem: function (sId, bCurrentState, aStates) {
90
+ this._updateHeadEndItems(sId, Operation.Remove, bCurrentState, aStates);
91
+ },
92
+
93
+ _updateHeadEndItems: function (sId, sOperation, bCurrentState, aStates) {
94
+ if (bCurrentState) {
95
+ StateManager.updateCurrentState("header.headEndItems", sOperation, sId);
96
+ } else if (Array.isArray(aStates) && aStates.length > 0) {
97
+ StateManager.updateBaseStates(aStates, "header.headEndItems", sOperation, sId);
98
+ } else {
99
+ // all base states
100
+ StateManager.updateAllBaseStates("header.headEndItems", sOperation, sId);
101
+ }
102
+ },
103
+
104
+ /**
105
+ * Logic to determine if the headEndItemsOverflow button should be visible.
106
+ * Overflow button is shown only when CurrentRangeName is "Phone".
107
+ */
108
+ _handleHeadEndItemsOverflow: function () {
109
+ const aHeaderEndItems = ShellModel.getModel().getProperty("/header/headEndItems");
110
+ var bIsOverflowVisible = aHeaderEndItems.indexOf(sOverflowBtnId) > -1;
111
+ var sDeviceType = Device.media.getCurrentRange(Device.media.RANGESETS.SAP_STANDARD).name;
112
+
113
+ if (sDeviceType === "Phone" && (NewExperience.isActive() || (!bIsOverflowVisible && aHeaderEndItems.length > 2))) {
114
+ // Show overflow if more than two buttons are in the header
115
+ // and show overflow always in case of New Experience
116
+ this._addHeadEndItem(sOverflowBtnId, false, [LaunchpadState.Home, LaunchpadState.App]);
117
+
118
+ this._moveNewExperienceToOverflow();
119
+
120
+ } else if (sDeviceType !== "Phone" && bIsOverflowVisible) {
121
+ // Destroy the popover to avoid duplicate elements ids in the DOM
122
+ // and to ensure the endItems are rendered correctly in the header
123
+ var oPopover = Element.getElementById("headEndItemsOverflow");
124
+ if (oPopover) {
125
+ if (NewExperience.isActive()) {
126
+ const oItem = NewExperience.getOverflowItemControl();
127
+ // try to remove the item from the parent
128
+ // because we want to reuse the control in the next call
129
+ oItem.getParent()?.removeItem?.(oItem);
130
+ }
131
+ oPopover.destroy();
132
+ }
133
+ this._removeHeadEndItem(sOverflowBtnId, false, [LaunchpadState.Home, LaunchpadState.App]);
134
+
135
+ this._moveNewExperienceToShellHeader();
136
+ }
137
+ },
138
+
139
+ /**
140
+ * Moves the new experience button into the overflow area.
141
+ *
142
+ * @since 1.127.0
143
+ * @private
144
+ */
145
+ _moveNewExperienceToOverflow: function () {
146
+ if (NewExperience.isActive()) {
147
+ this._addHeadEndItem(NewExperience.getOverflowItemId(), false, [LaunchpadState.Home, LaunchpadState.App]);
148
+ }
149
+ NewExperience.showInOverflow();
150
+ },
151
+
152
+ /**
153
+ * Moves the new experience button into the shell header.
154
+ *
155
+ * @since 1.127.0
156
+ * @private
157
+ */
158
+ _moveNewExperienceToShellHeader: function () {
159
+ if (NewExperience.isActive()) {
160
+ this._removeHeadEndItem(NewExperience.getOverflowItemId(), false, [LaunchpadState.Home, LaunchpadState.App]);
161
+ }
162
+ NewExperience.showInShellHeader();
163
+ },
164
+
165
+ _updateHomeUri: function (sHomeUri) {
166
+ var oShellHeader = Element.getElementById("shell-header");
167
+ if (oShellHeader) {
168
+ oShellHeader.setHomeUri(sHomeUri);
169
+ }
45
170
  },
46
171
 
47
172
  shellUpdateAggItem: function (sId, oContext) {
@@ -91,7 +216,7 @@ sap.ui.define([
91
216
  return mAriaProps;
92
217
  };
93
218
  oModel = new JsonModel({
94
- headEndItems: Config.last("/core/shellHeader/headEndItems")
219
+ headEndItems: ShellModel.getModel().getProperty("/header/headEndItems")
95
220
  });
96
221
  oPopover.setModel(oModel);
97
222
  });
@@ -231,14 +356,14 @@ sap.ui.define([
231
356
  * returns true if we are in overflow mode
232
357
  * we enter the overflow mode in case:
233
358
  * - userActionsMenu is on
234
- * - current width of the screen is not desktop (as recived from the sap.ui.Device.media
235
- * - we have 3 buttons in the header (exluding the endItemsOverflowBtn)
359
+ * - current width of the screen is not desktop (as received from the sap.ui.Device.media
360
+ * - we have 3 buttons in the header (excluding the endItemsOverflowBtn)
236
361
  * @returns {boolean} result
237
362
  */
238
363
  isHeadEndItemOverflow: function () {
239
364
  var nNumberOfVisibleElements = 0,
240
365
  oElement,
241
- aEndItems = Config.last("/core/shellHeader/headEndItems");
366
+ aEndItems = ShellModel.getModel().getProperty("/header/headEndItems");
242
367
 
243
368
  if (aEndItems.indexOf("endItemsOverflowBtn") === -1) {
244
369
  return false;
@@ -292,6 +417,8 @@ sap.ui.define([
292
417
  this.aDoables.forEach(function (oDoable) {
293
418
  oDoable.off();
294
419
  });
420
+ this.oHeadEndBinding.destroy();
421
+ NewExperience.detachActiveChanged(this._handleHeadEndItemsOverflow, this);
295
422
  }
296
423
  });
297
424
  });
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * ONLY CALLED WHEN CLASSIC HOMEPAGE IS ENABLED!
5
- *
5
+ * @fileoverview The classic homepage loading manager.
6
6
  * @deprecated since 1.120
7
7
  */
8
8
  sap.ui.define([
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * ONLY CALLED WHEN CLASSIC HOMEPAGE IS ENABLED!
5
- *
5
+ * @fileoverview The classic homepage paging manager.
6
6
  * @deprecated since 1.120
7
7
  */
8
8
  sap.ui.define([
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * ONLY CALLED WHEN CLASSIC HOMEPAGE IS ENABLED!
5
- *
5
+ * @fileoverview The classic homepage page operation adapter.
6
6
  * @deprecated since 1.120
7
7
  */
8
8
  sap.ui.define([
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * ONLY CALLED WHEN CLASSIC HOMEPAGE IS ENABLED!
5
- *
5
+ * @fileoverview The classic homepage page operation adapter.
6
6
  * @deprecated since 1.120
7
7
  */
8
8
  sap.ui.define([
@@ -56,10 +56,6 @@ sap.ui.define([
56
56
 
57
57
  this.bShowEasyAccessMenu = bEnableOneEasyAccessMenu && bIsDeviceEasyAccessMenuCompatible;
58
58
 
59
- Container.getRendererInternal("fiori2").createExtendedShellState("appFinderExtendedShellState", function () {
60
- Container.getRendererInternal("fiori2").showHeaderItem("backBtn", true);
61
- });
62
-
63
59
  // model
64
60
  this.getView().setModel(this._getSubHeaderModel(), "subHeaderModel");
65
61
  this.oConfig = oComponent.getComponentData().config;
@@ -285,8 +281,6 @@ sap.ui.define([
285
281
  return;
286
282
  }
287
283
 
288
- Container.getRendererInternal("fiori2").applyExtendedShellState("appFinderExtendedShellState");
289
-
290
284
  this._updateShellHeader(this.oView.oPage.getTitle());
291
285
  }.bind(this), 0);
292
286
  },
@@ -53,7 +53,7 @@ sap.ui.define([
53
53
 
54
54
  /**
55
55
  * Relevant for functions in views and controllers, used by CLASSIC HOMEPAGE
56
- * @deprecated As of version 1.121
56
+ * @deprecated As of version 1.120
57
57
  */
58
58
  this.oCatalogsManager = new CatalogsManager("dashboardMgr", {
59
59
  model: this.oModel
@@ -3,7 +3,7 @@
3
3
  "sap.app": {
4
4
  "id": "sap.ushell.components.appfinder",
5
5
  "applicationVersion": {
6
- "version": "1.126.1"
6
+ "version": "1.127.0"
7
7
  },
8
8
  "i18n": {
9
9
  "bundleUrl": "../../renderer/resources/resources.properties",