@sapui5/sap.ushell 1.117.2 → 1.119.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 (510) hide show
  1. package/package.json +6 -5
  2. package/src/main/js/sap/ushell/.library +1 -1
  3. package/src/main/js/sap/ushell/ApplicationType.js +5 -7
  4. package/src/main/js/sap/ushell/CanvasShapesManager.js +13 -7
  5. package/src/main/js/sap/ushell/Config.js +1 -1
  6. package/src/main/js/sap/ushell/Container.js +254 -190
  7. package/src/main/js/sap/ushell/EventHub.js +1 -1
  8. package/src/main/js/sap/ushell/Fiori20Adapter.js +1 -1
  9. package/src/main/js/sap/ushell/Fiori20AdapterTest.js +2 -2
  10. package/src/main/js/sap/ushell/Layout.js +3 -3
  11. package/src/main/js/sap/ushell/NWBCInterface.js +3 -3
  12. package/src/main/js/sap/ushell/SessionHandler.js +4 -4
  13. package/src/main/js/sap/ushell/TechnicalParameters.js +3 -3
  14. package/src/main/js/sap/ushell/UIActions.js +44 -44
  15. package/src/main/js/sap/ushell/URLTemplateProcessor.js +1 -1
  16. package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +1 -1
  17. package/src/main/js/sap/ushell/Ui5ServiceFactory.js +4 -4
  18. package/src/main/js/sap/ushell/User.js +11 -1
  19. package/src/main/js/sap/ushell/UserActivityLog.js +8 -8
  20. package/src/main/js/sap/ushell/_ApplicationType/guiResolution.js +5 -5
  21. package/src/main/js/sap/ushell/_ApplicationType/systemAlias.js +1 -1
  22. package/src/main/js/sap/ushell/_ApplicationType/urlTemplateResolution.js +75 -62
  23. package/src/main/js/sap/ushell/_ApplicationType/wdaResolution.js +5 -5
  24. package/src/main/js/sap/ushell/_Config/utils.js +5 -5
  25. package/src/main/js/sap/ushell/_URLTemplateProcessor/DefinitionParameterSetBuilder.js +1 -1
  26. package/src/main/js/sap/ushell/_URLTemplateProcessor/DependencyGraph.js +1 -1
  27. package/src/main/js/sap/ushell/_URLTemplateProcessor/Functions.js +1 -1
  28. package/src/main/js/sap/ushell/_URLTemplateProcessor/Resolvers.js +1 -1
  29. package/src/main/js/sap/ushell/_URLTemplateProcessor/TemplateParameterParser.js +1 -1
  30. package/src/main/js/sap/ushell/_URLTemplateProcessor/utils.js +1 -1
  31. package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +15 -9
  32. package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +4 -5
  33. package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
  34. package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +1 -2
  35. package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +12 -13
  36. package/src/main/js/sap/ushell/adapters/cdm/MenuAdapter.js +1 -1
  37. package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +4 -3
  38. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
  39. package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +1 -1
  40. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +2 -2
  41. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +1 -1
  42. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +1 -1
  43. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +1 -1
  44. package/src/main/js/sap/ushell/adapters/cdm/_Personalization/internals.js +1 -1
  45. package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +5 -2
  46. package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +4 -1
  47. package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +3 -4
  48. package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +10 -11
  49. package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +1 -1
  50. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +1 -1
  51. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +1 -1
  52. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +1 -1
  53. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +1 -1
  54. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +1 -1
  55. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +11 -9
  56. package/src/main/js/sap/ushell/adapters/cdm/v3/utilsCdm.js +3 -3
  57. package/src/main/js/sap/ushell/adapters/cep/MenuAdapter.js +0 -1
  58. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +3 -4
  59. package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +3 -2
  60. package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +3 -3
  61. package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +1 -1
  62. package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +2 -3
  63. package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +3 -3
  64. package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +1 -3
  65. package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +2 -3
  66. package/src/main/js/sap/ushell/adapters/local/MenuAdapter.js +1 -1
  67. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +3 -2
  68. package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +1 -1
  69. package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +2 -2
  70. package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +1 -2
  71. package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +1 -1
  72. package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +1 -1
  73. package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +1 -1
  74. package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +1 -1
  75. package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +1 -2
  76. package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +1 -1
  77. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +22 -28
  78. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntimeContext.js +3 -3
  79. package/src/main/js/sap/ushell/appRuntime/ui5/SessionHandlerAgent.js +10 -0
  80. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/Renderer.js +5 -3
  81. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/RendererExtensions.js +31 -3
  82. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppLifeCycleAgent.js +4 -11
  83. package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
  84. package/src/main/js/sap/ushell/bootstrap/SchedulingAgent.js +8 -4
  85. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/EventProcessor.js +21 -2
  86. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/FLPLoader.js +1 -1
  87. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/FLPScheduler.js +23 -7
  88. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/StepConfiguration.json +4 -3
  89. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/logger.js +1 -1
  90. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/state.js +3 -3
  91. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5.js +3 -2
  92. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5datetimeformat.js +1 -1
  93. package/src/main/js/sap/ushell/bootstrap/common/common.create.configcontract.core.js +1 -0
  94. package/src/main/js/sap/ushell/bootstrap/common/common.load.core-min.js +2 -2
  95. package/src/main/js/sap/ushell/bootstrap/common/common.load.launchpad.js +7 -3
  96. package/src/main/js/sap/ushell/bootstrap/common/common.load.script.js +4 -4
  97. package/src/main/js/sap/ushell/bootstrap/common/common.util.js +7 -7
  98. package/src/main/js/sap/ushell/bootstrap/sandbox2/sandboxConfig.json +214 -0
  99. package/src/main/js/sap/ushell/bootstrap/sandbox2/sandboxSite.json +511 -0
  100. package/src/main/js/sap/ushell/bootstrap/sandbox2.js +398 -0
  101. package/src/main/js/sap/ushell/components/CatalogsManager.js +26 -25
  102. package/src/main/js/sap/ushell/components/ComponentKeysHandler.js +20 -15
  103. package/src/main/js/sap/ushell/components/DestroyHelper.js +2 -2
  104. package/src/main/js/sap/ushell/components/HeaderManager.js +6 -6
  105. package/src/main/js/sap/ushell/components/HomepageManager.js +6 -6
  106. package/src/main/js/sap/ushell/components/_HeaderManager/ControlManager.js +1 -1
  107. package/src/main/js/sap/ushell/components/_HomepageManager/PagingManager.js +5 -5
  108. package/src/main/js/sap/ushell/components/appfinder/AppFinder.controller.js +19 -15
  109. package/src/main/js/sap/ushell/components/appfinder/AppFinderView.js +12 -12
  110. package/src/main/js/sap/ushell/components/appfinder/Catalog.controller.js +18 -18
  111. package/src/main/js/sap/ushell/components/appfinder/CatalogView.js +17 -18
  112. package/src/main/js/sap/ushell/components/appfinder/EasyAccess.controller.js +2 -2
  113. package/src/main/js/sap/ushell/components/appfinder/HierarchyApps.controller.js +6 -6
  114. package/src/main/js/sap/ushell/components/appfinder/HierarchyAppsView.js +1 -1
  115. package/src/main/js/sap/ushell/components/appfinder/VisualizationOrganizerHelper.js +4 -4
  116. package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
  117. package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +16 -16
  118. package/src/main/js/sap/ushell/components/applicationIntegration/application/Application.js +8 -2
  119. package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxHandler.js +9 -18
  120. package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPI.js +9 -5
  121. package/src/main/js/sap/ushell/components/applicationIntegration/application/WebGUIStatefulHandler.js +5 -5
  122. package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +21 -26
  123. package/src/main/js/sap/ushell/components/applicationIntegration/elements/model.js +1 -1
  124. package/src/main/js/sap/ushell/components/applicationIntegration/relatedServices/RelatedServices.js +1 -1
  125. package/src/main/js/sap/ushell/components/applicationIntegration/relatedShellElements/RelatedShellElements.js +2 -4
  126. package/src/main/js/sap/ushell/components/cards/Configuration.controller.js +2 -2
  127. package/src/main/js/sap/ushell/components/cepsearchresult/app/Main.controller.js +6 -2
  128. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/Category.js +44 -6
  129. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/categories/Application.js +22 -9
  130. package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +25 -23
  131. package/src/main/js/sap/ushell/components/contentFinder/Component.js +1 -1
  132. package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +3 -3
  133. package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +1 -1
  134. package/src/main/js/sap/ushell/components/contentFinder/controller/WidgetGallery.controller.js +1 -1
  135. package/src/main/js/sap/ushell/components/contentFinder/manifest.json +4 -2
  136. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearch.view.xml +37 -17
  137. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchBox.fragment.xml +111 -35
  138. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchPaginated.view.xml +37 -18
  139. package/src/main/js/sap/ushell/components/contentFinder/view/ContentFinderDialog.view.xml +24 -15
  140. package/src/main/js/sap/ushell/components/contentFinder/view/WidgetGallery.view.xml +67 -39
  141. package/src/main/js/sap/ushell/components/factsheet/Component.js +1 -1
  142. package/src/main/js/sap/ushell/components/factsheet/controls/PictureTile.js +1 -2
  143. package/src/main/js/sap/ushell/components/factsheet/controls/PictureViewer.js +5 -6
  144. package/src/main/js/sap/ushell/components/factsheet/controls/PictureViewerItem.js +1 -2
  145. package/src/main/js/sap/ushell/components/factsheet/factory/ThingInspector.js +3 -3
  146. package/src/main/js/sap/ushell/components/factsheet/tools/ODataUrlTemplating.js +1 -1
  147. package/src/main/js/sap/ushell/components/homeApp/error/HomeAppError.controller.js +0 -1
  148. package/src/main/js/sap/ushell/components/homeApp/error/HomeAppError.view.xml +7 -6
  149. package/src/main/js/sap/ushell/components/homepage/ActionMode.js +1 -1
  150. package/src/main/js/sap/ushell/components/homepage/DashboardContent.controller.js +2 -7
  151. package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +13 -13
  152. package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +1 -1
  153. package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +1 -1
  154. package/src/main/js/sap/ushell/components/homepage/manifest.json +1 -1
  155. package/src/main/js/sap/ushell/components/pages/ActionMode.js +10 -10
  156. package/src/main/js/sap/ushell/components/pages/Component.js +1 -1
  157. package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +1 -1
  158. package/src/main/js/sap/ushell/components/pages/StateManager.js +2 -2
  159. package/src/main/js/sap/ushell/components/pages/controller/ImportDialog.controller.js +12 -12
  160. package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +94 -96
  161. package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
  162. package/src/main/js/sap/ushell/components/pages/view/PageRuntime.view.xml +31 -23
  163. package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +1 -1
  164. package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
  165. package/src/main/js/sap/ushell/components/shell/MenuBar/controller/MenuBar.controller.js +7 -6
  166. package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +1 -1
  167. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +1 -1
  168. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +2 -2
  169. package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +1 -1
  170. package/src/main/js/sap/ushell/components/shell/Notifications/Notifications.controller.js +3 -3
  171. package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +1 -1
  172. package/src/main/js/sap/ushell/components/shell/Search/ESearch.js +1 -1
  173. package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
  174. package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +2 -2
  175. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchCEP.controller.js +74 -16
  176. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchFieldFragment.fragment.xml +2 -1
  177. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +1 -2
  178. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +1 -2
  179. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +1 -1
  180. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchServiceProvider.js +1 -2
  181. package/src/main/js/sap/ushell/components/shell/Settings/Component.js +1 -1
  182. package/src/main/js/sap/ushell/components/shell/Settings/ErrorMessageHelper.js +8 -9
  183. package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.controller.js +3 -3
  184. package/src/main/js/sap/ushell/components/shell/Settings/appearance/Appearance.controller.js +43 -40
  185. package/src/main/js/sap/ushell/components/shell/Settings/notifications/NotificationsSetting.controller.js +1 -1
  186. package/src/main/js/sap/ushell/components/shell/Settings/userActivities/UserActivitiesSetting.controller.js +2 -2
  187. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/UserDefaultsForm.js +1 -1
  188. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/controller/UserDefaultsSetting.controller.js +8 -4
  189. package/src/main/js/sap/ushell/components/shell/Settings/userLanguageRegion/LanguageRegionSelector.controller.js +65 -17
  190. package/src/main/js/sap/ushell/components/shell/Settings/userLanguageRegion/LanguageRegionSelector.view.xml +18 -1
  191. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +1 -1
  192. package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +1 -1
  193. package/src/main/js/sap/ushell/components/tiles/applauncher/Configuration.view.xml +2 -2
  194. package/src/main/js/sap/ushell/components/tiles/applauncher/StaticTile.view.js +0 -2
  195. package/src/main/js/sap/ushell/components/tiles/applauncher/StaticTileTmp.view.js +0 -2
  196. package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/Configuration.view.xml +2 -2
  197. package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/DynamicTileTmp.view.js +0 -2
  198. package/src/main/js/sap/ushell/components/tiles/cdm/applauncher/StaticTile.view.js +0 -2
  199. package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.controller.js +1 -1
  200. package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.view.js +0 -2
  201. package/src/main/js/sap/ushell/components/tiles/indicatorTileUtils/oData4Analytics.js +41 -48
  202. package/src/main/js/sap/ushell/components/tiles/indicatorTileUtils/smartBusinessUtil.js +3 -3
  203. package/src/main/js/sap/ushell/components/tiles/utils.js +4 -3
  204. package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +5 -18
  205. package/src/main/js/sap/ushell/components/visualizationOrganizer/VisualizationOrganizerPopover.fragment.xml +3 -3
  206. package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +1 -1
  207. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility.js +1 -1
  208. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +332 -153
  209. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.layout.js +182 -90
  210. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageHost.js +2 -2
  211. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +9 -11
  212. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +48 -48
  213. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +12 -12
  214. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +8 -8
  215. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnRenderer.js +7 -9
  216. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +44 -44
  217. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRenderer.js +7 -4
  218. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +60 -10
  219. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRowRenderer.js +12 -8
  220. package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +8 -1
  221. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources.properties +10 -2
  222. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ar.properties +10 -6
  223. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_bg.properties +10 -6
  224. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ca.properties +10 -6
  225. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_cs.properties +10 -6
  226. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_cy.properties +10 -6
  227. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_da.properties +10 -6
  228. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_de.properties +11 -7
  229. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_el.properties +10 -6
  230. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_en.properties +6 -2
  231. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_en_GB.properties +6 -2
  232. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_en_US_sappsd.properties +6 -2
  233. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_en_US_saprigi.properties +6 -2
  234. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_en_US_saptrc.properties +13 -6
  235. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_es.properties +10 -6
  236. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_es_MX.properties +10 -6
  237. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_et.properties +10 -6
  238. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_fi.properties +11 -7
  239. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_fr.properties +10 -6
  240. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_fr_CA.properties +10 -6
  241. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_hi.properties +10 -6
  242. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_hr.properties +10 -6
  243. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_hu.properties +10 -6
  244. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_id.properties +10 -6
  245. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_it.properties +11 -7
  246. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_iw.properties +10 -6
  247. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ja.properties +11 -7
  248. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_kk.properties +10 -6
  249. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ko.properties +10 -6
  250. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_lt.properties +10 -6
  251. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_lv.properties +10 -6
  252. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ms.properties +10 -6
  253. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_nl.properties +10 -6
  254. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_no.properties +11 -7
  255. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_pl.properties +10 -6
  256. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_pt.properties +10 -6
  257. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_pt_PT.properties +10 -6
  258. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ro.properties +10 -6
  259. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ru.properties +10 -6
  260. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_sh.properties +10 -6
  261. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_sk.properties +10 -6
  262. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_sl.properties +10 -6
  263. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_sv.properties +10 -6
  264. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_th.properties +10 -6
  265. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_tr.properties +10 -6
  266. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_uk.properties +10 -6
  267. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_vi.properties +10 -6
  268. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_zh_CN.properties +10 -6
  269. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_zh_TW.properties +10 -6
  270. package/src/main/js/sap/ushell/components/workPageBuilder/view/WorkPageBuilder.view.xml +50 -34
  271. package/src/main/js/sap/ushell/components/workPageBuilder/view/WorkPageCellDeleteDialog.fragment.xml +25 -0
  272. package/src/main/js/sap/ushell/components/workPageBuilder/view/WorkPageRowDeleteDialog.fragment.xml +13 -5
  273. package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +1 -1
  274. package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +7 -3
  275. package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +5 -1
  276. package/src/main/js/sap/ushell/components/workPageRuntime/services/NavigationResolver.js +1 -2
  277. package/src/main/js/sap/ushell/components/workPageRuntime/services/WorkPage.js +1 -2
  278. package/src/main/js/sap/ushell/components/workPageRuntime/view/WorkPageRuntime.view.xml +5 -4
  279. package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
  280. package/src/main/js/sap/ushell/library.js +4 -2
  281. package/src/main/js/sap/ushell/navigationMode.js +111 -122
  282. package/src/main/js/sap/ushell/override.js +1 -1
  283. package/src/main/js/sap/ushell/performance/FesrEnhancer.js +258 -183
  284. package/src/main/js/sap/ushell/performance/ShellAnalytics.js +206 -207
  285. package/src/main/js/sap/ushell/performance/StatisticalRecord.js +366 -230
  286. package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
  287. package/src/main/js/sap/ushell/renderers/fiori2/LogonFrameProvider.js +2 -2
  288. package/src/main/js/sap/ushell/renderers/fiori2/Renderer.js +39 -23
  289. package/src/main/js/sap/ushell/renderers/fiori2/RendererExtensions.js +105 -25
  290. package/src/main/js/sap/ushell/renderers/fiori2/Shell.controller.js +67 -50
  291. package/src/main/js/sap/ushell/renderers/fiori2/ShellLayout.js +1 -1
  292. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources.properties +21 -1
  293. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_ar.properties +12 -1
  294. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_bg.properties +12 -1
  295. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_ca.properties +12 -1
  296. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_cs.properties +12 -1
  297. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_cy.properties +12 -1
  298. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_da.properties +12 -1
  299. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_de.properties +15 -4
  300. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_el.properties +12 -1
  301. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_en.properties +11 -0
  302. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_en_GB.properties +11 -0
  303. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_en_US_sappsd.properties +11 -0
  304. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_en_US_saprigi.properties +11 -0
  305. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_en_US_saptrc.properties +12 -0
  306. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_es.properties +12 -1
  307. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_es_MX.properties +14 -3
  308. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_et.properties +12 -1
  309. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_fi.properties +12 -1
  310. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_fr.properties +12 -1
  311. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_fr_CA.properties +12 -1
  312. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_hi.properties +12 -1
  313. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_hr.properties +12 -1
  314. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_hu.properties +12 -1
  315. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_id.properties +12 -1
  316. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_it.properties +12 -1
  317. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_iw.properties +16 -5
  318. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_ja.properties +12 -1
  319. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_kk.properties +12 -1
  320. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_ko.properties +13 -2
  321. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_lt.properties +12 -1
  322. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_lv.properties +12 -1
  323. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_ms.properties +12 -1
  324. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_nl.properties +12 -1
  325. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_no.properties +12 -1
  326. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_pl.properties +12 -1
  327. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_pt.properties +12 -1
  328. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_pt_PT.properties +12 -1
  329. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_ro.properties +12 -1
  330. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_ru.properties +12 -1
  331. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_sh.properties +12 -1
  332. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_sk.properties +12 -1
  333. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_sl.properties +12 -1
  334. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_sv.properties +12 -1
  335. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_th.properties +12 -1
  336. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_tr.properties +12 -1
  337. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_uk.properties +12 -1
  338. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_vi.properties +12 -1
  339. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_zh_CN.properties +12 -1
  340. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_zh_TW.properties +12 -1
  341. package/src/main/js/sap/ushell/renderers/fiori2/search/searchComponent/controller/CEPSearchApp.controller.js +4 -4
  342. package/src/main/js/sap/ushell/renderers/fiori2/search/searchComponent/controller/SearchApp.controller.js +3 -3
  343. package/src/main/js/sap/ushell/renderers/fiori2/search/searchComponent/manifest.json +1 -1
  344. package/src/main/js/sap/ushell/renderers/fiori2/search/searchComponent/view/CEPSearchApp.view.js +4 -3
  345. package/src/main/js/sap/ushell/renderers/fiori2/search/searchComponent/view/SearchApp.view.js +4 -3
  346. package/src/main/js/sap/ushell/services/AppConfiguration.js +3 -3
  347. package/src/main/js/sap/ushell/services/AppLifeCycle.js +1 -1
  348. package/src/main/js/sap/ushell/services/AppState.js +2 -3
  349. package/src/main/js/sap/ushell/services/Bookmark.js +1 -1
  350. package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +97 -101
  351. package/src/main/js/sap/ushell/services/CommonDataModel.js +4 -5
  352. package/src/main/js/sap/ushell/services/Configuration.js +1 -2
  353. package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +2 -2
  354. package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +1 -1
  355. package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +36 -33
  356. package/src/main/js/sap/ushell/services/DarkModeSupport.js +2 -2
  357. package/src/main/js/sap/ushell/services/EndUserFeedback.js +2 -2
  358. package/src/main/js/sap/ushell/services/LaunchPage.js +11 -8
  359. package/src/main/js/sap/ushell/services/Menu.js +31 -37
  360. package/src/main/js/sap/ushell/services/Message.js +1 -2
  361. package/src/main/js/sap/ushell/services/MessageBroker.js +1 -2
  362. package/src/main/js/sap/ushell/services/NavTargetResolution.js +70 -43
  363. package/src/main/js/sap/ushell/services/Navigation.js +1356 -0
  364. package/src/main/js/sap/ushell/services/NavigationDataProvider.js +7 -5
  365. package/src/main/js/sap/ushell/services/Notifications.js +16 -16
  366. package/src/main/js/sap/ushell/services/PageBuilding.js +1 -2
  367. package/src/main/js/sap/ushell/services/PagePersistence.js +6 -6
  368. package/src/main/js/sap/ushell/services/PageReferencing.js +2 -2
  369. package/src/main/js/sap/ushell/services/Pages.js +24 -25
  370. package/src/main/js/sap/ushell/services/Personalization.js +5 -5
  371. package/src/main/js/sap/ushell/services/PluginManager.js +1 -2
  372. package/src/main/js/sap/ushell/services/ReferenceResolver.js +2 -2
  373. package/src/main/js/sap/ushell/services/Search.js +1 -1
  374. package/src/main/js/sap/ushell/services/SearchCEP.js +2 -1
  375. package/src/main/js/sap/ushell/services/SearchableContent.js +85 -59
  376. package/src/main/js/sap/ushell/services/ShellNavigation.js +59 -17
  377. package/src/main/js/sap/ushell/services/ShellNavigationHashChanger.js +115 -39
  378. package/src/main/js/sap/ushell/services/SmartNavigation.js +4 -4
  379. package/src/main/js/sap/ushell/services/SpaceContent.js +5 -6
  380. package/src/main/js/sap/ushell/services/SupportTicket.js +1 -1
  381. package/src/main/js/sap/ushell/services/UITracer.js +5 -3
  382. package/src/main/js/sap/ushell/services/URLShortening.js +2 -2
  383. package/src/main/js/sap/ushell/services/URLTemplate.js +2 -2
  384. package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +7 -7
  385. package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +1 -2
  386. package/src/main/js/sap/ushell/services/UserDefaultParameters.js +9 -8
  387. package/src/main/js/sap/ushell/services/UserInfo.js +8 -1
  388. package/src/main/js/sap/ushell/services/UserRecents.js +91 -69
  389. package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +10 -6
  390. package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +1 -3
  391. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Formatter.js +1 -1
  392. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundIndex.js +1 -1
  393. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundProvider.js +2 -5
  394. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/PrelaunchOperations.js +2 -2
  395. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Search.js +11 -11
  396. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/StagedLogger.js +1 -1
  397. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/SystemContext.js +1 -1
  398. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Utils.js +6 -6
  399. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/VirtualInbounds.js +1 -1
  400. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/XAppStateProcessing.js +6 -26
  401. package/src/main/js/sap/ushell/services/_CommonDataModel/PersonalizationProcessor.js +1 -2
  402. package/src/main/js/sap/ushell/services/_CommonDataModel/SiteConverter.js +1 -1
  403. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +1 -1
  404. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +2 -2
  405. package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +9 -14
  406. package/src/main/js/sap/ushell/services/_MessageBroker/MessageBrokerEngine.js +1 -1
  407. package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +1 -1
  408. package/src/main/js/sap/ushell/services/_Personalization/ContextContainer.js +34 -21
  409. package/src/main/js/sap/ushell/services/_Personalization/Variant.js +5 -2
  410. package/src/main/js/sap/ushell/services/_Personalization/VariantSet.js +18 -12
  411. package/src/main/js/sap/ushell/services/_Personalization/utils.js +2 -2
  412. package/src/main/js/sap/ushell/services/_PluginManager/Extensions.js +1 -1
  413. package/src/main/js/sap/ushell/services/_PluginManager/HeaderExtensions.js +3 -3
  414. package/src/main/js/sap/ushell/services/_PluginManager/MenuExtensions.js +1 -1
  415. package/src/main/js/sap/ushell/services/_Ui5ComponentLoader/utils.js +1 -1
  416. package/src/main/js/sap/ushell/services/_UserRecents/RecentActivity.js +206 -214
  417. package/src/main/js/sap/ushell/services/_UserRecents/RecentAppsUsage.js +46 -54
  418. package/src/main/js/sap/ushell/services/_UserRecents/RecentsList.js +39 -40
  419. package/src/main/js/sap/ushell/services/_UserRecents/UserRecentsBase.js +29 -36
  420. package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstance.js +1 -1
  421. package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstanceAbap.js +1 -1
  422. package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstanceCdm.js +1 -1
  423. package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstanceLaunchPage.js +10 -8
  424. package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstanceLink.js +2 -2
  425. package/src/main/js/sap/ushell/services/appstate/LimitedBuffer.js +1 -2
  426. package/src/main/js/sap/ushell/services/appstate/Sequentializer.js +1 -1
  427. package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
  428. package/src/main/js/sap/ushell/themes/base/ContentFinder.less +8 -12
  429. package/src/main/js/sap/ushell/themes/base/SearchCEP.less +11 -4
  430. package/src/main/js/sap/ushell/themes/base/ShellHeader.less +0 -4
  431. package/src/main/js/sap/ushell/themes/base/UserSettings.less +3 -46
  432. package/src/main/js/sap/ushell/themes/base/WorkPage.less +39 -10
  433. package/src/main/js/sap/ushell/themes/base/WorkPageButton.less +7 -7
  434. package/src/main/js/sap/ushell/themes/base/WorkPageCell.less +48 -45
  435. package/src/main/js/sap/ushell/themes/base/WorkPageColumn.less +7 -69
  436. package/src/main/js/sap/ushell/themes/base/WorkPageColumnResizer.less +43 -38
  437. package/src/main/js/sap/ushell/themes/base/WorkPageRow.less +879 -29
  438. package/src/main/js/sap/ushell/themes/base/fonts/horizon/BusinessSuiteInAppSymbols.eot +0 -0
  439. package/src/main/js/sap/ushell/themes/base/fonts/horizon/BusinessSuiteInAppSymbols.ttf +0 -0
  440. package/src/main/js/sap/ushell/themes/base/fonts/horizon/BusinessSuiteInAppSymbols.woff +0 -0
  441. package/src/main/js/sap/ushell/themes/base/fonts/horizon/BusinessSuiteInAppSymbols.woff2 +0 -0
  442. package/src/main/js/sap/ushell/themes/sap_horizon/SearchCEP.less +5 -1
  443. package/src/main/js/sap/ushell/themes/sap_horizon/ToolAreaItem.less +1 -1
  444. package/src/main/js/sap/ushell/themes/sap_horizon/WorkPageCell.less +2 -1
  445. package/src/main/js/sap/ushell/themes/sap_horizon_dark/SearchCEP.less +5 -1
  446. package/src/main/js/sap/ushell/themes/sap_horizon_dark/ToolAreaItem.less +1 -1
  447. package/src/main/js/sap/ushell/themes/sap_horizon_dark/WorkPageCell.less +2 -1
  448. package/src/main/js/sap/ushell/themes/sap_horizon_hcb/SearchCEP.less +5 -1
  449. package/src/main/js/sap/ushell/themes/sap_horizon_hcb/WorkPageCell.less +2 -1
  450. package/src/main/js/sap/ushell/themes/sap_horizon_hcw/SearchCEP.less +5 -1
  451. package/src/main/js/sap/ushell/themes/sap_horizon_hcw/WorkPageCell.less +2 -1
  452. package/src/main/js/sap/ushell/ui/AppContainer.js +0 -1
  453. package/src/main/js/sap/ushell/ui/ContentNodeSelector.js +1 -1
  454. package/src/main/js/sap/ushell/ui/QuickAccess.js +2 -2
  455. package/src/main/js/sap/ushell/ui/ShellHeader.js +0 -33
  456. package/src/main/js/sap/ushell/ui/ShellHeaderRenderer.js +16 -2
  457. package/src/main/js/sap/ushell/ui/appfinder/AppBox.js +0 -1
  458. package/src/main/js/sap/ushell/ui/bookmark/SaveOnPage.view.xml +6 -6
  459. package/src/main/js/sap/ushell/ui/cards/FrequentActivitiesExtension.js +1 -1
  460. package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +1 -1
  461. package/src/main/js/sap/ushell/ui/footerbar/AboutButton.js +0 -1
  462. package/src/main/js/sap/ushell/ui/footerbar/AddBookmarkButton.js +35 -20
  463. package/src/main/js/sap/ushell/ui/footerbar/ContactSupportButton.js +5 -5
  464. package/src/main/js/sap/ushell/ui/footerbar/JamDiscussButton.js +13 -12
  465. package/src/main/js/sap/ushell/ui/footerbar/JamShareButton.js +30 -23
  466. package/src/main/js/sap/ushell/ui/footerbar/LogoutButton.js +0 -1
  467. package/src/main/js/sap/ushell/ui/footerbar/SaveAsTile.view.js +1 -12
  468. package/src/main/js/sap/ushell/ui/footerbar/SendAsEmailButton.js +0 -1
  469. package/src/main/js/sap/ushell/ui/launchpad/ActionItem.js +0 -1
  470. package/src/main/js/sap/ushell/ui/launchpad/AnchorItem.js +0 -1
  471. package/src/main/js/sap/ushell/ui/launchpad/AnchorNavigationBar.js +0 -1
  472. package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
  473. package/src/main/js/sap/ushell/ui/launchpad/FailedTileDialog.js +4 -4
  474. package/src/main/js/sap/ushell/ui/launchpad/GroupHeaderActions.js +0 -1
  475. package/src/main/js/sap/ushell/ui/launchpad/GroupListItem.js +0 -1
  476. package/src/main/js/sap/ushell/ui/launchpad/LinkTileWrapper.js +1 -1
  477. package/src/main/js/sap/ushell/ui/launchpad/LoadingDialog.js +0 -1
  478. package/src/main/js/sap/ushell/ui/launchpad/Page.js +1 -1
  479. package/src/main/js/sap/ushell/ui/launchpad/PlusTile.js +0 -1
  480. package/src/main/js/sap/ushell/ui/launchpad/Section.js +3 -3
  481. package/src/main/js/sap/ushell/ui/launchpad/Tile.js +0 -1
  482. package/src/main/js/sap/ushell/ui/launchpad/TileContainer.js +0 -1
  483. package/src/main/js/sap/ushell/ui/launchpad/TileContainerRenderer.js +3 -3
  484. package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +4 -5
  485. package/src/main/js/sap/ushell/ui/shell/RightFloatingContainer.js +1 -1
  486. package/src/main/js/sap/ushell/ui/shell/ShellAppTitle.js +3 -2
  487. package/src/main/js/sap/ushell/ui/shell/ShellHeadItem.js +7 -8
  488. package/src/main/js/sap/ushell/ui/shell/SysInfoBar.js +5 -4
  489. package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +1 -2
  490. package/src/main/js/sap/ushell/ui/tile/DynamicTile.js +0 -1
  491. package/src/main/js/sap/ushell/ui/tile/ImageTile.js +0 -1
  492. package/src/main/js/sap/ushell/ui/tile/StaticTile.js +0 -1
  493. package/src/main/js/sap/ushell/ui/tile/TileBase.js +0 -1
  494. package/src/main/js/sap/ushell/ui/utils.js +1 -1
  495. package/src/main/js/sap/ushell/ui5service/ShellUIService.js +1 -1
  496. package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
  497. package/src/main/js/sap/ushell/ui5service/_ShellUIService/shelluiservice.class.factory.js +1 -1
  498. package/src/main/js/sap/ushell/utils/DynamicTileRequest.js +353 -323
  499. package/src/main/js/sap/ushell/utils/HttpClient.js +0 -1
  500. package/src/main/js/sap/ushell/utils/RestrictedJSONModel.js +1 -1
  501. package/src/main/js/sap/ushell/utils/UrlParsing.js +18 -14
  502. package/src/main/js/sap/ushell/utils/UrlShortening.js +2 -2
  503. package/src/main/js/sap/ushell/utils/objectOperations.js +1 -1
  504. package/src/main/js/sap/ushell/utils/type.js +1 -1
  505. package/src/main/js/sap/ushell/utils/utilsCdm.js +3 -3
  506. package/src/main/js/sap/ushell/utils.js +167 -37
  507. package/src/test/js/sap/ushell/bootstrap/sandbox.js +2 -2
  508. package/ui5.yaml +2 -1
  509. package/src/main/js/sap/ushell/appRuntime/ui5/services/Menu.js +0 -22
  510. package/src/main/js/sap/ushell/utils/clone.js +0 -167
@@ -3,72 +3,67 @@
3
3
  * @fileOverview Provides analytical data like duration for navigation steps in the shell, in FLP,
4
4
  * in particular an array of all statistical records
5
5
  *
6
- * @version 1.117.2
6
+ * @version 1.119.0
7
7
  */
8
8
  sap.ui.define([
9
+ "sap/base/Log",
9
10
  "sap/ushell/EventHub",
10
11
  "sap/ushell/services/AppConfiguration",
11
12
  "sap/ushell/performance/StatisticalRecord",
12
- "sap/ushell/utils",
13
- "sap/ushell/Config"
14
- ], function (EventHub, AppConfiguration, StatisticalRecord, Utils, Config) {
13
+ "sap/ushell/utils"
14
+ ], function (
15
+ Log,
16
+ EventHub,
17
+ AppConfiguration,
18
+ StatisticalRecord,
19
+ Utils
20
+ ) {
15
21
  "use strict";
16
22
 
17
- var aStatisticalRecords = [];
18
- var aDoable = [];
19
- var bHomePageLoaded = false;
20
- var bInitialized = false;
23
+ const sModuleName = "ShellAnalytics";
24
+ const sLogPrefix = "[FesrFlp]";
21
25
 
22
- var oStatisticalRecord, // current statistical record
26
+ let aStatisticalRecords = [];
27
+ let aDoables = [];
28
+ let bHomePageLoaded = false;
29
+ let bInitialized = false;
30
+
31
+ let oStatisticalRecord, // current statistical record
23
32
  oCurrentApplication,
24
33
  lastHashChangeTime;
25
34
 
26
- var TRIGGERS = {
27
- dashboardTileClick: "HOMEPAGE_TILE",
28
- dashboardTileLinkClick: "HOMEPAGE_LINK",
29
- catalogTileClick: "FINDER_TILE"
30
- };
31
-
32
- var NAVIGATION_MODE = {
35
+ const NAVIGATION_MODE = {
33
36
  EXPLACE: "EXPLACE",
34
37
  INPLACE: "INPLACE"
35
38
  };
36
39
 
37
- var FLP_APPLICATION_LOOKUP = {
40
+ const FLP_APPLICATION_LOOKUP = {
38
41
  "sap.ushell.components.appfinder": "FLP_FINDER",
39
42
  "sap.ushell.components.pages": "FLP_PAGE",
40
43
  "sap.ushell.components.homepage": "FLP_HOME"
41
44
  };
42
45
 
43
- var aTriggers = ["dashboardTileClick", "dashboardTileLinkClick", "catalogTileClick"];
44
-
45
- /**
46
- * Gets the event bus
47
- * @returns {object} oEventBus The event bus
48
- */
49
- function _getEventBus () {
50
- return sap.ui.getCore().getEventBus();
51
- }
52
-
53
46
  /**
54
47
  * Check if application is FLP homepage
55
48
  *
56
- * @param {object} application application
49
+ * @param {object} [oApplication] application
57
50
  *
58
51
  * @returns {boolean} true for homepage and page runtime and for special case that it is a home application
59
52
  */
60
- function _isFLPHome (application) {
61
-
62
- return application.id === "FLP_HOME" || application.id === "FLP_PAGE";
53
+ function _isFLPHome (oApplication) {
54
+ if (!oApplication) {
55
+ return false;
56
+ }
57
+ return oApplication.id === "FLP_HOME" || oApplication.id === "FLP_PAGE";
63
58
  }
64
59
 
65
60
  /**
66
61
  * Is application a home application
67
- * @param {object} application application
62
+ * @param {object} [oApplication] application
68
63
  * @returns {boolean} isHomeApp true if given application is a home application
69
64
  */
70
- function _isHomeApp (application) {
71
- return application.isHomeApp;
65
+ function _isHomeApp (oApplication) {
66
+ return oApplication && oApplication.isHomeApp;
72
67
  }
73
68
 
74
69
  /**
@@ -81,10 +76,10 @@ sap.ui.define([
81
76
 
82
77
  /**
83
78
  * Gets last closed record
84
- * @returns {object} oLastClosedRecord last closed record
79
+ * @returns {sap.ushell.performance.StatisticalRecord} last closed record
85
80
  */
86
81
  function getLastClosedRecord () {
87
- var aClosedRecords = getAllRecords().filter(function (oRecord) {
82
+ const aClosedRecords = getAllRecords().filter((oRecord) => {
88
83
  return oRecord.isClosed();
89
84
  });
90
85
  if (aClosedRecords.length > 0) {
@@ -94,18 +89,19 @@ sap.ui.define([
94
89
  }
95
90
  /**
96
91
  * Gets the next record according to the start time in a navigation given a last tracked record
97
- * @param {object} oLastTrackedRecord The last tracked record
98
- * @returns {object} oNextNavigationRecord The next navigation record or undefined if it does not exist
92
+ * @param {sap.ushell.performance.StatisticalRecord} [oLastTrackedRecord] The last tracked record
93
+ * @returns {sap.ushell.performance.StatisticalRecord} oNextNavigationRecord The next navigation record or undefined if it does not exist
99
94
  */
100
95
  function getNextNavigationRecords (oLastTrackedRecord) {
101
96
  if (!oLastTrackedRecord) {
102
- return getAllRecords();
97
+ return getAllRecords().filter((oRecord) => {
98
+ return oRecord.isClosed();
99
+ });
103
100
  }
104
101
 
105
- return getAllRecords().filter(function (oRecord) {
102
+ return getAllRecords().filter((oRecord) => {
106
103
  return oLastTrackedRecord.getTimeStart() < oRecord.getTimeStart() && oRecord.isClosed();
107
104
  });
108
-
109
105
  }
110
106
 
111
107
  function getCurrentApplication () {
@@ -113,6 +109,7 @@ sap.ui.define([
113
109
  }
114
110
 
115
111
  function _setCurrentApplication (oApplication) {
112
+ Log.debug(`${sLogPrefix} ShellAnalytics setCurrentApplication: ${oApplication && oApplication.id}`, null, sModuleName);
116
113
  oCurrentApplication = oApplication;
117
114
  }
118
115
 
@@ -125,43 +122,37 @@ sap.ui.define([
125
122
  }
126
123
  /**
127
124
  * Gets the current statistical record or creates it if it does not exist
128
- * @returns {object} oStatisticalRecord The current statistical record
125
+ * @returns {sap.ushell.performance.StatisticalRecord} The current statistical record
129
126
  */
130
127
  function _getOrCreateCurrentStatisticalRecord () {
131
128
  if (!oStatisticalRecord) {
132
- oStatisticalRecord = new StatisticalRecord();
129
+ const oLastRecord = aStatisticalRecords[aStatisticalRecords.length - 1] || null;
130
+ oStatisticalRecord = new StatisticalRecord(oLastRecord);
133
131
  aStatisticalRecords.push(oStatisticalRecord);
134
132
  }
135
133
  return oStatisticalRecord;
136
134
  }
137
135
 
138
- /**
139
- * Handles home page action
140
- * @param {string} sChannel EventBus channel
141
- * @param {string} sEvent EventBus event name
142
- */
143
- function _handleHomepageAction (sChannel, sEvent) {
144
- _getOrCreateCurrentStatisticalRecord().setTrigger(TRIGGERS[sEvent]);
145
- }
146
-
147
136
  /**
148
137
  * Tracks a new target hash with time in a statistical record
149
- * @param {object} sNewHash New hash value
138
+ * @param {string} sNewHash New hash value
150
139
  */
151
140
  function trackNewTargetHash (sNewHash) {
152
- _getOrCreateCurrentStatisticalRecord().setTargetHash(sNewHash);
153
- _getOrCreateCurrentStatisticalRecord().setTimeStart(lastHashChangeTime || performance.now());
141
+ const oRecord = _getOrCreateCurrentStatisticalRecord();
142
+ oRecord.setTargetHash(sNewHash);
143
+ oRecord.setTimeStart(lastHashChangeTime || performance.now());
154
144
  }
145
+
155
146
  /**
156
147
  * Removes the parameters of a technical name that comes
157
148
  * with a transaction name and parameters.
158
149
  * Removes star at the beginning if it exists.
159
150
  * Replaces the string (TCODE) by the string (TR) at the end.
160
- * @param {string} sTechnicalName Technical name of a transaction with parameters or WD application
151
+ * @param {string} [sTechnicalName] Technical name of a transaction with parameters or WD application
161
152
  * @returns {string} The transaction name or an empty string if input is not a transaction
162
153
  */
163
154
  function _removeParametersIfTransaction (sTechnicalName) {
164
- var sTechnicalNameWithDefault = sTechnicalName || "";
155
+ const sTechnicalNameWithDefault = sTechnicalName || "";
165
156
  if (sTechnicalNameWithDefault.slice(-7) === "(TCODE)") {
166
157
  return sTechnicalNameWithDefault
167
158
  .replace(/ .*/, "") // remove all starting with a space
@@ -172,14 +163,14 @@ sap.ui.define([
172
163
  return sTechnicalNameWithDefault;
173
164
  }
174
165
 
175
- /**
166
+ /**
176
167
  * Gets the current application id from the manifest.
177
168
  * @param {object} oCurrentApp The application object from sap.ushell.Container.getServiceAsync("AppLifeCycle")
178
169
  * @returns {string} Application id like sap.ushell.components.homepage
179
170
  */
180
171
  function _getAppIdFromManifest (oCurrentApp) {
181
- var sApplicationId = "";
182
- var oApplicationManifest = oCurrentApp && oCurrentApp.componentInstance && oCurrentApp.componentInstance.getManifest();
172
+ let sApplicationId = "";
173
+ const oApplicationManifest = oCurrentApp.componentInstance && oCurrentApp.componentInstance.getManifest();
183
174
  if (oApplicationManifest && oApplicationManifest["sap.app"] && oApplicationManifest["sap.app"].id) {
184
175
  sApplicationId = oApplicationManifest["sap.app"].id;
185
176
  }
@@ -190,76 +181,74 @@ sap.ui.define([
190
181
  * Gets the current application. This can be a UI5, Web Dynpro, SAP GUI or WCF application
191
182
  * @returns {Promise<object>} A promise to be resolved after service is loaded. The promise resolves to the current application.
192
183
  */
193
- function _getCurrentApplication () {
194
- return sap.ushell.Container.getServiceAsync("AppLifeCycle").then(function (oAppLifeCycleService) {
195
- // error case
196
- var oCurrentApp = oAppLifeCycleService.getCurrentApplication();
197
- if (!oCurrentApp) {
198
- return {};
199
- }
200
- // some preparation
201
- var bIsHomeApp = oCurrentApp
202
- && oCurrentApp.componentInstance
203
- && oCurrentApp.componentInstance.sId
204
- && oCurrentApp.componentInstance.sId.includes("homeApp-component");
205
- var oPromiseFioriIds;
206
- // Method getTechnicalParameter might not exist.
207
- if (oCurrentApp.getTechnicalParameter) {
208
- oPromiseFioriIds = oCurrentApp.getTechnicalParameter("sap-fiori-id");
209
- } else {
210
- oPromiseFioriIds = Promise.resolve([]);
211
- }
212
-
213
- // get Fiori Id
214
- return oPromiseFioriIds.then(function (aFioriIds) {
215
- var sApplicationId = aFioriIds && aFioriIds[0];
216
- // custom home
217
- if (bIsHomeApp) {
218
- return {
219
- type: "UI5",
220
- id: sApplicationId,
221
- isHomeApp: true
222
- };
223
- }
224
-
225
- // home page
226
- if (oCurrentApp.homePage) {
227
- var sId = FLP_APPLICATION_LOOKUP[_getAppIdFromManifest(oCurrentApp)] || "FLP_HOME";
228
- return {
229
- type: "UI5",
230
- id: sId
231
- };
232
- }
233
-
234
- // UI5 app
235
- if (oCurrentApp.applicationType === "UI5") {
236
- if (!sApplicationId) {
237
- sApplicationId = _getAppIdFromManifest(oCurrentApp);
238
- //Additional check that it is not flp application
239
- sApplicationId = FLP_APPLICATION_LOOKUP[sApplicationId] || sApplicationId;
240
- }
241
- //sApplicationId from sap.app.id can have comma (there is no validation from manifest validation)
242
- sApplicationId = sApplicationId.replace(/,/g, "");
243
- return {
244
- type: "UI5",
245
- id: sApplicationId
246
- };
247
- }
248
-
249
- // application Type WDA / TR / WCF
250
- // get technicalName from application configuration
251
- var sTechnicalNameFromAppConfiguration = AppConfiguration.getMetadata().technicalName || AppConfiguration.getCurrentApplication().text || oCurrentApp.applicationType;
252
- var sTechnicalNameForFESR = _removeParametersIfTransaction(
253
- //need to remove all comma, because fesr has the csv format with comma separation
254
- sTechnicalNameFromAppConfiguration.replace(/,/g, "")
255
- );
184
+ async function _getCurrentApplication () {
185
+ const oAppLifeCycleService = await sap.ushell.Container.getServiceAsync("AppLifeCycle");
186
+ // error case
187
+ const oCurrentApp = oAppLifeCycleService.getCurrentApplication();
188
+ if (!oCurrentApp) {
189
+ return {};
190
+ }
191
+ // some preparation
192
+ const bIsHomeApp = oCurrentApp
193
+ && oCurrentApp.componentInstance
194
+ && oCurrentApp.componentInstance.sId
195
+ && oCurrentApp.componentInstance.sId.includes("homeApp-component");
196
+ let oPromiseFioriIds;
197
+ // Method getTechnicalParameter might not exist.
198
+ if (oCurrentApp.getTechnicalParameter) {
199
+ oPromiseFioriIds = oCurrentApp.getTechnicalParameter("sap-fiori-id");
200
+ } else {
201
+ oPromiseFioriIds = Promise.resolve([]);
202
+ }
256
203
 
204
+ // get Fiori Id
205
+ const aFioriIds = await oPromiseFioriIds;
206
+ let sApplicationId = aFioriIds && aFioriIds[0];
207
+ // custom home
208
+ if (bIsHomeApp) {
257
209
  return {
258
- type: oCurrentApp.applicationType,
259
- id: sTechnicalNameForFESR
210
+ type: "UI5",
211
+ id: sApplicationId,
212
+ isHomeApp: true
260
213
  };
261
- });
262
- });
214
+ }
215
+
216
+ // home page
217
+ if (oCurrentApp.homePage) {
218
+ const sId = FLP_APPLICATION_LOOKUP[_getAppIdFromManifest(oCurrentApp)] || "FLP_HOME";
219
+ return {
220
+ type: "UI5",
221
+ id: sId
222
+ };
223
+ }
224
+
225
+ // UI5 app
226
+ if (oCurrentApp.applicationType === "UI5") {
227
+ if (!sApplicationId) {
228
+ sApplicationId = _getAppIdFromManifest(oCurrentApp);
229
+ //Additional check that it is not flp application
230
+ sApplicationId = FLP_APPLICATION_LOOKUP[sApplicationId] || sApplicationId;
231
+ }
232
+ //sApplicationId from sap.app.id can have comma (there is no validation from manifest validation)
233
+ sApplicationId = sApplicationId.replace(/,/g, "");
234
+ return {
235
+ type: "UI5",
236
+ id: sApplicationId
237
+ };
238
+ }
239
+
240
+ // application Type WDA / TR / WCF
241
+ // get technicalName from application configuration
242
+ const sTechnicalNameFromAppConfiguration = AppConfiguration.getMetadata().technicalName || AppConfiguration.getCurrentApplication().text || oCurrentApp.applicationType;
243
+ const sTechnicalNameForFESR = _removeParametersIfTransaction(
244
+ //need to remove all comma, because fesr has the csv format with comma separation
245
+ sTechnicalNameFromAppConfiguration.replace(/,/g, "")
246
+ );
247
+
248
+ return {
249
+ type: oCurrentApp.applicationType,
250
+ id: sTechnicalNameForFESR
251
+ };
263
252
  }
264
253
 
265
254
 
@@ -269,35 +258,31 @@ sap.ui.define([
269
258
  * Additionally method check if the homepage loaded the first time (use global bHomePageLoaded variable)
270
259
  * and update the record respectively.
271
260
  *
272
- * @param {object} oSourceApplication source application
261
+ * @param {object} [oSourceApplication] source application
273
262
  * @param {string} oSourceApplication.id Fiori id for ui5 application or sTechnicalName for others
274
- * @param {string} oSourceApplication.isHomeApp true, if it is a custom application
275
- * @param {object} oTargetApplication target application
263
+ * @param {boolean} oSourceApplication.isHomeApp true, if it is a custom application
264
+ * @param {object} [oTargetApplication] target application
276
265
  * @param {string} oTargetApplication.id Fiori id for ui5 application or sTechnicalName for others
277
- * @param {string} oTargetApplication.isHomeApp true, if it is a custom application
266
+ * @param {boolean} oTargetApplication.isHomeApp true, if it is a custom application
278
267
  * @param {string} oTargetApplication.type Type of the application. For example, UI5
279
268
  * @param {string} sNavigationMode navigation mode
280
-
269
+ * @param {sap.ushell.performance.StatisticalRecord} oRecord the related Statistical Record
270
+ *
281
271
  */
282
- function _closeNavigation (oSourceApplication, oTargetApplication, sNavigationMode) {
283
- if (oStatisticalRecord) {
284
- oStatisticalRecord.setSourceApplication(oSourceApplication && oSourceApplication.id);
285
- oStatisticalRecord.setTargetApplication(oTargetApplication && oTargetApplication.id);
286
- oStatisticalRecord.setTargetApplicationType(oTargetApplication && oTargetApplication.type);
287
- oStatisticalRecord.setNavigationMode(sNavigationMode);
288
- oStatisticalRecord.setTargetIsHomeApp(oTargetApplication && oTargetApplication.isHomeApp);
289
- oStatisticalRecord.setSourceIsHomeApp(oSourceApplication && oSourceApplication.isHomeApp);
290
-
291
- if (
292
- !bHomePageLoaded && (
293
- _isHomeApp(oTargetApplication) || _isFLPHome(oTargetApplication)
294
- )
295
- ) {
272
+ function _closeNavigation (oSourceApplication, oTargetApplication, sNavigationMode, oRecord) {
273
+ if (oRecord) {
274
+ oRecord.setSourceApplication(oSourceApplication && oSourceApplication.id);
275
+ oRecord.setTargetApplication(oTargetApplication && oTargetApplication.id);
276
+ oRecord.setTargetApplicationType(oTargetApplication && oTargetApplication.type);
277
+ oRecord.setNavigationMode(sNavigationMode);
278
+ oRecord.setTargetIsHomeApp(_isHomeApp(oTargetApplication));
279
+ oRecord.setSourceIsHomeApp(_isHomeApp(oSourceApplication));
280
+
281
+ if (!bHomePageLoaded && (_isHomeApp(oTargetApplication) || _isFLPHome(oTargetApplication))) {
296
282
  bHomePageLoaded = true;
297
- oStatisticalRecord.setHomepageLoading(true);
283
+ oRecord.setHomepageLoading(true);
298
284
  }
299
- oStatisticalRecord.closeRecord();
300
- oStatisticalRecord = null;
285
+ oRecord.closeRecord();
301
286
  }
302
287
  }
303
288
 
@@ -309,15 +294,17 @@ sap.ui.define([
309
294
  if (!oStatisticalRecord) {
310
295
  return;
311
296
  }
312
- _getCurrentApplication().then(function (oTargetApplication) {
313
- var oCurrentApp = getCurrentApplication();
297
+ const oRecordTmp = oStatisticalRecord;
298
+ oStatisticalRecord = null;
299
+ _getCurrentApplication().then((oTargetApplication) => {
300
+ const oCurrentApp = getCurrentApplication();
314
301
  // correct the target application in stateful case
315
302
  if (oEventData && oEventData.technicalName) {
316
303
  oTargetApplication.id = _removeParametersIfTransaction(oEventData.technicalName);
317
304
  oTargetApplication.type = oTargetApplication.id.slice(-4) === "(TR)" ? "GUI" : "NWBC";
318
305
  }
319
306
  _setCurrentApplication(oTargetApplication);
320
- _closeNavigation(oCurrentApp, oTargetApplication, NAVIGATION_MODE.INPLACE);
307
+ _closeNavigation(oCurrentApp, oTargetApplication, NAVIGATION_MODE.INPLACE, oRecordTmp);
321
308
  });
322
309
  }
323
310
 
@@ -325,8 +312,10 @@ sap.ui.define([
325
312
  * Closes explace navigation
326
313
  */
327
314
  function _closeExplaceNavigation () {
328
- var oCurrentApp = getCurrentApplication();
329
- _closeNavigation(oCurrentApp, null, NAVIGATION_MODE.EXPLACE);
315
+ const oRecordTmp = oStatisticalRecord;
316
+ oStatisticalRecord = null;
317
+ const oCurrentApp = getCurrentApplication();
318
+ _closeNavigation(oCurrentApp, null, NAVIGATION_MODE.EXPLACE, oRecordTmp);
330
319
  }
331
320
 
332
321
  /**
@@ -334,7 +323,7 @@ sap.ui.define([
334
323
  */
335
324
  function _closeNavigationWithError () {
336
325
  if (oStatisticalRecord) {
337
- var oCurrentApp = getCurrentApplication();
326
+ const oCurrentApp = getCurrentApplication();
338
327
  oStatisticalRecord.setSourceApplication(oCurrentApp ? oCurrentApp.id : undefined);
339
328
  oStatisticalRecord.closeRecordWithError();
340
329
  oStatisticalRecord = null;
@@ -344,31 +333,23 @@ sap.ui.define([
344
333
  /**
345
334
  * attaches change listener
346
335
  */
347
- function _attachHashChangeListener () {
348
- sap.ushell.Container.getServiceAsync("ShellNavigation").then(function (oShellNavigation) {
349
- oShellNavigation.hashChanger.attachEvent("hashChanged", _trackHashChangeTime);
350
- oShellNavigation.hashChanger.attachEvent("shellHashChanged", _trackHashChangeTime);
351
- });
336
+ async function _attachHashChangeListener () {
337
+ const oShellNavigation = await sap.ushell.Container.getServiceAsync("ShellNavigation");
338
+ oShellNavigation.hashChanger.attachEvent("hashChanged", _trackHashChangeTime);
339
+ oShellNavigation.hashChanger.attachEvent("shellHashChanged", _trackHashChangeTime);
352
340
  }
353
341
  /**
354
342
  * detach change listener
355
343
  */
356
- function _detachHashChangeListener () {
357
- sap.ushell.Container.getServiceAsync("ShellNavigation").then(function (oShellNavigation) {
358
- oShellNavigation.hashChanger.detachEvent("hashChanged", _trackHashChangeTime);
359
- oShellNavigation.hashChanger.detachEvent("shellHashChanged", _trackHashChangeTime);
360
-
361
- });
344
+ async function _detachHashChangeListener () {
345
+ const oShellNavigation = await sap.ushell.Container.getServiceAsync("ShellNavigation");
346
+ oShellNavigation.hashChanger.detachEvent("hashChanged", _trackHashChangeTime);
347
+ oShellNavigation.hashChanger.detachEvent("shellHashChanged", _trackHashChangeTime);
362
348
  }
363
349
 
364
350
  /**
365
351
  * enables shell analytics
366
- * the following events are listened to and record the completion of the step
367
- * ShellNavigationInitialized: track the time of hash change
368
- * AppRendered: open app inplace
369
- * openedAppInNewWindow: open app explace
370
- * firstSegmentCompleteLoaded: start home page
371
- * doHashChangeError: error during the resolving
352
+ * Registers to required events
372
353
  */
373
354
  function enable () {
374
355
  if (bInitialized) {
@@ -376,38 +357,59 @@ sap.ui.define([
376
357
  }
377
358
  bInitialized = true;
378
359
 
379
- aTriggers.forEach(function (item) {
380
- _getEventBus().subscribe("launchpad", item, _handleHomepageAction);
360
+ const aEventMappings = [
361
+ // Track the time of hash change
362
+ { once: true, eventName: "ShellNavigationInitialized", handler: _attachHashChangeListener },
363
+ // New hash
364
+ { eventName: "trackHashChange", handler: trackNewTargetHash },
365
+ // Error during hash resolving
366
+ { eventName: "doHashChangeError", handler: _closeNavigationWithError },
367
+ // Initial Rendering of Classic Homepage
368
+ { once: true, eventName: "firstSegmentCompleteLoaded", handler: _closeInplaceNavigation },
369
+ // Initial Rendering of AppFinder
370
+ { once: true, eventName: "firstCatalogSegmentCompleteLoaded", handler: _closeInplaceNavigation },
371
+ // Initial Rendering of PagesRuntime
372
+ { once: true, eventName: "PagesRuntimeRendered", handler: _closeInplaceNavigation },
373
+ // Initial Rendering of CustomHome
374
+ { once: true, eventName: "CustomHomeRendered", handler: _closeInplaceNavigation },
375
+ { eventName: "PageRendered", handler: _addPageData },
376
+ // Open app inplace
377
+ { eventName: "AppRendered", handler: _closeInplaceNavigation },
378
+ // Open app explace
379
+ { eventName: "openedAppInNewWindow", handler: _closeExplaceNavigation },
380
+ // Close current Record
381
+ { eventName: "CloseFesrRecord", handler: _closeInplaceNavigation }
382
+ ];
383
+
384
+ const aNewDoables = aEventMappings.map((oMapping) => {
385
+ if (oMapping.once) {
386
+ return EventHub.once(oMapping.eventName).do((...args) => {
387
+ Log.debug(`${sLogPrefix} Incoming event: ${oMapping.eventName}`, JSON.stringify(args[0], null, 2), sModuleName);
388
+ oMapping.handler(...args);
389
+ });
390
+ }
391
+ return EventHub.on(oMapping.eventName).do((...args) => {
392
+ Log.debug(`${sLogPrefix} Incoming event: ${oMapping.eventName}`, JSON.stringify(args[0], null, 2), sModuleName);
393
+ oMapping.handler(...args);
394
+ });
381
395
  });
382
396
 
383
- var oDoable;
384
- //track the time of hash change
385
- oDoable = EventHub.once("ShellNavigationInitialized").do(_attachHashChangeListener);
386
- aDoable.push(oDoable);
387
- //Event handling for all target applications
388
- oDoable = EventHub.on("trackHashChange").do(trackNewTargetHash);
389
- aDoable.push(oDoable);
390
- //open app inplace
391
- oDoable = EventHub.on("AppRendered").do(_closeInplaceNavigation);
392
- aDoable.push(oDoable);
393
- // open custom home
394
- oDoable = EventHub.on("CustomHomeRendered").do(_closeInplaceNavigation);
395
- aDoable.push(oDoable);
396
- //open app explace
397
- oDoable = EventHub.on("openedAppInNewWindow").do(_closeExplaceNavigation);
398
- aDoable.push(oDoable);
399
- // home page start
400
- oDoable = EventHub.on("firstSegmentCompleteLoaded").do(_closeInplaceNavigation);
401
- aDoable.push(oDoable);
402
- //error during the resolving
403
- oDoable = EventHub.on("doHashChangeError").do(_closeNavigationWithError);
404
- aDoable.push(oDoable);
405
- //Render page runtime
406
- oDoable = EventHub.on("PagesRuntimeRendered").do(_closeInplaceNavigation);
407
- aDoable.push(oDoable);
408
- //Stateful container, cached application, etc.
409
- oDoable = EventHub.on("CloseFesrRecord").do(_closeInplaceNavigation);
410
- aDoable.push(oDoable);
397
+ aDoables = [...aDoables, ...aNewDoables];
398
+ }
399
+
400
+ /**
401
+ * Adds data about the target page to the Statistical Record
402
+ * @param {object} oEventData The eventData
403
+ * @private
404
+ * @since 1.118
405
+ */
406
+ function _addPageData (oEventData) {
407
+ const oRecord = _getOrCreateCurrentStatisticalRecord();
408
+
409
+ oRecord.enhanceTargetApplicationData({
410
+ pageId: oEventData.pageId,
411
+ spaceId: oEventData.spaceId
412
+ });
411
413
  }
412
414
 
413
415
  /**
@@ -418,13 +420,10 @@ sap.ui.define([
418
420
  return;
419
421
  }
420
422
 
421
- aTriggers.forEach(function (item) {
422
- _getEventBus().unsubscribe("launchpad", item, _handleHomepageAction);
423
- });
424
-
425
- aDoable.forEach(function (oDoable) {
423
+ aDoables.forEach((oDoable) => {
426
424
  oDoable.off();
427
425
  });
426
+ aDoables = [];
428
427
 
429
428
  _detachHashChangeListener();
430
429
  _setCurrentApplication(null);