@sapui5/sap.ushell 1.126.1 → 1.127.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (401) hide show
  1. package/package.json +1 -1
  2. package/src/main/js/sap/ushell/.library +1 -1
  3. package/src/main/js/sap/ushell/Fiori20Adapter.js +1 -1
  4. package/src/main/js/sap/ushell/Fiori20AdapterTest.js +1 -1
  5. package/src/main/js/sap/ushell/NWBCInterface.js +1 -1
  6. package/src/main/js/sap/ushell/SessionHandler.js +2 -2
  7. package/src/main/js/sap/ushell/TechnicalParameters.js +1 -1
  8. package/src/main/js/sap/ushell/URLTemplateProcessor.js +1 -1
  9. package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +1 -1
  10. package/src/main/js/sap/ushell/Ui5ServiceFactory.js +1 -1
  11. package/src/main/js/sap/ushell/User.js +7 -7
  12. package/src/main/js/sap/ushell/UserActivityLog.js +8 -13
  13. package/src/main/js/sap/ushell/_Config/utils.js +18 -0
  14. package/src/main/js/sap/ushell/_URLTemplateProcessor/DefinitionParameterSetBuilder.js +1 -1
  15. package/src/main/js/sap/ushell/_URLTemplateProcessor/DependencyGraph.js +1 -1
  16. package/src/main/js/sap/ushell/_URLTemplateProcessor/Functions.js +1 -1
  17. package/src/main/js/sap/ushell/_URLTemplateProcessor/Resolvers.js +1 -1
  18. package/src/main/js/sap/ushell/_URLTemplateProcessor/TemplateParameterParser.js +1 -1
  19. package/src/main/js/sap/ushell/_URLTemplateProcessor/utils.js +1 -1
  20. package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +1 -1
  21. package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +1 -1
  22. package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
  23. package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +28 -9
  24. package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +1 -1
  25. package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +4 -3
  26. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
  27. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationV2Adapter.js +1 -1
  28. package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +1 -1
  29. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +1 -1
  30. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +1 -1
  31. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +1 -1
  32. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +1 -1
  33. package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +1 -1
  34. package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +1 -1
  35. package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +1 -1
  36. package/src/main/js/sap/ushell/adapters/cdm/v3/FlpLaunchPageAdapter.js +1 -1
  37. package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +1 -1
  38. package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +1 -1
  39. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +1 -1
  40. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +1 -1
  41. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +1 -1
  42. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +1 -1
  43. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +1 -1
  44. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +1 -1
  45. package/src/main/js/sap/ushell/adapters/cdm/v3/utilsCdm.js +6 -1
  46. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +1 -1
  47. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionInternalAdapter.js +1 -1
  48. package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +1 -1
  49. package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +1 -1
  50. package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +1 -1
  51. package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +1 -1
  52. package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +1 -1
  53. package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +1 -1
  54. package/src/main/js/sap/ushell/adapters/local/FlpLaunchPageAdapter.js +1 -1
  55. package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +1 -1
  56. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +1 -1
  57. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionInternalAdapter.js +1 -1
  58. package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +1 -1
  59. package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +1 -1
  60. package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +1 -1
  61. package/src/main/js/sap/ushell/adapters/local/PersonalizationV2Adapter.js +1 -1
  62. package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +1 -1
  63. package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +1 -1
  64. package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +1 -1
  65. package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +1 -1
  66. package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +1 -1
  67. package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +1 -1
  68. package/src/main/js/sap/ushell/appRuntime/neo/AppInfoService.js +1 -0
  69. package/src/main/js/sap/ushell/appRuntime/neo/AppRuntimeNeo.js +1 -0
  70. package/src/main/js/sap/ushell/appRuntime/neo/ProxyAppUtils.js +1 -0
  71. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +6 -0
  72. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/Renderer.js +19 -0
  73. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/RendererExtensions.js +1 -1
  74. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppConfiguration.js +1 -1
  75. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppLifeCycle.js +51 -0
  76. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppState.js +1 -1
  77. package/src/main/js/sap/ushell/appRuntime/ui5/services/Bookmark.js +1 -1
  78. package/src/main/js/sap/ushell/appRuntime/ui5/services/BookmarkV2.js +6 -6
  79. package/src/main/js/sap/ushell/appRuntime/ui5/services/CommonDataModel.js +1 -1
  80. package/src/main/js/sap/ushell/appRuntime/ui5/services/Container.js +1 -1
  81. package/src/main/js/sap/ushell/appRuntime/ui5/services/CrossApplicationNavigation.js +1 -1
  82. package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension/Item.js +1 -1
  83. package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension.js +1 -1
  84. package/src/main/js/sap/ushell/appRuntime/ui5/services/FrameBoundExtension.js +1 -1
  85. package/src/main/js/sap/ushell/appRuntime/ui5/services/LaunchPage.js +1 -1
  86. package/src/main/js/sap/ushell/appRuntime/ui5/services/MessageBroker.js +1 -1
  87. package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolution.js +1 -1
  88. package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolutionInternal.js +1 -1
  89. package/src/main/js/sap/ushell/appRuntime/ui5/services/Navigation.js +1 -1
  90. package/src/main/js/sap/ushell/appRuntime/ui5/services/ReferenceResolver.js +1 -1
  91. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigation.js +1 -1
  92. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigationInternal.js +1 -1
  93. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellUIService.js +1 -1
  94. package/src/main/js/sap/ushell/appRuntime/ui5/services/UserInfo.js +1 -1
  95. package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
  96. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/FLPScheduler.js +47 -16
  97. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/StepConfiguration.json +10 -3
  98. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/logger.js +1 -1
  99. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/state.js +1 -1
  100. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5.js +9 -0
  101. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5datetimeformat.js +1 -1
  102. package/src/main/js/sap/ushell/bootstrap/common/common.create.configcontract.core.js +13 -33
  103. package/src/main/js/sap/ushell/bootstrap/sandbox2.js +1 -1
  104. package/src/main/js/sap/ushell/components/_HeaderManager/ShellHeader.controller.js +135 -8
  105. package/src/main/js/sap/ushell/components/_HomepageManager/DashboardLoadingManager.js +1 -1
  106. package/src/main/js/sap/ushell/components/_HomepageManager/PagingManager.js +1 -1
  107. package/src/main/js/sap/ushell/components/_HomepageManager/PersistentPageOperationAdapter.js +1 -1
  108. package/src/main/js/sap/ushell/components/_HomepageManager/TransientPageOperationAdapter.js +1 -1
  109. package/src/main/js/sap/ushell/components/appfinder/AppFinder.controller.js +0 -6
  110. package/src/main/js/sap/ushell/components/appfinder/Component.js +1 -1
  111. package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
  112. package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +74 -72
  113. package/src/main/js/sap/ushell/components/applicationIntegration/application/Application.js +1 -1
  114. package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxHandler.js +1 -1
  115. package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPI.js +35 -18
  116. package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +42 -27
  117. package/src/main/js/sap/ushell/components/applicationIntegration/relatedServices/RelatedServices.js +1 -1
  118. package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +1 -1
  119. package/src/main/js/sap/ushell/components/contentFinder/Component.js +19 -12
  120. package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +24 -5
  121. package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +1 -1
  122. package/src/main/js/sap/ushell/components/contentFinder/controller/WidgetGallery.controller.js +1 -1
  123. package/src/main/js/sap/ushell/components/contentFinder/manifest.json +1 -1
  124. package/src/main/js/sap/ushell/components/contentFinder/model/formatter.js +47 -7
  125. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearch.view.xml +7 -6
  126. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchBox.fragment.xml +5 -4
  127. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchCategoryTree.view.xml +34 -22
  128. package/src/main/js/sap/ushell/components/contentFinderStandalone/Component.js +7 -6
  129. package/src/main/js/sap/ushell/components/contentFinderStandalone/controller/ContentFinderStandalone.controller.js +3 -1
  130. package/src/main/js/sap/ushell/components/contentFinderStandalone/manifest.json +1 -1
  131. package/src/main/js/sap/ushell/components/contentFinderStandalone/manifestAppSearch.json +1 -1
  132. package/src/main/js/sap/ushell/components/factsheet/Component.js +1 -1
  133. package/src/main/js/sap/ushell/components/homepage/ActionMode.js +1 -1
  134. package/src/main/js/sap/ushell/components/homepage/Component.js +1 -1
  135. package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +1 -1
  136. package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +29 -24
  137. package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +1 -1
  138. package/src/main/js/sap/ushell/components/homepage/manifest.json +1 -1
  139. package/src/main/js/sap/ushell/components/pages/ActionMode.js +1 -1
  140. package/src/main/js/sap/ushell/components/pages/Component.js +10 -3
  141. package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +1 -1
  142. package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +26 -5
  143. package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
  144. package/src/main/js/sap/ushell/components/runtimeSwitcher/Component.js +3 -2
  145. package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +1 -1
  146. package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
  147. package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +1 -1
  148. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +19 -3
  149. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +1 -1
  150. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/view/NavigationBarMenu.view.xml +1 -0
  151. package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +24 -22
  152. package/src/main/js/sap/ushell/components/shell/Notifications/Notifications.controller.js +1 -1
  153. package/src/main/js/sap/ushell/components/shell/PostLoadingHeaderEnhancement/Component.js +80 -17
  154. package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +1 -1
  155. package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
  156. package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +1 -1
  157. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +1 -1
  158. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +1 -1
  159. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +1 -1
  160. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchServiceProvider.js +1 -1
  161. package/src/main/js/sap/ushell/components/shell/Settings/Component.js +12 -16
  162. package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.controller.js +9 -4
  163. package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.view.xml +9 -9
  164. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +3 -45
  165. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/UserActionsMenu.controller.js +31 -23
  166. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/UserActionsMenuPopover.fragment.xml +7 -2
  167. package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +3 -3
  168. package/src/main/js/sap/ushell/components/tiles/applauncher/StaticTile.controller.js +0 -4
  169. package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/DynamicTile.controller.js +0 -1
  170. package/src/main/js/sap/ushell/components/tiles/indicatorcomparison/ComparisonTile.controller.js +1 -1
  171. package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +1 -1
  172. package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +2 -1
  173. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility.js +1 -1
  174. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +1939 -1946
  175. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +1 -1
  176. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +1 -1
  177. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +1 -1
  178. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +1 -1
  179. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +1 -1
  180. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +1 -1
  181. package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
  182. package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +3 -2
  183. package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +1 -1
  184. package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +1 -1
  185. package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
  186. package/src/main/js/sap/ushell/library.js +1 -1
  187. package/src/main/js/sap/ushell/navigationMode.js +1 -1
  188. package/src/main/js/sap/ushell/performance/ShellAnalytics.js +15 -12
  189. package/src/main/js/sap/ushell/performance/StatisticalRecord.js +1 -1
  190. package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
  191. package/src/main/js/sap/ushell/renderer/AccessKeysHandler.js +31 -9
  192. package/src/main/js/sap/ushell/renderer/Renderer.js +303 -287
  193. package/src/main/js/sap/ushell/renderer/Shell.controller.js +99 -101
  194. package/src/main/js/sap/ushell/renderer/Shell.view.js +110 -89
  195. package/src/main/js/sap/ushell/renderer/allMyApps/AllMyApps.controller.js +29 -15
  196. package/src/main/js/sap/ushell/renderer/allMyApps/AllMyApps.view.xml +2 -2
  197. package/src/main/js/sap/ushell/renderer/resources/resources.properties +2 -0
  198. package/src/main/js/sap/ushell/renderer/search/searchComponent/manifest.json +1 -1
  199. package/src/main/js/sap/ushell/renderers/fiori2/History.js +1 -0
  200. package/src/main/js/sap/ushell/renderers/fiori2/LogonFrameProvider.js +1 -0
  201. package/src/main/js/sap/ushell/renderers/fiori2/Shell.view.js +108 -87
  202. package/src/main/js/sap/ushell/renderers/fiori2/allMyApps/AllMyAppsManager.js +1 -0
  203. package/src/main/js/sap/ushell/services/AppLifeCycle.js +1 -1
  204. package/src/main/js/sap/ushell/services/AppState.js +1 -1
  205. package/src/main/js/sap/ushell/services/Bookmark.js +1 -1
  206. package/src/main/js/sap/ushell/services/BookmarkV2.js +1 -1
  207. package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +1 -1
  208. package/src/main/js/sap/ushell/services/CommonDataModel.js +2 -15
  209. package/src/main/js/sap/ushell/services/Configuration.js +1 -1
  210. package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +1 -1
  211. package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +1 -1
  212. package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +1 -1
  213. package/src/main/js/sap/ushell/services/DarkModeSupport.js +11 -5
  214. package/src/main/js/sap/ushell/services/Extension/Item.js +4 -4
  215. package/src/main/js/sap/ushell/services/Extension.js +36 -2
  216. package/src/main/js/sap/ushell/services/FlpLaunchPage.js +1 -1
  217. package/src/main/js/sap/ushell/services/FrameBoundExtension/FloatingContainer.js +1 -1
  218. package/src/main/js/sap/ushell/services/FrameBoundExtension/Footer.js +1 -1
  219. package/src/main/js/sap/ushell/services/FrameBoundExtension/Item.js +4 -4
  220. package/src/main/js/sap/ushell/services/FrameBoundExtension/SidePane.js +18 -2
  221. package/src/main/js/sap/ushell/services/FrameBoundExtension/ToolArea.js +20 -2
  222. package/src/main/js/sap/ushell/services/FrameBoundExtension.js +96 -2
  223. package/src/main/js/sap/ushell/services/LaunchPage.js +1 -1
  224. package/src/main/js/sap/ushell/services/Menu.js +1 -1
  225. package/src/main/js/sap/ushell/services/Message.js +1 -1
  226. package/src/main/js/sap/ushell/services/MessageBroker.js +1 -1
  227. package/src/main/js/sap/ushell/services/MessageInternal.js +13 -8
  228. package/src/main/js/sap/ushell/services/Navigation/compatibility.js +1 -1
  229. package/src/main/js/sap/ushell/services/Navigation/utils.js +1 -1
  230. package/src/main/js/sap/ushell/services/Navigation.js +1 -1
  231. package/src/main/js/sap/ushell/services/NavigationDataProvider.js +1 -1
  232. package/src/main/js/sap/ushell/services/PageBuilding.js +1 -1
  233. package/src/main/js/sap/ushell/services/PagePersistence.js +1 -1
  234. package/src/main/js/sap/ushell/services/PageReferencing.js +1 -1
  235. package/src/main/js/sap/ushell/services/Pages.js +4 -3
  236. package/src/main/js/sap/ushell/services/Personalization.js +1 -1
  237. package/src/main/js/sap/ushell/services/PersonalizationV2.js +1 -1
  238. package/src/main/js/sap/ushell/services/PluginManager.js +1 -1
  239. package/src/main/js/sap/ushell/services/ReferenceResolver.js +1 -1
  240. package/src/main/js/sap/ushell/services/Search.js +1 -1
  241. package/src/main/js/sap/ushell/services/SearchCEP.js +1 -1
  242. package/src/main/js/sap/ushell/services/SearchableContent.js +6 -5
  243. package/src/main/js/sap/ushell/services/ShellNavigation.js +1 -1
  244. package/src/main/js/sap/ushell/services/SmartNavigation.js +1 -1
  245. package/src/main/js/sap/ushell/services/SpaceContent.js +1 -1
  246. package/src/main/js/sap/ushell/services/UITracer.js +1 -1
  247. package/src/main/js/sap/ushell/services/URLShortening.js +1 -1
  248. package/src/main/js/sap/ushell/services/URLTemplate.js +1 -1
  249. package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +3 -3
  250. package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +1 -1
  251. package/src/main/js/sap/ushell/services/UserDefaultParameters.js +1 -1
  252. package/src/main/js/sap/ushell/services/UserInfo.js +1 -1
  253. package/src/main/js/sap/ushell/services/UserRecents.js +1 -1
  254. package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +1 -1
  255. package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +1 -1
  256. package/src/main/js/sap/ushell/services/_AppState/AppStatePersistencyMethod.js +1 -1
  257. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Formatter.js +1 -1
  258. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundIndex.js +1 -1
  259. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundProvider.js +1 -1
  260. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/PrelaunchOperations.js +1 -1
  261. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Search.js +1 -1
  262. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/StagedLogger.js +1 -1
  263. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/SystemContext.js +1 -1
  264. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Utils.js +1 -1
  265. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/VirtualInbounds.js +1 -1
  266. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/XAppStateProcessing.js +1 -1
  267. package/src/main/js/sap/ushell/services/_CommonDataModel/SiteConverter.js +1 -1
  268. package/src/main/js/sap/ushell/services/_CommonDataModel/vizTypeDefaults/VizTypeDefaults.js +1 -1
  269. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +2 -2
  270. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +1 -1
  271. package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +1 -1
  272. package/src/main/js/sap/ushell/services/_MessageBroker/MessageBrokerEngine.js +1 -1
  273. package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +1 -1
  274. package/src/main/js/sap/ushell/services/_Personalization/VariantSetAdapter.js +1 -0
  275. package/src/main/js/sap/ushell/services/_Personalization/WindowAdapter.js +1 -0
  276. package/src/main/js/sap/ushell/services/_Personalization/WindowAdapterContainer.js +1 -0
  277. package/src/main/js/sap/ushell/services/_Personalization/constants.js +1 -0
  278. package/src/main/js/sap/ushell/services/_Personalization/constants.private.js +1 -0
  279. package/src/main/js/sap/ushell/services/_Personalization/utils.js +1 -0
  280. package/src/main/js/sap/ushell/services/_PluginManager/Extensions.js +1 -1
  281. package/src/main/js/sap/ushell/services/_PluginManager/HeaderExtensions.js +2 -2
  282. package/src/main/js/sap/ushell/services/_PluginManager/MenuExtensions.js +1 -1
  283. package/src/main/js/sap/ushell/services/_Ui5ComponentLoader/utils.js +1 -1
  284. package/src/main/js/sap/ushell/state/BaseState.js +79 -0
  285. package/src/main/js/sap/ushell/state/ControlManager.js +209 -0
  286. package/src/main/js/sap/ushell/state/CurrentState.js +180 -0
  287. package/src/main/js/sap/ushell/state/KeepAlive.js +75 -0
  288. package/src/main/js/sap/ushell/state/ShellModel.js +112 -0
  289. package/src/main/js/sap/ushell/state/StateManager/LaunchpadState.js +40 -0
  290. package/src/main/js/sap/ushell/state/StateManager/Operation.js +42 -0
  291. package/src/main/js/sap/ushell/state/StateManager/ShellMode.js +86 -0
  292. package/src/main/js/sap/ushell/state/StateManager.js +648 -0
  293. package/src/main/js/sap/ushell/state/StateRules.js +295 -0
  294. package/src/main/js/sap/ushell/state/StrategyFactory/DefaultStrategy.js +74 -0
  295. package/src/main/js/sap/ushell/state/StrategyFactory/FloatingActionsStrategy.js +78 -0
  296. package/src/main/js/sap/ushell/state/StrategyFactory/HeadEndItemsStrategy.js +130 -0
  297. package/src/main/js/sap/ushell/state/StrategyFactory/HeadItemsStrategy.js +104 -0
  298. package/src/main/js/sap/ushell/state/StrategyFactory/SidePaneStrategy.js +78 -0
  299. package/src/main/js/sap/ushell/state/StrategyFactory/SubHeaderStrategy.js +78 -0
  300. package/src/main/js/sap/ushell/state/StrategyFactory/UserActionsStrategy.js +60 -0
  301. package/src/main/js/sap/ushell/state/StrategyFactory.js +168 -0
  302. package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
  303. package/src/main/js/sap/ushell/themes/base/UserSettings.less +1 -5
  304. package/src/main/js/sap/ushell/themes/base/WorkPageCell.less +45 -49
  305. package/src/main/js/sap/ushell/themes/sap_belize_base/UserSettings.less +1 -5
  306. package/src/main/js/sap/ushell/themes/sap_bluecrystal_base/UserSettings.less +1 -5
  307. package/src/main/js/sap/ushell/themes/sap_hcb/base_ActionMode.less +107 -0
  308. package/src/main/js/sap/ushell/themes/sap_hcb/base_AddBookmarkButton.less +37 -0
  309. package/src/main/js/sap/ushell/themes/sap_hcb/base_AnchorItem.less +81 -0
  310. package/src/main/js/sap/ushell/themes/sap_hcb/base_AnchorNavigationBar.less +86 -0
  311. package/src/main/js/sap/ushell/themes/sap_hcb/base_AppearanceView.less +213 -0
  312. package/src/main/js/sap/ushell/themes/sap_hcb/base_ApplicationContainer.less +37 -0
  313. package/src/main/js/sap/ushell/themes/sap_hcb/base_Catalog.less +387 -0
  314. package/src/main/js/sap/ushell/themes/sap_hcb/base_ContactSupport.less +12 -0
  315. package/src/main/js/sap/ushell/themes/sap_hcb/base_ContentFinder.less +26 -0
  316. package/src/main/js/sap/ushell/themes/sap_hcb/base_CustomGroupHeaderListItem.less +10 -0
  317. package/src/main/js/sap/ushell/themes/sap_hcb/base_Dashboard.less +66 -0
  318. package/src/main/js/sap/ushell/themes/sap_hcb/base_DynamicTile.less +114 -0
  319. package/src/main/js/sap/ushell/themes/sap_hcb/base_Factsheet.less +225 -0
  320. package/src/main/js/sap/ushell/themes/sap_hcb/base_FloatingContainer.less +125 -0
  321. package/src/main/js/sap/ushell/themes/sap_hcb/base_FlpSettings.less +83 -0
  322. package/src/main/js/sap/ushell/themes/sap_hcb/base_GroupList.less +68 -0
  323. package/src/main/js/sap/ushell/themes/sap_hcb/base_GroupListItem.less +54 -0
  324. package/src/main/js/sap/ushell/themes/sap_hcb/base_IconFonts.less +21 -0
  325. package/src/main/js/sap/ushell/themes/sap_hcb/base_ImageTile.less +23 -0
  326. package/src/main/js/sap/ushell/themes/sap_hcb/base_LoadingDialog.less +47 -0
  327. package/src/main/js/sap/ushell/themes/sap_hcb/base_MenuBar.less +23 -0
  328. package/src/main/js/sap/ushell/themes/sap_hcb/base_Notifications.less +135 -0
  329. package/src/main/js/sap/ushell/themes/sap_hcb/base_Page.less +49 -0
  330. package/src/main/js/sap/ushell/themes/sap_hcb/base_PictureTile.less +119 -0
  331. package/src/main/js/sap/ushell/themes/sap_hcb/base_PictureViewer.less +25 -0
  332. package/src/main/js/sap/ushell/themes/sap_hcb/base_PlusTile.less +38 -0
  333. package/src/main/js/sap/ushell/themes/sap_hcb/base_QuickAccess.less +18 -0
  334. package/src/main/js/sap/ushell/themes/sap_hcb/base_RightFloatingContainerItem.less +82 -0
  335. package/src/main/js/sap/ushell/themes/sap_hcb/base_SearchCEP.less +121 -0
  336. package/src/main/js/sap/ushell/themes/sap_hcb/base_SearchFLP.less +10 -0
  337. package/src/main/js/sap/ushell/themes/sap_hcb/base_Section.less +60 -0
  338. package/src/main/js/sap/ushell/themes/sap_hcb/base_ShellAppTitle.less +207 -0
  339. package/src/main/js/sap/ushell/themes/sap_hcb/base_ShellFloatingAction.less +61 -0
  340. package/src/main/js/sap/ushell/themes/sap_hcb/base_ShellFloatingActions.less +14 -0
  341. package/src/main/js/sap/ushell/themes/sap_hcb/base_ShellHeader.less +389 -0
  342. package/src/main/js/sap/ushell/themes/sap_hcb/base_ShellLayout.less +168 -0
  343. package/src/main/js/sap/ushell/themes/sap_hcb/base_SidePane.less +8 -0
  344. package/src/main/js/sap/ushell/themes/sap_hcb/base_StaticTile.less +9 -0
  345. package/src/main/js/sap/ushell/themes/sap_hcb/base_SubHeader.less +3 -0
  346. package/src/main/js/sap/ushell/themes/sap_hcb/base_SysInfoBar.less +164 -0
  347. package/src/main/js/sap/ushell/themes/sap_hcb/base_TargetMappingConfiguration.less +8 -0
  348. package/src/main/js/sap/ushell/themes/sap_hcb/base_Tile.less +223 -0
  349. package/src/main/js/sap/ushell/themes/sap_hcb/base_TileBase.less +152 -0
  350. package/src/main/js/sap/ushell/themes/sap_hcb/base_TileContainer.less +495 -0
  351. package/src/main/js/sap/ushell/themes/sap_hcb/base_TilePlaceholder.less +75 -0
  352. package/src/main/js/sap/ushell/themes/sap_hcb/base_TileState.less +62 -0
  353. package/src/main/js/sap/ushell/themes/sap_hcb/base_ToolAreaItem.less +85 -0
  354. package/src/main/js/sap/ushell/themes/sap_hcb/base_UserActionsMenu.less +23 -0
  355. package/src/main/js/sap/ushell/themes/sap_hcb/base_UserConsentDialog.less +52 -0
  356. package/src/main/js/sap/ushell/themes/sap_hcb/base_UserSettings.less +109 -0
  357. package/src/main/js/sap/ushell/themes/sap_hcb/base_ViewPortContainer.less +28 -0
  358. package/src/main/js/sap/ushell/themes/sap_hcb/base_WorkPage.less +58 -0
  359. package/src/main/js/sap/ushell/themes/sap_hcb/base_WorkPageButton.less +60 -0
  360. package/src/main/js/sap/ushell/themes/sap_hcb/base_WorkPageCell.less +144 -0
  361. package/src/main/js/sap/ushell/themes/sap_hcb/base_WorkPageColumn.less +39 -0
  362. package/src/main/js/sap/ushell/themes/sap_hcb/base_WorkPageColumnResizer.less +128 -0
  363. package/src/main/js/sap/ushell/themes/sap_hcb/base_WorkPageRow.less +987 -0
  364. package/src/main/js/sap/ushell/themes/sap_hcb/base_shared.less +40 -0
  365. package/src/main/js/sap/ushell/themes/sap_hcb/library.source.less +70 -1
  366. package/src/main/js/sap/ushell/ui/ShellHeader.fragment.xml +17 -11
  367. package/src/main/js/sap/ushell/ui/ShellHeader.js +10 -3
  368. package/src/main/js/sap/ushell/ui/cards/FrequentActivitiesExtension.js +0 -4
  369. package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +1 -5
  370. package/src/main/js/sap/ushell/ui/footerbar/AddBookmarkButton.js +19 -5
  371. package/src/main/js/sap/ushell/ui/footerbar/ContactSupportDialog.controller.js +9 -3
  372. package/src/main/js/sap/ushell/ui/footerbar/SendAsEmailButton.js +5 -5
  373. package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
  374. package/src/main/js/sap/ushell/ui/launchpad/Section.js +1 -1
  375. package/src/main/js/sap/ushell/ui/launchpad/TileContainer.js +17 -12
  376. package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +1 -1
  377. package/src/main/js/sap/ushell/ui/shell/ShellAppTitle.js +50 -35
  378. package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +2 -2
  379. package/src/main/js/sap/ushell/ui/utils.js +1 -1
  380. package/src/main/js/sap/ushell/ui5service/ShellUIService.js +1 -1
  381. package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
  382. package/src/main/js/sap/ushell/utils/UrlShortening.js +1 -1
  383. package/src/main/js/sap/ushell/utils/WindowUtils.js +3 -3
  384. package/src/main/js/sap/ushell/utils/workpage/DestinationResolver.js +89 -0
  385. package/src/main/js/sap/ushell/utils/workpage/WorkPageHost.js +51 -47
  386. package/src/main/js/sap/ushell/utils/workpage/WorkPageService.js +32 -1
  387. package/src/main/js/sap/ushell/utils/workpage/WorkPageVizInstantiation.js +1 -1
  388. package/src/main/js/sap/ushell/utils.js +26 -2
  389. package/src/test/js/sap/ushell/bootstrap/sandbox.js +1 -1
  390. package/src/main/js/sap/ushell/bootstrap/common/common.load.ui5theme.js +0 -67
  391. package/src/main/js/sap/ushell/components/HeaderManager.js +0 -547
  392. package/src/main/js/sap/ushell/components/StateHelper.js +0 -70
  393. package/src/main/js/sap/ushell/components/_HeaderManager/AddHeadEndItemsStrategy.js +0 -105
  394. package/src/main/js/sap/ushell/components/_HeaderManager/AddHeadItemsStrategy.js +0 -75
  395. package/src/main/js/sap/ushell/components/_HeaderManager/ControlManager.js +0 -70
  396. package/src/main/js/sap/ushell/components/_HeaderManager/ExtendApplicationPropertyStrategy.js +0 -18
  397. package/src/main/js/sap/ushell/components/_HeaderManager/PropertyStrategiesFactory.js +0 -58
  398. package/src/main/js/sap/ushell/components/_HeaderManager/RemoveItemsStrategy.js +0 -46
  399. package/src/main/js/sap/ushell/components/_HeaderManager/SetHeadPropertyStrategy.js +0 -19
  400. package/src/main/js/sap/ushell/components/applicationIntegration/elements/model.js +0 -1309
  401. package/src/main/js/sap/ushell/components/applicationIntegration/relatedShellElements/RelatedShellElements.js +0 -363
@@ -1,547 +0,0 @@
1
- // Copyright (c) 2009-2023 SAP SE, All Rights Reserved
2
-
3
- sap.ui.define([
4
- "sap/base/util/ObjectPath",
5
- "sap/ui/Device",
6
- "sap/ui/core/Element",
7
- "sap/ushell/api/NewExperience",
8
- "sap/ushell/components/_HeaderManager/PropertyStrategiesFactory",
9
- "sap/ushell/components/StateHelper",
10
- "sap/ushell/Config",
11
- "sap/ushell/EventHub",
12
- "sap/ushell/utils",
13
- "sap/base/util/deepClone"
14
- ], function (
15
- ObjectPath,
16
- Device,
17
- Element,
18
- NewExperience,
19
- _PropertyStrategiesFactory,
20
- StateHelper,
21
- Config,
22
- EventHub,
23
- ushellUtils,
24
- deepClone
25
- ) {
26
- "use strict";
27
-
28
- var oHeaderDefaultProperties = {
29
- application: {},
30
- centralAreaElement: null,
31
- headEndItems: [],
32
- headItems: [],
33
- headerVisible: true,
34
- showLogo: false,
35
- ShellAppTitleState: undefined,
36
- rootIntent: Config.last("/core/shellHeader/rootIntent"), // never changes during runtime
37
- homeUri: Config.last("/core/shellHeader/homeUri"), // might change during runtime; see "handleCurrentSpaceAndPage"
38
- title: ""
39
- };
40
-
41
- var oHeaderBaseStates;
42
- var oApplicationStates;
43
- var sOverflowID = "endItemsOverflowBtn";
44
- var sCurrentRangeName; // change it during the resize event only, to enable tests
45
- var BASE_STATES = {
46
- blank: {},
47
- "blank-home": {},
48
- home: {
49
- headItems: []
50
- },
51
- app: {
52
- headItems: ["backBtn"]
53
- },
54
- minimal: {
55
- headItems: []
56
- },
57
- standalone: {
58
- headItems: ["backBtn"]
59
- },
60
- embedded: {
61
- headItems: ["backBtn"]
62
- },
63
- "embedded-home": {
64
- headItems: []
65
- },
66
- headerless: {
67
- headItems: ["backBtn"],
68
- headerVisible: false
69
- },
70
- merged: {
71
- headItems: ["backBtn"]
72
- },
73
- "headerless-home": {
74
- headerVisible: false
75
- },
76
- "merged-home": {},
77
- lean: {
78
- headItems: []
79
- },
80
- "lean-home": {}
81
- };
82
- var aDoables = [];
83
-
84
- /**
85
- * Initialization of the HeaderManager.
86
- *
87
- * @param {object} oConfig The shell config.
88
- * @param {object} oApplicationShellStates The global state from AppLifeCycle.
89
- */
90
- function init (oConfig, oApplicationShellStates) {
91
- var sInitialState = oConfig && oConfig.appState ? oConfig.appState : "home";
92
- oHeaderBaseStates = _createInitialState(oConfig);
93
- // custom states are received from the AppLifeCycle;
94
- // it is a global object, might be changed by AppLifeCycle anytime;
95
- // we keep the reference to this object and use it for calculation of the current state
96
- oApplicationStates = oApplicationShellStates;
97
-
98
- sCurrentRangeName = Device.media.getCurrentRange(Device.media.RANGESETS.SAP_STANDARD).name;
99
-
100
- validateShowLogo();
101
-
102
- _subscribeToEvents();
103
-
104
- // Emit the initial state of header
105
- switchState(sInitialState);
106
- recalculateState();
107
- }
108
-
109
- /**
110
- * Destroys the Header manager.
111
- * Destroys header controls created in the HeaderManager.
112
- */
113
- function destroy () {
114
- _unSubscribeFromEvents();
115
- }
116
-
117
- function _subscribeToEvents () {
118
- var oDoable = EventHub.on("setHeaderCentralAreaElement").do(function (oParameters) {
119
- updateStates({
120
- propertyName: "centralAreaElement",
121
- value: oParameters.id,
122
- aStates: StateHelper.getPassStates(oParameters.states), // If no states provided - set for all states
123
- bCurrentState: !!oParameters.currentState,
124
- bDoNotPropagate: !!oParameters.bDoNotPropagate
125
- });
126
- });
127
- aDoables.push(oDoable);
128
- aDoables.push(EventHub.on("updateHeaderOverflowState").do(_handleHeaderResize));
129
- Device.media.attachHandler(_handleHeaderResize, this, Device.media.RANGESETS.SAP_STANDARD);
130
- // Overflow must be checked each time when a button is added to the header:
131
- aDoables.push(Config.on("/core/shellHeader/headEndItems").do(handleEndItemsOverflow));
132
- aDoables.push(Config.on("/core/shell/model/currentSpaceAndPage").do(handleCurrentSpaceAndPage));
133
-
134
- NewExperience.attachActiveChanged(_handleHeaderResize);
135
- }
136
-
137
- function _unSubscribeFromEvents () {
138
- if (aDoables) {
139
- aDoables.forEach(function (oDoable) {
140
- oDoable.off();
141
- });
142
- }
143
- Device.media.detachHandler(_handleHeaderResize, this, Device.media.RANGESETS.SAP_STANDARD);
144
- NewExperience.detachActiveChanged(_handleHeaderResize);
145
- }
146
-
147
- function _handleHeaderResize (oParams) {
148
- if (oParams && oParams.name) {
149
- sCurrentRangeName = oParams.name;
150
- }
151
- validateShowLogo();
152
- handleEndItemsOverflow();
153
- }
154
-
155
- function validateShowLogo (deviceType) {
156
- var sCurrentState = Config.last("/core/shell/model/currentState/stateName");
157
- var bIsHeaderLessState = sCurrentState === "merged" || sCurrentState === "headerless";
158
- var bShellLogoVisible = !bIsHeaderLessState;
159
-
160
- // Set the arg bDoNotPropagate to true, otherwise changes will be redundantly apply also to other states
161
- // (e.g. - headerless should always be presented without logo)
162
- updateStates({
163
- propertyName: "showLogo",
164
- value: bShellLogoVisible,
165
- aStates: ["home", "app", "blank", "blank-home", "minimal", "lean"],
166
- bCurrentState: false,
167
- bDoNotPropagate: true
168
- });
169
- }
170
-
171
- /**
172
- * Handles updates of "currentSpaceAndPage", adjusting the header "homeUri" when necessary.
173
- * The "homeUri" is the URI used as the navigation target of the header Logo.
174
- * If Spaces is enabled and "homeNavigationTarget" is "origin_page", "currentSpaceAndPage" is used for setting the new "homeUri".
175
- * If otherwise, the "homeUri" is left unchanged (it initially points to the "rootIntent"; see {@link #_createInitialState}).
176
- *
177
- * @param {object} oCurrentSpaceAndPage New property of "currentSpaceAndPage" (from "/core/shell/model/currentSpaceAndPage").
178
- * @private
179
- */
180
- function handleCurrentSpaceAndPage (oCurrentSpaceAndPage) {
181
- if (Config.last("/core/spaces/enabled") && Config.last("/core/spaces/homeNavigationTarget") === "origin_page") {
182
- var sNewHash = oCurrentSpaceAndPage ? encodeURI(oCurrentSpaceAndPage.hash) : oHeaderDefaultProperties.rootIntent;
183
-
184
- var fnUpdateStates = (this && this.updateStates) || updateStates; // this check is for testing, to use the stub instead of the closure
185
-
186
- fnUpdateStates({
187
- propertyName: "homeUri",
188
- value: "#" + sNewHash
189
- });
190
- }
191
- }
192
-
193
- /**
194
- * Moves the new experience button into the overflow area.
195
- *
196
- * @since 1.124.0
197
- * @private
198
- */
199
- function moveNewExperienceToOverflow () {
200
- if (NewExperience.isActive()) {
201
- addHeaderEndItem([NewExperience.getOverflowItemId()], false, ["home", "app"]);
202
- }
203
- NewExperience.showInOverflow();
204
- }
205
-
206
- /**
207
- * Moves the new experience button into the shell header.
208
- *
209
- * @since 1.124.0
210
- * @private
211
- */
212
- function moveNewExperienceToShellHeader () {
213
- if (NewExperience.isActive()) {
214
- removeHeaderEndItem([NewExperience.getOverflowItemId()], false, ["home", "app"]);
215
- }
216
- NewExperience.showInShellHeader();
217
- }
218
-
219
- /**
220
- * Logic to determine if the headEndItemsOverflow button should be visible.
221
- * Overflow button is shown only when oParams.name or sCurrentRangeName is "Phone".
222
- *
223
- * @param {object} oParams An object containing a device name.
224
- */
225
- function handleEndItemsOverflow (oParams) {
226
- var aEndItems = Config.last("/core/shellHeader/headEndItems");
227
- var bIsOverflowVisible = aEndItems.indexOf(sOverflowID) > -1;
228
- var sDeviceType = oParams && oParams.name || sCurrentRangeName;
229
-
230
- if (sDeviceType === "Phone" && (NewExperience.isActive() || (!bIsOverflowVisible && aEndItems.length > 2))) {
231
- // Show overflow if more than two buttons are in the header
232
- // and show overflow always in case of New Experience
233
- addHeaderEndItem([sOverflowID], false, ["home", "app"]);
234
-
235
- moveNewExperienceToOverflow();
236
-
237
- } else if (sDeviceType !== "Phone" && bIsOverflowVisible) {
238
- // Destroy the popover to avoid duplicate elements ids in the DOM
239
- // and to ensure the endItems are rendered correctly in the header
240
- var oPopover = Element.getElementById("headEndItemsOverflow");
241
- if (oPopover) {
242
- if (NewExperience.isActive()) {
243
- const oItem = NewExperience.getOverflowItemControl();
244
- // try to remove the item from the parent
245
- // because we want to reuse the control in the next call
246
- oItem.getParent()?.removeItem?.(oItem);
247
- }
248
- oPopover.destroy();
249
- }
250
- removeHeaderEndItem([sOverflowID], false, ["home", "app"]);
251
-
252
- moveNewExperienceToShellHeader();
253
- }
254
- }
255
-
256
- function addHeaderEndItem (aIds, bCurrentState, aStates, bDoNotPropagate) {
257
- updateStates({
258
- propertyName: "headEndItems",
259
- value: aIds,
260
- aStates: aStates,
261
- bCurrentState: !!bCurrentState,
262
- bDoNotPropagate: !!bDoNotPropagate
263
- });
264
- }
265
-
266
- function removeHeaderEndItem (aIds, bCurrentState, aStates) {
267
- updateStates({
268
- propertyName: "headEndItems",
269
- value: aIds,
270
- aStates: aStates,
271
- bCurrentState: !!bCurrentState,
272
- action: "remove",
273
- bDoNotPropagate: false
274
- });
275
- }
276
-
277
- // Header state methods
278
-
279
- /**
280
- * Generates a base header state.
281
- *
282
- * @param {object} oStateDeltas The state delta.
283
- * @param {object} oDefaults The defaults.
284
- * @returns {object} The state.
285
- */
286
- function generateBaseHeaderState (oStateDeltas, oDefaults) {
287
- var oState = {};
288
- Object.keys(oStateDeltas).forEach(function (sDeltaState) {
289
- var oDelta = oStateDeltas[sDeltaState];
290
- oState[sDeltaState] = Object.keys(oDelta).reduce(function (oTarget, sDeltaProperty) {
291
- oTarget[sDeltaProperty] = oDelta[sDeltaProperty];
292
- return oTarget;
293
- }, deepClone(oDefaults));
294
- });
295
- return oState;
296
- }
297
-
298
- /**
299
- * Updates states.
300
- *
301
- * @param {object} oParameters Parameters used for the update.
302
- */
303
- function updateStates (oParameters) {
304
- var sPropertyName = oParameters.propertyName;
305
- var aStatesToUpdate = !oParameters.bCurrentState ? StateHelper.getAllStateToUpdate(oParameters.aStates, oParameters.bDoNotPropagate) : [];
306
- var oCurrentState = Config.last("/core/shellHeader");
307
- var sCurrentStateName = Config.last("/core/shell/model/currentState/stateName");
308
- var valueToApply = oParameters.value;
309
-
310
- if (sPropertyName.charAt(0) === "/") {
311
- sPropertyName = sPropertyName.substring(1);
312
- }
313
- var oPropertyStrategy = _PropertyStrategiesFactory(sPropertyName, oParameters.action);
314
-
315
- // If we don't know how to deal with property, don't do any updates
316
- if (!oPropertyStrategy) {
317
- return;
318
- }
319
- // Don't update any base states if bCurrentState is true
320
- if (!oParameters.bCurrentState) {
321
- oHeaderBaseStates = _calculateNewBaseStates(
322
- oHeaderBaseStates,
323
- sPropertyName,
324
- oPropertyStrategy,
325
- aStatesToUpdate,
326
- valueToApply);
327
- }
328
- // Update current header state in sap/ushell/Config
329
- if (aStatesToUpdate.indexOf(sCurrentStateName) > -1 || oParameters.bCurrentState) {
330
- var vCurrentPropertyValue = ObjectPath.get(sPropertyName.split("/"), oCurrentState);
331
- var vNewPropertyValue = oPropertyStrategy.execute(vCurrentPropertyValue, valueToApply);
332
- if (vCurrentPropertyValue !== vNewPropertyValue) {
333
- ObjectPath.set(sPropertyName.split("/"), vNewPropertyValue, oCurrentState);
334
- _updateConfig(sPropertyName, oCurrentState);
335
- }
336
- }
337
- // In case of the current state we need to update custom model (reference object from AppLifeCycle) as well
338
- if (oParameters.bCurrentState) {
339
- _updateCustomModel(sPropertyName, oPropertyStrategy, valueToApply);
340
- }
341
- }
342
-
343
- function extendStates (oStates) {
344
- var stateEntryKey;
345
- for (stateEntryKey in oStates) {
346
- if (oStates.hasOwnProperty(stateEntryKey)) {
347
- ushellUtils.updateProperties(oHeaderBaseStates[stateEntryKey], oStates[stateEntryKey]);
348
- }
349
- }
350
- }
351
-
352
- function switchState (sNewStateName) {
353
- var oBaseState = oHeaderBaseStates[sNewStateName];
354
- if (!oBaseState) {
355
- throw new Error("the state (" + sNewStateName + ") does not exist");
356
- }
357
-
358
- Config.emit("/core/shellHeader", deepClone(oBaseState));
359
- }
360
-
361
- /**
362
- * Recalculates states.
363
- * We recalculate states because "customShellState" and "extendedShellStates" are global objects and can be changed by AppLifeCycle.
364
- *
365
- * @param {string} sExtendedStateName Name of the extended state.
366
- */
367
- function recalculateState (sExtendedStateName) {
368
- // Take the state from config, because the config save execution with currentState=true
369
- var oBaseState = Config.last("/core/shellHeader");
370
- var oCustomState;
371
- var oExtendedState;
372
-
373
- if (oApplicationStates && oApplicationStates.customShellState) {
374
- oCustomState = oApplicationStates.customShellState.currentState;
375
- }
376
- if (sExtendedStateName && oApplicationStates.extendedShellStates[sExtendedStateName]) {
377
- oExtendedState = oApplicationStates.extendedShellStates[sExtendedStateName].customState.currentState;
378
- }
379
- Config.emit("/core/shellHeader", calculateCurrentHeaderState(oBaseState, oCustomState, oExtendedState));
380
- }
381
-
382
- /**
383
- * Calculates current header state.
384
- *
385
- * @param {object} oBaseState The base state.
386
- * @param {object} oCustomState The custom state.
387
- * @param {object} oExtendedState The extended state.
388
- * @returns {undefined}
389
- */
390
- function calculateCurrentHeaderState (oBaseState, oCustomState, oExtendedState) {
391
- var oResult = {};
392
- Object.keys(oBaseState).forEach(function (sPropertyName) {
393
- var oPropertyStrategy = _PropertyStrategiesFactory(sPropertyName);
394
- var vPropertyValue = deepClone(oBaseState[sPropertyName]);
395
- // when a strategy is available, the property from base state might be overridden
396
- if (oPropertyStrategy) {
397
- // Extend state has higher property than custom property
398
- if (oExtendedState) {
399
- vPropertyValue = oPropertyStrategy.execute(vPropertyValue, oExtendedState[sPropertyName]);
400
- }
401
- if (oCustomState) {
402
- vPropertyValue = oPropertyStrategy.execute(vPropertyValue, oCustomState[sPropertyName]);
403
- }
404
- }
405
- oResult[sPropertyName] = vPropertyValue;
406
- });
407
-
408
- // Special case: ShellAppTitleState is managed by the ShellAppTitle, keep the current value
409
- oResult.ShellAppTitleState = Config.last("/core/shellHeader/ShellAppTitleState");
410
-
411
- return oResult;
412
- }
413
-
414
- /**
415
- * Creates an initial state.
416
- *
417
- * @param {object} oConfig The view configuration.
418
- * @returns {object} Object containing the initial state.
419
- */
420
- function _createInitialState (oConfig) {
421
- if (oConfig) {
422
- oHeaderDefaultProperties.rootIntent = oConfig.rootIntent; // never changes during runtime
423
- oHeaderDefaultProperties.homeUri = "#" + oConfig.rootIntent; // might change during runtime; see "handleCurrentSpaceAndPage"
424
- }
425
- var oBaseStates = generateBaseHeaderState(BASE_STATES, oHeaderDefaultProperties);
426
-
427
- function _addEndItemToShellHeader (btnName, oBaseStates) {
428
- for (var key in oBaseStates) {
429
- if (key === "blank" || key === "blank-home") {
430
- continue;
431
- }
432
- if ((btnName === "openCatalogBtn") && (key === "lean" || key === "lean-home")) {
433
- continue;
434
- }
435
- if (btnName === "ContactSupportBtn") {
436
- if (["home", "app", "minimal", "standalone", "embedded", "embedded-home", "lean"].indexOf(key) === -1) {
437
- continue;
438
- }
439
- }
440
-
441
- // Add the button to the shell header if not yet exists in this state
442
- var index = oBaseStates[key].headEndItems.indexOf(btnName);
443
- if (index === -1) {
444
- oBaseStates[key].headEndItems.push(btnName);
445
- }
446
- }
447
- }
448
-
449
- function _updateTitle (sTitle, oBaseStates) {
450
- var key;
451
- for (key in oBaseStates) {
452
- oBaseStates[key].title = sTitle;
453
- }
454
- }
455
-
456
- if (oConfig) {
457
- if (oConfig.moveContactSupportActionToShellHeader) {
458
- // can be set via "Shell-bootConfig" with "renderers/fiori2/componentData/config/moveContactSupportActionToShellHeader"
459
- _addEndItemToShellHeader("ContactSupportBtn", oBaseStates);
460
- }
461
- if (oConfig.moveAppFinderActionToShellHeader) {
462
- // can be set via "Shell-bootConfig" with "renderers/fiori2/componentData/config/moveAppFinderActionToShellHeader"
463
- _addEndItemToShellHeader("openCatalogBtn", oBaseStates);
464
- }
465
- if (oConfig.title) {
466
- // can be set via "Shell-bootConfig" with "renderers/fiori2/componentData/config/title" (displayed for width >= 1440px)
467
- _updateTitle(oConfig.title, oBaseStates);
468
- }
469
- }
470
-
471
- return oBaseStates;
472
- }
473
-
474
- function _calculateNewBaseStates (oBaseStates, sPropertyName, oPropertyStrategy, aStates, valueToApply) {
475
- if (aStates.length === 0) {
476
- return oBaseStates;
477
- }
478
- var oNewState = deepClone(oBaseStates);
479
- aStates.forEach(function (sStateName) {
480
- var oState = oNewState[sStateName];
481
- if (oState) {
482
- var vNewValue = oPropertyStrategy.execute(ObjectPath.get(sPropertyName.split("/"), oState), valueToApply);
483
- ObjectPath.set(sPropertyName.split("/"), vNewValue, oState);
484
- }
485
- });
486
- return oNewState;
487
- }
488
-
489
- function _updateCustomModel (sPropertyName, oPropertyStrategy, valueToApply) {
490
- if (!oApplicationStates) {
491
- return;
492
- }
493
- var oCustomState = oApplicationStates.customShellState.currentState;
494
- var vNewValue = oPropertyStrategy.execute(ObjectPath.get(sPropertyName.split("/"), oCustomState), valueToApply);
495
- ObjectPath.set(sPropertyName.split("/"), vNewValue, oCustomState);
496
- }
497
-
498
- function _updateConfig (sPropertyName, oCurrentState) {
499
- var sRootProperty = sPropertyName.split("/").shift();
500
- Config.emit("/core/shellHeader/" + sRootProperty, oCurrentState[sRootProperty]);
501
- }
502
-
503
- function _getBaseState (sState) {
504
- var result;
505
- try {
506
- result = oHeaderBaseStates[sState];
507
- } catch (ex) {
508
- result = undefined;
509
- }
510
- return result;
511
- }
512
-
513
- function _getBaseStateMember (sState, sProperty) {
514
- var result;
515
- try {
516
- result = _getBaseState(sState)[sProperty];
517
- } catch (ex) {
518
- result = undefined;
519
- }
520
- return result;
521
- }
522
-
523
- function _rewriteBaseStates (oTestBaseState) {
524
- oHeaderBaseStates = oTestBaseState;
525
- }
526
-
527
- return {
528
- init: init,
529
- destroy: destroy,
530
-
531
- // State methods
532
- switchState: switchState,
533
- updateStates: updateStates,
534
- recalculateState: recalculateState,
535
- extendStates: extendStates,
536
-
537
- /* for testing */
538
- handleCurrentSpaceAndPage: handleCurrentSpaceAndPage,
539
- handleEndItemsOverflow: handleEndItemsOverflow,
540
- validateShowLogo: validateShowLogo,
541
- _createInitialState: _createInitialState,
542
- _generateBaseHeaderState: generateBaseHeaderState,
543
- _getBaseState: _getBaseState,
544
- _getBaseStateMember: _getBaseStateMember,
545
- _resetBaseStates: _rewriteBaseStates
546
- };
547
- });
@@ -1,70 +0,0 @@
1
- // Copyright (c) 2009-2023 SAP SE, All Rights Reserved
2
-
3
- /**
4
- * @fileOverview Helper functions to handle app states
5
- */
6
- sap.ui.define([], function () {
7
- "use strict";
8
-
9
- function getPassStates (aStates) {
10
- //an array with the relevant states that were pass as argument
11
- var aPassStates = [],
12
- i;
13
- aStates = aStates || [];
14
-
15
- for (i = 0; i < aStates.length; i++) {
16
- if (aStates[i] !== undefined) {
17
- if (aStates[i] !== "home" && aStates[i] !== "app") {
18
- throw new Error("sLaunchpadState value is invalid");
19
- }
20
- aPassStates.push(aStates[i]);
21
- }
22
- }
23
-
24
- if (!aPassStates.length) {
25
- aPassStates = ["app", "home"];
26
- }
27
-
28
- return aPassStates;
29
- }
30
-
31
- function getModelStates (sStates, bDoNotPropagate) {
32
- //an array with the relevant states that need to updated in the model
33
- var aModelStates = [];
34
-
35
- //in case we need to update to the "app" state, need to update all app states
36
- if (sStates === "app" && !bDoNotPropagate) {
37
- var aAppStates = ["app", "minimal", "standalone", "embedded", "headerless", "merged", "blank", "lean"];
38
- aModelStates = aModelStates.concat(aAppStates);
39
- } else if (sStates === "home" && !bDoNotPropagate) {
40
- var aHomeStates = ["home", "embedded-home", "headerless-home", "merged-home", "blank-home", "lean-home"];
41
- aModelStates = aModelStates.concat(aHomeStates);
42
- } else {
43
- aModelStates.push(sStates);
44
- }
45
- return aModelStates;
46
- }
47
-
48
- /**
49
- * Get app states to update including nested states (e.g. "home", "embedded-home" etc.)
50
- * @param {string[]} [aStates] list of the basic app states
51
- * @param {boolean} [bDoNotPropagate] if true - nested state should be ignored
52
- * @returns {string[]} List of states
53
- */
54
- function getAllStateToUpdate (aStates, bDoNotPropagate) {
55
- var aPassStates = bDoNotPropagate ? aStates : getPassStates(aStates);
56
- return aPassStates.reduce(function (aResult, sStateName) {
57
- var aModelState = getModelStates(sStateName, bDoNotPropagate);
58
- if (aModelState) {
59
- aResult = aResult.concat(aModelState);
60
- }
61
- return aResult;
62
- }, []);
63
- }
64
-
65
- return {
66
- getAllStateToUpdate: getAllStateToUpdate,
67
- getModelStates: getModelStates,
68
- getPassStates: getPassStates
69
- };
70
- });