@sapui5/sap.ushell 1.126.1 → 1.127.1

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 (404) 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/_ApplicationType/urlTemplateResolution.js +10 -3
  14. package/src/main/js/sap/ushell/_Config/utils.js +18 -0
  15. package/src/main/js/sap/ushell/_URLTemplateProcessor/DefinitionParameterSetBuilder.js +1 -1
  16. package/src/main/js/sap/ushell/_URLTemplateProcessor/DependencyGraph.js +1 -1
  17. package/src/main/js/sap/ushell/_URLTemplateProcessor/Functions.js +1 -1
  18. package/src/main/js/sap/ushell/_URLTemplateProcessor/Resolvers.js +1 -1
  19. package/src/main/js/sap/ushell/_URLTemplateProcessor/TemplateParameterParser.js +1 -1
  20. package/src/main/js/sap/ushell/_URLTemplateProcessor/utils.js +1 -1
  21. package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +1 -1
  22. package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +1 -1
  23. package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
  24. package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +28 -9
  25. package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +1 -1
  26. package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +4 -3
  27. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
  28. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationV2Adapter.js +1 -1
  29. package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +1 -1
  30. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +1 -1
  31. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +1 -1
  32. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +1 -1
  33. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +1 -1
  34. package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +1 -1
  35. package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +1 -1
  36. package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +1 -1
  37. package/src/main/js/sap/ushell/adapters/cdm/v3/FlpLaunchPageAdapter.js +1 -1
  38. package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +1 -1
  39. package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +1 -1
  40. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +1 -1
  41. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +1 -1
  42. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +1 -1
  43. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +1 -1
  44. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +1 -1
  45. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +1 -1
  46. package/src/main/js/sap/ushell/adapters/cdm/v3/utilsCdm.js +6 -1
  47. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +1 -1
  48. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionInternalAdapter.js +1 -1
  49. package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +1 -1
  50. package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +1 -1
  51. package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +1 -1
  52. package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +1 -1
  53. package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +1 -1
  54. package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +1 -1
  55. package/src/main/js/sap/ushell/adapters/local/FlpLaunchPageAdapter.js +1 -1
  56. package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +1 -1
  57. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +1 -1
  58. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionInternalAdapter.js +1 -1
  59. package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +1 -1
  60. package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +1 -1
  61. package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +1 -1
  62. package/src/main/js/sap/ushell/adapters/local/PersonalizationV2Adapter.js +1 -1
  63. package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +1 -1
  64. package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +1 -1
  65. package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +1 -1
  66. package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +1 -1
  67. package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +1 -1
  68. package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +1 -1
  69. package/src/main/js/sap/ushell/appRuntime/neo/AppInfoService.js +1 -0
  70. package/src/main/js/sap/ushell/appRuntime/neo/AppRuntimeNeo.js +1 -0
  71. package/src/main/js/sap/ushell/appRuntime/neo/ProxyAppUtils.js +1 -0
  72. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +6 -0
  73. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/Renderer.js +19 -0
  74. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/RendererExtensions.js +1 -1
  75. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppConfiguration.js +1 -1
  76. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppLifeCycle.js +51 -0
  77. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppState.js +1 -1
  78. package/src/main/js/sap/ushell/appRuntime/ui5/services/Bookmark.js +1 -1
  79. package/src/main/js/sap/ushell/appRuntime/ui5/services/BookmarkV2.js +6 -6
  80. package/src/main/js/sap/ushell/appRuntime/ui5/services/CommonDataModel.js +1 -1
  81. package/src/main/js/sap/ushell/appRuntime/ui5/services/Container.js +1 -1
  82. package/src/main/js/sap/ushell/appRuntime/ui5/services/CrossApplicationNavigation.js +1 -1
  83. package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension/Item.js +1 -1
  84. package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension.js +1 -1
  85. package/src/main/js/sap/ushell/appRuntime/ui5/services/FrameBoundExtension.js +1 -1
  86. package/src/main/js/sap/ushell/appRuntime/ui5/services/LaunchPage.js +1 -1
  87. package/src/main/js/sap/ushell/appRuntime/ui5/services/MessageBroker.js +1 -1
  88. package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolution.js +1 -1
  89. package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolutionInternal.js +1 -1
  90. package/src/main/js/sap/ushell/appRuntime/ui5/services/Navigation.js +1 -1
  91. package/src/main/js/sap/ushell/appRuntime/ui5/services/ReferenceResolver.js +1 -1
  92. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigation.js +1 -1
  93. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigationInternal.js +1 -1
  94. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellUIService.js +1 -1
  95. package/src/main/js/sap/ushell/appRuntime/ui5/services/UserInfo.js +1 -1
  96. package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
  97. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/FLPScheduler.js +47 -16
  98. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/StepConfiguration.json +10 -3
  99. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/logger.js +1 -1
  100. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/state.js +1 -1
  101. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5.js +9 -0
  102. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5datetimeformat.js +1 -1
  103. package/src/main/js/sap/ushell/bootstrap/common/common.create.configcontract.core.js +13 -33
  104. package/src/main/js/sap/ushell/bootstrap/sandbox2.js +1 -1
  105. package/src/main/js/sap/ushell/components/_HeaderManager/ShellHeader.controller.js +135 -8
  106. package/src/main/js/sap/ushell/components/_HomepageManager/DashboardLoadingManager.js +1 -1
  107. package/src/main/js/sap/ushell/components/_HomepageManager/PagingManager.js +1 -1
  108. package/src/main/js/sap/ushell/components/_HomepageManager/PersistentPageOperationAdapter.js +1 -1
  109. package/src/main/js/sap/ushell/components/_HomepageManager/TransientPageOperationAdapter.js +1 -1
  110. package/src/main/js/sap/ushell/components/appfinder/AppFinder.controller.js +0 -6
  111. package/src/main/js/sap/ushell/components/appfinder/Component.js +1 -1
  112. package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
  113. package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +74 -72
  114. package/src/main/js/sap/ushell/components/applicationIntegration/application/Application.js +1 -1
  115. package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxHandler.js +1 -1
  116. package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPI.js +35 -18
  117. package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +42 -27
  118. package/src/main/js/sap/ushell/components/applicationIntegration/relatedServices/RelatedServices.js +1 -1
  119. package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +1 -1
  120. package/src/main/js/sap/ushell/components/contentFinder/Component.js +19 -12
  121. package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +24 -5
  122. package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +1 -1
  123. package/src/main/js/sap/ushell/components/contentFinder/controller/WidgetGallery.controller.js +1 -1
  124. package/src/main/js/sap/ushell/components/contentFinder/manifest.json +1 -1
  125. package/src/main/js/sap/ushell/components/contentFinder/model/formatter.js +47 -7
  126. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearch.view.xml +7 -6
  127. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchBox.fragment.xml +5 -4
  128. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchCategoryTree.view.xml +34 -22
  129. package/src/main/js/sap/ushell/components/contentFinderStandalone/Component.js +7 -6
  130. package/src/main/js/sap/ushell/components/contentFinderStandalone/controller/ContentFinderStandalone.controller.js +3 -1
  131. package/src/main/js/sap/ushell/components/contentFinderStandalone/manifest.json +1 -1
  132. package/src/main/js/sap/ushell/components/contentFinderStandalone/manifestAppSearch.json +1 -1
  133. package/src/main/js/sap/ushell/components/factsheet/Component.js +1 -1
  134. package/src/main/js/sap/ushell/components/homepage/ActionMode.js +1 -1
  135. package/src/main/js/sap/ushell/components/homepage/Component.js +1 -1
  136. package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +1 -1
  137. package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +29 -24
  138. package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +1 -1
  139. package/src/main/js/sap/ushell/components/homepage/manifest.json +1 -1
  140. package/src/main/js/sap/ushell/components/pages/ActionMode.js +1 -1
  141. package/src/main/js/sap/ushell/components/pages/Component.js +10 -3
  142. package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +1 -1
  143. package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +26 -5
  144. package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
  145. package/src/main/js/sap/ushell/components/runtimeSwitcher/Component.js +3 -2
  146. package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +1 -1
  147. package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
  148. package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +1 -1
  149. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +19 -3
  150. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +1 -1
  151. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/view/NavigationBarMenu.view.xml +1 -0
  152. package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +24 -22
  153. package/src/main/js/sap/ushell/components/shell/Notifications/Notifications.controller.js +1 -1
  154. package/src/main/js/sap/ushell/components/shell/PostLoadingHeaderEnhancement/Component.js +80 -17
  155. package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +1 -1
  156. package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
  157. package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +1 -1
  158. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +1 -1
  159. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +1 -1
  160. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +1 -1
  161. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchServiceProvider.js +1 -1
  162. package/src/main/js/sap/ushell/components/shell/Settings/Component.js +12 -16
  163. package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.controller.js +9 -4
  164. package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.view.xml +9 -9
  165. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +3 -45
  166. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/UserActionsMenu.controller.js +31 -23
  167. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/UserActionsMenuPopover.fragment.xml +7 -2
  168. package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +3 -3
  169. package/src/main/js/sap/ushell/components/tiles/applauncher/StaticTile.controller.js +0 -4
  170. package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/DynamicTile.controller.js +0 -1
  171. package/src/main/js/sap/ushell/components/tiles/indicatorcomparison/ComparisonTile.controller.js +1 -1
  172. package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +1 -1
  173. package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +2 -1
  174. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility.js +1 -1
  175. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +1939 -1946
  176. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +1 -1
  177. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +1 -1
  178. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +1 -1
  179. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +1 -1
  180. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +1 -1
  181. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +1 -1
  182. package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
  183. package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +3 -2
  184. package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +1 -1
  185. package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +1 -1
  186. package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
  187. package/src/main/js/sap/ushell/library.js +1 -1
  188. package/src/main/js/sap/ushell/navigationMode.js +1 -1
  189. package/src/main/js/sap/ushell/performance/ShellAnalytics.js +15 -12
  190. package/src/main/js/sap/ushell/performance/StatisticalRecord.js +1 -1
  191. package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
  192. package/src/main/js/sap/ushell/renderer/AccessKeysHandler.js +31 -9
  193. package/src/main/js/sap/ushell/renderer/Renderer.js +304 -287
  194. package/src/main/js/sap/ushell/renderer/Shell.controller.js +99 -101
  195. package/src/main/js/sap/ushell/renderer/Shell.view.js +110 -89
  196. package/src/main/js/sap/ushell/renderer/allMyApps/AllMyApps.controller.js +29 -15
  197. package/src/main/js/sap/ushell/renderer/allMyApps/AllMyApps.view.xml +2 -2
  198. package/src/main/js/sap/ushell/renderer/resources/resources.properties +2 -0
  199. package/src/main/js/sap/ushell/renderer/search/searchComponent/manifest.json +1 -1
  200. package/src/main/js/sap/ushell/renderers/fiori2/History.js +1 -0
  201. package/src/main/js/sap/ushell/renderers/fiori2/LogonFrameProvider.js +1 -0
  202. package/src/main/js/sap/ushell/renderers/fiori2/Shell.view.js +108 -87
  203. package/src/main/js/sap/ushell/renderers/fiori2/allMyApps/AllMyAppsManager.js +1 -0
  204. package/src/main/js/sap/ushell/services/AppLifeCycle.js +1 -1
  205. package/src/main/js/sap/ushell/services/AppState.js +1 -1
  206. package/src/main/js/sap/ushell/services/Bookmark.js +1 -1
  207. package/src/main/js/sap/ushell/services/BookmarkV2.js +1 -1
  208. package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +1 -1
  209. package/src/main/js/sap/ushell/services/CommonDataModel.js +2 -15
  210. package/src/main/js/sap/ushell/services/Configuration.js +1 -1
  211. package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +1 -1
  212. package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +1 -1
  213. package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +1 -1
  214. package/src/main/js/sap/ushell/services/DarkModeSupport.js +11 -5
  215. package/src/main/js/sap/ushell/services/Extension/Item.js +4 -4
  216. package/src/main/js/sap/ushell/services/Extension.js +36 -2
  217. package/src/main/js/sap/ushell/services/FlpLaunchPage.js +1 -1
  218. package/src/main/js/sap/ushell/services/FrameBoundExtension/FloatingContainer.js +1 -1
  219. package/src/main/js/sap/ushell/services/FrameBoundExtension/Footer.js +1 -1
  220. package/src/main/js/sap/ushell/services/FrameBoundExtension/Item.js +4 -4
  221. package/src/main/js/sap/ushell/services/FrameBoundExtension/SidePane.js +18 -2
  222. package/src/main/js/sap/ushell/services/FrameBoundExtension/ToolArea.js +20 -2
  223. package/src/main/js/sap/ushell/services/FrameBoundExtension.js +96 -2
  224. package/src/main/js/sap/ushell/services/LaunchPage.js +1 -1
  225. package/src/main/js/sap/ushell/services/Menu.js +1 -1
  226. package/src/main/js/sap/ushell/services/Message.js +1 -1
  227. package/src/main/js/sap/ushell/services/MessageBroker.js +1 -1
  228. package/src/main/js/sap/ushell/services/MessageInternal.js +13 -8
  229. package/src/main/js/sap/ushell/services/Navigation/compatibility.js +1 -1
  230. package/src/main/js/sap/ushell/services/Navigation/utils.js +1 -1
  231. package/src/main/js/sap/ushell/services/Navigation.js +1 -1
  232. package/src/main/js/sap/ushell/services/NavigationDataProvider.js +1 -1
  233. package/src/main/js/sap/ushell/services/PageBuilding.js +1 -1
  234. package/src/main/js/sap/ushell/services/PagePersistence.js +1 -1
  235. package/src/main/js/sap/ushell/services/PageReferencing.js +1 -1
  236. package/src/main/js/sap/ushell/services/Pages.js +4 -3
  237. package/src/main/js/sap/ushell/services/Personalization.js +1 -1
  238. package/src/main/js/sap/ushell/services/PersonalizationV2.js +1 -1
  239. package/src/main/js/sap/ushell/services/PluginManager.js +1 -1
  240. package/src/main/js/sap/ushell/services/ReferenceResolver.js +1 -1
  241. package/src/main/js/sap/ushell/services/Search.js +1 -1
  242. package/src/main/js/sap/ushell/services/SearchCEP.js +1 -1
  243. package/src/main/js/sap/ushell/services/SearchableContent.js +6 -5
  244. package/src/main/js/sap/ushell/services/ShellNavigation.js +1 -1
  245. package/src/main/js/sap/ushell/services/SmartNavigation.js +1 -1
  246. package/src/main/js/sap/ushell/services/SpaceContent.js +1 -1
  247. package/src/main/js/sap/ushell/services/UITracer.js +1 -1
  248. package/src/main/js/sap/ushell/services/URLParsing.js +16 -0
  249. package/src/main/js/sap/ushell/services/URLShortening.js +1 -1
  250. package/src/main/js/sap/ushell/services/URLTemplate.js +1 -1
  251. package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +3 -3
  252. package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +1 -1
  253. package/src/main/js/sap/ushell/services/UserDefaultParameters.js +1 -1
  254. package/src/main/js/sap/ushell/services/UserInfo.js +1 -1
  255. package/src/main/js/sap/ushell/services/UserRecents.js +1 -1
  256. package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +1 -1
  257. package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +1 -1
  258. package/src/main/js/sap/ushell/services/_AppState/AppStatePersistencyMethod.js +1 -1
  259. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Formatter.js +1 -1
  260. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundIndex.js +1 -1
  261. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundProvider.js +1 -1
  262. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/PrelaunchOperations.js +1 -1
  263. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Search.js +1 -1
  264. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/StagedLogger.js +1 -1
  265. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/SystemContext.js +1 -1
  266. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Utils.js +1 -1
  267. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/VirtualInbounds.js +1 -1
  268. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/XAppStateProcessing.js +1 -1
  269. package/src/main/js/sap/ushell/services/_CommonDataModel/SiteConverter.js +1 -1
  270. package/src/main/js/sap/ushell/services/_CommonDataModel/vizTypeDefaults/VizTypeDefaults.js +1 -1
  271. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +2 -2
  272. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +1 -1
  273. package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +1 -1
  274. package/src/main/js/sap/ushell/services/_MessageBroker/MessageBrokerEngine.js +1 -1
  275. package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +1 -1
  276. package/src/main/js/sap/ushell/services/_Personalization/VariantSetAdapter.js +1 -0
  277. package/src/main/js/sap/ushell/services/_Personalization/WindowAdapter.js +1 -0
  278. package/src/main/js/sap/ushell/services/_Personalization/WindowAdapterContainer.js +1 -0
  279. package/src/main/js/sap/ushell/services/_Personalization/constants.js +1 -0
  280. package/src/main/js/sap/ushell/services/_Personalization/constants.private.js +1 -0
  281. package/src/main/js/sap/ushell/services/_Personalization/utils.js +1 -0
  282. package/src/main/js/sap/ushell/services/_PluginManager/Extensions.js +1 -1
  283. package/src/main/js/sap/ushell/services/_PluginManager/HeaderExtensions.js +2 -2
  284. package/src/main/js/sap/ushell/services/_PluginManager/MenuExtensions.js +1 -1
  285. package/src/main/js/sap/ushell/services/_Ui5ComponentLoader/utils.js +1 -1
  286. package/src/main/js/sap/ushell/state/BaseState.js +79 -0
  287. package/src/main/js/sap/ushell/state/ControlManager.js +209 -0
  288. package/src/main/js/sap/ushell/state/CurrentState.js +180 -0
  289. package/src/main/js/sap/ushell/state/KeepAlive.js +75 -0
  290. package/src/main/js/sap/ushell/state/ShellModel.js +112 -0
  291. package/src/main/js/sap/ushell/state/StateManager/LaunchpadState.js +40 -0
  292. package/src/main/js/sap/ushell/state/StateManager/Operation.js +42 -0
  293. package/src/main/js/sap/ushell/state/StateManager/ShellMode.js +86 -0
  294. package/src/main/js/sap/ushell/state/StateManager.js +648 -0
  295. package/src/main/js/sap/ushell/state/StateRules.js +295 -0
  296. package/src/main/js/sap/ushell/state/StrategyFactory/DefaultStrategy.js +74 -0
  297. package/src/main/js/sap/ushell/state/StrategyFactory/FloatingActionsStrategy.js +78 -0
  298. package/src/main/js/sap/ushell/state/StrategyFactory/HeadEndItemsStrategy.js +130 -0
  299. package/src/main/js/sap/ushell/state/StrategyFactory/HeadItemsStrategy.js +104 -0
  300. package/src/main/js/sap/ushell/state/StrategyFactory/SidePaneStrategy.js +78 -0
  301. package/src/main/js/sap/ushell/state/StrategyFactory/SubHeaderStrategy.js +78 -0
  302. package/src/main/js/sap/ushell/state/StrategyFactory/UserActionsStrategy.js +60 -0
  303. package/src/main/js/sap/ushell/state/StrategyFactory.js +168 -0
  304. package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
  305. package/src/main/js/sap/ushell/themes/base/UserSettings.less +1 -5
  306. package/src/main/js/sap/ushell/themes/base/WorkPageCell.less +45 -49
  307. package/src/main/js/sap/ushell/themes/sap_belize_base/UserSettings.less +1 -5
  308. package/src/main/js/sap/ushell/themes/sap_bluecrystal_base/UserSettings.less +1 -5
  309. package/src/main/js/sap/ushell/themes/sap_hcb/base_ActionMode.less +107 -0
  310. package/src/main/js/sap/ushell/themes/sap_hcb/base_AddBookmarkButton.less +37 -0
  311. package/src/main/js/sap/ushell/themes/sap_hcb/base_AnchorItem.less +81 -0
  312. package/src/main/js/sap/ushell/themes/sap_hcb/base_AnchorNavigationBar.less +86 -0
  313. package/src/main/js/sap/ushell/themes/sap_hcb/base_AppearanceView.less +213 -0
  314. package/src/main/js/sap/ushell/themes/sap_hcb/base_ApplicationContainer.less +37 -0
  315. package/src/main/js/sap/ushell/themes/sap_hcb/base_Catalog.less +387 -0
  316. package/src/main/js/sap/ushell/themes/sap_hcb/base_ContactSupport.less +12 -0
  317. package/src/main/js/sap/ushell/themes/sap_hcb/base_ContentFinder.less +26 -0
  318. package/src/main/js/sap/ushell/themes/sap_hcb/base_CustomGroupHeaderListItem.less +10 -0
  319. package/src/main/js/sap/ushell/themes/sap_hcb/base_Dashboard.less +66 -0
  320. package/src/main/js/sap/ushell/themes/sap_hcb/base_DynamicTile.less +114 -0
  321. package/src/main/js/sap/ushell/themes/sap_hcb/base_Factsheet.less +225 -0
  322. package/src/main/js/sap/ushell/themes/sap_hcb/base_FloatingContainer.less +125 -0
  323. package/src/main/js/sap/ushell/themes/sap_hcb/base_FlpSettings.less +83 -0
  324. package/src/main/js/sap/ushell/themes/sap_hcb/base_GroupList.less +68 -0
  325. package/src/main/js/sap/ushell/themes/sap_hcb/base_GroupListItem.less +54 -0
  326. package/src/main/js/sap/ushell/themes/sap_hcb/base_IconFonts.less +21 -0
  327. package/src/main/js/sap/ushell/themes/sap_hcb/base_ImageTile.less +23 -0
  328. package/src/main/js/sap/ushell/themes/sap_hcb/base_LoadingDialog.less +47 -0
  329. package/src/main/js/sap/ushell/themes/sap_hcb/base_MenuBar.less +23 -0
  330. package/src/main/js/sap/ushell/themes/sap_hcb/base_Notifications.less +135 -0
  331. package/src/main/js/sap/ushell/themes/sap_hcb/base_Page.less +49 -0
  332. package/src/main/js/sap/ushell/themes/sap_hcb/base_PictureTile.less +119 -0
  333. package/src/main/js/sap/ushell/themes/sap_hcb/base_PictureViewer.less +25 -0
  334. package/src/main/js/sap/ushell/themes/sap_hcb/base_PlusTile.less +38 -0
  335. package/src/main/js/sap/ushell/themes/sap_hcb/base_QuickAccess.less +18 -0
  336. package/src/main/js/sap/ushell/themes/sap_hcb/base_RightFloatingContainerItem.less +82 -0
  337. package/src/main/js/sap/ushell/themes/sap_hcb/base_SearchCEP.less +121 -0
  338. package/src/main/js/sap/ushell/themes/sap_hcb/base_SearchFLP.less +10 -0
  339. package/src/main/js/sap/ushell/themes/sap_hcb/base_Section.less +60 -0
  340. package/src/main/js/sap/ushell/themes/sap_hcb/base_ShellAppTitle.less +207 -0
  341. package/src/main/js/sap/ushell/themes/sap_hcb/base_ShellFloatingAction.less +61 -0
  342. package/src/main/js/sap/ushell/themes/sap_hcb/base_ShellFloatingActions.less +14 -0
  343. package/src/main/js/sap/ushell/themes/sap_hcb/base_ShellHeader.less +389 -0
  344. package/src/main/js/sap/ushell/themes/sap_hcb/base_ShellLayout.less +168 -0
  345. package/src/main/js/sap/ushell/themes/sap_hcb/base_SidePane.less +8 -0
  346. package/src/main/js/sap/ushell/themes/sap_hcb/base_StaticTile.less +9 -0
  347. package/src/main/js/sap/ushell/themes/sap_hcb/base_SubHeader.less +3 -0
  348. package/src/main/js/sap/ushell/themes/sap_hcb/base_SysInfoBar.less +164 -0
  349. package/src/main/js/sap/ushell/themes/sap_hcb/base_TargetMappingConfiguration.less +8 -0
  350. package/src/main/js/sap/ushell/themes/sap_hcb/base_Tile.less +223 -0
  351. package/src/main/js/sap/ushell/themes/sap_hcb/base_TileBase.less +152 -0
  352. package/src/main/js/sap/ushell/themes/sap_hcb/base_TileContainer.less +495 -0
  353. package/src/main/js/sap/ushell/themes/sap_hcb/base_TilePlaceholder.less +75 -0
  354. package/src/main/js/sap/ushell/themes/sap_hcb/base_TileState.less +62 -0
  355. package/src/main/js/sap/ushell/themes/sap_hcb/base_ToolAreaItem.less +85 -0
  356. package/src/main/js/sap/ushell/themes/sap_hcb/base_UserActionsMenu.less +23 -0
  357. package/src/main/js/sap/ushell/themes/sap_hcb/base_UserConsentDialog.less +52 -0
  358. package/src/main/js/sap/ushell/themes/sap_hcb/base_UserSettings.less +109 -0
  359. package/src/main/js/sap/ushell/themes/sap_hcb/base_ViewPortContainer.less +28 -0
  360. package/src/main/js/sap/ushell/themes/sap_hcb/base_WorkPage.less +58 -0
  361. package/src/main/js/sap/ushell/themes/sap_hcb/base_WorkPageButton.less +60 -0
  362. package/src/main/js/sap/ushell/themes/sap_hcb/base_WorkPageCell.less +144 -0
  363. package/src/main/js/sap/ushell/themes/sap_hcb/base_WorkPageColumn.less +39 -0
  364. package/src/main/js/sap/ushell/themes/sap_hcb/base_WorkPageColumnResizer.less +128 -0
  365. package/src/main/js/sap/ushell/themes/sap_hcb/base_WorkPageRow.less +987 -0
  366. package/src/main/js/sap/ushell/themes/sap_hcb/base_shared.less +40 -0
  367. package/src/main/js/sap/ushell/themes/sap_hcb/library.source.less +70 -1
  368. package/src/main/js/sap/ushell/ui/ShellHeader.fragment.xml +17 -11
  369. package/src/main/js/sap/ushell/ui/ShellHeader.js +10 -3
  370. package/src/main/js/sap/ushell/ui/cards/FrequentActivitiesExtension.js +0 -4
  371. package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +1 -5
  372. package/src/main/js/sap/ushell/ui/footerbar/AddBookmarkButton.js +19 -5
  373. package/src/main/js/sap/ushell/ui/footerbar/ContactSupportDialog.controller.js +9 -3
  374. package/src/main/js/sap/ushell/ui/footerbar/SendAsEmailButton.js +5 -5
  375. package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
  376. package/src/main/js/sap/ushell/ui/launchpad/Section.js +1 -1
  377. package/src/main/js/sap/ushell/ui/launchpad/TileContainer.js +17 -12
  378. package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +1 -1
  379. package/src/main/js/sap/ushell/ui/shell/ShellAppTitle.js +50 -35
  380. package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +2 -2
  381. package/src/main/js/sap/ushell/ui/utils.js +1 -1
  382. package/src/main/js/sap/ushell/ui5service/ShellUIService.js +1 -1
  383. package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
  384. package/src/main/js/sap/ushell/utils/UrlParsing.js +22 -0
  385. package/src/main/js/sap/ushell/utils/UrlShortening.js +1 -1
  386. package/src/main/js/sap/ushell/utils/WindowUtils.js +3 -3
  387. package/src/main/js/sap/ushell/utils/workpage/DestinationResolver.js +89 -0
  388. package/src/main/js/sap/ushell/utils/workpage/WorkPageHost.js +51 -47
  389. package/src/main/js/sap/ushell/utils/workpage/WorkPageService.js +32 -1
  390. package/src/main/js/sap/ushell/utils/workpage/WorkPageVizInstantiation.js +1 -1
  391. package/src/main/js/sap/ushell/utils.js +26 -2
  392. package/src/test/js/sap/ushell/bootstrap/sandbox.js +1 -1
  393. package/src/main/js/sap/ushell/bootstrap/common/common.load.ui5theme.js +0 -67
  394. package/src/main/js/sap/ushell/components/HeaderManager.js +0 -547
  395. package/src/main/js/sap/ushell/components/StateHelper.js +0 -70
  396. package/src/main/js/sap/ushell/components/_HeaderManager/AddHeadEndItemsStrategy.js +0 -105
  397. package/src/main/js/sap/ushell/components/_HeaderManager/AddHeadItemsStrategy.js +0 -75
  398. package/src/main/js/sap/ushell/components/_HeaderManager/ControlManager.js +0 -70
  399. package/src/main/js/sap/ushell/components/_HeaderManager/ExtendApplicationPropertyStrategy.js +0 -18
  400. package/src/main/js/sap/ushell/components/_HeaderManager/PropertyStrategiesFactory.js +0 -58
  401. package/src/main/js/sap/ushell/components/_HeaderManager/RemoveItemsStrategy.js +0 -46
  402. package/src/main/js/sap/ushell/components/_HeaderManager/SetHeadPropertyStrategy.js +0 -19
  403. package/src/main/js/sap/ushell/components/applicationIntegration/elements/model.js +0 -1309
  404. package/src/main/js/sap/ushell/components/applicationIntegration/relatedShellElements/RelatedShellElements.js +0 -363
@@ -2,55 +2,65 @@
2
2
 
3
3
  sap.ui.define([
4
4
  "sap/base/Log",
5
+ "sap/m/Avatar",
6
+ "sap/m/library",
5
7
  "sap/ui/Device",
6
8
  "sap/ui/core/Element",
7
- "sap/ushell/components/_HeaderManager/ControlManager",
8
9
  "sap/ushell/components/_HeaderManager/ShellHeader.controller",
9
10
  "sap/ushell/ui/launchpad/AccessibilityCustomData",
10
11
  "sap/ushell/EventHub",
11
12
  "sap/ushell/resources",
12
13
  "sap/ushell/utils",
13
- "sap/ushell/Config",
14
- "sap/ui/model/json/JSONModel",
15
14
  "sap/ui/core/mvc/View",
16
15
  "sap/ui/core/mvc/XMLView",
17
16
  "sap/ui/core/Fragment",
18
17
  "sap/ushell/api/NewExperience",
19
18
  "sap/ushell/renderer/ShellLayout",
20
- // controller must be preloaded to avoid naming clashes
21
- "sap/ushell/renderer/Shell.controller",
19
+ "sap/ushell/renderer/Shell.controller", // controller must be preloaded to avoid naming clashes
20
+ "sap/ushell/state/ShellModel",
21
+ "sap/ushell/state/StateManager",
22
22
  "sap/ushell/Container",
23
23
  "sap/ui/thirdparty/jquery"
24
24
  ], function (
25
25
  Log,
26
+ Avatar,
27
+ mobileLibrary,
26
28
  Device,
27
29
  Element,
28
- HeaderControlManager,
29
30
  ShellHeaderController,
30
31
  AccessibilityCustomData,
31
32
  EventHub,
32
- resources,
33
+ ushellResources,
33
34
  utils,
34
- Config,
35
- JSONModel,
36
35
  View,
37
36
  XMLView,
38
37
  Fragment,
39
38
  NewExperience,
40
39
  ShellLayout,
41
40
  ShellController,
41
+ ShellModel,
42
+ StateManager,
42
43
  Container,
43
44
  jQuery
44
45
  ) {
45
46
  "use strict";
46
47
 
47
- var ShellLayoutMapping = ShellLayout.LAYOUT_MAPPING;
48
+ // shortcut for sap.m.AvatarSize
49
+ const AvatarSize = mobileLibrary.AvatarSize;
50
+
51
+ // shortcut for sap.ushell.state.StateManager.Operation
52
+ const Operation = StateManager.Operation;
53
+
54
+ // shortcut for sap.ushell.state.StateManager.ShellMode
55
+ const ShellMode = StateManager.ShellMode;
56
+
57
+ const ShellLayoutMapping = ShellLayout.LAYOUT_MAPPING;
48
58
 
49
59
  function fnShellUpdateAggItem (sId, oContext) {
50
60
  return Element.getElementById(oContext.getObject());
51
61
  }
52
62
 
53
- var BINDING_TYPE = {
63
+ const BINDING_TYPE = {
54
64
  Property: "Property",
55
65
  List: "List"
56
66
  };
@@ -69,14 +79,6 @@ sap.ui.define([
69
79
  return this._oShellLayoutPromise;
70
80
  },
71
81
 
72
- getShellModel: function () {
73
- return this.getViewData().shellModel;
74
- },
75
-
76
- getHelperModel: function () {
77
- return this.getViewData().helperModel;
78
- },
79
-
80
82
  getViewDataConfig: function () {
81
83
  var oViewData = this.getViewData() || {};
82
84
  var oConfig = oViewData.config || {};
@@ -84,8 +86,11 @@ sap.ui.define([
84
86
  },
85
87
 
86
88
  createContent: function () {
89
+ this._createUserActionsMenuButton(ShellModel.getConfigModel());
90
+
87
91
  // Change config if more then three buttons moved to the header
88
92
  this._allowUpToThreeActionInShellHeader();
93
+ StateManager.init(this.getViewDataConfig());
89
94
 
90
95
  // BackgroundImage
91
96
  this.initBackgroundImage();
@@ -136,17 +141,11 @@ sap.ui.define([
136
141
  }).then(function (oRendererRootView) {
137
142
  oRendererRootView.updateAggregation = this.updateShellAggregation;
138
143
 
139
- Element.getElementById("viewPortContainer");
140
-
141
144
  return oRendererRootView;
142
145
  }.bind(this));
143
146
  },
144
147
 
145
148
  createShellHeader: function () {
146
- var oConfig = this.getViewDataConfig();
147
- var oShellModel = this.getShellModel();
148
- // Create own model for the header
149
- var oShellHeaderModel = Config.createModel("/core/shellHeader", JSONModel);
150
149
  var oHeaderController = new ShellHeaderController();
151
150
  oHeaderController.onInit();
152
151
 
@@ -155,16 +154,15 @@ sap.ui.define([
155
154
  controller: oHeaderController
156
155
  }).then(function (oShellHeader) {
157
156
  oShellHeader.updateAggregation = this.updateShellAggregation;
158
- HeaderControlManager.init(oConfig, oHeaderController, oShellModel);
159
157
 
160
- if (oConfig.appState === "embedded") {
158
+ if (StateManager.getShellMode() === ShellMode.Embedded) {
161
159
  oShellHeader.setNoLogo();
162
160
  }
163
161
 
164
162
  // Assign models to the Shell Header
165
- oShellHeader.setModel(oShellHeaderModel);
166
- oShellHeader.setModel(resources.i18nModel, "i18n");
163
+ oShellHeader.setModel(ushellResources.i18nModel, "i18n");
167
164
  oShellHeader.setModel(NewExperience.getModel(), "newExperience");
165
+ oShellHeader.setModel(ShellModel.getModel(), "shellModel");
168
166
  this.addDanglingControl(oShellHeader);
169
167
  // save for later use
170
168
  this._oShellHeader = oShellHeader;
@@ -179,7 +177,8 @@ sap.ui.define([
179
177
  return Container.getServiceAsync("Menu")
180
178
  .then(function (oMenuService) {
181
179
  return oMenuService.isMenuEnabled();
182
- }).then(function (bMenuEnabled) {
180
+ })
181
+ .then(function (bMenuEnabled) {
183
182
  if (!bMenuEnabled) {
184
183
  return;
185
184
  }
@@ -201,15 +200,15 @@ sap.ui.define([
201
200
  id: "right-floating-container",
202
201
  top: "2",
203
202
  hideItemsAfterPresentation: true,
204
- visible: "{/currentState/showRightFloatingContainer}",
203
+ visible: "{shellModel>/rightFloatingContainer/visible}",
205
204
  floatingContainerItems: {
206
- path: "/currentState/RightFloatingContainerItems",
205
+ path: "shellModel>/rightFloatingContainer/items",
207
206
  factory: fnShellUpdateAggItem
208
207
  }
209
208
  });
210
209
  oRightFloatingContainer.updateAggregation = this.updateShellAggregation;
211
210
 
212
- oRightFloatingContainer.setModel(this.getShellModel());
211
+ oRightFloatingContainer.setModel(ShellModel.getModel(), "shellModel");
213
212
  this.addDanglingControl(oRightFloatingContainer);
214
213
  // save for later use
215
214
  this._oRightFloatingContainer = oRightFloatingContainer;
@@ -224,7 +223,7 @@ sap.ui.define([
224
223
 
225
224
  initCanvasShapesManager: function () {
226
225
  this.bindFactory({
227
- model: this.getShellModel(),
226
+ model: ShellModel.getConfigModel(),
228
227
  factory: this.createCanvasShapesManager.bind(this),
229
228
  bindingPath: "/enableBackGroundShapes",
230
229
  bindingType: BINDING_TYPE.Property,
@@ -244,13 +243,13 @@ sap.ui.define([
244
243
  var oSubHeader = new SubHeader({
245
244
  id: "subhdr",
246
245
  content: {
247
- path: "/currentState/subHeader",
246
+ path: "shellModel>/subHeader/items",
248
247
  factory: fnShellUpdateAggItem
249
248
  }
250
249
  });
251
250
  oSubHeader.updateAggregation = this.updateShellAggregation;
252
251
 
253
- oSubHeader.setModel(this.getShellModel());
252
+ oSubHeader.setModel(ShellModel.getModel(), "shellModel");
254
253
  this.addDanglingControl(oSubHeader);
255
254
 
256
255
  this.waitForShellLayout().then(function () {
@@ -267,9 +266,9 @@ sap.ui.define([
267
266
  ], function (FloatingContainer, Storage) {
268
267
  var oFloatingContainer = new FloatingContainer({
269
268
  id: "shell-floatingContainer",
270
- visible: "{helper>/shell/floatingContainerVisible}",
269
+ visible: "{shellModel>/floatingContainer/visible}",
271
270
  content: {
272
- path: "/currentState/floatingContainerContent",
271
+ path: "shellModel>/floatingContainer/items",
273
272
  factory: fnShellUpdateAggItem
274
273
  }
275
274
  });
@@ -284,8 +283,7 @@ sap.ui.define([
284
283
  }));
285
284
  }
286
285
 
287
- oFloatingContainer.setModel(this.getShellModel());
288
- oFloatingContainer.setModel(this.getHelperModel(), "helper");
286
+ oFloatingContainer.setModel(ShellModel.getModel(), "shellModel");
289
287
  this.addDanglingControl(oFloatingContainer);
290
288
 
291
289
  this.waitForShellLayout().then(function () {
@@ -322,15 +320,15 @@ sap.ui.define([
322
320
  sap.ui.require(["sap/ushell/ui/shell/SidePane"], function (SidePane) {
323
321
  var oSidePane = new SidePane({
324
322
  id: "shell-sidePane",
325
- visible: "{/currentState/showPane}",
323
+ visible: "{shellModel>/sidePane/visible}",
326
324
  content: {
327
- path: "/currentState/paneContent",
325
+ path: "shellModel>/sidePane/items",
328
326
  factory: fnShellUpdateAggItem
329
327
  }
330
328
  });
331
329
  oSidePane.updateAggregation = this.updateShellAggregation;
332
330
 
333
- oSidePane.setModel(this.getShellModel());
331
+ oSidePane.setModel(ShellModel.getModel(), "shellModel");
334
332
  this.addDanglingControl(oSidePane);
335
333
 
336
334
  this.waitForShellLayout().then(function () {
@@ -343,15 +341,15 @@ sap.ui.define([
343
341
  sap.ui.require(["sap/ushell/ui/shell/ToolArea"], function (ToolArea) {
344
342
  var oShellToolArea = new ToolArea({
345
343
  id: "shell-toolArea",
346
- visible: "{/currentState/toolAreaVisible}",
344
+ visible: "{shellModel>/toolArea/visible}",
347
345
  toolAreaItems: {
348
- path: "/currentState/toolAreaItems",
346
+ path: "shellModel>/toolArea/items",
349
347
  factory: fnShellUpdateAggItem
350
348
  }
351
349
  });
352
350
  oShellToolArea.updateAggregation = this.updateShellAggregation;
353
351
 
354
- oShellToolArea.setModel(this.getShellModel());
352
+ oShellToolArea.setModel(ShellModel.getModel(), "shellModel");
355
353
  this.addDanglingControl(oShellToolArea);
356
354
 
357
355
  this.waitForShellLayout().then(function () {
@@ -368,13 +366,13 @@ sap.ui.define([
368
366
  var oShellFloatingActions = new ShellFloatingActions({
369
367
  id: "shell-floatingActions",
370
368
  floatingActions: {
371
- path: "/currentState/floatingActions",
369
+ path: "shellModel>/floatingActions/items",
372
370
  factory: fnShellUpdateAggItem
373
371
  }
374
372
  });
375
373
  oShellFloatingActions.updateAggregation = this.updateShellAggregation;
376
374
 
377
- oShellFloatingActions.setModel(this.getShellModel());
375
+ oShellFloatingActions.setModel(ShellModel.getModel(), "shellModel");
378
376
  this.addDanglingControl(oShellFloatingActions);
379
377
 
380
378
  this.waitForShellLayout().then(function () {
@@ -396,11 +394,11 @@ sap.ui.define([
396
394
  id: "allMyAppsView",
397
395
  viewName: "sap.ushell.renderer.allMyApps.AllMyApps"
398
396
  }).then(function (allMyAppsView) {
399
- allMyAppsView.setModel(this.getShellModel());
400
- allMyAppsView.setModel(resources.i18nModel, "i18n");
397
+ allMyAppsView.setModel(ShellModel.getConfigModel(), "configModel");
398
+ allMyAppsView.setModel(ushellResources.i18nModel, "i18n");
401
399
  allMyAppsView.addCustomData(new AccessibilityCustomData({
402
400
  key: "aria-label",
403
- value: resources.i18n.getText("allMyApps_headerTitle"),
401
+ value: ushellResources.i18n.getText("allMyApps_headerTitle"),
404
402
  writeToDom: true
405
403
  }));
406
404
  this.addDanglingControl(allMyAppsView);
@@ -412,7 +410,7 @@ sap.ui.define([
412
410
  * Begin factory functions for lazy instantiation of Shell Layout controls
413
411
  */
414
412
  createPostCoreExtControls: function () {
415
- var oShellModel = this.getShellModel();
413
+ var oShellModel = ShellModel.getModel();
416
414
 
417
415
  // apply the highest z-index used by the shell
418
416
  sap.ui.require(["sap/ui/core/Popup"], function (Popup) {
@@ -423,7 +421,7 @@ sap.ui.define([
423
421
  this.bindFactory({
424
422
  model: oShellModel,
425
423
  factory: this.createRightFloatingContainer.bind(this),
426
- bindingPath: "/currentState/showRightFloatingContainer",
424
+ bindingPath: "/rightFloatingContainer/visible",
427
425
  bindingType: BINDING_TYPE.Property,
428
426
  valueCheck: function (bValue) {
429
427
  return !!bValue;
@@ -434,7 +432,7 @@ sap.ui.define([
434
432
  this.bindFactory({
435
433
  model: oShellModel,
436
434
  factory: this.createSubHeader.bind(this),
437
- bindingPath: "/currentState/subHeader",
435
+ bindingPath: "/subHeader/items",
438
436
  bindingType: BINDING_TYPE.List,
439
437
  valueCheck: function (aValues) {
440
438
  return !!aValues.length;
@@ -445,7 +443,7 @@ sap.ui.define([
445
443
  this.bindFactory({
446
444
  model: oShellModel,
447
445
  factory: this.createToolArea.bind(this),
448
- bindingPath: "/currentState/toolAreaVisible",
446
+ bindingPath: "/toolArea/visible",
449
447
  bindingType: BINDING_TYPE.Property,
450
448
  valueCheck: function (bValue) {
451
449
  return !!bValue;
@@ -456,7 +454,7 @@ sap.ui.define([
456
454
  this.bindFactory({
457
455
  model: oShellModel,
458
456
  factory: this.createSidePane.bind(this),
459
- bindingPath: "/currentState/showPane",
457
+ bindingPath: "/sidePane/visible",
460
458
  bindingType: BINDING_TYPE.Property,
461
459
  valueCheck: function (bValue) {
462
460
  return !!bValue;
@@ -470,7 +468,7 @@ sap.ui.define([
470
468
  this.bindFactory({ // FloatingActions (deprecated)
471
469
  model: oShellModel,
472
470
  factory: this.createFloatingActions.bind(this),
473
- bindingPath: "/currentState/floatingActions",
471
+ bindingPath: "/floatingActions/items",
474
472
  bindingType: BINDING_TYPE.List,
475
473
  valueCheck: function (aValues) {
476
474
  return !!aValues.length;
@@ -484,31 +482,49 @@ sap.ui.define([
484
482
  * allow up to 3 actions in shell header
485
483
  */
486
484
  _allowUpToThreeActionInShellHeader: function () {
487
- var oConfig = this.getViewDataConfig();
488
- // in order to save performance time when these properties are not defined
489
- if (Object.keys(oConfig).length > 3) {
490
- var aParameter = [
491
- "moveAppFinderActionToShellHeader",
492
- "moveUserSettingsActionToShellHeader",
493
- "moveContactSupportActionToShellHeader",
494
- "moveEditHomePageActionToShellHeader"
495
- ];
496
- var count = 0;
497
- var sParameter;
498
-
499
- // count the number of "true" values, once get to three, force the other to be "false"
500
- for (var index = 0; index < 5; index++) {
501
- sParameter = aParameter[index];
502
- if (count === 3) {
503
- // if 3 user actions have already been moved to the shell header, assign false to every other parameter
504
- oConfig[sParameter] = false;
505
- } else if (oConfig[sParameter]) {
506
- count++;
507
- }
485
+ const aParameter = [
486
+ "moveAppFinderActionToShellHeader",
487
+ "moveUserSettingsActionToShellHeader",
488
+ "moveContactSupportActionToShellHeader",
489
+ "moveEditHomePageActionToShellHeader"
490
+ ];
491
+ const oConfig = this.getViewDataConfig();
492
+
493
+ // only allow the first three actions to be moved to the shell header
494
+ aParameter.reduce((iCount, sParam) => {
495
+ if (iCount >= 3) {
496
+ oConfig[sParam] = false;
497
+ return iCount;
508
498
  }
509
- }
499
+ if (oConfig[sParam]) {
500
+ iCount++;
501
+ }
502
+ return iCount;
503
+ }, 0);
504
+ },
505
+
506
+ _createUserActionsMenuButton: function (oConfigModel) {
507
+ const oUser = Container.getUser();
508
+ const sTooltip = ushellResources.i18n.getText("UserActionsMenuToggleButtonAria", [oUser.getFullName() || oUser.getId()]);
509
+
510
+ const oUserActionsMenuAvatar = new Avatar({
511
+ id: "userActionsMenuHeaderButton",
512
+ src: "{configModel>/userImage/personPlaceHolder}",
513
+ initials: oUser.getInitials(),
514
+ ariaHasPopup: "Menu",
515
+ displaySize: AvatarSize.XS,
516
+ tooltip: sTooltip,
517
+ press: function () {
518
+ EventHub.emit("showUserActionsMenu", Date.now());
519
+ }
520
+ });
521
+ oUserActionsMenuAvatar.setModel(oConfigModel, "configModel");
522
+ this.addDanglingControl(oUserActionsMenuAvatar);
523
+
524
+ StateManager.updateAllBaseStates("header.headEndItems", Operation.Add, "userActionsMenuHeaderButton");
510
525
  },
511
526
 
527
+
512
528
  /**
513
529
  * @returns {sap.ui.core.Control} The ShellHeader
514
530
  *
@@ -525,19 +541,24 @@ sap.ui.define([
525
541
  },
526
542
 
527
543
  updateShellAggregation: function (sName) {
528
- var oBindingInfo = this.mBindingInfos[sName];
529
- var oAggregationInfo = this.getMetadata().getJSONKeys()[sName];
530
- var oClone;
544
+ const oBindingInfo = this.mBindingInfos[sName];
545
+ const oAggregationInfo = this.getMetadata().getJSONKeys()[sName];
546
+ const fnGet = this[oAggregationInfo._sGetter].bind(this);
547
+ const fnRemove = this[oAggregationInfo._sRemoveMutator].bind(this);
548
+ const fnUpdate = this[oAggregationInfo._sMutator].bind(this);
549
+
550
+ const aControls = fnGet() || [];
551
+ // make a shallow copy to avoid issues with iteration on the original array
552
+ [...aControls].forEach((oControlToRemove) => {
553
+ fnRemove(oControlToRemove);
554
+ });
531
555
 
532
- this[oAggregationInfo._sGetter]().forEach(function (v) {
533
- this[oAggregationInfo._sRemoveMutator](v);
534
- }.bind(this));
535
- oBindingInfo.binding.getContexts().forEach(function (v, i) {
536
- oClone = oBindingInfo.factory(this.getId() + "-" + i, v)
556
+ oBindingInfo.binding.getContexts().forEach((v, i) => {
557
+ const oClone = oBindingInfo.factory(this.getId() + "-" + i, v)
537
558
  ? oBindingInfo.factory(this.getId() + "-" + i, v).setBindingContext(v, oBindingInfo.model)
538
559
  : "";
539
- this[oAggregationInfo._sMutator](oClone);
540
- }.bind(this));
560
+ fnUpdate(oClone);
561
+ });
541
562
  },
542
563
 
543
564
  /**
@@ -17,6 +17,7 @@ sap.ui.define([
17
17
  "sap/ushell/resources",
18
18
  "sap/ushell/utils/WindowUtils",
19
19
  "sap/ushell/EventHub",
20
+ "sap/ushell/state/ShellModel",
20
21
  "sap/ushell/Container"
21
22
  ], function (
22
23
  mobileLibrary,
@@ -32,6 +33,7 @@ sap.ui.define([
32
33
  ushellResources,
33
34
  WindowUtils,
34
35
  EventHub,
36
+ ShellModel,
35
37
  Container
36
38
  ) {
37
39
  "use strict";
@@ -39,16 +41,16 @@ sap.ui.define([
39
41
  /* global hasher */
40
42
 
41
43
  // shortcut for sap.m.ListType
42
- var ListType = mobileLibrary.ListType;
44
+ const ListType = mobileLibrary.ListType;
43
45
 
44
46
  // shortcut for sap.ushell.AllMyAppsState
45
- var AllMyAppsState = ushellLibrary.AllMyAppsState;
47
+ const AllMyAppsState = ushellLibrary.AllMyAppsState;
46
48
 
47
49
  // shortcut for sap.ushell.AllMyAppsProviderType
48
- var AllMyAppsProviderType = ushellLibrary.AllMyAppsProviderType;
50
+ const AllMyAppsProviderType = ushellLibrary.AllMyAppsProviderType;
49
51
 
50
52
  // shortcut for sap.ushell.AppTitleState
51
- var AppTitleState = ushellLibrary.AppTitleState;
53
+ const AppTitleState = ushellLibrary.AppTitleState;
52
54
 
53
55
  var bSingleDataSource = false;
54
56
 
@@ -81,6 +83,18 @@ sap.ui.define([
81
83
  oEventBus.subscribe("launchpad", "allMyAppsNoCatalogsLoaded", this.onNoCatalogsLoaded, this);
82
84
  },
83
85
 
86
+ /**
87
+ * Returns the current configuration model.
88
+ * Note: The model instance changes when the launchpad is restarted (e.g. in tests)
89
+ * @returns {sap.ui.model.Model} The configuration model.
90
+ *
91
+ * @since 1.127.0
92
+ * @private
93
+ */
94
+ _getConfigModel: function () {
95
+ return ShellModel.getConfigModel();
96
+ },
97
+
84
98
  onExit: function () {
85
99
  var oEventBus = EventBus.getInstance();
86
100
 
@@ -222,7 +236,7 @@ sap.ui.define([
222
236
  return this._isSingleDataSource()
223
237
  .then(function (singleDataSource) {
224
238
  if (singleDataSource) {
225
- Config.emit("/core/shell/model/allMyAppsMasterLevel", AllMyAppsState.FirstLevelSpread);
239
+ this._getConfigModel().setProperty("/allMyAppsMasterLevel", AllMyAppsState.FirstLevelSpread);
226
240
 
227
241
  // Bind the master area list to the groups level of the single provider
228
242
  // (i.e. the data_sources/single_provider/groups array) in the model
@@ -231,7 +245,7 @@ sap.ui.define([
231
245
  this._getMasterListItemTemplate
232
246
  );
233
247
  } else {
234
- Config.emit("/core/shell/model/allMyAppsMasterLevel", AllMyAppsState.FirstLevel);
248
+ this._getConfigModel().setProperty("/allMyAppsMasterLevel", AllMyAppsState.FirstLevel);
235
249
 
236
250
  // Bind the master area list to the first level (i.e. the data_sources/providers array) in the model
237
251
  oDataSourceList.bindItems("allMyAppsModel>/AppsData", this._getMasterListItemTemplate());
@@ -274,11 +288,11 @@ sap.ui.define([
274
288
  return this._isSingleDataSource()
275
289
  .then(function (bIsSingleDataSource) {
276
290
  if (bIsSingleDataSource) {
277
- Config.emit("/core/shell/model/allMyAppsMasterLevel", AllMyAppsState.FirstLevelSpread);
291
+ this._getConfigModel().setProperty("/allMyAppsMasterLevel", AllMyAppsState.FirstLevelSpread);
278
292
  } else if (sPathArray.length === 3) {
279
- Config.emit("/core/shell/model/allMyAppsMasterLevel", AllMyAppsState.FirstLevel);
293
+ this._getConfigModel().setProperty("/allMyAppsMasterLevel", AllMyAppsState.FirstLevel);
280
294
  } else {
281
- Config.emit("/core/shell/model/allMyAppsMasterLevel", AllMyAppsState.SecondLevel);
295
+ this._getConfigModel().setProperty("/allMyAppsMasterLevel", AllMyAppsState.SecondLevel);
282
296
  }
283
297
  this.updateHeaderButtonsState();
284
298
  }.bind(this));
@@ -301,7 +315,7 @@ sap.ui.define([
301
315
  var oView = this.getView();
302
316
  var oAllMyAppsModel = oView.getModel("allMyAppsModel");
303
317
  var oClickedObjectType = oAllMyAppsModel.getProperty(sClickedDataSourcePath + "/type");
304
- var oAllMyAppsLevel = Config.last("/core/shell/model/allMyAppsMasterLevel");
318
+ var oAllMyAppsLevel = this._getConfigModel().getProperty("/allMyAppsMasterLevel");
305
319
  var oCustomPanel = this._getCustomPanel();
306
320
  var oCustomPanelLabel = this._getCustomPanelLabel();
307
321
  var oCustomPanelLink = this._getCustomPanelLink();
@@ -355,7 +369,7 @@ sap.ui.define([
355
369
  "allMyAppsModel>" + sClickedDataSourcePath + "/groups",
356
370
  this._getMasterListItemTemplate()
357
371
  );
358
- Config.emit("/core/shell/model/allMyAppsMasterLevel", AllMyAppsState.SecondLevel);
372
+ this._getConfigModel().setProperty("/allMyAppsMasterLevel", AllMyAppsState.SecondLevel);
359
373
 
360
374
  // Set the content of the details area to the items/apps of the group (i.e. second level)
361
375
  var oBindingContext = this._setBindingContext(sClickedDataSourcePath + "/groups/0", oView.byId("oItemsContainerlist"));
@@ -401,7 +415,7 @@ sap.ui.define([
401
415
  this._getDetailsHeaderLabel().setText(oAllMyAppsModel.getProperty(sClickedDataSourcePath + "/title"));
402
416
  if (Device.system.phone) {
403
417
  this._getSplitApp().toDetail(this.createId("sapUshellAllMyAppsDetailsPage"));
404
- Config.emit("/core/shell/model/allMyAppsMasterLevel", AllMyAppsState.Details);
418
+ this._getConfigModel().setProperty("/allMyAppsMasterLevel", AllMyAppsState.Details);
405
419
  }
406
420
  this.updateHeaderButtonsState();
407
421
  return oBindingContext;
@@ -539,8 +553,8 @@ sap.ui.define([
539
553
  },
540
554
 
541
555
  getBackButtonVisible: function () {
542
- var oShellAppTitleState = Config.last("/core/shellHeader/ShellAppTitleState");
543
- if (oShellAppTitleState !== AppTitleState.AllMyAppsOnly) {
556
+ var sShellAppTitleState = this._getConfigModel().getProperty("/shellAppTitleState");
557
+ if (sShellAppTitleState !== AppTitleState.AllMyAppsOnly) {
544
558
  // back button leads to the navigation menu
545
559
  return true;
546
560
  }
@@ -580,7 +594,7 @@ sap.ui.define([
580
594
  * @returns {sap.ushell.AllMyAppsState} The current state as a member of sap.ushell.AllMyAppsState.
581
595
  */
582
596
  getCurrentState: function () {
583
- return Config.last("/core/shell/model/allMyAppsMasterLevel");
597
+ return this._getConfigModel().getProperty("/allMyAppsMasterLevel");
584
598
  },
585
599
 
586
600
  /******************************************************************************************************************/
@@ -5,7 +5,7 @@
5
5
  height="100%">
6
6
  <SplitApp
7
7
  id="sapUshellAllMyAppsMasterDetail"
8
- mode="{= ${/isPhoneWidth} ? 'ShowHideMode' : 'StretchCompressMode'}">
8
+ mode="{= ${configModel>/isPhoneWidth} ? 'ShowHideMode' : 'StretchCompressMode'}">
9
9
  <masterPages>
10
10
  <Page id="sapUshellAllMyAppsMasterPage" showHeader="false">
11
11
  <landmarkInfo>
@@ -25,7 +25,7 @@
25
25
  title="{allMyAppsModel>title}"
26
26
  wrapping="true"
27
27
  type="{
28
- parts: ['allMyAppsModel>type', '/allMyAppsMasterLevel'],
28
+ parts: ['allMyAppsModel>type', 'configModel>/allMyAppsMasterLevel'],
29
29
  formatter: '.formatListItemType'
30
30
  }" />
31
31
  </List>
@@ -668,6 +668,8 @@ partialCatalogFail=Failed to load one or more catalogs
668
668
  SpacePageNavgiationRegion=Space Page
669
669
  #XMSG
670
670
  PageSectionRegion=Page Sections
671
+ #XMSG
672
+ LogoutFailed=Logout failed. Please close all browser windows.
671
673
 
672
674
  #XTIT
673
675
  hotKeysGlossary=Keyboard Shortcuts
@@ -3,7 +3,7 @@
3
3
  "sap.app": {
4
4
  "id": "sap.ushell.renderer.search.searchComponent",
5
5
  "applicationVersion": {
6
- "version": "1.126.1"
6
+ "version": "1.127.1"
7
7
  },
8
8
  "type": "component"
9
9
  },
@@ -2,6 +2,7 @@
2
2
 
3
3
  /**
4
4
  * File was moved to sap/ushell/renderer/History
5
+ * @fileoverview History
5
6
  * @deprecated since 1.120.0
6
7
  */
7
8
  sap.ui.define([
@@ -2,6 +2,7 @@
2
2
 
3
3
  /**
4
4
  * File was moved to sap/ushell/renderer/LogonFrameProvider
5
+ * @fileoverview LogonFrameProvider
5
6
  * @deprecated since 1.120.0
6
7
  */
7
8
  sap.ui.define([