@sapui5/sap.ushell 1.120.7 → 1.121.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 (601) hide show
  1. package/package.json +2 -2
  2. package/src/main/js/sap/ushell/.library +1 -1
  3. package/src/main/js/sap/ushell/AppInfoParameters.js +46 -49
  4. package/src/main/js/sap/ushell/CanvasShapesManager.js +8 -7
  5. package/src/main/js/sap/ushell/Container.js +333 -108
  6. package/src/main/js/sap/ushell/EventHub.js +6 -9
  7. package/src/main/js/sap/ushell/Fiori20Adapter.js +6 -7
  8. package/src/main/js/sap/ushell/Fiori20AdapterTest.js +5 -7
  9. package/src/main/js/sap/ushell/Layout.js +20 -16
  10. package/src/main/js/sap/ushell/NWBCInterface.js +1 -1
  11. package/src/main/js/sap/ushell/SessionHandler.js +20 -12
  12. package/src/main/js/sap/ushell/System.js +4 -2
  13. package/src/main/js/sap/ushell/TechnicalParameters.js +34 -57
  14. package/src/main/js/sap/ushell/UIActions.js +28 -39
  15. package/src/main/js/sap/ushell/URLTemplateProcessor.js +1 -1
  16. package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +8 -7
  17. package/src/main/js/sap/ushell/Ui5ServiceFactory.js +10 -10
  18. package/src/main/js/sap/ushell/User.js +6 -4
  19. package/src/main/js/sap/ushell/UserActivityLog.js +13 -11
  20. package/src/main/js/sap/ushell/_ApplicationType/guiResolution.js +15 -19
  21. package/src/main/js/sap/ushell/_ApplicationType/systemAlias.js +5 -3
  22. package/src/main/js/sap/ushell/_ApplicationType/ui5Resolution.js +11 -10
  23. package/src/main/js/sap/ushell/_ApplicationType/urlTemplateResolution.js +17 -15
  24. package/src/main/js/sap/ushell/_ApplicationType/utils.js +7 -7
  25. package/src/main/js/sap/ushell/_ApplicationType/wdaResolution.js +8 -6
  26. package/src/main/js/sap/ushell/_Config/utils.js +1 -1
  27. package/src/main/js/sap/ushell/_URLTemplateProcessor/DefinitionParameterSetBuilder.js +1 -1
  28. package/src/main/js/sap/ushell/_URLTemplateProcessor/DependencyGraph.js +1 -1
  29. package/src/main/js/sap/ushell/_URLTemplateProcessor/Functions.js +1 -1
  30. package/src/main/js/sap/ushell/_URLTemplateProcessor/Resolvers.js +2 -2
  31. package/src/main/js/sap/ushell/_URLTemplateProcessor/TemplateParameterParser.js +1 -1
  32. package/src/main/js/sap/ushell/_URLTemplateProcessor/utils.js +1 -1
  33. package/src/main/js/sap/ushell/adapters/AppVariantPersonalizationAdapter.js +5 -3
  34. package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +6 -11
  35. package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +6 -16
  36. package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
  37. package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +18 -14
  38. package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +16 -21
  39. package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +7 -18
  40. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
  41. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationV2Adapter.js +1 -1
  42. package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +1 -1
  43. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +1 -1
  44. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +1 -1
  45. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +1 -1
  46. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +1 -1
  47. package/src/main/js/sap/ushell/adapters/cdm/_Personalization/internals.js +9 -9
  48. package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +1 -1
  49. package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +1 -1
  50. package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +36 -13
  51. package/src/main/js/sap/ushell/adapters/cdm/v3/FlpLaunchPageAdapter.js +2629 -0
  52. package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +4 -2525
  53. package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +1 -1
  54. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +1 -1
  55. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +1 -1
  56. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +13 -1
  57. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +1 -1
  58. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +91 -25
  59. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +1 -1
  60. package/src/main/js/sap/ushell/adapters/cep/MenuAdapter.js +6 -6
  61. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +31 -6
  62. package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +7 -6
  63. package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +10 -20
  64. package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +1 -1
  65. package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +14 -19
  66. package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +18 -20
  67. package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +25 -18
  68. package/src/main/js/sap/ushell/adapters/local/FlpLaunchPageAdapter.js +1558 -0
  69. package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +4 -1551
  70. package/src/main/js/sap/ushell/adapters/local/MenuAdapter.js +3 -3
  71. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +2 -4
  72. package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +1 -1
  73. package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +1 -1
  74. package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +11 -8
  75. package/src/main/js/sap/ushell/adapters/local/PersonalizationV2Adapter.js +1 -1
  76. package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +1 -1
  77. package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +1 -1
  78. package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +1 -1
  79. package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +1 -1
  80. package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +11 -23
  81. package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +1 -1
  82. package/src/main/js/sap/ushell/api/RTA.js +27 -0
  83. package/src/main/js/sap/ushell/api/workpage/Designtime.js +69 -0
  84. package/src/main/js/sap/ushell/api/workpage/Runtime.js +97 -0
  85. package/src/main/js/sap/ushell/appRuntime/neo/AppInfoService.js +12 -3
  86. package/src/main/js/sap/ushell/appRuntime/neo/AppRuntimeNeo.js +4 -0
  87. package/src/main/js/sap/ushell/appRuntime/neo/ProxyAppUtils.js +4 -0
  88. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +82 -78
  89. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntimeContext.js +4 -3
  90. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntimeService.js +8 -0
  91. package/src/main/js/sap/ushell/appRuntime/ui5/SessionHandlerAgent.js +35 -37
  92. package/src/main/js/sap/ushell/appRuntime/ui5/performance/FesrEnhancer.js +4 -5
  93. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/baseRta/AppLifeCycleUtils.js +2 -8
  94. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/baseRta/Trigger.js +9 -5
  95. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/rtaAgent/Component.js +6 -4
  96. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/rtaAgent/i18n/i18n_en.properties +0 -7
  97. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/rtaAgent/i18n/i18n_en_US_saprigi.properties +5 -5
  98. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/rtaShell/Component.js +4 -3
  99. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/rtaShell/i18n/i18n_en.properties +0 -4
  100. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/rtaShell/i18n/i18n_en_US_saprigi.properties +2 -2
  101. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/AccessKeysAgent.js +1 -1
  102. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/Renderer.js +14 -14
  103. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/RendererExtensions.js +2 -2
  104. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppConfiguration.js +8 -1
  105. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppLifeCycleAgent.js +39 -39
  106. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppState.js +15 -16
  107. package/src/main/js/sap/ushell/appRuntime/ui5/services/Bookmark.js +12 -54
  108. package/src/main/js/sap/ushell/appRuntime/ui5/services/BookmarkV2.js +154 -0
  109. package/src/main/js/sap/ushell/appRuntime/ui5/services/CommonDataModel.js +1 -3
  110. package/src/main/js/sap/ushell/appRuntime/ui5/services/Container.js +221 -206
  111. package/src/main/js/sap/ushell/appRuntime/ui5/services/CrossApplicationNavigation.js +15 -14
  112. package/src/main/js/sap/ushell/appRuntime/ui5/services/MessageBroker.js +35 -55
  113. package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolution.js +10 -14
  114. package/src/main/js/sap/ushell/appRuntime/ui5/services/Navigation.js +212 -0
  115. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigation.js +6 -5
  116. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigationInternal.js +67 -0
  117. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellUIService.js +4 -4
  118. package/src/main/js/sap/ushell/appRuntime/ui5/services/UserInfo.js +9 -3
  119. package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/ContainerAdapter.js +9 -10
  120. package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/EmptyAdapter.js +3 -0
  121. package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
  122. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/FLPScheduler.js +12 -6
  123. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/StepConfiguration.json +1 -3
  124. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/logger.js +2 -2
  125. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/state.js +6 -7
  126. package/src/main/js/sap/ushell/bootstrap/cdm/cdm-def-dev.js +2 -1
  127. package/src/main/js/sap/ushell/bootstrap/cdm/cdm-def-loader.js +15 -5
  128. package/src/main/js/sap/ushell/bootstrap/cdm/cdm-def.js +2 -2
  129. package/src/main/js/sap/ushell/bootstrap/cdm/cdm.boot.task.js +2 -2
  130. package/src/main/js/sap/ushell/bootstrap/cdm/cdm.constants.js +14 -0
  131. package/src/main/js/sap/ushell/bootstrap/cdm.js +2 -2
  132. package/src/main/js/sap/ushell/bootstrap/common/common.boot.path.js +2 -2
  133. package/src/main/js/sap/ushell/bootstrap/common/common.boot.script.js +2 -2
  134. package/src/main/js/sap/ushell/bootstrap/common/common.boot.task.js +2 -2
  135. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5.extractLibs.js +2 -2
  136. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5datetimeformat.js +6 -6
  137. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5language.js +4 -4
  138. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ushell.js +37 -41
  139. package/src/main/js/sap/ushell/bootstrap/common/common.constants.js +2 -2
  140. package/src/main/js/sap/ushell/bootstrap/common/common.create.configcontract.core.js +31 -20
  141. package/src/main/js/sap/ushell/bootstrap/common/common.debug.mode.js +2 -2
  142. package/src/main/js/sap/ushell/bootstrap/common/common.load.bootstrapExtension.js +2 -2
  143. package/src/main/js/sap/ushell/bootstrap/common/common.load.core-min.js +1 -1
  144. package/src/main/js/sap/ushell/bootstrap/common/common.load.launchpad.js +2 -2
  145. package/src/main/js/sap/ushell/bootstrap/common/common.load.model.js +3 -3
  146. package/src/main/js/sap/ushell/bootstrap/common/common.load.ui5theme.js +3 -3
  147. package/src/main/js/sap/ushell/bootstrap/common/common.read.metatags.js +2 -2
  148. package/src/main/js/sap/ushell/bootstrap/common/common.read.ushell.config.from.url.js +5 -4
  149. package/src/main/js/sap/ushell/bootstrap/common/common.util.js +48 -14
  150. package/src/main/js/sap/ushell/bootstrap/sandbox2.js +8 -9
  151. package/src/main/js/sap/ushell/bootstrap/ui5loader-config.js +2 -2
  152. package/src/main/js/sap/ushell/components/CatalogsManager.js +49 -47
  153. package/src/main/js/sap/ushell/components/ComponentKeysHandler.js +57 -45
  154. package/src/main/js/sap/ushell/components/DestroyHelper.js +2 -2
  155. package/src/main/js/sap/ushell/components/HeaderManager.js +3 -3
  156. package/src/main/js/sap/ushell/components/HomepageManager.js +27 -29
  157. package/src/main/js/sap/ushell/components/MessagingHelper.js +2 -2
  158. package/src/main/js/sap/ushell/components/SharedComponentUtils.js +13 -10
  159. package/src/main/js/sap/ushell/components/StateHelper.js +1 -1
  160. package/src/main/js/sap/ushell/components/_HeaderManager/AddHeadEndItemsStrategy.js +15 -15
  161. package/src/main/js/sap/ushell/components/_HeaderManager/AddHeadItemsStrategy.js +3 -3
  162. package/src/main/js/sap/ushell/components/_HeaderManager/ControlManager.js +4 -4
  163. package/src/main/js/sap/ushell/components/_HeaderManager/RemoveItemsStrategy.js +2 -2
  164. package/src/main/js/sap/ushell/components/_HeaderManager/ShellHeader.controller.js +13 -13
  165. package/src/main/js/sap/ushell/components/_HomepageManager/DashboardLoadingManager.js +3 -3
  166. package/src/main/js/sap/ushell/components/_HomepageManager/PagingManager.js +1 -1
  167. package/src/main/js/sap/ushell/components/_HomepageManager/PersistentPageOperationAdapter.js +4 -4
  168. package/src/main/js/sap/ushell/components/appfinder/AppFinder.controller.js +9 -8
  169. package/src/main/js/sap/ushell/components/appfinder/AppFinderView.js +6 -6
  170. package/src/main/js/sap/ushell/components/appfinder/Catalog.controller.js +29 -16
  171. package/src/main/js/sap/ushell/components/appfinder/CatalogView.js +17 -17
  172. package/src/main/js/sap/ushell/components/appfinder/Component.js +4 -4
  173. package/src/main/js/sap/ushell/components/appfinder/EasyAccess.controller.js +7 -7
  174. package/src/main/js/sap/ushell/components/appfinder/EasyAccessView.js +3 -9
  175. package/src/main/js/sap/ushell/components/appfinder/GroupListPopover.controller.js +3 -3
  176. package/src/main/js/sap/ushell/components/appfinder/HierarchyAppsView.js +6 -7
  177. package/src/main/js/sap/ushell/components/appfinder/HierarchyFolders.controller.js +2 -4
  178. package/src/main/js/sap/ushell/components/appfinder/HierarchyFoldersView.js +3 -3
  179. package/src/main/js/sap/ushell/components/appfinder/VisualizationOrganizerHelper.js +9 -5
  180. package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
  181. package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +38 -55
  182. package/src/main/js/sap/ushell/components/applicationIntegration/application/Application.js +20 -22
  183. package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxHandler.js +22 -33
  184. package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPI.js +563 -372
  185. package/src/main/js/sap/ushell/components/applicationIntegration/application/WebGUIStatefulHandler.js +8 -7
  186. package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +8 -6
  187. package/src/main/js/sap/ushell/components/applicationIntegration/elements/model.js +9 -7
  188. package/src/main/js/sap/ushell/components/applicationIntegration/relatedServices/RelatedServices.js +6 -5
  189. package/src/main/js/sap/ushell/components/applicationIntegration/relatedShellElements/RelatedShellElements.js +2 -2
  190. package/src/main/js/sap/ushell/components/cards/Configuration.controller.js +6 -5
  191. package/src/main/js/sap/ushell/components/cepsearchresult/app/Component.js +1 -1
  192. package/src/main/js/sap/ushell/components/cepsearchresult/app/Main.controller.js +2 -2
  193. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/Component.js +2 -2
  194. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_en.properties +0 -34
  195. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_en_US_saprigi.properties +37 -37
  196. package/src/main/js/sap/ushell/components/cepsearchresult/app/i18n/i18n_en.properties +0 -11
  197. package/src/main/js/sap/ushell/components/cepsearchresult/app/i18n/i18n_en_US_saprigi.properties +9 -9
  198. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/Category.css +4 -0
  199. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/Highlighter.js +1 -3
  200. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/Paginator.js +1 -3
  201. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/categories/Application.js +27 -1
  202. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_ca.properties +3 -3
  203. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_en.properties +0 -111
  204. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_en_US_saprigi.properties +109 -109
  205. package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +105 -96
  206. package/src/main/js/sap/ushell/components/container/IframePOSTUtils.js +13 -13
  207. package/src/main/js/sap/ushell/components/container/resources/resources_en.properties +0 -9
  208. package/src/main/js/sap/ushell/components/container/resources/resources_en_US_saprigi.properties +6 -6
  209. package/src/main/js/sap/ushell/components/contentFinder/Component.js +54 -105
  210. package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +108 -142
  211. package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +16 -11
  212. package/src/main/js/sap/ushell/components/contentFinder/controller/WidgetGallery.controller.js +9 -7
  213. package/src/main/js/sap/ushell/components/contentFinder/manifest.json +1 -1
  214. package/src/main/js/sap/ushell/components/contentFinder/model/formatter.js +6 -6
  215. package/src/main/js/sap/ushell/components/contentFinder/resources/resources.properties +4 -2
  216. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_en.properties +0 -29
  217. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_en_US_saprigi.properties +24 -24
  218. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearch.view.xml +37 -17
  219. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchBox.fragment.xml +5 -3
  220. package/src/main/js/sap/ushell/components/contentFinder/view/ContentFinderDialog.view.xml +9 -4
  221. package/src/main/js/sap/ushell/components/factsheet/Component.js +1 -1
  222. package/src/main/js/sap/ushell/components/factsheet/controls/PictureTileRenderer.js +2 -1
  223. package/src/main/js/sap/ushell/components/factsheet/controls/PictureViewerRenderer.js +2 -1
  224. package/src/main/js/sap/ushell/components/homepage/ActionMode.js +23 -19
  225. package/src/main/js/sap/ushell/components/homepage/Component.js +3 -3
  226. package/src/main/js/sap/ushell/components/homepage/DashboardContent.controller.js +3 -2
  227. package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +3 -4
  228. package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +17 -9
  229. package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +10 -3
  230. package/src/main/js/sap/ushell/components/homepage/FLPAnalytics.js +6 -4
  231. package/src/main/js/sap/ushell/components/homepage/manifest.json +1 -1
  232. package/src/main/js/sap/ushell/components/pages/ActionMode.js +5 -5
  233. package/src/main/js/sap/ushell/components/pages/Component.js +2 -2
  234. package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +7 -7
  235. package/src/main/js/sap/ushell/components/pages/StateManager.js +3 -3
  236. package/src/main/js/sap/ushell/components/pages/controller/ImportDialog.controller.js +9 -12
  237. package/src/main/js/sap/ushell/components/pages/controller/MyHome.controller.js +2 -2
  238. package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +70 -15
  239. package/src/main/js/sap/ushell/components/pages/controller/PagesAndSpaceId.js +2 -2
  240. package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
  241. package/src/main/js/sap/ushell/components/pages/view/PageRuntime.view.xml +7 -5
  242. package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +50 -8
  243. package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -8
  244. package/src/main/js/sap/ushell/components/runtimeSwitcher/view/RuntimeSwitcher.view.xml +13 -8
  245. package/src/main/js/sap/ushell/components/shell/MenuBar/Component.js +6 -4
  246. package/src/main/js/sap/ushell/components/shell/MenuBar/controller/MenuBar.controller.js +6 -7
  247. package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +1 -1
  248. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +13 -11
  249. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +1 -1
  250. package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +16 -12
  251. package/src/main/js/sap/ushell/components/shell/Notifications/Notifications.controller.js +5 -5
  252. package/src/main/js/sap/ushell/components/shell/PostLoadingHeaderEnhancement/Component.js +14 -14
  253. package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +7 -7
  254. package/src/main/js/sap/ushell/components/shell/Search/Component.js +5 -4
  255. package/src/main/js/sap/ushell/components/shell/Search/ESearch.js +8 -6
  256. package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
  257. package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +25 -18
  258. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchCEP.controller.js +89 -67
  259. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +5 -4
  260. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +5 -4
  261. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +1 -1
  262. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchServiceProvider.js +8 -6
  263. package/src/main/js/sap/ushell/components/shell/Settings/Component.js +7 -7
  264. package/src/main/js/sap/ushell/components/shell/Settings/ErrorMessageHelper.js +1 -1
  265. package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.controller.js +6 -6
  266. package/src/main/js/sap/ushell/components/shell/Settings/appearance/Appearance.controller.js +4 -2
  267. package/src/main/js/sap/ushell/components/shell/Settings/homepage/HomepageEntry.js +1 -1
  268. package/src/main/js/sap/ushell/components/shell/Settings/homepage/HomepageSetting.view.xml +3 -1
  269. package/src/main/js/sap/ushell/components/shell/Settings/search/SearchEntry.js +95 -96
  270. package/src/main/js/sap/ushell/components/shell/Settings/userAccount/UserAccountEntry.js +1 -1
  271. package/src/main/js/sap/ushell/components/shell/Settings/userAccount/UserAccountSelector.controller.js +1 -1
  272. package/src/main/js/sap/ushell/components/shell/Settings/userAccount/UserAccountSetting.fragment.xml +7 -1
  273. package/src/main/js/sap/ushell/components/shell/Settings/userActivities/UserActivitiesSetting.controller.js +1 -1
  274. package/src/main/js/sap/ushell/components/shell/Settings/userActivities/UserActivitiesSetting.view.xml +7 -1
  275. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/UserDefaultsForm.js +1 -1
  276. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/controller/UserDefaultsSetting.controller.js +3 -3
  277. package/src/main/js/sap/ushell/components/shell/Settings/userLanguageRegion/LanguageRegionSelector.controller.js +27 -31
  278. package/src/main/js/sap/ushell/components/shell/Settings/userLanguageRegion/LanguageRegionSelector.view.xml +9 -2
  279. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +6 -6
  280. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/UserActionsMenu.controller.js +22 -20
  281. package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +8 -11
  282. package/src/main/js/sap/ushell/components/tiles/action/Configuration.controller.js +5 -4
  283. package/src/main/js/sap/ushell/components/tiles/applauncher/StaticTile.controller.js +1 -1
  284. package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/DynamicTile.controller.js +5 -3
  285. package/src/main/js/sap/ushell/components/tiles/cdm/applauncher/StaticTile.controller.js +16 -31
  286. package/src/main/js/sap/ushell/components/tiles/cdm/applauncher/StaticTile.view.xml +1 -1
  287. package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.controller.js +16 -33
  288. package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.view.xml +1 -1
  289. package/src/main/js/sap/ushell/components/tiles/generic.js +2 -1
  290. package/src/main/js/sap/ushell/components/tiles/indicatorDualComparison/DualComparison.controller.js +1 -1
  291. package/src/main/js/sap/ushell/components/tiles/indicatorDualContribution/DualContribution.controller.js +1 -1
  292. package/src/main/js/sap/ushell/components/tiles/indicatorTileUtils/cache.js +12 -10
  293. package/src/main/js/sap/ushell/components/tiles/indicatorTileUtils/oData4Analytics.js +49 -42
  294. package/src/main/js/sap/ushell/components/tiles/indicatorcontribution/ContributionTile.controller.js +1 -1
  295. package/src/main/js/sap/ushell/components/tiles/indicatorcontribution/ContributionTile.view.js +16 -18
  296. package/src/main/js/sap/ushell/components/tiles/utils.js +19 -15
  297. package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +31 -29
  298. package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +18 -219
  299. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility.js +1 -1
  300. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +62 -137
  301. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.layout.js +4 -2
  302. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageHost.js +185 -68
  303. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +1 -1
  304. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +3 -6
  305. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +3 -6
  306. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +3 -6
  307. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnRenderer.js +2 -1
  308. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +4 -7
  309. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRenderer.js +1 -1
  310. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +7 -5
  311. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRowRenderer.js +5 -5
  312. package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
  313. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources.properties +4 -1
  314. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_en.properties +0 -76
  315. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_en_US_saprigi.properties +66 -66
  316. package/src/main/js/sap/ushell/components/workPageBuilder/view/WorkPageBuilder.view.xml +8 -0
  317. package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +2 -2
  318. package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +4 -7
  319. package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +1 -1
  320. package/src/main/js/sap/ushell/components/workPageRuntime/view/WorkPageRuntime.view.xml +15 -8
  321. package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
  322. package/src/main/js/sap/ushell/iconfonts.js +1 -1
  323. package/src/main/js/sap/ushell/library.js +28 -26
  324. package/src/main/js/sap/ushell/navigationMode.js +4 -6
  325. package/src/main/js/sap/ushell/performance/FesrEnhancer.js +97 -18
  326. package/src/main/js/sap/ushell/performance/ShellAnalytics.js +7 -7
  327. package/src/main/js/sap/ushell/performance/StatisticalRecord.js +78 -23
  328. package/src/main/js/sap/ushell/plugins/BaseRTAPlugin.js +4 -3
  329. package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
  330. package/src/main/js/sap/ushell/plugins/rta/i18n/i18n_en.properties +0 -10
  331. package/src/main/js/sap/ushell/plugins/rta/i18n/i18n_en_US_saprigi.properties +8 -8
  332. package/src/main/js/sap/ushell/plugins/rta-personalize/Component.js +10 -6
  333. package/src/main/js/sap/ushell/plugins/rta-personalize/i18n/i18n_en.properties +0 -14
  334. package/src/main/js/sap/ushell/plugins/rta-personalize/i18n/i18n_en_US_saprigi.properties +12 -12
  335. package/src/main/js/sap/ushell/renderer/AccessKeysHandler.js +15 -13
  336. package/src/main/js/sap/ushell/renderer/LogonFrameProvider.js +7 -7
  337. package/src/main/js/sap/ushell/renderer/Renderer.js +163 -221
  338. package/src/main/js/sap/ushell/renderer/Shell.controller.js +133 -163
  339. package/src/main/js/sap/ushell/renderer/Shell.view.js +13 -14
  340. package/src/main/js/sap/ushell/renderer/allMyApps/AllMyApps.controller.js +65 -14
  341. package/src/main/js/sap/ushell/renderer/allMyApps/AllMyAppsManager.js +40 -17
  342. package/src/main/js/sap/ushell/renderer/resources/resources.properties +9 -3
  343. package/src/main/js/sap/ushell/renderer/resources/resources_ca.properties +5 -5
  344. package/src/main/js/sap/ushell/renderer/resources/resources_en.properties +18 -951
  345. package/src/main/js/sap/ushell/renderer/resources/resources_en_US_saprigi.properties +991 -991
  346. package/src/main/js/sap/ushell/renderer/search/searchComponent/Component.js +8 -2
  347. package/src/main/js/sap/ushell/renderer/search/searchComponent/controller/CEPSearchApp.controller.js +20 -13
  348. package/src/main/js/sap/ushell/renderer/search/searchComponent/controller/SearchApp.controller.js +13 -9
  349. package/src/main/js/sap/ushell/renderer/search/searchComponent/manifest.json +1 -1
  350. package/src/main/js/sap/ushell/renderer/search/searchComponent/view/CEPSearchApp.view.js +1 -1
  351. package/src/main/js/sap/ushell/renderer/search/searchComponent/view/SearchApp.view.js +1 -1
  352. package/src/main/js/sap/ushell/renderer/search/util.js +5 -7
  353. package/src/main/js/sap/ushell/renderer/utils.js +6 -6
  354. package/src/main/js/sap/ushell/renderers/fiori2/Renderer.js +14 -11
  355. package/src/main/js/sap/ushell/renderers/fiori2/RendererExtensions.js +50 -42
  356. package/src/main/js/sap/ushell/resources.js +3 -3
  357. package/src/main/js/sap/ushell/services/AllMyApps.js +2 -3
  358. package/src/main/js/sap/ushell/services/AppConfiguration.js +56 -15
  359. package/src/main/js/sap/ushell/services/AppLifeCycle.js +14 -29
  360. package/src/main/js/sap/ushell/services/AppState.js +39 -28
  361. package/src/main/js/sap/ushell/services/Bookmark.js +18 -45
  362. package/src/main/js/sap/ushell/services/BookmarkV2.js +118 -120
  363. package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +20 -22
  364. package/src/main/js/sap/ushell/services/CommonDataModel.js +31 -94
  365. package/src/main/js/sap/ushell/services/Configuration.js +5 -5
  366. package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +2 -3
  367. package/src/main/js/sap/ushell/services/Container.js +6 -5
  368. package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +7 -5
  369. package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +80 -98
  370. package/src/main/js/sap/ushell/services/DarkModeSupport.js +6 -6
  371. package/src/main/js/sap/ushell/services/EndUserFeedback.js +17 -15
  372. package/src/main/js/sap/ushell/services/Extension/FloatingContainer.js +139 -67
  373. package/src/main/js/sap/ushell/services/Extension/Footer.js +2 -1
  374. package/src/main/js/sap/ushell/services/Extension/Header.js +9 -16
  375. package/src/main/js/sap/ushell/services/Extension/Item.js +12 -8
  376. package/src/main/js/sap/ushell/services/Extension/SidePane.js +5 -5
  377. package/src/main/js/sap/ushell/services/Extension/ToolArea.js +5 -5
  378. package/src/main/js/sap/ushell/services/Extension.js +12 -13
  379. package/src/main/js/sap/ushell/services/FlpLaunchPage.js +1791 -0
  380. package/src/main/js/sap/ushell/services/LaunchPage.js +653 -1715
  381. package/src/main/js/sap/ushell/services/Menu.js +3 -3
  382. package/src/main/js/sap/ushell/services/Message.js +16 -9
  383. package/src/main/js/sap/ushell/services/MessageBroker.js +6 -6
  384. package/src/main/js/sap/ushell/services/NavTargetResolution.js +25 -28
  385. package/src/main/js/sap/ushell/services/Navigation/utils.js +1 -1
  386. package/src/main/js/sap/ushell/services/Navigation.js +17 -16
  387. package/src/main/js/sap/ushell/services/NavigationDataProvider.js +2 -2
  388. package/src/main/js/sap/ushell/services/Notifications.js +55 -38
  389. package/src/main/js/sap/ushell/services/NotificationsV2.js +122 -49
  390. package/src/main/js/sap/ushell/services/PageBuilding.js +3 -4
  391. package/src/main/js/sap/ushell/services/PagePersistence.js +3 -3
  392. package/src/main/js/sap/ushell/services/PageReferencing.js +2 -2
  393. package/src/main/js/sap/ushell/services/Pages.js +295 -320
  394. package/src/main/js/sap/ushell/services/Personalization.js +40 -37
  395. package/src/main/js/sap/ushell/services/PersonalizationV2/ContextContainer.js +27 -24
  396. package/src/main/js/sap/ushell/services/PersonalizationV2/Personalizer.js +7 -4
  397. package/src/main/js/sap/ushell/services/PersonalizationV2/TransientPersonalizer.js +2 -0
  398. package/src/main/js/sap/ushell/services/PersonalizationV2/Variant.js +7 -4
  399. package/src/main/js/sap/ushell/services/PersonalizationV2/VariantSet.js +10 -11
  400. package/src/main/js/sap/ushell/services/PersonalizationV2/VariantSetAdapter.js +10 -10
  401. package/src/main/js/sap/ushell/services/PersonalizationV2/WindowAdapter.js +2 -2
  402. package/src/main/js/sap/ushell/services/PersonalizationV2/WindowAdapterContainer.js +5 -5
  403. package/src/main/js/sap/ushell/services/PersonalizationV2/constants.js +1 -1
  404. package/src/main/js/sap/ushell/services/PersonalizationV2.js +10 -9
  405. package/src/main/js/sap/ushell/services/PluginManager.js +77 -75
  406. package/src/main/js/sap/ushell/services/ReferenceResolver.js +36 -38
  407. package/src/main/js/sap/ushell/services/Search.js +4 -4
  408. package/src/main/js/sap/ushell/services/SearchCEP.js +2 -3
  409. package/src/main/js/sap/ushell/services/SearchableContent.js +93 -80
  410. package/src/main/js/sap/ushell/services/ShellNavigation.js +160 -450
  411. package/src/main/js/sap/ushell/services/ShellNavigationHashChanger.js +27 -26
  412. package/src/main/js/sap/ushell/services/ShellNavigationInternal.js +532 -0
  413. package/src/main/js/sap/ushell/services/SmartNavigation.js +23 -23
  414. package/src/main/js/sap/ushell/services/SpaceContent.js +4 -4
  415. package/src/main/js/sap/ushell/services/SupportTicket.js +4 -5
  416. package/src/main/js/sap/ushell/services/UITracer.js +2 -2
  417. package/src/main/js/sap/ushell/services/URLParsing.js +15 -14
  418. package/src/main/js/sap/ushell/services/URLShortening.js +1 -1
  419. package/src/main/js/sap/ushell/services/URLTemplate.js +2 -2
  420. package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +47 -10
  421. package/src/main/js/sap/ushell/services/UsageAnalytics.js +25 -9
  422. package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +11 -11
  423. package/src/main/js/sap/ushell/services/UserDefaultParameters.js +34 -41
  424. package/src/main/js/sap/ushell/services/UserInfo.js +29 -53
  425. package/src/main/js/sap/ushell/services/UserRecents/RecentActivity.js +480 -0
  426. package/src/main/js/sap/ushell/services/UserRecents/RecentAppsUsage.js +207 -0
  427. package/src/main/js/sap/ushell/services/UserRecents/RecentsList.js +119 -0
  428. package/src/main/js/sap/ushell/services/{_UserRecents → UserRecents}/UserRecentsBase.js +41 -9
  429. package/src/main/js/sap/ushell/services/UserRecents.js +185 -188
  430. package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +42 -41
  431. package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +27 -26
  432. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Formatter.js +1 -1
  433. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundIndex.js +6 -6
  434. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundProvider.js +1 -1
  435. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/ParameterMapping.js +1 -1
  436. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/PrelaunchOperations.js +1 -1
  437. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Search.js +7 -9
  438. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/StagedLogger.js +1 -1
  439. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/SystemContext.js +1 -1
  440. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Utils.js +1 -1
  441. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/VirtualInbounds.js +1 -1
  442. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/XAppStateProcessing.js +2 -2
  443. package/src/main/js/sap/ushell/services/_CommonDataModel/PersonalizationProcessor.js +5 -7
  444. package/src/main/js/sap/ushell/services/_CommonDataModel/SiteConverter.js +2 -2
  445. package/src/main/js/sap/ushell/services/_CommonDataModel/vizTypeDefaults/VizTypeDefaults.js +105 -0
  446. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +1 -1
  447. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +1 -1
  448. package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +1 -1
  449. package/src/main/js/sap/ushell/services/_MessageBroker/MessageBrokerEngine.js +19 -37
  450. package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +1 -1
  451. package/src/main/js/sap/ushell/services/_Personalization/ContextContainer.js +28 -29
  452. package/src/main/js/sap/ushell/services/_Personalization/PersonalizationContainer.js +10 -10
  453. package/src/main/js/sap/ushell/services/_Personalization/PersonalizationContainerVariant.js +7 -5
  454. package/src/main/js/sap/ushell/services/_Personalization/PersonalizationContainerVariantSet.js +9 -6
  455. package/src/main/js/sap/ushell/services/_Personalization/Personalizer.js +9 -18
  456. package/src/main/js/sap/ushell/services/_Personalization/TransientPersonalizer.js +4 -11
  457. package/src/main/js/sap/ushell/services/_Personalization/Variant.js +11 -9
  458. package/src/main/js/sap/ushell/services/_Personalization/VariantSet.js +6 -5
  459. package/src/main/js/sap/ushell/services/_Personalization/utils.js +1 -2
  460. package/src/main/js/sap/ushell/services/_PluginManager/Extensions.js +1 -1
  461. package/src/main/js/sap/ushell/services/_PluginManager/HeaderExtensions.js +1 -1
  462. package/src/main/js/sap/ushell/services/_PluginManager/MenuExtensions.js +1 -1
  463. package/src/main/js/sap/ushell/services/_Ui5ComponentLoader/utils.js +8 -22
  464. package/src/main/js/sap/ushell/services/appstate/Sequentializer.js +1 -1
  465. package/src/main/js/sap/ushell/services/appstate/SequentializingAdapter.js +3 -5
  466. package/src/main/js/sap/ushell/services/appstate/WindowAdapter.js +13 -12
  467. package/src/main/js/sap/ushell/services/personalization/VariantSetAdapter.js +2 -2
  468. package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +26 -22
  469. package/src/main/js/sap/ushell/themes/base/Catalog.less +12 -1
  470. package/src/main/js/sap/ushell/themes/base/ContentFinder.less +1 -0
  471. package/src/main/js/sap/ushell/themes/base/SearchCEP.less +9 -0
  472. package/src/main/js/sap/ushell/themes/base/img/SAPLogo.svg +1 -1
  473. package/src/main/js/sap/ushell/themes/base/img/launchicons/114_iPhone-Retina_Web_Clip.png +0 -0
  474. package/src/main/js/sap/ushell/themes/base/img/launchicons/144_iPad_Retina_Web_Clip.png +0 -0
  475. package/src/main/js/sap/ushell/themes/base/img/launchicons/57_iPhone_Desktop_Launch.png +0 -0
  476. package/src/main/js/sap/ushell/themes/base/img/launchicons/72_iPad_Desktop_Launch.png +0 -0
  477. package/src/main/js/sap/ushell/themes/base/img/launchpad_favicon.ico +0 -0
  478. package/src/main/js/sap/ushell/themes/sap_horizon/ShellHeader.less +0 -1
  479. package/src/main/js/sap/ushell/themes/sap_horizon_dark/ShellHeader.less +0 -1
  480. package/src/main/js/sap/ushell/themes/sap_horizon_hcb/ShellHeader.less +0 -1
  481. package/src/main/js/sap/ushell/themes/sap_horizon_hcw/ShellHeader.less +0 -1
  482. package/src/main/js/sap/ushell/ui/AppContainer.js +17 -22
  483. package/src/main/js/sap/ushell/ui/AppContainerRenderer.js +4 -6
  484. package/src/main/js/sap/ushell/ui/ContentNodeSelector.js +8 -9
  485. package/src/main/js/sap/ushell/ui/ContentNodeTreeItem.js +2 -3
  486. package/src/main/js/sap/ushell/ui/QuickAccess.js +90 -81
  487. package/src/main/js/sap/ushell/ui/ShellHeader.js +26 -25
  488. package/src/main/js/sap/ushell/ui/ShellHeaderRenderer.js +2 -1
  489. package/src/main/js/sap/ushell/ui/appfinder/AppBox.js +20 -7
  490. package/src/main/js/sap/ushell/ui/appfinder/AppBoxRenderer.js +9 -0
  491. package/src/main/js/sap/ushell/ui/appfinder/PinButton.js +7 -6
  492. package/src/main/js/sap/ushell/ui/appfinder/PinButtonRenderer.js +2 -1
  493. package/src/main/js/sap/ushell/ui/cards/FrequentActivitiesExtension.js +4 -4
  494. package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +5 -5
  495. package/src/main/js/sap/ushell/ui/footerbar/AboutButton.js +8 -13
  496. package/src/main/js/sap/ushell/ui/footerbar/AddBookmarkButton.js +10 -12
  497. package/src/main/js/sap/ushell/ui/footerbar/ContactSupportButton.js +22 -229
  498. package/src/main/js/sap/ushell/ui/footerbar/ContactSupportDialog.controller.js +116 -0
  499. package/src/main/js/sap/ushell/ui/footerbar/ContactSupportDialog.fragment.xml +85 -0
  500. package/src/main/js/sap/ushell/ui/footerbar/JamDiscussButton.js +8 -12
  501. package/src/main/js/sap/ushell/ui/footerbar/JamShareButton.js +9 -18
  502. package/src/main/js/sap/ushell/ui/footerbar/LogoutButton.js +8 -12
  503. package/src/main/js/sap/ushell/ui/footerbar/SaveAsTile.controller.js +4 -1
  504. package/src/main/js/sap/ushell/ui/footerbar/SaveAsTile.view.js +4 -1
  505. package/src/main/js/sap/ushell/ui/footerbar/SendAsEmailButton.js +6 -13
  506. package/src/main/js/sap/ushell/ui/launchpad/AccessibilityCustomData.js +4 -5
  507. package/src/main/js/sap/ushell/ui/launchpad/ActionItem.js +5 -4
  508. package/src/main/js/sap/ushell/ui/launchpad/AnchorItem.js +8 -11
  509. package/src/main/js/sap/ushell/ui/launchpad/AnchorItemRenderer.js +6 -2
  510. package/src/main/js/sap/ushell/ui/launchpad/AnchorNavigationBar.js +22 -19
  511. package/src/main/js/sap/ushell/ui/launchpad/AnchorNavigationBarRenderer.js +6 -1
  512. package/src/main/js/sap/ushell/ui/launchpad/CatalogEntryContainer.js +10 -6
  513. package/src/main/js/sap/ushell/ui/launchpad/CatalogsContainer.js +9 -5
  514. package/src/main/js/sap/ushell/ui/launchpad/DashboardGroupsContainer.js +9 -5
  515. package/src/main/js/sap/ushell/ui/launchpad/DashboardGroupsContainerRenderer.js +6 -1
  516. package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
  517. package/src/main/js/sap/ushell/ui/launchpad/GroupHeaderActions.js +7 -9
  518. package/src/main/js/sap/ushell/ui/launchpad/GroupListItem.js +59 -67
  519. package/src/main/js/sap/ushell/ui/launchpad/GroupListItemRenderer.js +15 -15
  520. package/src/main/js/sap/ushell/ui/launchpad/LinkTileWrapper.js +4 -4
  521. package/src/main/js/sap/ushell/ui/launchpad/LinkTileWrapperRenderer.js +2 -1
  522. package/src/main/js/sap/ushell/ui/launchpad/LoadingDialog.js +7 -11
  523. package/src/main/js/sap/ushell/ui/launchpad/LoadingDialogRenderer.js +2 -2
  524. package/src/main/js/sap/ushell/ui/launchpad/Page.js +8 -12
  525. package/src/main/js/sap/ushell/ui/launchpad/PageRenderer.js +2 -1
  526. package/src/main/js/sap/ushell/ui/launchpad/PlusTile.js +5 -11
  527. package/src/main/js/sap/ushell/ui/launchpad/PlusTileRenderer.js +1 -1
  528. package/src/main/js/sap/ushell/ui/launchpad/Section.js +14 -26
  529. package/src/main/js/sap/ushell/ui/launchpad/SectionRenderer.js +3 -2
  530. package/src/main/js/sap/ushell/ui/launchpad/Tile.js +10 -13
  531. package/src/main/js/sap/ushell/ui/launchpad/TileContainer.js +10 -11
  532. package/src/main/js/sap/ushell/ui/launchpad/TileContainerRenderer.js +3 -2
  533. package/src/main/js/sap/ushell/ui/launchpad/TileRenderer.js +2 -1
  534. package/src/main/js/sap/ushell/ui/launchpad/TileState.js +8 -81
  535. package/src/main/js/sap/ushell/ui/launchpad/TileStateInternal.js +119 -0
  536. package/src/main/js/sap/ushell/ui/launchpad/TileStateInternalRenderer.js +72 -0
  537. package/src/main/js/sap/ushell/ui/launchpad/TileStateRenderer.js +4 -65
  538. package/src/main/js/sap/ushell/ui/launchpad/ViewPortState.js +6 -7
  539. package/src/main/js/sap/ushell/{services/_VisualizationInstantiation → ui/launchpad}/VizInstance.js +86 -78
  540. package/src/main/js/sap/ushell/{services/_VisualizationInstantiation → ui/launchpad}/VizInstanceAbap.js +6 -5
  541. package/src/main/js/sap/ushell/ui/launchpad/VizInstanceBase.js +40 -0
  542. package/src/main/js/sap/ushell/{services/_VisualizationInstantiation → ui/launchpad}/VizInstanceCdm.js +13 -11
  543. package/src/main/js/sap/ushell/{services/_VisualizationInstantiation → ui/launchpad}/VizInstanceLaunchPage.js +10 -7
  544. package/src/main/js/sap/ushell/{services/_VisualizationInstantiation → ui/launchpad}/VizInstanceLink.js +9 -61
  545. package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +8 -6
  546. package/src/main/js/sap/ushell/ui/launchpad/section/CompactAreaRenderer.js +2 -1
  547. package/src/main/js/sap/ushell/ui/shell/ContentRenderer.js +3 -3
  548. package/src/main/js/sap/ushell/ui/shell/FloatingContainer.js +10 -8
  549. package/src/main/js/sap/ushell/ui/shell/RightFloatingContainer.js +3 -3
  550. package/src/main/js/sap/ushell/ui/shell/ShellAppTitle.js +32 -34
  551. package/src/main/js/sap/ushell/ui/shell/ShellFloatingAction.js +9 -6
  552. package/src/main/js/sap/ushell/ui/shell/ShellFloatingActionRenderer.js +1 -3
  553. package/src/main/js/sap/ushell/ui/shell/ShellHeadItem.js +4 -7
  554. package/src/main/js/sap/ushell/ui/shell/ShellNavigationMenu.js +8 -8
  555. package/src/main/js/sap/ushell/ui/shell/SysInfoBar.js +3 -8
  556. package/src/main/js/sap/ushell/ui/shell/ToolArea.js +2 -2
  557. package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +1 -1
  558. package/src/main/js/sap/ushell/ui/tile/DynamicTile.js +6 -8
  559. package/src/main/js/sap/ushell/ui/tile/DynamicTileRenderer.js +1 -1
  560. package/src/main/js/sap/ushell/ui/tile/ImageTile.js +4 -5
  561. package/src/main/js/sap/ushell/ui/tile/ImageTileRenderer.js +5 -6
  562. package/src/main/js/sap/ushell/ui/tile/StaticTile.js +4 -5
  563. package/src/main/js/sap/ushell/ui/tile/StaticTileRenderer.js +5 -6
  564. package/src/main/js/sap/ushell/ui/tile/TileBase.js +5 -8
  565. package/src/main/js/sap/ushell/ui/tile/TileBaseRenderer.js +3 -3
  566. package/src/main/js/sap/ushell/ui/utils.js +2 -4
  567. package/src/main/js/sap/ushell/ui5service/ShellUIService.js +8 -9
  568. package/src/main/js/sap/ushell/ui5service/UserStatus.js +11 -12
  569. package/src/main/js/sap/ushell/ui5service/_ShellUIService/shelluiservice.class.factory.js +6 -8
  570. package/src/main/js/sap/ushell/utils/DynamicTileRequest.js +5 -3
  571. package/src/main/js/sap/ushell/utils/HttpClient.js +6 -7
  572. package/src/main/js/sap/ushell/utils/RestrictedJSONModel.js +1 -1
  573. package/src/main/js/sap/ushell/utils/UrlParsing.js +5 -14
  574. package/src/main/js/sap/ushell/utils/UrlShortening.js +4 -4
  575. package/src/main/js/sap/ushell/utils/chipsUtils.js +10 -10
  576. package/src/main/js/sap/ushell/utils/workpage/WorkPageService.js +234 -0
  577. package/src/main/js/sap/ushell/utils/workpage/WorkPageVizInstantiation.js +141 -0
  578. package/src/main/js/sap/ushell/utils.js +17 -13
  579. package/src/test/js/sap/ushell/bootstrap/sandbox.js +1 -1
  580. package/ui5.yaml +6 -2
  581. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/rtaAgent/i18n/i18n_cnr.properties +0 -10
  582. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/rtaShell/i18n/i18n_cnr.properties +0 -4
  583. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_cnr.properties +0 -41
  584. package/src/main/js/sap/ushell/components/cepsearchresult/app/i18n/i18n_cnr.properties +0 -19
  585. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_cnr.properties +0 -117
  586. package/src/main/js/sap/ushell/components/container/resources/resources_cnr.properties +0 -10
  587. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_cnr.properties +0 -29
  588. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchPaginated.view.xml +0 -137
  589. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_cnr.properties +0 -78
  590. package/src/main/js/sap/ushell/components/workPageRuntime/services/NavigationResolver.js +0 -115
  591. package/src/main/js/sap/ushell/components/workPageRuntime/services/WorkPage.js +0 -130
  592. package/src/main/js/sap/ushell/plugins/rta/i18n/i18n_cnr.properties +0 -13
  593. package/src/main/js/sap/ushell/plugins/rta-personalize/i18n/i18n_cnr.properties +0 -24
  594. package/src/main/js/sap/ushell/renderer/allMyApps/AllMyAppsKeyboardHandler.js +0 -108
  595. package/src/main/js/sap/ushell/renderer/resources/resources_cnr.properties +0 -993
  596. package/src/main/js/sap/ushell/renderers/fiori2/allMyApps/AllMyAppsKeyboardHandler.js +0 -13
  597. package/src/main/js/sap/ushell/services/_UserRecents/RecentActivity.js +0 -481
  598. package/src/main/js/sap/ushell/services/_UserRecents/RecentAppsUsage.js +0 -207
  599. package/src/main/js/sap/ushell/services/_UserRecents/RecentsList.js +0 -92
  600. package/src/main/js/sap/ushell/themes/base/img/launchpadDefaultIcon.jpg +0 -0
  601. /package/src/main/js/sap/ushell/{services/_VisualizationInstantiation → ui/launchpad}/VizInstanceRenderer.js +0 -0
@@ -0,0 +1,532 @@
1
+ // Copyright (c) 2009-2023 SAP SE, All Rights Reserved
2
+
3
+ /**
4
+ * @fileOverview Shell Navigation Service.
5
+ */
6
+ sap.ui.define([
7
+ "sap/ushell/services/ShellNavigationHashChanger",
8
+ "sap/ui/core/routing/HashChanger"
9
+ ], function (ShellNavigationHashChanger, HashChanger) {
10
+ "use strict";
11
+
12
+ /* global hasher */
13
+
14
+ /**
15
+ * @alias sap.ushell.services.ShellNavigationInternal
16
+ * @class
17
+ * @classdesc The Unified Shell's internal navigation service (platform independent).
18
+ *
19
+ * <b>Note:</b> To retrieve a valid instance of this service, it is necessary to call
20
+ * <code>sap.ushell.Container.getServiceAsync("ShellNavigationInternal")</code>. For details, see
21
+ * {@link sap.ushell.Container#getServiceAsync}.
22
+ *
23
+ * This interface is for consumption by shell renderers/containers only
24
+ *
25
+ * It is not for direct usage by applications, see
26
+ * inner app navigation : UI5 interfaces (hashChanger, Router)
27
+ * cross app navigation : @see sap.ushell.services.CrossApplicationNavigation
28
+ *
29
+ * Usage:
30
+ *
31
+ * Example: see renders/fiorisandbox/Shell.controller.js
32
+ *
33
+ * <pre>
34
+ * sap.ui.define([
35
+ * "sap/ushell/services/ShellNavigationInternal"
36
+ * ], function (ShellNavigationInternal) {
37
+ * Shell.onHashChange(shellHash,appHash) { / *resolve url, load app and exchange root view* / }
38
+ * Shell.init() {
39
+ * this.privShellNavigator = new ShellNavigationInternal();
40
+ * this.privShellNavigator.init(jQuery.proxy(this.doHashChange, this));
41
+ * }
42
+ * });
43
+ * </pre>
44
+ *
45
+ * Note: further app specific integration via the reference app reuse code (setting of app specific handler)
46
+ *
47
+ * Note: the ShellNavigationInternal service replaces the UI5 core HashChanger which abstracts from the browser url modification.
48
+ *
49
+ * It performs the following services:
50
+ * - encoding of the actual browser url hash ( via hasher.js).
51
+ * - expansion of "shortened" urls ( AppParameterParts) via invocation.
52
+ * - splitting of shellHash and AppSpecific hash and abstraction w.r.t. Eventing
53
+ *
54
+ * Thus it is crucial to use appropriate interfaces and not directly invoke window.location.hash.
55
+ *
56
+ * - internal construction methods for a "current" App specific and non-app specific hash
57
+ * (invoked by CrossApplicationNavigation), not to be invoked directly!
58
+ *
59
+ * @param {object} oContainerInterface interface
60
+ * @param {string} sParameters parameters
61
+ * @param {object} oServiceConfiguration configuration
62
+ *
63
+ * @hideconstructor
64
+ *
65
+ * @since 1.121.0
66
+ * @private
67
+ */
68
+ function ShellNavigationInternal (oContainerInterface, sParameters, oServiceConfiguration) {
69
+ function requestReload () {
70
+ sap.ui.require(["sap/m/MessageBox"], function (MessageBox) {
71
+ MessageBox.show("Due to a configuration change on the server,\nclient and server are out of sync.\n We strongly recommend to reload the page soon.\nReload page now?", {
72
+ icon: MessageBox.Icon.ERROR,
73
+ title: "Client out of sync with server.",
74
+ actions: [MessageBox.Action.YES, MessageBox.Action.NO],
75
+ onClose: function (oAction) {
76
+ if (oAction === MessageBox.Action.YES) {
77
+ window.setTimeout(function () {
78
+ window.location.reload();
79
+ }, 0);
80
+ }
81
+ }
82
+ });
83
+ });
84
+ }
85
+
86
+ var oServiceConfig = oServiceConfiguration && oServiceConfiguration.config;
87
+
88
+ // instantiate and exchange the HashChanger from UI5
89
+ this.hashChanger = new ShellNavigationHashChanger(oServiceConfig);
90
+
91
+ this._navigationFilterForForwardingToRegisteredRouters = function (AppLifeCycle, sHash) {
92
+ var bMatchedFLPRouters = this._aRouters.some(function (oRouter) {
93
+ return oRouter.match(sHash);
94
+ });
95
+
96
+ if (bMatchedFLPRouters) {
97
+ var oCurrentApplication = AppLifeCycle.getCurrentApplication();
98
+ var bIsApp = oCurrentApplication && oCurrentApplication.componentInstance && !oCurrentApplication.homePage;
99
+
100
+ if (bIsApp) {
101
+ var oAppRouter = oCurrentApplication.componentInstance.getRouter();
102
+
103
+ if (oAppRouter) {
104
+ // Avoid unexpected route matched in the application
105
+ oAppRouter.stop();
106
+ }
107
+ }
108
+ return this.NavigationFilterStatus.Keep;
109
+ }
110
+ return this.NavigationFilterStatus.Continue;
111
+ };
112
+
113
+ /////////////////////////////// api for external usage
114
+
115
+ /**
116
+ * Returns the current navigation context.
117
+ *
118
+ * @returns {object}
119
+ * An object like:
120
+ * <pre>
121
+ * {
122
+ * "status": sap.ushell.NavigationState.Navigating,
123
+ * "isCrossAppNavigation": true,
124
+ * "innerAppRoute": "employee/overview"
125
+ * }
126
+ * </pre>
127
+ *
128
+ * This object can be used inside dirty flag providers to take
129
+ * corresponding actions.
130
+ *
131
+ * @protected
132
+ */
133
+ this.getNavigationContext = function () {
134
+ var oNavigationState = this.hashChanger.getCurrentNavigationState();
135
+ var bIsExternalNavigation = !this.hashChanger.isInnerAppNavigation(oNavigationState.oldHash, oNavigationState.newHash);
136
+
137
+ return {
138
+ status: oNavigationState.status,
139
+ isCrossAppNavigation: bIsExternalNavigation,
140
+ innerAppRoute: this.hashChanger.getHash()
141
+ };
142
+ };
143
+
144
+ /**
145
+ * Returns a Boolean value indicating whether only the initial navigation occurred or if already any additional
146
+ * navigation step was tracked.
147
+ *
148
+ * Note: There is a difference between the initial navigation and the first position in the navigation history: The function
149
+ * returns <code>false</code> after having returned to the first "FLP entry" via back navigation although this might be
150
+ * the same history position as the initial navigation. <code>true</code> is only returned as long as
151
+ * no further navigation happened, independent of the current history position.
152
+ *
153
+ * @returns {boolean} Whether the first navigation occurred (true) or a successive navigation occurred (false).
154
+ * @see {@link sap.ushell.services.ShellNavigationHashChanger#isInitialNavigation}
155
+ * @private
156
+ */
157
+ this.isInitialNavigation = function () {
158
+ return this._bIsInitialNavigation;
159
+ };
160
+
161
+ /**
162
+ * Set the value of the property this._bIsInitialNavigation.
163
+ *
164
+ * @private
165
+ */
166
+ this.setIsInitialNavigation = function (isInitialNavigation) {
167
+ this._bIsInitialNavigation = isInitialNavigation;
168
+ };
169
+
170
+ /**
171
+ * Returns a string which can be put into the DOM (e.g. in a link tag), asynchronously.
172
+ * Please use CrossApplicationNavigation service and do not invoke this method directly if you are an application.
173
+ *
174
+ * @param {object} oArgs object encoding a semantic object and action, e.g.:
175
+ * <pre>
176
+ * {
177
+ * target: {
178
+ * semanticObject: "AnObject",
179
+ * action: "Action"
180
+ * },
181
+ * params: { A: "B" }
182
+ * }
183
+ * </pre>
184
+ * or
185
+ * <pre>{ target: { shellHash: "SO-36&jumper=postman" } } </pre>
186
+ * @param {boolean} [bVerbose] whether the response should be returned in verbose format.
187
+ * If this flag is set to true, this function returns an object instead of a string.
188
+ * @param {object} [oComponent] an optional instance of sap.ui.core.UIComponent
189
+ * @returns {Promise<object>} <p>a string that can be put into a href attribute of an HTML anchor.
190
+ * The returned string will always start with a hash character.</p>
191
+ * <p>
192
+ * In case the <b>bVerbose</b> parameter is set to true, an object that wraps the result string will be returned instead:
193
+ * <pre>
194
+ * {
195
+ * hash : {string},
196
+ * params : {object}
197
+ * skippedParams : {object}
198
+ * }
199
+ * </pre>
200
+ * </p>
201
+ * where:
202
+ * <ul>
203
+ * <li><code>params</code> is an object containing non-truncated parameters</li>
204
+ * <li><code>skippedParams</code> is an object containing truncated parameters if truncation occurred or undefined if not</li>
205
+ * </ul>
206
+ *
207
+ * @since 1.15.0
208
+ * @private
209
+ */
210
+ this.hrefForExternal = function (oArgs, bVerbose, oComponent) {
211
+ return this.hashChanger.hrefForExternal(oArgs, bVerbose, oComponent);
212
+ };
213
+
214
+ /**
215
+ * Returns a string which can be put into the DOM (e.g. in a link tag), synchronously.
216
+ * Please use CrossApplicationNavigation service and do not invoke this method directly if you are an application.
217
+ *
218
+ * @param {object} oArgs object encoding a semantic object and action, e.g.:
219
+ * <pre>
220
+ * {
221
+ * target: {
222
+ * semanticObject: "AnObject",
223
+ * action: "Action"
224
+ * },
225
+ * params: { A: "B" }
226
+ * }
227
+ * </pre>
228
+ * or
229
+ * <pre>{ target: { shellHash: "SO-36&jumper=postman" } } </pre>
230
+ * @param {boolean} [bVerbose] whether the response should be returned in verbose format.
231
+ * If this flag is set to true, this function returns an object instead of a string.
232
+ * @param {object} [oComponent] an optional instance of sap.ui.core.UIComponent
233
+ * @returns {object} <p>a string that can be put into an href attribute of an HTML anchor.
234
+ * The returned string will always start with a hash character.</p>
235
+ * <p>
236
+ * In case the <b>bVerbose</b> parameter is set to true, an object that wraps the result string will be returned instead:
237
+ * <pre>
238
+ * {
239
+ * hash : {string},
240
+ * params : {object}
241
+ * skippedParams : {object}
242
+ * }
243
+ * </pre>
244
+ * </p>
245
+ * where:
246
+ * <ul>
247
+ * <li><code>params</code> is an object containing non-truncated parameters</li>
248
+ * <li><code>skippedParams</code> is an object containing truncated parameters if truncation occurred or undefined if not</li>
249
+ * </ul>
250
+ *
251
+ * @since 1.119.0
252
+ * @private
253
+ * @deprecated since 1.119.0 Please use {@link sap.ushell.services.ShellNavigationInternal#hrefForExternal} instead.
254
+ */
255
+ this.hrefForExternalSync = function (oArgs, bVerbose, oComponent) {
256
+ return this.hashChanger.hrefForExternalSync(oArgs, bVerbose, oComponent);
257
+ };
258
+
259
+ /**
260
+ * returns a string which can be put into the DOM (e.g. in a link tag) given an app specific hash suffix,
261
+ * (it may shorten the app specific parts of the url to fit browser restrictions)
262
+ *
263
+ * @param {string} sAppHash Application hash
264
+ * @returns {string} a string which can be put into the link tag,
265
+ * containing the current shell hash as prefix and the specified application hash as suffix
266
+ * example: hrefForAppSpecificHash("View1/details/0/") returns "#MyApp-Display&/View1/details/0/"
267
+ *
268
+ * @since 1.15.0
269
+ * @private
270
+ */
271
+ this.hrefForAppSpecificHash = function (sAppHash) {
272
+ return this.hashChanger.hrefForAppSpecificHash(sAppHash);
273
+ };
274
+
275
+ /**
276
+ * compact the parameter object, if required a number of parameters will be removed, instead a corresponding
277
+ * "sap-intent-param" containing a key of an appstate representing the removed parameters will be inserted
278
+ *
279
+ * @param {object} oParams A parameter object
280
+ * @param {Array<*>} [aRetainedParameters] An array of string value of parameters which shall not be compacted
281
+ * The array may contains a *-terminated string, which will match and strings with the same prefix
282
+ * ( e.g. "sap-*" will match "sap-ushell", "sap-wd", "sap-" etc. )
283
+ * @param {object} [oComponent] optional, a SAP UI5 Component
284
+ * @param {boolean} [bTransient] whether an transient appstate is sufficient
285
+ * @returns {Promise} a promise, whose first argument of resolve is
286
+ * @protected
287
+ */
288
+ this.compactParams = function (oParams, aRetainedParameters, oComponent, bTransient) {
289
+ return this.hashChanger.compactParams(oParams, aRetainedParameters, oComponent, bTransient);
290
+ };
291
+
292
+ /**
293
+ * Navigate to an external target
294
+ *
295
+ * @param {object} oArgs configuration object describing the target, e.g.:
296
+ * {
297
+ * target : { semanticObject : "AnObject", action: "Action" },
298
+ * params : { A : "B" }
299
+ * }
300
+ * constructs sth like http://....ushell#AnObject-Action?A=B ....
301
+ * and navigates to it.
302
+ * @param {object} oComponent optional, a SAP UI5 Component
303
+ * @param {boolean} bWriteHistory writeHistory whether to create a history record (true, undefined) or replace the hash (false)
304
+ * @returns {Promise<undefined>} A Promise which resolves once the navigation was triggered
305
+ *
306
+ * @private
307
+ */
308
+ this.toExternal = function (oArgs, oComponent, bWriteHistory) {
309
+ return this.hashChanger.toExternal(oArgs, oComponent, bWriteHistory);
310
+ };
311
+
312
+ /**
313
+ * Constructs the full shell hash and sets it, thus triggering a navigation to it
314
+ *
315
+ * @param {string} sAppHash specific hash
316
+ * @param {boolean} bWriteHistory if true it adds a history entry in the browser if not it replaces the hash
317
+ * @private
318
+ */
319
+ this.toAppHash = function (sAppHash, bWriteHistory) {
320
+ this.hashChanger.toAppHash(sAppHash, bWriteHistory);
321
+ };
322
+
323
+ // Lifecycle methods
324
+
325
+ /**
326
+ * Initializes ShellNavigationInternal
327
+ *
328
+ * This function should be used by a custom renderer in order to implement custom navigation.
329
+ * Do not use this function for developing Fiori applications.
330
+ *
331
+ * This method should be invoked by the Shell in order to:
332
+ * - Register the event listener
333
+ * - Register the container callback for the (currently single) ShellHash changes.
334
+ *
335
+ * Signature of the callback function
336
+ * sShellHashPart, // The hash part on the URL that is resolved and used for application loading
337
+ * sAppSpecificPart // Typically ignored
338
+ * sOldShellHashPart, // The old shell hash part, if exist
339
+ * sOldAppSpecificPart, // The old app hash part, if exist
340
+ *
341
+ * @param {function} fnShellCallback The callback method for hash changes
342
+ * @returns {object} this
343
+ *
344
+ * @public
345
+ */
346
+ this.init = function (fnShellCallback) {
347
+ this._bIsInitialNavigation = true;
348
+ hasher.prependHash = "";
349
+ HashChanger.replaceHashChanger(this.hashChanger);
350
+ var oBus = sap.ui.getCore().getEventBus();
351
+ oBus.subscribe("sap.ui.core.UnrecoverableClientStateCorruption", "RequestReload", requestReload);
352
+ this.hashChanger.initShellNavigation(fnShellCallback);
353
+
354
+ this._enableHistoryEntryReplacedDetection();
355
+
356
+ return this;
357
+ };
358
+
359
+ /**
360
+ * Allows to detect how was the last hash changed at low levels, before events are emitted by the HashChanger.
361
+ * This is useful to handle data loss cancellation. After the confirmation dialog is cancelled,
362
+ * we need to restore the hash correctly based on the direction and on whether setHash (adds a new history entry)
363
+ * or replaceHash (no history entry) was last used.
364
+ *
365
+ * For example, when the user went backwards via browser back button.
366
+ *
367
+ * NOTE: relies on "hasher" available as a global variable.
368
+ * Records the last hash change mode in the "_lastHashChangeMode" member, which can have values:
369
+ * <ul>
370
+ * <li>"setHash" when hasher.setHash is called</li>
371
+ * <li>"replaceHash" when hasher.replaceHash is called</li>
372
+ * </ul>
373
+ *
374
+ * @private
375
+ */
376
+ this._enableHistoryEntryReplacedDetection = function () {
377
+ this._lastHashChangeMode = null;
378
+
379
+ this._fnOriginalSetHash = hasher.setHash;
380
+ this._fnOriginalReplaceHash = hasher.replaceHash;
381
+
382
+ hasher.setHash = function () {
383
+ this._hashChangedByApp = true;
384
+ this._lastHashChangeMode = "setHash";
385
+ return this._fnOriginalSetHash.apply(hasher, arguments);
386
+ }.bind(this);
387
+
388
+ hasher.replaceHash = function () {
389
+ this._hashChangedByApp = true;
390
+ this._lastHashChangeMode = "replaceHash";
391
+ return this._fnOriginalReplaceHash.apply(hasher, arguments);
392
+ }.bind(this);
393
+ };
394
+
395
+ /**
396
+ * Returns true if the history entry was replaced immediately after the last navigation.
397
+ * To be useful, this method should be called immediately after the hash enters the URL
398
+ * but before the target application is finally navigated to.
399
+ *
400
+ * This method should not be used externally.
401
+ * It's reserved uniquely for internal shell consumption and its signature or result might change at any time.
402
+ *
403
+ * @returns {boolean} Whether <code>hasher#replaceHash</code> was called after the last navigation.
404
+ * @protected
405
+ */
406
+ this.wasHistoryEntryReplaced = function () {
407
+ return this._lastHashChangeMode === "replaceHash";
408
+ };
409
+
410
+ /**
411
+ * Resets the internal flag used to track whether the last navigation is made via hasher#setHash or hasher#replaceHash.
412
+ * This method should be called after a navigation is successfully made to a target application to avoid returning
413
+ * an inconsistent answer when calling <code>#wasHistoryEntryReplaced</code>.
414
+ * An inconsistent answer might occur when a navigation is made via forward/back button without
415
+ * passing via <code>hasher#replaceHash</code> or <code>hasher#setHash</code>.
416
+ *
417
+ * This method should not be used externally.
418
+ * It's reserved uniquely for internal shell consumption and its signature or result might change at any time.
419
+ *
420
+ * @protected
421
+ */
422
+ this.resetHistoryEntryReplaced = function () {
423
+ this._lastHashChangeMode = null;
424
+ };
425
+
426
+ /**
427
+ * Rewrite the hash fragment identifier without triggering any navigation at
428
+ *
429
+ * @param {string} sNewHash new hash fragment
430
+ *
431
+ * @protected
432
+ */
433
+ this.replaceHashWithoutNavigation = function (sNewHash) {
434
+ hasher.changed.active = false; //disable changed signal
435
+ this._fnOriginalSetHash(sNewHash); //set hash without dispatching changed signal
436
+ hasher.changed.active = true; //re-enable signal
437
+ };
438
+
439
+ /**
440
+ * The navigation filter statuses that should be returned by a navigation filter
441
+ *
442
+ * Continue - continue with the navigation flow
443
+ * Abandon - stop the navigation flow, and revert to the previous hash state
444
+ * Custom - stop the navigation flow, but leave the hash state as is. The filter should use this status
445
+ * to provide alternative navigation handling
446
+ *
447
+ * @see sap.ushell.services.ShellNavigationInternal#registerNavigationFilter
448
+ * @private
449
+ * @ui5-restricted sap.fl
450
+ */
451
+ this.NavigationFilterStatus = this.hashChanger.NavigationFilterStatus;
452
+
453
+ /**
454
+ * Register the navigation filter callback function.
455
+ * A navigation filter provides plugins with the ability to intervene in the navigation flow,
456
+ * and optionally to stop the navigation.
457
+ *
458
+ * The callback has to return {@link sap.ushell.services.ShellNavigationInternal.NavigationFilterStatus}
459
+ *
460
+ * Use <code>Function.prototype.bind()</code> to determine the callback's <code>this</code> or some of its arguments.
461
+ *
462
+ * @param {object} fnFilter navigation filter function
463
+ *
464
+ * @see sap.ushell.services.ShellNavigationInternal#registerNavigationFilter
465
+ * @private
466
+ * @ui5-restricted sap.fl
467
+ */
468
+ this.registerNavigationFilter = function (fnFilter) {
469
+ this.hashChanger.registerNavigationFilter(fnFilter);
470
+ };
471
+
472
+ this._aRouters = [];
473
+ this.registerExtraRouter = function (oRouter) {
474
+ this._aRouters.push(oRouter);
475
+ };
476
+
477
+ /**
478
+ * Unregister a previously registered navigation filter
479
+ *
480
+ * The callback has to return {@link sap.ushell.services.ShellNavigationInternal.NavigationFilterStatus}
481
+ *
482
+ * Note the same filter function that was registered should be passed as a parameter to this method.
483
+ *
484
+ * @param {object} fnFilter navigation filter function
485
+ *
486
+ * @see sap.ushell.services.ShellNavigationInternal#registerNavigationFilter
487
+ * @private
488
+ * @ui5-restricted sap.fl
489
+ */
490
+ this.unregisterNavigationFilter = function (fnFilter) {
491
+ this.hashChanger.unregisterNavigationFilter(fnFilter);
492
+ };
493
+
494
+ // this navigation filter must always be the first filter
495
+ this.registerNavigationFilter(function () {
496
+ /**
497
+ * Checks whether the current hashChange event is triggered by the application by calling either
498
+ * setHash or replaceHash method on the HashChanger.
499
+ *
500
+ * If the current hashChange event is triggered by the browser, either call window.history.go (back)
501
+ * or press the browser forward/backward button, the flag this._hashChangedByApp has a falsy value.
502
+ *
503
+ * If the current hashChange isn't triggered by the app, the flag this._lastHashChangeMode is reset
504
+ */
505
+ if (!this._hashChangedByApp) {
506
+ this.resetHistoryEntryReplaced();
507
+ }
508
+
509
+ // reset the hashChangedByApp flag
510
+ this._hashChangedByApp = undefined;
511
+
512
+ // continue with hashChange event processing
513
+ return this.NavigationFilterStatus.Continue;
514
+ }.bind(this));
515
+
516
+ /**
517
+ * This helper allows to register ShellNavigationInternal filters which depend on additional services, which might not be
518
+ * available at constructor time
519
+ * @param {object} AppLifeCycle The AppLifeCycle service
520
+ *
521
+ * @private
522
+ * @since 1.95
523
+ */
524
+ this.registerPrivateFilters = function (AppLifeCycle) {
525
+ // ensure registered Routers get the full hash
526
+ this.registerNavigationFilter(this._navigationFilterForForwardingToRegisteredRouters.bind(this, AppLifeCycle));
527
+ };
528
+ }
529
+
530
+ ShellNavigationInternal.hasNoAdapter = true;
531
+ return ShellNavigationInternal;
532
+ }, true /* bExport */);
@@ -12,7 +12,7 @@
12
12
  * it is pertinent that the API user employs this service's version of <code>toExternal()</code> for cross application
13
13
  * navigation (instead) of using the one provided by CrossApplicationNavigation service.</p>
14
14
  *
15
- * @version 1.120.7
15
+ * @version 1.121.0
16
16
  */
17
17
  sap.ui.define([
18
18
  "sap/ui/thirdparty/jquery",
@@ -30,8 +30,9 @@ sap.ui.define([
30
30
  "use strict";
31
31
 
32
32
  /**
33
- * Constructs an instance of SmartNavigation.
34
- *
33
+ * @alias sap.ushell.services.SmartNavigation
34
+ * @class
35
+ * @classdesc Constructs an instance of SmartNavigation.
35
36
  * <p>
36
37
  * The constructed service provides an enhancement on {@link CrossApplicationNavigation#getLinks} and
37
38
  * {@link CrossApplicationNavigation#toExternal}. In order for an application to leverage this enhancement,
@@ -42,14 +43,18 @@ sap.ui.define([
42
43
  * <i>Attempted</i> in the previous paragraph is emphasized due to the fact that a click on the link
43
44
  * will cause an increment of the frequency count, regardless of whether or not the navigation was successful.
44
45
  * <p>
45
- * Note that an instance of this service should only be obtained via <code>sap.ushell.services.Container#getServiceAsync("SmartNavigation").then(function (SmartNavigation) {});</code>
46
- * @see sap.ushell.services.Container#getServiceAsync
47
46
  *
48
- * @name sap.ushell.services.SmartNavigation
49
- * @class
47
+ * <b>Note:</b> To retrieve a valid instance of this service, it is necessary to call
48
+ * <code>sap.ushell.Container.getServiceAsync("ClientSideTargetResolution")</code>. For details, see
49
+ * {@link sap.ushell.Container#getServiceAsync}.
50
+ *
51
+ * @augments sap.ushell.services.Service
52
+ * @hideconstructor
53
+ *
54
+ * @see sap.ushell.Container#getServiceAsync
55
+ * @since 1.44.0
50
56
  * @public
51
57
  * @deprecated since 1.112. This service has been deprecated. Please use the CrossApplicationNavigation service instead.
52
- * @since 1.44.0
53
58
  */
54
59
  function SmartNavigation (oContainerInterface, sParameters, oServiceConfig) {
55
60
  this._oServiceConfig = oServiceConfig;
@@ -74,13 +79,12 @@ sap.ui.define([
74
79
  * Internally, this method delegates to {@link sap.ushell.services.CrossApplicationNavigation#getLinks}
75
80
  * and then sorts the resulting list accordingly.
76
81
  *
77
- * @returns {jQuery.Promise} A promise that resolves with an array of link objects
82
+ * @returns {jQuery.Promise} Resolves with an array of link objects
78
83
  * sorted according to their relevance to the calling application.
84
+ *
79
85
  * @see sap.ushell.services.CrossApplicationNavigation#getLinks
80
86
  * @since 1.44.0
81
87
  * @public
82
- * @function
83
- * @memberof sap.ushell.services.SmartNavigation#
84
88
  */
85
89
  SmartNavigation.prototype.getLinks = function (oArgs) {
86
90
  var oDeferred = new jQuery.Deferred();
@@ -209,7 +213,6 @@ sap.ui.define([
209
213
  * @see sap.ushell.services.CrossApplicationNavigation#hrefForExternal
210
214
  * @since 1.46.0
211
215
  * @public
212
- * @memberof sap.ushell.services.SmartNavigation#
213
216
  * @deprecated since 1.94. Please use {@link #hrefForExternalAsync} instead.
214
217
  */
215
218
  SmartNavigation.prototype.hrefForExternal = function () {
@@ -228,11 +231,11 @@ sap.ui.define([
228
231
  * Completely delegates to {@link sap.ushell.services.CrossApplicationNavigation#hrefForExternalAsync},
229
232
  * and may be used in place of the other with exactly the same outcome.
230
233
  *
234
+ * @returns {Promise<string>} A promise that is resolved to a string that can be put into an href attribute of an HTML anchor. The returned string will always start with a hash character.
235
+ *
231
236
  * @see sap.ushell.services.CrossApplicationNavigation#hrefForExternalAsync
232
237
  * @since 1.94.0
233
238
  * @public
234
- * @returns {Promise<string>} A promise that is resolved to a string that can be put into an href attribute of an HTML anchor. The returned string will always start with a hash character.
235
- * @memberof sap.ushell.services.SmartNavigation#
236
239
  */
237
240
  SmartNavigation.prototype.hrefForExternalAsync = function () {
238
241
  var aArguments = arguments;
@@ -255,8 +258,6 @@ sap.ui.define([
255
258
  * @see sap.ushell.services.CrossApplicationNavigation#getPrimaryIntent
256
259
  * @since 1.48.0
257
260
  * @public
258
- * @function
259
- * @memberof sap.ushell.services.SmartNavigation#
260
261
  */
261
262
  SmartNavigation.prototype.getPrimaryIntent = function () {
262
263
  var oDeferred = new jQuery.Deferred();
@@ -296,11 +297,10 @@ sap.ui.define([
296
297
  * }
297
298
  * }
298
299
  * </pre>
299
- * @returns {object} promise, the new item created for tracking
300
+ * @returns {jQuery.Promise} Resolves once the navigation was tracked.
301
+ *
300
302
  * @since 1.46.0
301
303
  * @public
302
- * @function
303
- * @memberof sap.ushell.services.SmartNavigation#
304
304
  */
305
305
  SmartNavigation.prototype.trackNavigation = function (oArgs) {
306
306
  Log.error("Call to deprecated service: 'SmartNavigation.trackNavigation'.",
@@ -437,7 +437,7 @@ sap.ui.define([
437
437
  *
438
438
  * @param {string} sFromCurrentShellHash An origin hash.
439
439
  * @param {object} oComponent The current application component.
440
- * @returns {Array} List of navigation occurrences originating from the given hash.
440
+ * @returns {jQuery.Promise<Array<*>>} List of navigation occurrences originating from the given hash.
441
441
  * Each item contains a destination hash and the frequency of the occurrence of navigations between the origin and the destination.
442
442
  * @private
443
443
  */
@@ -495,9 +495,9 @@ sap.ui.define([
495
495
  * This function ultimately mutates individual items in the aLinks list, because `_mapClickCountsIntoLinkItems`
496
496
  * does mutate the `aLinks` that is passed to it.
497
497
  *
498
- * @param {Array} aLinks List of link items for which a click count should be inserted.
499
- * @param {Array} aNavigationOccurrences List of known navigation occurrences from which the click count should be deduced.
500
- * @returns {Array} The originally passed list of links.
498
+ * @param {object[]} aLinks List of link items for which a click count should be inserted.
499
+ * @param {object[]} aNavigationOccurrences List of known navigation occurrences from which the click count should be deduced.
500
+ * @returns {object[]} The originally passed list of links.
501
501
  * @private
502
502
  */
503
503
  SmartNavigation.prototype._prepareLinksForSorting = function (aLinks, aNavigationOccurrences) {