@sapui5/sap.ushell 1.141.3 → 1.143.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 (688) hide show
  1. package/package.json +1 -1
  2. package/src/main/js/sap/ushell/.library +1 -7
  3. package/src/main/js/sap/ushell/ApplicationType/UrlPostProcessing.js +7 -11
  4. package/src/main/js/sap/ushell/ApplicationType/utils.js +9 -9
  5. package/src/main/js/sap/ushell/ApplicationType/wdaResolution.js +18 -0
  6. package/src/main/js/sap/ushell/Fiori20Adapter.js +1 -1
  7. package/src/main/js/sap/ushell/Fiori20AdapterTest.js +1 -1
  8. package/src/main/js/sap/ushell/NWBCInterface.js +1 -1
  9. package/src/main/js/sap/ushell/TechnicalParameters.js +1 -1
  10. package/src/main/js/sap/ushell/URLTemplateProcessor/DefinitionParameterSetBuilder.js +1 -1
  11. package/src/main/js/sap/ushell/URLTemplateProcessor/DependencyGraph.js +1 -1
  12. package/src/main/js/sap/ushell/URLTemplateProcessor/Functions.js +1 -1
  13. package/src/main/js/sap/ushell/URLTemplateProcessor/Resolvers.js +1 -1
  14. package/src/main/js/sap/ushell/URLTemplateProcessor/TemplateParameterParser.js +1 -1
  15. package/src/main/js/sap/ushell/URLTemplateProcessor/utils.js +1 -1
  16. package/src/main/js/sap/ushell/URLTemplateProcessor.js +1 -1
  17. package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +1 -1
  18. package/src/main/js/sap/ushell/Ui5ServiceFactory.js +1 -1
  19. package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +1 -1
  20. package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +1 -1
  21. package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
  22. package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +1 -1
  23. package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +1 -3
  24. package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +1 -1
  25. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
  26. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationV2Adapter.js +1 -1
  27. package/src/main/js/sap/ushell/adapters/cdm/Settings/UserLanguageAndRegion/UserLanguageAndRegion.view.xml +5 -12
  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 -2
  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 +2 -3
  44. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +1 -1
  45. package/src/main/js/sap/ushell/adapters/cep/MenuAdapter.js +41 -24
  46. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +1 -1
  47. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionInternalAdapter.js +3 -2
  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/appIntegration/AppLifeCycle.js +94 -114
  69. package/src/main/js/sap/ushell/appIntegration/ApplicationContainer.js +43 -20
  70. package/src/main/js/sap/ushell/appIntegration/ApplicationContainerRenderer.js +0 -11
  71. package/src/main/js/sap/ushell/appIntegration/IframeApplicationContainer.js +89 -32
  72. package/src/main/js/sap/ushell/appIntegration/IframeApplicationContainerRenderer.js +53 -52
  73. package/src/main/js/sap/ushell/appIntegration/PostMessageHandler/LifecycleHandler.js +1 -3
  74. package/src/main/js/sap/ushell/appIntegration/PostMessageHandler/NWBCHandler.js +1 -1
  75. package/src/main/js/sap/ushell/appIntegration/PostMessageHandler/NavigationHandler.js +4 -4
  76. package/src/main/js/sap/ushell/appIntegration/PostMessageManager.js +58 -17
  77. package/src/main/js/sap/ushell/appIntegration/PostMessagePluginInterface.js +4 -0
  78. package/src/main/js/sap/ushell/appIntegration/UI5ApplicationContainer.js +15 -28
  79. package/src/main/js/sap/ushell/appIntegration/contracts/EmbeddedUI5Handler.js +16 -27
  80. package/src/main/js/sap/ushell/appIntegration/contracts/StatefulContainerV2Handler.js +2 -2
  81. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +6 -5
  82. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/baseRta/CheckConditions.js +0 -12
  83. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/RendererExtensions.js +1 -1
  84. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppConfiguration.js +1 -1
  85. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppLifeCycle.js +20 -3
  86. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppLifeCycleAgent.js +17 -6
  87. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppState.js +1 -1
  88. package/src/main/js/sap/ushell/appRuntime/ui5/services/Bookmark.js +1 -1
  89. package/src/main/js/sap/ushell/appRuntime/ui5/services/BookmarkV2.js +1 -1
  90. package/src/main/js/sap/ushell/appRuntime/ui5/services/CommonDataModel.js +1 -1
  91. package/src/main/js/sap/ushell/appRuntime/ui5/services/Container.js +1 -1
  92. package/src/main/js/sap/ushell/appRuntime/ui5/services/CrossApplicationNavigation.js +2 -2
  93. package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension/Item.js +1 -1
  94. package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension.js +1 -1
  95. package/src/main/js/sap/ushell/appRuntime/ui5/services/FlpLaunchPage.js +1 -1
  96. package/src/main/js/sap/ushell/appRuntime/ui5/services/FrameBoundExtension.js +1 -1
  97. package/src/main/js/sap/ushell/appRuntime/ui5/services/LaunchPage.js +1 -1
  98. package/src/main/js/sap/ushell/appRuntime/ui5/services/MessageBroker.js +1 -1
  99. package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolution.js +1 -1
  100. package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolutionInternal.js +1 -1
  101. package/src/main/js/sap/ushell/appRuntime/ui5/services/Navigation.js +2 -2
  102. package/src/main/js/sap/ushell/appRuntime/ui5/services/ReferenceResolver.js +1 -1
  103. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigation.js +1 -1
  104. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigationInternal.js +1 -1
  105. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellUIService.js +1 -1
  106. package/src/main/js/sap/ushell/appRuntime/ui5/services/UserInfo.js +1 -1
  107. package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
  108. package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/LoadingConfiguration.json +4 -0
  109. package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/StepConfiguration.json +35 -17
  110. package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/logger.js +1 -1
  111. package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/state.js +1 -1
  112. package/src/main/js/sap/ushell/bootstrap/cdm/cdm.constants.js +0 -1
  113. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5datetimeformat.js +1 -1
  114. package/src/main/js/sap/ushell/bootstrap/common/common.create.configcontract.core.js +29 -5
  115. package/src/main/js/sap/ushell/bootstrap/sandbox2.js +1 -1
  116. package/src/main/js/sap/ushell/components/appfinder/Component.js +2 -2
  117. package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
  118. package/src/main/js/sap/ushell/components/contentFinder/CatalogService.js +1 -1
  119. package/src/main/js/sap/ushell/components/contentFinder/Component.js +5 -5
  120. package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +1 -1
  121. package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +1 -1
  122. package/src/main/js/sap/ushell/components/contentFinder/dialog/Component.js +1 -1
  123. package/src/main/js/sap/ushell/components/contentFinder/dialog/manifest.json +1 -1
  124. package/src/main/js/sap/ushell/components/contentFinder/manifest.json +1 -1
  125. package/src/main/js/sap/ushell/components/contentFinderStandalone/Component.js +1 -1
  126. package/src/main/js/sap/ushell/components/contentFinderStandalone/controller/ContentFinderStandalone.controller.js +1 -1
  127. package/src/main/js/sap/ushell/components/contentFinderStandalone/manifest.json +1 -1
  128. package/src/main/js/sap/ushell/components/factsheet/Component.js +1 -1
  129. package/src/main/js/sap/ushell/components/factsheet/factory/ThingInspector.js +2 -2
  130. package/src/main/js/sap/ushell/components/homepage/ActionMode.js +1 -1
  131. package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +3 -3
  132. package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +10 -10
  133. package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +1 -1
  134. package/src/main/js/sap/ushell/components/homepage/manifest.json +1 -1
  135. package/src/main/js/sap/ushell/components/pages/ActionMode.js +1 -1
  136. package/src/main/js/sap/ushell/components/pages/Component.js +1 -1
  137. package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +1 -1
  138. package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +3 -3
  139. package/src/main/js/sap/ushell/components/pages/controller/PagesAndSpaceId.js +4 -4
  140. package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
  141. package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +1 -1
  142. package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
  143. package/src/main/js/sap/ushell/components/shell/FloatingContainer/manifest.json +1 -1
  144. package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +1 -1
  145. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +1 -1
  146. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenuButton.controller.js +1 -1
  147. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +1 -1
  148. package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +25 -50
  149. package/src/main/js/sap/ushell/components/shell/Notifications/NotificationsList.controller.js +1 -1
  150. package/src/main/js/sap/ushell/components/shell/Notifications/NotificationsListPopoverContent.view.xml +2 -2
  151. package/src/main/js/sap/ushell/components/shell/Notifications/NotificationsListPopoverHeader.fragment.xml +1 -1
  152. package/src/main/js/sap/ushell/components/shell/Notifications/NotificationsModule.js +169 -0
  153. package/src/main/js/sap/ushell/components/shell/PostLoadingHeaderEnhancement/Component.js +4 -4
  154. package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +1 -1
  155. package/src/main/js/sap/ushell/components/shell/Search/Component.js +6 -2
  156. package/src/main/js/sap/ushell/components/shell/Search/SearchModule.js +58 -0
  157. package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
  158. package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +1 -1
  159. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +1 -1
  160. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +1 -1
  161. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +1 -1
  162. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchServiceProvider.js +1 -1
  163. package/src/main/js/sap/ushell/components/shell/SearchCEPNew/Component.js +33 -22
  164. package/src/main/js/sap/ushell/components/shell/SearchCEPNew/SearchProviders/FrequentActivityProvider.js +1 -1
  165. package/src/main/js/sap/ushell/components/shell/SearchCEPNew/SearchProviders/RecentSearchProvider.js +1 -1
  166. package/src/main/js/sap/ushell/components/shell/SearchCEPNew/SearchProviders/SearchProvider.js +1 -1
  167. package/src/main/js/sap/ushell/components/shell/SearchCEPNew/SearchProviders/SearchServiceProvider.js +1 -1
  168. package/src/main/js/sap/ushell/components/shell/SearchCEPNew/manifest.json +1 -1
  169. package/src/main/js/sap/ushell/components/shell/Settings/Component.js +2 -2
  170. package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.view.xml +0 -1
  171. package/src/main/js/sap/ushell/components/shell/Settings/appearance/Appearance.controller.js +35 -7
  172. package/src/main/js/sap/ushell/components/shell/Settings/appearance/Appearance.view.xml +1 -1
  173. package/src/main/js/sap/ushell/components/shell/ShellBar/Component.js +14 -9
  174. package/src/main/js/sap/ushell/components/shell/ShellBar/controller/ShellBar.controller.js +15 -21
  175. package/src/main/js/sap/ushell/components/shell/ShellBar/manifest.json +1 -1
  176. package/src/main/js/sap/ushell/components/shell/ShellBar/view/ShellBar.view.xml +23 -18
  177. package/src/main/js/sap/ushell/components/shell/SideNavigation/Component.js +1 -1
  178. package/src/main/js/sap/ushell/components/shell/SideNavigation/manifest.json +1 -1
  179. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +1 -1
  180. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/UserActionsMenu.controller.js +5 -5
  181. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/UserActionsMenu.fragment.xml +2 -2
  182. package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +1 -1
  183. package/src/main/js/sap/ushell/components/tiles/applauncher/StaticTile.controller.js +6 -6
  184. package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/DynamicTile.controller.js +6 -6
  185. package/src/main/js/sap/ushell/components/tiles/cdm/applauncher/StaticTile.controller.js +6 -6
  186. package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.controller.js +6 -6
  187. package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +1 -1
  188. package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
  189. package/src/main/js/sap/ushell/library.js +1 -8
  190. package/src/main/js/sap/ushell/modules/Assistant/AssistantAPI.js +94 -0
  191. package/src/main/js/sap/ushell/modules/Assistant/AssistantProvider.js +50 -0
  192. package/src/main/js/sap/ushell/modules/Assistant/VisualConfiguration.js +41 -0
  193. package/src/main/js/sap/ushell/modules/Assistant.js +56 -0
  194. package/src/main/js/sap/ushell/modules/BaseAPI.js +107 -0
  195. package/src/main/js/sap/ushell/modules/BaseProvider.js +43 -0
  196. package/src/main/js/sap/ushell/modules/Notifications/NotificationsAPI.js +253 -0
  197. package/src/main/js/sap/ushell/modules/Notifications/NotificationsProvider.js +50 -0
  198. package/src/main/js/sap/ushell/modules/Notifications.js +53 -0
  199. package/src/main/js/sap/ushell/modules/Search/SearchAPI.js +271 -0
  200. package/src/main/js/sap/ushell/modules/Search/SearchProvider.js +50 -0
  201. package/src/main/js/sap/ushell/modules/Search.js +56 -0
  202. package/src/main/js/sap/ushell/modules/loader/AbstractLoader.js +95 -0
  203. package/src/main/js/sap/ushell/modules/loader/AssistantLoader.js +156 -0
  204. package/src/main/js/sap/ushell/modules/loader/NotificationsLoader.js +148 -0
  205. package/src/main/js/sap/ushell/modules/loader/SearchLoader.js +153 -0
  206. package/src/main/js/sap/ushell/navigationMode.js +1 -1
  207. package/src/main/js/sap/ushell/performance/FesrEnhancer.js +136 -40
  208. package/src/main/js/sap/ushell/performance/ShellAnalytics.js +1 -1
  209. package/src/main/js/sap/ushell/performance/StatisticalRecord.js +26 -1
  210. package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
  211. package/src/main/js/sap/ushell/plugins/ghostapp/FakeModel.js +19 -14
  212. package/src/main/js/sap/ushell/renderer/Renderer.js +6 -7
  213. package/src/main/js/sap/ushell/renderer/Shell.controller.js +204 -102
  214. package/src/main/js/sap/ushell/renderer/Shell.view.js +1 -1
  215. package/src/main/js/sap/ushell/renderer/resources/resources.properties +7 -9
  216. package/src/main/js/sap/ushell/renderer/resources/resources_ar.properties +3 -4
  217. package/src/main/js/sap/ushell/renderer/resources/resources_bg.properties +3 -4
  218. package/src/main/js/sap/ushell/renderer/resources/resources_ca.properties +3 -4
  219. package/src/main/js/sap/ushell/renderer/resources/resources_cnr.properties +3 -4
  220. package/src/main/js/sap/ushell/renderer/resources/resources_cs.properties +3 -4
  221. package/src/main/js/sap/ushell/renderer/resources/resources_cy.properties +3 -4
  222. package/src/main/js/sap/ushell/renderer/resources/resources_da.properties +3 -4
  223. package/src/main/js/sap/ushell/renderer/resources/resources_de.properties +3 -4
  224. package/src/main/js/sap/ushell/renderer/resources/resources_el.properties +3 -4
  225. package/src/main/js/sap/ushell/renderer/resources/resources_en.properties +3 -4
  226. package/src/main/js/sap/ushell/renderer/resources/resources_en_GB.properties +3 -4
  227. package/src/main/js/sap/ushell/renderer/resources/resources_en_US_saprigi.properties +3 -4
  228. package/src/main/js/sap/ushell/renderer/resources/resources_es.properties +4 -5
  229. package/src/main/js/sap/ushell/renderer/resources/resources_es_MX.properties +5 -6
  230. package/src/main/js/sap/ushell/renderer/resources/resources_et.properties +3 -4
  231. package/src/main/js/sap/ushell/renderer/resources/resources_fi.properties +4 -5
  232. package/src/main/js/sap/ushell/renderer/resources/resources_fr.properties +5 -6
  233. package/src/main/js/sap/ushell/renderer/resources/resources_fr_CA.properties +1 -2
  234. package/src/main/js/sap/ushell/renderer/resources/resources_hi.properties +3 -4
  235. package/src/main/js/sap/ushell/renderer/resources/resources_hr.properties +3 -4
  236. package/src/main/js/sap/ushell/renderer/resources/resources_hu.properties +3 -4
  237. package/src/main/js/sap/ushell/renderer/resources/resources_id.properties +5 -6
  238. package/src/main/js/sap/ushell/renderer/resources/resources_it.properties +4 -5
  239. package/src/main/js/sap/ushell/renderer/resources/resources_iw.properties +3 -4
  240. package/src/main/js/sap/ushell/renderer/resources/resources_ja.properties +3 -4
  241. package/src/main/js/sap/ushell/renderer/resources/resources_kk.properties +3 -4
  242. package/src/main/js/sap/ushell/renderer/resources/resources_ko.properties +5 -6
  243. package/src/main/js/sap/ushell/renderer/resources/resources_lt.properties +3 -4
  244. package/src/main/js/sap/ushell/renderer/resources/resources_lv.properties +3 -4
  245. package/src/main/js/sap/ushell/renderer/resources/resources_mk.properties +3 -4
  246. package/src/main/js/sap/ushell/renderer/resources/resources_ms.properties +3 -4
  247. package/src/main/js/sap/ushell/renderer/resources/resources_nl.properties +3 -4
  248. package/src/main/js/sap/ushell/renderer/resources/resources_no.properties +3 -4
  249. package/src/main/js/sap/ushell/renderer/resources/resources_pl.properties +3 -4
  250. package/src/main/js/sap/ushell/renderer/resources/resources_pt.properties +3 -4
  251. package/src/main/js/sap/ushell/renderer/resources/resources_pt_PT.properties +3 -4
  252. package/src/main/js/sap/ushell/renderer/resources/resources_ro.properties +5 -6
  253. package/src/main/js/sap/ushell/renderer/resources/resources_ru.properties +3 -4
  254. package/src/main/js/sap/ushell/renderer/resources/resources_sh.properties +3 -4
  255. package/src/main/js/sap/ushell/renderer/resources/resources_sk.properties +3 -4
  256. package/src/main/js/sap/ushell/renderer/resources/resources_sl.properties +3 -4
  257. package/src/main/js/sap/ushell/renderer/resources/resources_sr.properties +3 -4
  258. package/src/main/js/sap/ushell/renderer/resources/resources_sv.properties +3 -4
  259. package/src/main/js/sap/ushell/renderer/resources/resources_th.properties +6 -7
  260. package/src/main/js/sap/ushell/renderer/resources/resources_tr.properties +3 -4
  261. package/src/main/js/sap/ushell/renderer/resources/resources_uk.properties +13 -14
  262. package/src/main/js/sap/ushell/renderer/resources/resources_vi.properties +3 -4
  263. package/src/main/js/sap/ushell/renderer/resources/resources_zh_CN.properties +3 -4
  264. package/src/main/js/sap/ushell/renderer/resources/resources_zh_TW.properties +3 -4
  265. package/src/main/js/sap/ushell/renderer/search/searchComponent/manifest.json +1 -1
  266. package/src/main/js/sap/ushell/renderer/shellHeader/ShellHeader.controller.js +0 -14
  267. package/src/main/js/sap/ushell/renderer/shellHeader/ShellHeader.fragment.xml +0 -1
  268. package/src/main/js/sap/ushell/services/AppConfiguration.js +5 -63
  269. package/src/main/js/sap/ushell/services/AppLifeCycle.js +45 -37
  270. package/src/main/js/sap/ushell/services/AppState.js +1 -1
  271. package/src/main/js/sap/ushell/services/Bookmark.js +1 -1
  272. package/src/main/js/sap/ushell/services/BookmarkV2.js +1 -1
  273. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Formatter.js +1 -1
  274. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/InboundIndex.js +1 -1
  275. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/InboundProvider.js +1 -1
  276. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/PrelaunchOperations.js +1 -1
  277. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Search.js +1 -1
  278. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/StagedLogger.js +1 -1
  279. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/SystemContext.js +1 -1
  280. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Utils.js +1 -1
  281. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/VirtualInbounds.js +1 -1
  282. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/XAppStateProcessing.js +1 -1
  283. package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +6 -5
  284. package/src/main/js/sap/ushell/services/CommonDataModel/SiteConverter.js +1 -1
  285. package/src/main/js/sap/ushell/services/CommonDataModel/vizTypeDefaults/VizTypeDefaults.js +1 -1
  286. package/src/main/js/sap/ushell/services/CommonDataModel.js +1 -1
  287. package/src/main/js/sap/ushell/services/Configuration.js +1 -1
  288. package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +1 -1
  289. package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +1 -1
  290. package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +13 -13
  291. package/src/main/js/sap/ushell/services/DarkModeSupport.js +1 -1
  292. package/src/main/js/sap/ushell/services/Extension/Item.js +1 -1
  293. package/src/main/js/sap/ushell/services/Extension.js +15 -3
  294. package/src/main/js/sap/ushell/services/FlpLaunchPage.js +1 -1
  295. package/src/main/js/sap/ushell/services/FrameBoundExtension/FloatingContainer.js +1 -1
  296. package/src/main/js/sap/ushell/services/FrameBoundExtension/Footer.js +1 -1
  297. package/src/main/js/sap/ushell/services/FrameBoundExtension/Item.js +1 -1
  298. package/src/main/js/sap/ushell/services/FrameBoundExtension/SidePane.js +1 -1
  299. package/src/main/js/sap/ushell/services/FrameBoundExtension/ToolArea.js +1 -1
  300. package/src/main/js/sap/ushell/services/FrameBoundExtension/UserSettingsEntry.js +1 -1
  301. package/src/main/js/sap/ushell/services/FrameBoundExtension.js +21 -8
  302. package/src/main/js/sap/ushell/services/LaunchPage.js +1 -1
  303. package/src/main/js/sap/ushell/services/Menu.js +1 -181
  304. package/src/main/js/sap/ushell/services/Message.js +1 -1
  305. package/src/main/js/sap/ushell/services/MessageBroker/MessageBrokerEngine.js +3 -3
  306. package/src/main/js/sap/ushell/services/MessageBroker.js +3 -3
  307. package/src/main/js/sap/ushell/services/MessageInternal.js +1 -1
  308. package/src/main/js/sap/ushell/services/NavTargetResolutionInternal.js +3 -3
  309. package/src/main/js/sap/ushell/services/Navigation/compatibility.js +1 -1
  310. package/src/main/js/sap/ushell/services/Navigation/utils.js +1 -1
  311. package/src/main/js/sap/ushell/services/Navigation.js +20 -20
  312. package/src/main/js/sap/ushell/services/NavigationDataProvider.js +1 -1
  313. package/src/main/js/sap/ushell/services/PageBuilding.js +1 -1
  314. package/src/main/js/sap/ushell/services/PagePersistence.js +1 -1
  315. package/src/main/js/sap/ushell/services/PageReferencing.js +1 -1
  316. package/src/main/js/sap/ushell/services/Pages.js +1 -1
  317. package/src/main/js/sap/ushell/services/Personalization.js +1 -1
  318. package/src/main/js/sap/ushell/services/PersonalizationV2.js +1 -1
  319. package/src/main/js/sap/ushell/services/PluginManager/SimpleExpression.js +1 -1
  320. package/src/main/js/sap/ushell/services/PluginManager.js +2 -6
  321. package/src/main/js/sap/ushell/services/ReferenceResolver.js +1 -1
  322. package/src/main/js/sap/ushell/services/Search.js +1 -1
  323. package/src/main/js/sap/ushell/services/SearchCEP.js +6 -7
  324. package/src/main/js/sap/ushell/services/SearchableContent.js +3 -5
  325. package/src/main/js/sap/ushell/services/ShellNavigation.js +1 -1
  326. package/src/main/js/sap/ushell/services/ShellNavigationHashChanger.js +52 -73
  327. package/src/main/js/sap/ushell/services/SmartNavigation.js +1 -1
  328. package/src/main/js/sap/ushell/services/SpaceContent.js +1 -1
  329. package/src/main/js/sap/ushell/services/UITracer.js +1 -1
  330. package/src/main/js/sap/ushell/services/URLParsing.js +65 -47
  331. package/src/main/js/sap/ushell/services/URLShortening.js +1 -1
  332. package/src/main/js/sap/ushell/services/URLTemplate.js +1 -1
  333. package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +6 -44
  334. package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +1 -1
  335. package/src/main/js/sap/ushell/services/UserDefaultParameters.js +1 -1
  336. package/src/main/js/sap/ushell/services/UserInfo.js +1 -1
  337. package/src/main/js/sap/ushell/services/UserRecents/RecentActivity.js +2 -2
  338. package/src/main/js/sap/ushell/services/UserRecents/RecentsList.js +1 -1
  339. package/src/main/js/sap/ushell/services/UserRecents.js +5 -5
  340. package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +1 -1
  341. package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +1 -1
  342. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +1 -1
  343. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +1 -1
  344. package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +1 -1
  345. package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +1 -1
  346. package/src/main/js/sap/ushell/state/StateManager.js +14 -5
  347. package/src/main/js/sap/ushell/state/StateRules.js +10 -1
  348. package/src/main/js/sap/ushell/state/modules/BackNavigation.js +1 -1
  349. package/src/main/js/sap/ushell/state/modules/ContentDensity.js +1 -1
  350. package/src/main/js/sap/ushell/state/modules/Favicon.js +1 -1
  351. package/src/main/js/sap/ushell/state/modules/HeaderLogo.js +1 -1
  352. package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
  353. package/src/main/js/sap/ushell/themes/base/ApplicationContainer.less +0 -9
  354. package/src/main/js/sap/ushell/themes/base/ShellHeader.less +0 -14
  355. package/src/main/js/sap/ushell/themes/sap_belize_base/ApplicationContainer.less +0 -9
  356. package/src/main/js/sap/ushell/themes/sap_belize_base/ShellHeader.less +0 -14
  357. package/src/main/js/sap/ushell/themes/sap_bluecrystal_base/ApplicationContainer.less +0 -9
  358. package/src/main/js/sap/ushell/themes/sap_bluecrystal_base/ShellHeader.less +0 -14
  359. package/src/main/js/sap/ushell/themes/sap_hcb/base_ApplicationContainer.less +0 -9
  360. package/src/main/js/sap/ushell/themes/sap_hcb/base_ShellHeader.less +0 -14
  361. package/src/main/js/sap/ushell/ui/ShellHeader.js +4 -29
  362. package/src/main/js/sap/ushell/ui/ShellHeaderRenderer.js +0 -14
  363. package/src/main/js/sap/ushell/ui/cards/FrequentActivitiesExtension.js +11 -11
  364. package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +12 -12
  365. package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
  366. package/src/main/js/sap/ushell/ui/launchpad/Section.js +1 -1
  367. package/src/main/js/sap/ushell/ui/launchpad/VizInstance.js +113 -22
  368. package/src/main/js/sap/ushell/ui/launchpad/VizInstanceCdm.js +0 -2
  369. package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +1 -1
  370. package/src/main/js/sap/ushell/ui/shell/ShellAppTitle.js +0 -8
  371. package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +1 -1
  372. package/src/main/js/sap/ushell/ui/utils.js +1 -1
  373. package/src/main/js/sap/ushell/ui5service/ShellUIServiceFactory.js +1 -1
  374. package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
  375. package/src/main/js/sap/ushell/utils/SmartBusiness.js +139 -0
  376. package/src/main/js/sap/ushell/utils/UrlParsing.js +335 -208
  377. package/src/main/js/sap/ushell/utils/UrlShortening.js +1 -1
  378. package/src/main/js/sap/ushell/utils/workpage/WorkPageHost.js +1 -1
  379. package/src/main/js/sap/ushell/utils/workpage/WorkPageService.js +1 -1
  380. package/src/main/js/sap/ushell/utils/workpage/WorkPageVizInstantiation.js +1 -1
  381. package/src/main/js/sap/ushell/utils.js +36 -56
  382. package/src/test/js/sap/ushell/bootstrap/sandbox.js +1 -1
  383. package/ui5.yaml +19 -34
  384. package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +0 -228
  385. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility.js +0 -277
  386. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +0 -2128
  387. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.layout.js +0 -462
  388. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +0 -182
  389. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +0 -135
  390. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +0 -400
  391. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +0 -345
  392. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnRenderer.js +0 -103
  393. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +0 -147
  394. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRenderer.js +0 -60
  395. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +0 -277
  396. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRowRenderer.js +0 -96
  397. package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +0 -59
  398. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources.properties +0 -177
  399. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ar.properties +0 -93
  400. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_bg.properties +0 -93
  401. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ca.properties +0 -93
  402. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_cnr.properties +0 -93
  403. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_cs.properties +0 -93
  404. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_cy.properties +0 -93
  405. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_da.properties +0 -93
  406. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_de.properties +0 -93
  407. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_el.properties +0 -93
  408. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_en_GB.properties +0 -93
  409. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_en_US_sappsd.properties +0 -79
  410. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_en_US_saprigi.properties +0 -93
  411. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_en_US_saptrc.properties +0 -90
  412. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_es.properties +0 -93
  413. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_es_MX.properties +0 -93
  414. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_et.properties +0 -93
  415. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_fi.properties +0 -93
  416. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_fr.properties +0 -93
  417. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_fr_CA.properties +0 -93
  418. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_hi.properties +0 -93
  419. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_hr.properties +0 -93
  420. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_hu.properties +0 -93
  421. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_id.properties +0 -93
  422. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_it.properties +0 -93
  423. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_iw.properties +0 -93
  424. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ja.properties +0 -93
  425. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_kk.properties +0 -93
  426. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ko.properties +0 -93
  427. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_lt.properties +0 -93
  428. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_lv.properties +0 -93
  429. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_mk.properties +0 -93
  430. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ms.properties +0 -93
  431. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_nl.properties +0 -93
  432. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_no.properties +0 -93
  433. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_pl.properties +0 -93
  434. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_pt.properties +0 -93
  435. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_pt_PT.properties +0 -93
  436. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ro.properties +0 -93
  437. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ru.properties +0 -93
  438. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_sh.properties +0 -93
  439. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_sk.properties +0 -93
  440. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_sl.properties +0 -93
  441. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_sr.properties +0 -93
  442. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_sv.properties +0 -93
  443. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_th.properties +0 -93
  444. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_tr.properties +0 -93
  445. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_uk.properties +0 -93
  446. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_vi.properties +0 -93
  447. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_zh_CN.properties +0 -93
  448. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_zh_TW.properties +0 -93
  449. package/src/main/js/sap/ushell/components/workPageBuilder/view/WorkPageBuilder.view.xml +0 -248
  450. package/src/main/js/sap/ushell/components/workPageBuilder/view/WorkPageCellDeleteDialog.fragment.xml +0 -25
  451. package/src/main/js/sap/ushell/components/workPageBuilder/view/WorkPageRowDeleteDialog.fragment.xml +0 -25
  452. package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +0 -67
  453. package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +0 -176
  454. package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +0 -50
  455. package/src/main/js/sap/ushell/components/workPageRuntime/view/WorkPageRuntime.view.xml +0 -37
  456. package/src/main/js/sap/ushell/gen/ui5/webcomponents/dist/Avatar.js +0 -119
  457. package/src/main/js/sap/ushell/gen/ui5/webcomponents/dist/Button.js +0 -219
  458. package/src/main/js/sap/ushell/gen/ui5/webcomponents/dist/Label.js +0 -75
  459. package/src/main/js/sap/ushell/gen/ui5/webcomponents/dist/ListItem.js +0 -76
  460. package/src/main/js/sap/ushell/gen/ui5/webcomponents/dist/ListItemBase.js +0 -39
  461. package/src/main/js/sap/ushell/gen/ui5/webcomponents/dist/ListItemGroup.js +0 -153
  462. package/src/main/js/sap/ushell/gen/ui5/webcomponents/dist/Menu.js +0 -185
  463. package/src/main/js/sap/ushell/gen/ui5/webcomponents/dist/MenuItem.js +0 -198
  464. package/src/main/js/sap/ushell/gen/ui5/webcomponents-base.js +0 -576
  465. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/IllustratedMessage.js +0 -98
  466. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/NotificationList.js +0 -135
  467. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/NotificationListGroupItem.js +0 -91
  468. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/NotificationListItem.js +0 -134
  469. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/NotificationListItemBase.js +0 -55
  470. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/Search.js +0 -163
  471. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/SearchItem.js +0 -83
  472. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/SearchItemGroup.js +0 -36
  473. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/SearchMessageArea.js +0 -53
  474. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/SearchScope.js +0 -55
  475. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/ShellBar.js +0 -380
  476. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/ShellBarBranding.js +0 -78
  477. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/ShellBarItem.js +0 -88
  478. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/ShellBarSearch.js +0 -157
  479. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/ShellBarSpacer.js +0 -49
  480. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/UserMenu.js +0 -197
  481. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/UserMenuAccount.js +0 -83
  482. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/UserMenuItem.js +0 -42
  483. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori.js +0 -1652
  484. package/src/main/js/sap/ushell/gen/ui5/webcomponents.js +0 -2823
  485. package/src/main/js/sap/ushell/services/PluginManager/Extensions.js +0 -58
  486. package/src/main/js/sap/ushell/services/PluginManager/HeaderExtensions.js +0 -35
  487. package/src/main/js/sap/ushell/services/PluginManager/MenuExtensions.js +0 -65
  488. package/src/main/js/sap/ushell/thirdparty/AccessibilityTextsHelper.js +0 -13
  489. package/src/main/js/sap/ushell/thirdparty/Avatar.js +0 -453
  490. package/src/main/js/sap/ushell/thirdparty/BusyIndicator.js +0 -233
  491. package/src/main/js/sap/ushell/thirdparty/Button.js +0 -7
  492. package/src/main/js/sap/ushell/thirdparty/Button2.js +0 -656
  493. package/src/main/js/sap/ushell/thirdparty/FocusableElements.js +0 -10
  494. package/src/main/js/sap/ushell/thirdparty/Icon.js +0 -313
  495. package/src/main/js/sap/ushell/thirdparty/Icons.js +0 -234
  496. package/src/main/js/sap/ushell/thirdparty/IllustratedMessage.js +0 -1297
  497. package/src/main/js/sap/ushell/thirdparty/Label.js +0 -115
  498. package/src/main/js/sap/ushell/thirdparty/Link.js +0 -316
  499. package/src/main/js/sap/ushell/thirdparty/List.js +0 -1253
  500. package/src/main/js/sap/ushell/thirdparty/ListBoxItemGroupTemplate.js +0 -14
  501. package/src/main/js/sap/ushell/thirdparty/ListItemAdditionalText.css.js +0 -10
  502. package/src/main/js/sap/ushell/thirdparty/ListItemBase.js +0 -251
  503. package/src/main/js/sap/ushell/thirdparty/ListItemCustom.js +0 -1689
  504. package/src/main/js/sap/ushell/thirdparty/ListItemGroup.js +0 -637
  505. package/src/main/js/sap/ushell/thirdparty/Menu.js +0 -389
  506. package/src/main/js/sap/ushell/thirdparty/MenuItem.js +0 -10
  507. package/src/main/js/sap/ushell/thirdparty/MenuItem2.js +0 -762
  508. package/src/main/js/sap/ushell/thirdparty/NotificationList.js +0 -291
  509. package/src/main/js/sap/ushell/thirdparty/NotificationListGroupItem.js +0 -310
  510. package/src/main/js/sap/ushell/thirdparty/NotificationListItem.js +0 -534
  511. package/src/main/js/sap/ushell/thirdparty/NotificationListItemBase.js +0 -98
  512. package/src/main/js/sap/ushell/thirdparty/ResponsivePopover.js +0 -2312
  513. package/src/main/js/sap/ushell/thirdparty/SearchItem.js +0 -157
  514. package/src/main/js/sap/ushell/thirdparty/SearchItemGroup.js +0 -44
  515. package/src/main/js/sap/ushell/thirdparty/SearchMessageArea.js +0 -49
  516. package/src/main/js/sap/ushell/thirdparty/SearchScope.js +0 -39
  517. package/src/main/js/sap/ushell/thirdparty/ShellBar.js +0 -1809
  518. package/src/main/js/sap/ushell/thirdparty/ShellBarBranding.js +0 -119
  519. package/src/main/js/sap/ushell/thirdparty/ShellBarItem.js +0 -89
  520. package/src/main/js/sap/ushell/thirdparty/ShellBarSearch.js +0 -7
  521. package/src/main/js/sap/ushell/thirdparty/ShellBarSearch2.js +0 -3453
  522. package/src/main/js/sap/ushell/thirdparty/ShellBarSpacer.js +0 -40
  523. package/src/main/js/sap/ushell/thirdparty/Tag.js +0 -302
  524. package/src/main/js/sap/ushell/thirdparty/Text.js +0 -127
  525. package/src/main/js/sap/ushell/thirdparty/Title.js +0 -167
  526. package/src/main/js/sap/ushell/thirdparty/UserMenu.js +0 -950
  527. package/src/main/js/sap/ushell/thirdparty/UserMenuAccount.js +0 -114
  528. package/src/main/js/sap/ushell/thirdparty/UserMenuItem.js +0 -61
  529. package/src/main/js/sap/ushell/thirdparty/ValueState.js +0 -7
  530. package/src/main/js/sap/ushell/thirdparty/WrappingType.js +0 -24
  531. package/src/main/js/sap/ushell/thirdparty/_dynamics/InputComposition.js +0 -35
  532. package/src/main/js/sap/ushell/thirdparty/_dynamics/InputSuggestions.js +0 -397
  533. package/src/main/js/sap/ushell/thirdparty/_dynamics/ListItemStandardExpandableTextTemplate.js +0 -193
  534. package/src/main/js/sap/ushell/thirdparty/_dynamics/SAP-icons-TNT.js +0 -585
  535. package/src/main/js/sap/ushell/thirdparty/_dynamics/SAP-icons-TNT2.js +0 -585
  536. package/src/main/js/sap/ushell/thirdparty/_dynamics/SAP-icons-business-suite.js +0 -1194
  537. package/src/main/js/sap/ushell/thirdparty/_dynamics/SAP-icons-business-suite2.js +0 -1194
  538. package/src/main/js/sap/ushell/thirdparty/_dynamics/SAP-icons.js +0 -2509
  539. package/src/main/js/sap/ushell/thirdparty/_dynamics/SAP-icons2.js +0 -2509
  540. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ar.js +0 -866
  541. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ar2.js +0 -611
  542. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_bg.js +0 -866
  543. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_bg2.js +0 -611
  544. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ca.js +0 -866
  545. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ca2.js +0 -611
  546. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cnr.js +0 -866
  547. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cnr2.js +0 -611
  548. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cs.js +0 -866
  549. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cs2.js +0 -611
  550. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cy.js +0 -866
  551. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cy2.js +0 -611
  552. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_da.js +0 -866
  553. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_da2.js +0 -611
  554. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_de.js +0 -866
  555. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_de2.js +0 -611
  556. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_el.js +0 -866
  557. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_el2.js +0 -611
  558. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en.js +0 -866
  559. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en2.js +0 -611
  560. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_GB.js +0 -866
  561. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_GB2.js +0 -611
  562. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_sappsd.js +0 -866
  563. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_sappsd2.js +0 -611
  564. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saprigi.js +0 -866
  565. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saprigi2.js +0 -611
  566. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saptrc.js +0 -866
  567. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saptrc2.js +0 -611
  568. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es.js +0 -866
  569. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es2.js +0 -611
  570. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es_MX.js +0 -866
  571. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es_MX2.js +0 -611
  572. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_et.js +0 -866
  573. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_et2.js +0 -611
  574. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fi.js +0 -866
  575. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fi2.js +0 -611
  576. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr.js +0 -866
  577. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr2.js +0 -611
  578. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr_CA.js +0 -866
  579. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr_CA2.js +0 -611
  580. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hi.js +0 -866
  581. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hi2.js +0 -611
  582. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hr.js +0 -866
  583. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hr2.js +0 -611
  584. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hu.js +0 -866
  585. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hu2.js +0 -611
  586. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_id.js +0 -866
  587. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_id2.js +0 -611
  588. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_it.js +0 -866
  589. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_it2.js +0 -611
  590. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_iw.js +0 -866
  591. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_iw2.js +0 -611
  592. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ja.js +0 -866
  593. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ja2.js +0 -611
  594. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_kk.js +0 -866
  595. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_kk2.js +0 -611
  596. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ko.js +0 -866
  597. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ko2.js +0 -611
  598. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lt.js +0 -866
  599. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lt2.js +0 -611
  600. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lv.js +0 -866
  601. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lv2.js +0 -611
  602. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_mk.js +0 -866
  603. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_mk2.js +0 -611
  604. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ms.js +0 -866
  605. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ms2.js +0 -611
  606. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_nl.js +0 -866
  607. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_nl2.js +0 -611
  608. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_no.js +0 -866
  609. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_no2.js +0 -611
  610. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pl.js +0 -866
  611. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pl2.js +0 -611
  612. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt.js +0 -866
  613. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt2.js +0 -611
  614. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt_PT.js +0 -866
  615. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt_PT2.js +0 -611
  616. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ro.js +0 -866
  617. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ro2.js +0 -611
  618. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ru.js +0 -866
  619. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ru2.js +0 -611
  620. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sh.js +0 -866
  621. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sh2.js +0 -611
  622. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sk.js +0 -866
  623. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sk2.js +0 -611
  624. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sl.js +0 -866
  625. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sl2.js +0 -611
  626. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sr.js +0 -866
  627. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sr2.js +0 -611
  628. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sv.js +0 -866
  629. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sv2.js +0 -611
  630. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_th.js +0 -866
  631. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_th2.js +0 -611
  632. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_tr.js +0 -866
  633. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_tr2.js +0 -611
  634. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_uk.js +0 -866
  635. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_uk2.js +0 -611
  636. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_vi.js +0 -866
  637. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_vi2.js +0 -611
  638. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_CN.js +0 -866
  639. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_CN2.js +0 -611
  640. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_TW.js +0 -866
  641. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_TW2.js +0 -611
  642. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css10.js +0 -7
  643. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css11.js +0 -7
  644. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css12.js +0 -7
  645. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css13.js +0 -7
  646. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css14.js +0 -7
  647. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css15.js +0 -7
  648. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css16.js +0 -7
  649. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css17.js +0 -7
  650. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css18.js +0 -7
  651. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css19.js +0 -7
  652. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css20.js +0 -7
  653. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css21.js +0 -7
  654. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css22.js +0 -7
  655. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css23.js +0 -7
  656. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css24.js +0 -7
  657. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css25.js +0 -7
  658. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css26.js +0 -7
  659. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css27.js +0 -7
  660. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css4.js +0 -7
  661. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css5.js +0 -7
  662. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css6.js +0 -7
  663. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css7.js +0 -7
  664. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css8.js +0 -7
  665. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css9.js +0 -7
  666. package/src/main/js/sap/ushell/thirdparty/encodeXML.js +0 -87
  667. package/src/main/js/sap/ushell/thirdparty/event-strict.js +0 -7
  668. package/src/main/js/sap/ushell/thirdparty/generateHighlightedMarkup.js +0 -9
  669. package/src/main/js/sap/ushell/thirdparty/i18n-defaults.js +0 -115
  670. package/src/main/js/sap/ushell/thirdparty/i18n-defaults2.js +0 -159
  671. package/src/main/js/sap/ushell/thirdparty/information.js +0 -100
  672. package/src/main/js/sap/ushell/thirdparty/information2.js +0 -13
  673. package/src/main/js/sap/ushell/thirdparty/overflow.js +0 -25
  674. package/src/main/js/sap/ushell/thirdparty/parameters-bundle.css.js +0 -11
  675. package/src/main/js/sap/ushell/thirdparty/parameters-bundle.css2.js +0 -44
  676. package/src/main/js/sap/ushell/thirdparty/parameters-bundle.css3.js +0 -8
  677. package/src/main/js/sap/ushell/thirdparty/query.js +0 -7
  678. package/src/main/js/sap/ushell/thirdparty/slim-arrow-down.js +0 -44
  679. package/src/main/js/sap/ushell/thirdparty/sys-enter-2.js +0 -7
  680. package/src/main/js/sap/ushell/thirdparty/toLowercaseEnumValue.js +0 -7
  681. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-icons/AllIcons.js +0 -26
  682. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-icons-business-suite/AllIcons.js +0 -26
  683. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-icons-tnt/AllIcons.js +0 -26
  684. package/src/main/js/sap/ushell/thirdparty/webcomponents-base.js +0 -4301
  685. package/src/main/js/sap/ushell/thirdparty/webcomponents-base2.js +0 -7
  686. package/src/main/js/sap/ushell/thirdparty/webcomponents-fiori.js +0 -146
  687. package/src/main/js/sap/ushell/thirdparty/webcomponents.js +0 -170
  688. package/src/main/js/sap/ushell/thirdparty/willShowContent.js +0 -7
@@ -15,6 +15,7 @@
15
15
  sap.ui.define([
16
16
  "sap/ui/thirdparty/URI",
17
17
  "sap/base/Log",
18
+ "sap/base/util/deepClone",
18
19
  "sap/base/util/deepEqual",
19
20
  "sap/base/util/merge",
20
21
  "sap/ushell/TechnicalParameters",
@@ -22,6 +23,7 @@ sap.ui.define([
22
23
  ], (
23
24
  URI,
24
25
  Log,
26
+ deepClone,
25
27
  deepEqual,
26
28
  merge,
27
29
  TechnicalParameters,
@@ -100,7 +102,6 @@ sap.ui.define([
100
102
  if (match) {
101
103
  return match[1];
102
104
  }
103
- return undefined;
104
105
  };
105
106
 
106
107
  /**
@@ -117,7 +118,6 @@ sap.ui.define([
117
118
  if (match) {
118
119
  return match[1];
119
120
  }
120
- return undefined;
121
121
  };
122
122
 
123
123
  /**
@@ -192,11 +192,11 @@ sap.ui.define([
192
192
  }
193
193
  }
194
194
  // sUrl is to be processed by our launchpad
195
- const sHash = UrlParsing.getHash(sUrl);
195
+ const sHash = this.getHash(sUrl);
196
196
  if (!sHash) {
197
197
  return false;
198
198
  }
199
- const oParsedHash = UrlParsing.parseShellHash(sHash);
199
+ const oParsedHash = this.parseShellHash(sHash);
200
200
  if (oParsedHash && oParsedHash.semanticObject && oParsedHash.action) {
201
201
  return true;
202
202
  }
@@ -232,47 +232,6 @@ sap.ui.define([
232
232
  }
233
233
  };
234
234
 
235
- /**
236
- * Combines members of a JavaScript object into a parameter string.
237
- * Parameters are ordered in an arbitrary manner which might change.
238
- *
239
- * @param {object} parameters The parameter object, e.g. <code>{ ABC: [1, "1 2"], DEF: ["4"] }</code>.
240
- * @param {string} delimiter The parameter delimiter. Default is "&".
241
- * @param {string} assign The parameter assignment. Default is "=".
242
- * @returns {string} The result parameter string, e.g. <code>ABC=1&ABC=1%202&DEF=4</code>.
243
- * The result is *not* prefixed with a "?". Parameter values are URI encoded.
244
- * @since 1.94.0
245
- * @private
246
- */
247
- function _urlParametersToString (parameters, delimiter, assign) {
248
- let shellPart = "";
249
-
250
- delimiter = delimiter || "&";
251
- assign = assign || "=";
252
-
253
- let first = "";
254
- const lst = [];
255
- for (const a in parameters) {
256
- if (parameters.hasOwnProperty(a)) {
257
- lst.push(a);
258
- }
259
- }
260
- lst.sort();
261
- for (let k = 0; k < lst.length; k = k + 1) {
262
- const a = lst[k];
263
- if (Array.isArray(parameters[a])) {
264
- for (let i = 0; i < parameters[a].length; i = i + 1) {
265
- shellPart += first + encodeURIComponent(a) + assign + encodeURIComponent(parameters[a][i]);
266
- first = delimiter;
267
- }
268
- } else {
269
- shellPart += first + encodeURIComponent(a) + assign + encodeURIComponent(parameters[a]);
270
- first = delimiter;
271
- }
272
- }
273
- return shellPart;
274
- }
275
-
276
235
  /**
277
236
  * combine members of a javascript object into a parameter string,
278
237
  * note that parameters are ordered in an arbitrary manner which is subject to change
@@ -284,7 +243,7 @@ sap.ui.define([
284
243
  * @protected
285
244
  */
286
245
  UrlParsing.paramsToString = function (oParams) {
287
- return _urlParametersToString(oParams);
246
+ return this.urlParametersToString(oParams);
288
247
  };
289
248
 
290
249
  /**
@@ -312,33 +271,60 @@ sap.ui.define([
312
271
  };
313
272
 
314
273
  /**
315
- * Internal function
274
+ * Combines members of a JavaScript object into a parameter string.
275
+ * Parameters are ordered in an arbitrary manner which might change.
316
276
  *
317
- * @param {object} oParams parameter object
318
- * @param {string} sDelimiter string to use as parameter delimiter (e.g., "&")
319
- * @param {string} sAssign string to use for parameter assignment (e.g., "=")
320
- * @returns {string} the result parameters
277
+ * @param {object} oParameters The parameter object, e.g. <code>{ ABC: [1, "1 2"], DEF: ["4"] }</code>.
278
+ * @param {string} sDelimiter The parameter delimiter. Default is "&".
279
+ * @param {string} sAssign The parameter assignment. Default is "=".
280
+ * @returns {string} The result parameter string, e.g. <code>ABC=1&ABC=1%202&DEF=4</code>.
281
+ * The result is *not* prefixed with a "?". Parameter values are URI encoded.
321
282
  * @since 1.94.0
322
283
  * @private
323
284
  */
324
- UrlParsing.urlParametersToString = function (oParams, sDelimiter, sAssign) {
325
- return _urlParametersToString(oParams, sDelimiter, sAssign);
285
+ UrlParsing.urlParametersToString = function (oParameters, sDelimiter, sAssign) {
286
+ let sShellPart = "";
287
+
288
+ sDelimiter = sDelimiter || "&";
289
+ sAssign = sAssign || "=";
290
+
291
+ let sFirst = "";
292
+ const aParameterKeys = [];
293
+ for (const sKey in oParameters) {
294
+ if (oParameters.hasOwnProperty(sKey)) {
295
+ aParameterKeys.push(sKey);
296
+ }
297
+ }
298
+ aParameterKeys.sort();
299
+ for (let k = 0; k < aParameterKeys.length; k = k + 1) {
300
+ const sKey = aParameterKeys[k];
301
+ if (Array.isArray(oParameters[sKey])) {
302
+ for (let i = 0; i < oParameters[sKey].length; i = i + 1) {
303
+ sShellPart += sFirst + encodeURIComponent(sKey) + sAssign + encodeURIComponent(oParameters[sKey][i]);
304
+ sFirst = sDelimiter;
305
+ }
306
+ } else {
307
+ sShellPart += sFirst + encodeURIComponent(sKey) + sAssign + encodeURIComponent(oParameters[sKey]);
308
+ sFirst = sDelimiter;
309
+ }
310
+ }
311
+ return sShellPart;
326
312
  };
327
313
 
328
314
  /**
329
315
  * adds parameter to a url
330
316
  * which can be relative or a hash
331
- * @param {string} sUrlorHash "url" which can be relative or a hash
317
+ * @param {string} sUrlOrHash "url" which can be relative or a hash
332
318
  * @param {object} oUrlParams Url parameter
333
319
  * @returns {string} new url with the parameters
334
320
  * @since 1.131.0
335
321
  *
336
322
  */
337
- UrlParsing.addParamsToUrl = function (sUrlorHash, oUrlParams) {
338
- const oUri = new URI(sUrlorHash);
323
+ UrlParsing.addParamsToUrl = function (sUrlOrHash, oUrlParams) {
324
+ const oUri = new URI(sUrlOrHash);
339
325
  Object.keys(oUrlParams)
340
- .forEach((key)=>{
341
- oUri.addSearch(key, oUrlParams[key]);
326
+ .forEach((sKey)=>{
327
+ oUri.addSearch(sKey, oUrlParams[sKey]);
342
328
  });
343
329
  return oUri.toString();
344
330
  };
@@ -346,29 +332,29 @@ sap.ui.define([
346
332
  /**
347
333
  * add parameters of the shell specific part to the URL or hash
348
334
  * makes sure they are before the app specific hash
349
- * @param {string} sUrlorHash Url can be relative or a hash
335
+ * @param {string} sUrlOrHash Url can be relative or a hash
350
336
  * @param {object} oShellParams Shell parameters
351
337
  * @returns {string} url with added parameters
352
338
  *
353
339
  * @since 1.131.0
354
340
  *
355
341
  */
356
- UrlParsing.addShellParamsToURL = function (sUrlorHash, oShellParams) {
357
- const oURI = new URI(sUrlorHash);
342
+ UrlParsing.addShellParamsToURL = function (sUrlOrHash, oShellParams) {
343
+ const oURI = new URI(sUrlOrHash);
358
344
 
359
345
  // split hash into shell part and app specific route
360
346
  const sHashPart = oURI.hash();
361
347
  const sBeforeHashPart = oURI.toString().replace(sHashPart, "");
362
348
 
363
349
  // merge the parameters
364
- const oParseHash = UrlParsing.parseShellHash(sHashPart) || {};
350
+ const oParseHash = this.parseShellHash(sHashPart) || {};
365
351
  Object.assign(oParseHash.params, oShellParams.params);
366
352
 
367
353
  // now put it back together
368
354
 
369
355
  // new hash
370
356
  // construct Shell Hash
371
- const sNewHash = `#${UrlParsing.constructShellHash(oParseHash)}`;
357
+ const sNewHash = `#${this.constructShellHash(oParseHash)}`;
372
358
 
373
359
  return sBeforeHashPart + sNewHash;
374
360
  };
@@ -379,6 +365,7 @@ sap.ui.define([
379
365
  * @param {string} sHash Hash part of a shell compliant URL
380
366
  * <code>#SO-Action~Context?P1=a&P2=x&/route?RPV=1</code> the hash part of an URL, <br/>
381
367
  * e.g. <code>"#Object-name~AFE2==?PV1=PV2&PV4=V5&/display/detail/7?UU=HH</code>
368
+ * @param {boolean} [bReturnEmpty=false] Return an empty parsed hash object instead of undefined
382
369
  * @returns {object} <code>undefined</code> if not a parseable hash<br/>
383
370
  * <pre>
384
371
  * {
@@ -393,13 +380,16 @@ sap.ui.define([
393
380
  * @since 1.94.0
394
381
  * @protected
395
382
  */
396
- UrlParsing.parseShellHash = function (sHash) {
383
+ UrlParsing.parseShellHash = function (sHash, bReturnEmpty) {
397
384
  const re = reValidShellPart;
398
385
  if (!sHash) {
399
- return undefined;
386
+ if (bReturnEmpty) {
387
+ return this.getEmptyParsedHash();
388
+ }
389
+ return;
400
390
  }
401
391
  // split shell-hash and app-specific parts first
402
- const oSplitHash = UrlParsing.splitHash(sHash);
392
+ const oSplitHash = this.splitHash(sHash);
403
393
 
404
394
  const match = re.exec(oSplitHash.shellPart);
405
395
  if (match) {
@@ -407,12 +397,12 @@ sap.ui.define([
407
397
  const sAction = match[3];
408
398
  const sContext = match[5];
409
399
  const sParams = match[6];
410
- const pm = UrlParsing.parseParameters(sParams);
400
+ const oParsedParams = this.parseParameters(sParams);
411
401
  return {
412
402
  semanticObject: sSemanticObject,
413
403
  action: sAction,
414
404
  contextRaw: sContext,
415
- params: pm,
405
+ params: oParsedParams,
416
406
  appSpecificRoute: oSplitHash.appSpecificRoute
417
407
  };
418
408
  }
@@ -425,7 +415,27 @@ sap.ui.define([
425
415
  appSpecificRoute: oSplitHash.appSpecificRoute
426
416
  };
427
417
  }
428
- return undefined;
418
+ if (bReturnEmpty) {
419
+ return this.getEmptyParsedHash();
420
+ }
421
+ };
422
+
423
+ /**
424
+ * Returns an empty parsed hash.
425
+ * This is useful to have a consistent empty object instead of "undefined"
426
+ * @returns {object} empty parsed hash
427
+ *
428
+ * @since 1.142.0
429
+ * @private
430
+ */
431
+ UrlParsing.getEmptyParsedHash = function () {
432
+ return {
433
+ semanticObject: undefined,
434
+ action: undefined,
435
+ contextRaw: undefined,
436
+ params: {},
437
+ appSpecificRoute: undefined
438
+ };
429
439
  };
430
440
 
431
441
  /**
@@ -436,11 +446,12 @@ sap.ui.define([
436
446
  * @since 1.94.0
437
447
  * @private
438
448
  */
439
- UrlParsing.privstripLeadingHash = function (sHash) {
440
- if (sHash[0] === "#") {
441
- return sHash.substring(1);
449
+ UrlParsing.stripLeadingHash = function (sHash) {
450
+ if (!sHash.startsWith("#")) {
451
+ return sHash;
442
452
  }
443
- return sHash;
453
+
454
+ return sHash.substring(1);
444
455
  };
445
456
 
446
457
  /**
@@ -453,32 +464,13 @@ sap.ui.define([
453
464
  */
454
465
  UrlParsing.ensureLeadingHash = function (sHash) {
455
466
  if (!sHash) {
456
- sHash = "#";
457
- } else if (sHash.charAt(0) !== "#") {
458
- sHash = `#${sHash}`;
467
+ return "#";
459
468
  }
460
- return sHash;
461
- };
462
-
463
- /**
464
- * Reduces a hash to the semantic object and action part.
465
- * Does not include the leading '#'.
466
- * Returns empty string if the hash is not parseable.
467
- *
468
- * @param {string} sHash Shell hash.
469
- * @returns {string} The basic hash.
470
- *
471
- * @since 1.129.0
472
- * @private
473
- */
474
- UrlParsing.getBasicHash = function (sHash) {
475
- const oShellHash = this.parseShellHash(sHash);
476
-
477
- if (!oShellHash) {
478
- return "";
469
+ if (sHash.startsWith("#")) {
470
+ return sHash;
479
471
  }
480
472
 
481
- return `${oShellHash.semanticObject}-${oShellHash.action}`;
473
+ return `#${sHash}`;
482
474
  };
483
475
 
484
476
  /**
@@ -524,21 +516,90 @@ sap.ui.define([
524
516
  return {};
525
517
  };
526
518
 
527
- function appendIf (sUrl, app) {
528
- if (app) {
529
- return sUrl + app;
519
+ function appendIf (sUrl, sPostfix) {
520
+ if (sPostfix) {
521
+ return sUrl + sPostfix;
522
+ }
523
+ return sUrl;
524
+ }
525
+
526
+ function prependIf (sPrefix, sUrl) {
527
+ if (sPrefix) {
528
+ return sPrefix + sUrl;
530
529
  }
531
530
  return sUrl;
532
531
  }
533
532
 
533
+ /**
534
+ * Harmonizes the shell hash by ensuring it has all required properties.
535
+ * The result is compliant with {@link #parseShellHash}.
536
+ * Clones the input object.
537
+ *
538
+ * @param {sap.ushell.services.URLParsing.ShellHash} oShellHash The shell hash to harmonize
539
+ * @returns {sap.ushell.services.URLParsing.DecomposedHash} The hash in the decomposed format.
540
+ *
541
+ * @since 1.142.0
542
+ * @private
543
+ */
544
+ UrlParsing._harmonizeShellHash = function (oShellHash) {
545
+ if (!oShellHash) {
546
+ return this.getEmptyParsedHash();
547
+ }
548
+ const oShellHashClone = deepClone(oShellHash);
549
+
550
+ // map target to decomposed hash properties
551
+ if (oShellHash.target) {
552
+ if (typeof oShellHash.target.shellHash === "string") {
553
+ const oParsedHash = this.parseShellHash(
554
+ appendIf(
555
+ oShellHash.target.shellHash,
556
+ oShellHash.appSpecificRoute
557
+ )
558
+ );
559
+ return oParsedHash || this.getEmptyParsedHash();
560
+ }
561
+
562
+ oShellHashClone.semanticObject = oShellHash.target.semanticObject;
563
+ oShellHashClone.action = oShellHash.target.action;
564
+ oShellHashClone.contextRaw = oShellHash.target.contextRaw;
565
+ }
566
+
567
+ // ensure params values are arrays
568
+ if (oShellHashClone.params) {
569
+ for (const sKey in oShellHashClone.params) {
570
+ const vValue = oShellHashClone.params[sKey];
571
+ if (!Array.isArray(vValue)) {
572
+ oShellHashClone.params[sKey] = [vValue];
573
+ }
574
+ }
575
+ } else {
576
+ oShellHashClone.params = {};
577
+ }
578
+
579
+ if (oShellHashClone.appStateKey) {
580
+ oShellHashClone.params["sap-xapp-state"] = [oShellHashClone.appStateKey];
581
+ }
582
+
583
+ // strip unallowed properties
584
+ const aAllowedProperties = [
585
+ "semanticObject",
586
+ "action",
587
+ "contextRaw",
588
+ "params",
589
+ "appSpecificRoute"
590
+ ];
591
+ for (const sKey in oShellHashClone) {
592
+ if (!aAllowedProperties.includes(sKey)) {
593
+ delete oShellHashClone[sKey];
594
+ }
595
+ }
596
+
597
+ return oShellHashClone;
598
+ };
599
+
534
600
  /**
535
601
  * compose a shell Hash from it's respective parts
536
602
  * Note that it also may append an app specific route !
537
- *
538
- * @returns {string} the hash part of an URL, e.g. <code>"Object-name~AFE2==?PV1=PV2&PV4=V5&/display/detail/7?UU=HH</code>
539
- * returns "" for an undefined object
540
- * @param {object} oShellHash The action must be a valid action, it may not contain "?" or directly a parameter string
541
- * <code>undefined</code> if not a parseable hash
542
603
  * <pre>
543
604
  * {
544
605
  * target: {
@@ -551,67 +612,123 @@ sap.ui.define([
551
612
  * appSpecificRoute: string
552
613
  * }
553
614
  * </pre>
554
- * xor
555
- * <code>{ target: { shellHash } }</code>
556
- * Note: in general it is preferred to add an appStateKey directly to the params object
615
+ * <code>{ target: { shellHash } }</code>
616
+ * Note: in general it is preferred to add an appStateKey directly to the params object
617
+ *
618
+ * @param {sap.ushell.services.URLParsing.ShellHash} oShellHash
619
+ * The action must be a valid action, it may not contain "?" or directly a parameter string
620
+ * @param {boolean} [bPrefixWithHash=false] if true, the result is prefixed with a leading #
621
+ * @returns {string} the hash part of an URL, e.g. <code>"Object-name~AFE2==?PV1=PV2&PV4=V5&/display/detail/7?UU=HH</code>
622
+ * returns "" for an <code>undefined</code> object
623
+ *
557
624
  * @since 1.94.0
558
625
  * @protected
559
626
  */
560
- UrlParsing.constructShellHash = function (oShellHash) {
561
- let shellPart;
562
- if (!oShellHash) {
563
- return "";
564
- }
565
- // align lack of target
566
- if (!oShellHash.target) {
567
- oShellHash.target = {};
568
- oShellHash.target.semanticObject = oShellHash.semanticObject;
569
- oShellHash.target.action = oShellHash.action;
570
- oShellHash.target.contextRaw = oShellHash.contextRaw;
571
- }
572
- if (oShellHash.target.shellHash || oShellHash.target.shellHash === "") {
573
- const result = UrlParsing.privstripLeadingHash(oShellHash.target.shellHash);
574
- return appendIf(result, oShellHash.appSpecificRoute);
627
+ UrlParsing.constructShellHash = function (oShellHash, bPrefixWithHash) {
628
+ const oParsedHash = this._harmonizeShellHash(oShellHash);
629
+
630
+ if (!oParsedHash.semanticObject || !oParsedHash.action) {
631
+ return prependIf(
632
+ bPrefixWithHash ? "#" : "",
633
+ appendIf("", oParsedHash.appSpecificRoute)
634
+ );
575
635
  }
576
636
 
577
- if (oShellHash.target.semanticObject && oShellHash.target.action) {
578
- shellPart = `${oShellHash.target.semanticObject}-${oShellHash.target.action.replace(/[?].*/, "")}`;
579
- } else {
580
- return appendIf("", oShellHash.appSpecificRoute);
637
+ let sConstructedHash = `${oParsedHash.semanticObject}-${oParsedHash.action.replace(/[?].*/, "")}`;
638
+ if (oParsedHash.contextRaw) {
639
+ sConstructedHash += `~${oParsedHash.contextRaw}`;
581
640
  }
582
641
 
583
- if (oShellHash.target.contextRaw) {
584
- shellPart += `~${oShellHash.target.contextRaw}`;
585
- }
586
- let first = "?";
587
- const lst = [];
588
- for (const a in oShellHash.params) {
589
- if (oShellHash.params.hasOwnProperty(a)) {
590
- lst.push(a);
642
+ let sParamPrefix = "?";
643
+ const aParameterKeys = Object.keys(oParsedHash.params).sort();
644
+ for (const sParamKey of aParameterKeys) {
645
+ const aParamValues = oParsedHash.params[sParamKey];
646
+ if (aParamValues.length > 1) {
647
+ Log.error("Array startup parameters violate the designed intent of the Unified Shell Intent, use only single-valued parameters!");
591
648
  }
592
- }
593
- const paramsCopy = (oShellHash.params && JSON.parse(JSON.stringify(oShellHash.params))) || {};
594
- if (oShellHash.appStateKey) {
595
- lst.push("sap-xapp-state");
596
- paramsCopy["sap-xapp-state"] = oShellHash.appStateKey;
597
- }
598
- lst.sort();
599
- for (let k = 0; k < lst.length; k = k + 1) {
600
- const a = lst[k];
601
- if (Array.isArray(paramsCopy[a])) {
602
- if (paramsCopy[a].length > 1) {
603
- Log.error("Array startup parameters violate the designed intent of the Unified Shell Intent, use only single-valued parameters!");
604
- }
605
- for (let i = 0; i < paramsCopy[a].length; i = i + 1) {
606
- shellPart += `${first + encodeURIComponent(a)}=${encodeURIComponent(paramsCopy[a][i])}`;
607
- first = "&";
608
- }
609
- } else {
610
- shellPart += `${first + encodeURIComponent(a)}=${encodeURIComponent(paramsCopy[a])}`;
611
- first = "&";
649
+ for (const sParamValue of aParamValues) {
650
+ sConstructedHash += `${sParamPrefix + encodeURIComponent(sParamKey)}=${encodeURIComponent(sParamValue)}`;
651
+ sParamPrefix = "&";
612
652
  }
613
653
  }
614
- return appendIf(shellPart, oShellHash.appSpecificRoute);
654
+
655
+ return prependIf(
656
+ bPrefixWithHash ? "#" : "",
657
+ appendIf(sConstructedHash, oParsedHash.appSpecificRoute)
658
+ );
659
+ };
660
+
661
+ /**
662
+ * Calculates the stable intent part of the hash
663
+ *
664
+ * Remark: It also sorts the parameters and their values. This can change the interpretation of the hash.
665
+ * Therefore, the stable hash should only be used for comparison or id generation, not for navigation.
666
+ *
667
+ * @param {sap.ushell.services.URLParsing.ShellHash} oShellHash The parsed shell hash
668
+ * @param {boolean} [bPrefixWithHash=false] if true, the result is prefixed with a leading #
669
+ * @returns {string} the stable intent part of the hash
670
+ *
671
+ * @since 1.135.0
672
+ * @private
673
+ */
674
+ UrlParsing.constructStableHash = function (oShellHash, bPrefixWithHash) {
675
+ const oParsedHash = this._harmonizeShellHash(oShellHash);
676
+ const oParamsWithoutTechnicalParameters = this._removeNonIntentParameters(oParsedHash.params);
677
+ // stabilize the "order" of the parameters and values to make the hash comparison stable
678
+ const oSortedParams = Object.keys(oParamsWithoutTechnicalParameters)
679
+ .sort()
680
+ .reduce((oResult, sKey) => {
681
+ const aValue = oParamsWithoutTechnicalParameters[sKey];
682
+
683
+ aValue.sort();
684
+ oResult[sKey] = aValue;
685
+ return oResult;
686
+ }, {});
687
+
688
+ return this.constructShellHash({
689
+ semanticObject: oParsedHash.semanticObject,
690
+ action: oParsedHash.action,
691
+ contextRaw: oParsedHash.contextRaw,
692
+ params: oSortedParams
693
+ // ignore appSpecificRoute
694
+ }, bPrefixWithHash);
695
+ };
696
+
697
+ /**
698
+ * Reduces a hash to the semantic object and action part.
699
+ *
700
+ * @param {string} sShellHash The shell hash, with or without the leading #
701
+ * @param {boolean} [bPrefixWithHash=false] if true, the result is prefixed with a leading #
702
+ * @returns {string} The basic hash.
703
+ *
704
+ * @since 1.129.0
705
+ * @private
706
+ */
707
+ UrlParsing.getBasicHash = function (sShellHash, bPrefixWithHash) {
708
+ const oParsedHash = this.parseShellHash(sShellHash) || this.getEmptyParsedHash();
709
+ return this.constructBasicHash(oParsedHash, bPrefixWithHash);
710
+ };
711
+
712
+ /**
713
+ * Reduces a hash to the semantic object and action part.
714
+ *
715
+ * @param {sap.ushell.services.URLParsing.ShellHash} oShellHash The parsed shell hash
716
+ * @param {boolean} [bPrefixWithHash=false] if true, the result is prefixed with a leading #
717
+ * @returns {string} The basic hash.
718
+ *
719
+ * @since 1.129.0
720
+ * @private
721
+ */
722
+ UrlParsing.constructBasicHash = function (oShellHash, bPrefixWithHash) {
723
+ const oParsedHash = this._harmonizeShellHash(oShellHash);
724
+
725
+ return this.constructShellHash({
726
+ semanticObject: oParsedHash.semanticObject,
727
+ action: oParsedHash.action
728
+ // ignore contextRaw
729
+ // ignore params
730
+ // ignore appSpecificRoute
731
+ }, bPrefixWithHash);
615
732
  };
616
733
 
617
734
  /**
@@ -625,12 +742,27 @@ sap.ui.define([
625
742
  * @private
626
743
  */
627
744
  UrlParsing.compareHashes = function (sHash1, sHash2) {
628
- const oNewHash = this.parseShellHash(sHash1) || {};
629
- const oOldHash = this.parseShellHash(sHash2) || {};
745
+ const oHash1 = this.parseShellHash(sHash1) || {};
746
+ const oHash2 = this.parseShellHash(sHash2) || {};
747
+
748
+ return this.compareParsedHashes(oHash1, oHash2);
749
+ };
750
+
751
+ /**
752
+ * Calculates the similarities of the hashes
753
+ *
754
+ * @param {sap.ushell.services.URLParsing.DecomposedHash} oHash1 The first hash
755
+ * @param {sap.ushell.services.URLParsing.DecomposedHash} oHash2 The second hash
756
+ * @returns {sap.ushell.utils.URLParsing.HashComparison} A object describing the similarities
757
+ *
758
+ * @since 1.142.0
759
+ * @private
760
+ */
761
+ UrlParsing.compareParsedHashes = function (oHash1, oHash2) {
630
762
  return {
631
- sameIntent: this.haveSameIntent(oNewHash, oOldHash),
632
- sameParameters: this.haveSameIntentParameters(oNewHash, oOldHash),
633
- sameAppSpecificRoute: oNewHash.appSpecificRoute === oOldHash.appSpecificRoute
763
+ sameIntent: this.haveSameIntent(oHash1, oHash2),
764
+ sameParameters: this.haveSameIntentParameters(oHash1, oHash2),
765
+ sameAppSpecificRoute: oHash1.appSpecificRoute === oHash2.appSpecificRoute
634
766
  };
635
767
  };
636
768
 
@@ -638,8 +770,8 @@ sap.ui.define([
638
770
  * Determines whether two hash fragments have the same intent during an
639
771
  * app-to-app navigation.
640
772
  *
641
- * @param {sap.ushell.services.URLParsing.DecomposedHash} oHash1 The first hash split by parseShellHash
642
- * @param {sap.ushell.services.URLParsing.DecomposedHash} oHash2 The second hash split by parseShellHash
773
+ * @param {sap.ushell.services.URLParsing.DecomposedHash} oParsedHash1 The first hash split by parseShellHash
774
+ * @param {sap.ushell.services.URLParsing.DecomposedHash} oParsedHash2 The second hash split by parseShellHash
643
775
  *
644
776
  * @returns {boolean}
645
777
  * Whether two hash fragments have the same semantic object and action
@@ -648,68 +780,35 @@ sap.ui.define([
648
780
  * @since 1.128.0
649
781
  * @private
650
782
  */
651
- UrlParsing.haveSameIntent = function (oHash1, oHash2) {
652
- oHash1 = oHash1 || {};
653
- oHash2 = oHash2 || {};
654
- return oHash1.semanticObject === oHash2.semanticObject &&
655
- oHash1.action === oHash2.action &&
656
- oHash1.contextRaw === oHash2.contextRaw;
783
+ UrlParsing.haveSameIntent = function (oParsedHash1, oParsedHash2) {
784
+ oParsedHash1 = oParsedHash1 || {};
785
+ oParsedHash2 = oParsedHash2 || {};
786
+ return oParsedHash1.semanticObject === oParsedHash2.semanticObject
787
+ && oParsedHash1.action === oParsedHash2.action
788
+ && oParsedHash1.contextRaw === oParsedHash2.contextRaw;
657
789
  };
658
790
 
659
791
  /**
660
792
  * Determines whether two sets of parameters have the same intent parameters.
661
793
  *
662
- * @param {sap.ushell.services.URLParsing.DecomposedHash} oHash1 The first hash split by parseShellHash
663
- * @param {sap.ushell.services.URLParsing.DecomposedHash} oHash2 The second hash split by parseShellHash
794
+ * @param {sap.ushell.services.URLParsing.DecomposedHash} oParsedHash1 The first hash split by parseShellHash
795
+ * @param {sap.ushell.services.URLParsing.DecomposedHash} oParsedHash2 The second hash split by parseShellHash
664
796
  * @returns {boolean} Whether the two given set of parameters have the same intent parameters.
665
797
  *
666
798
  * @since 1.128.0
667
799
  * @private
668
800
  */
669
- UrlParsing.haveSameIntentParameters = function (oHash1, oHash2) {
670
- oHash1 = oHash1 || {};
671
- oHash2 = oHash2 || {};
672
- const oParams1Copy = merge({}, oHash1.params);
673
- const oParams2Copy = merge({}, oHash2.params);
801
+ UrlParsing.haveSameIntentParameters = function (oParsedHash1, oParsedHash2) {
802
+ oParsedHash1 = oParsedHash1 || {};
803
+ oParsedHash2 = oParsedHash2 || {};
804
+ const oParams1Copy = merge({}, oParsedHash1.params);
805
+ const oParams2Copy = merge({}, oParsedHash2.params);
674
806
  return !this._parametersChanged(
675
807
  this._removeNonIntentParameters(oParams1Copy),
676
808
  this._removeNonIntentParameters(oParams2Copy)
677
809
  );
678
810
  };
679
811
 
680
- /**
681
- * Calculates the stable intent part of the hash
682
- * @param {string} sHash Hash part of a shell compliant URL
683
- * <code>#SO-Action~Context?P1=a&P2=x&/route?RPV=1</code> the hash part of an URL, <br/>
684
- * e.g. <code>"#Object-name~AFE2==?PV1=PV2&PV4=V5&/display/detail/7?UU=HH</code>
685
- * @returns {string} the stable intent part of the hash
686
- *
687
- * @since 1.135.0
688
- * @private
689
- */
690
- UrlParsing.getStableIntent = function (sHash) {
691
- const oHash = this.parseShellHash(sHash) || {};
692
- const oParamsWithoutTechnicalParameters = this._removeNonIntentParameters(oHash.params);
693
- // stabilize the "order" of the parameters and values to make the hash comparison stable
694
- const oSortedParams = Object.keys(oParamsWithoutTechnicalParameters)
695
- .sort()
696
- .reduce((oResult, sKey) => {
697
- const aValue = oParamsWithoutTechnicalParameters[sKey];
698
- aValue.sort();
699
- oResult[sKey] = aValue;
700
- return oResult;
701
- }, {});
702
- return this.constructShellHash({
703
- target: {
704
- semanticObject: oHash.semanticObject,
705
- action: oHash.action,
706
- contextRaw: oHash.contextRaw
707
- },
708
- params: oSortedParams
709
- // ignore appSpecificRoute
710
- });
711
- };
712
-
713
812
  /**
714
813
  * Removes all technical parameters from the hash parameters that are not intent parameters
715
814
  * and returns the new hash parameters
@@ -750,5 +849,33 @@ sap.ui.define([
750
849
  return !deepEqual(oNewParameters, oOldParameters);
751
850
  };
752
851
 
852
+ /**
853
+ * Checks whether the given parsed hash represents the root intent.
854
+ * @param {sap.ushell.services.URLParsing.DecomposedHash} oParsedHash The parsed hash to check
855
+ * @returns {boolean} Whether the parsed hash represents the root intent
856
+ *
857
+ * @since 1.142.0
858
+ * @private
859
+ */
860
+ UrlParsing.isRootIntent = function (oParsedHash) {
861
+ const sRootIntent = ushellUtils.getRootIntent();
862
+ const oParsedRootIntent = this.parseShellHash(sRootIntent, true);
863
+ const oHashComparison = this.compareParsedHashes(oParsedHash, oParsedRootIntent);
864
+
865
+ return oHashComparison.sameIntent && oHashComparison.sameParameters;
866
+ };
867
+
868
+ /**
869
+ * Checks whether the given shell hash is empty.
870
+ * @param {sap.ushell.services.URLParsing.ShellHash} oShellHash The shell hash to check
871
+ * @returns {boolean} Whether the shell hash is empty
872
+ *
873
+ * @since 1.142.0
874
+ * @private
875
+ */
876
+ UrlParsing.isEmptyHash = function (oShellHash) {
877
+ return this.constructShellHash(oShellHash) === "";
878
+ };
879
+
753
880
  return UrlParsing;
754
881
  });