@sapui5/sap.ushell 1.135.0 → 1.136.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 (728) hide show
  1. package/package.json +1 -1
  2. package/src/main/js/sap/ushell/.library +1 -1
  3. package/src/main/js/sap/ushell/AppInfoParameters.js +13 -16
  4. package/src/main/js/sap/ushell/ApplicationType/UrlPostProcessing.js +0 -4
  5. package/src/main/js/sap/ushell/ApplicationType/urlTemplateResolution.js +5 -12
  6. package/src/main/js/sap/ushell/Container.js +11 -11
  7. package/src/main/js/sap/ushell/Fiori20Adapter.js +5 -3
  8. package/src/main/js/sap/ushell/Fiori20AdapterTest.js +6 -4
  9. package/src/main/js/sap/ushell/Layout.js +3 -3
  10. package/src/main/js/sap/ushell/NWBCInterface.js +8 -11
  11. package/src/main/js/sap/ushell/SessionHandler.js +16 -77
  12. package/src/main/js/sap/ushell/TechnicalParameters.js +1 -1
  13. package/src/main/js/sap/ushell/URLTemplateProcessor/DefinitionParameterSetBuilder.js +1 -1
  14. package/src/main/js/sap/ushell/URLTemplateProcessor/DependencyGraph.js +1 -1
  15. package/src/main/js/sap/ushell/URLTemplateProcessor/Functions.js +1 -1
  16. package/src/main/js/sap/ushell/URLTemplateProcessor/Resolvers.js +1 -1
  17. package/src/main/js/sap/ushell/URLTemplateProcessor/TemplateParameterParser.js +1 -1
  18. package/src/main/js/sap/ushell/URLTemplateProcessor/utils.js +1 -1
  19. package/src/main/js/sap/ushell/URLTemplateProcessor.js +1 -1
  20. package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +1 -1
  21. package/src/main/js/sap/ushell/Ui5ServiceFactory.js +1 -1
  22. package/src/main/js/sap/ushell/User.js +8 -19
  23. package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +1 -1
  24. package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +1 -1
  25. package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
  26. package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +1 -1
  27. package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +1 -1
  28. package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +1 -1
  29. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
  30. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationV2Adapter.js +1 -1
  31. package/src/main/js/sap/ushell/adapters/cdm/Settings/UserLanguageAndRegion/UserLanguageAndRegion.view.xml +5 -5
  32. package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +1 -1
  33. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +1 -1
  34. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +1 -1
  35. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +1 -1
  36. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +1 -1
  37. package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +1 -1
  38. package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +1 -1
  39. package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +25 -25
  40. package/src/main/js/sap/ushell/adapters/cdm/v3/FlpLaunchPageAdapter.js +50 -50
  41. package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +1 -1
  42. package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +1 -1
  43. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +1 -1
  44. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +1 -1
  45. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +13 -13
  46. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +1 -1
  47. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +1 -1
  48. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +1 -1
  49. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +1 -1
  50. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionInternalAdapter.js +1 -1
  51. package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +1 -1
  52. package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +1 -1
  53. package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +1 -1
  54. package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +1 -1
  55. package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +1 -1
  56. package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +1 -1
  57. package/src/main/js/sap/ushell/adapters/local/FlpLaunchPageAdapter.js +1 -1
  58. package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +1 -1
  59. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +1 -1
  60. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionInternalAdapter.js +1 -1
  61. package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +1 -1
  62. package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +1 -1
  63. package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +1 -1
  64. package/src/main/js/sap/ushell/adapters/local/PersonalizationV2Adapter.js +1 -1
  65. package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +1 -1
  66. package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +1 -1
  67. package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +1 -1
  68. package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +1 -1
  69. package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +1 -1
  70. package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +1 -1
  71. package/src/main/js/sap/ushell/api/DWS.js +1 -1
  72. package/src/main/js/sap/ushell/api/NewExperience.js +24 -2
  73. package/src/main/js/sap/ushell/api/RTA.js +65 -4
  74. package/src/main/js/sap/ushell/appIntegration/AppLifeCycle.js +59 -49
  75. package/src/main/js/sap/ushell/appIntegration/ApplicationContainer.js +57 -11
  76. package/src/main/js/sap/ushell/appIntegration/ApplicationContainerCache.js +2 -8
  77. package/src/main/js/sap/ushell/appIntegration/ApplicationContainerRenderer.js +1 -6
  78. package/src/main/js/sap/ushell/appIntegration/ApplicationHandle.js +0 -6
  79. package/src/main/js/sap/ushell/appIntegration/IframeApplicationContainer.js +27 -4
  80. package/src/main/js/sap/ushell/appIntegration/IframeApplicationContainerRenderer.js +8 -6
  81. package/src/main/js/sap/ushell/appIntegration/KeepAliveApps.js +0 -6
  82. package/src/main/js/sap/ushell/appIntegration/PostMessageManager/AppruntimeHandler.js +1 -7
  83. package/src/main/js/sap/ushell/appIntegration/PostMessageManager/ExtensionItems.js +3 -9
  84. package/src/main/js/sap/ushell/appIntegration/PostMessageManager/LifecycleHandler.js +3 -9
  85. package/src/main/js/sap/ushell/appIntegration/PostMessageManager/MessageBrokerHandler.js +0 -4
  86. package/src/main/js/sap/ushell/appIntegration/PostMessageManager/NWBCHandler.js +0 -6
  87. package/src/main/js/sap/ushell/appIntegration/PostMessageManager/ServiceHandler.js +6 -12
  88. package/src/main/js/sap/ushell/appIntegration/PostMessageManager.js +2 -8
  89. package/src/main/js/sap/ushell/appIntegration/PostMessagePluginInterface.js +2 -8
  90. package/src/main/js/sap/ushell/appIntegration/UI5ApplicationContainer.js +0 -6
  91. package/src/main/js/sap/ushell/appIntegration/UI5ApplicationContainerRenderer.js +3 -8
  92. package/src/main/js/sap/ushell/appIntegration/contracts/EmbeddedUI5Handler.js +1 -7
  93. package/src/main/js/sap/ushell/appIntegration/contracts/StatefulContainerV1Handler.js +0 -6
  94. package/src/main/js/sap/ushell/appIntegration/contracts/StatefulContainerV2Handler.js +9 -13
  95. package/src/main/js/sap/ushell/appRuntime/neo/AppInfoService.js +1 -1
  96. package/src/main/js/sap/ushell/appRuntime/neo/ProxyAppUtils.js +2 -2
  97. package/src/main/js/sap/ushell/appRuntime/ui5/AppCommunicationMgr.js +0 -7
  98. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +17 -19
  99. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntimeService.js +1 -1
  100. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/AccessKeysAgent.js +2 -1
  101. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/Renderer.js +17 -29
  102. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/RendererExtensions.js +3 -5
  103. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppConfiguration.js +3 -4
  104. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppLifeCycle.js +1 -1
  105. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppLifeCycleAgent.js +33 -30
  106. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppState.js +7 -13
  107. package/src/main/js/sap/ushell/appRuntime/ui5/services/Bookmark.js +25 -39
  108. package/src/main/js/sap/ushell/appRuntime/ui5/services/BookmarkV2.js +24 -26
  109. package/src/main/js/sap/ushell/appRuntime/ui5/services/CommonDataModel.js +1 -1
  110. package/src/main/js/sap/ushell/appRuntime/ui5/services/Container.js +6 -9
  111. package/src/main/js/sap/ushell/appRuntime/ui5/services/CrossApplicationNavigation.js +58 -75
  112. package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension/Item.js +1 -1
  113. package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension.js +1 -1
  114. package/src/main/js/sap/ushell/appRuntime/ui5/services/FlpLaunchPage.js +1 -1
  115. package/src/main/js/sap/ushell/appRuntime/ui5/services/FrameBoundExtension.js +1 -1
  116. package/src/main/js/sap/ushell/appRuntime/ui5/services/LaunchPage.js +1 -1
  117. package/src/main/js/sap/ushell/appRuntime/ui5/services/MessageBroker.js +1 -1
  118. package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolution.js +14 -20
  119. package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolutionInternal.js +14 -21
  120. package/src/main/js/sap/ushell/appRuntime/ui5/services/Navigation.js +30 -45
  121. package/src/main/js/sap/ushell/appRuntime/ui5/services/ReferenceResolver.js +1 -1
  122. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigation.js +11 -16
  123. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigationInternal.js +8 -12
  124. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellUIService.js +16 -21
  125. package/src/main/js/sap/ushell/appRuntime/ui5/services/UserDefaultParameters.js +3 -4
  126. package/src/main/js/sap/ushell/appRuntime/ui5/services/UserInfo.js +1 -1
  127. package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
  128. package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/logger.js +1 -1
  129. package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/state.js +1 -1
  130. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5datetimeformat.js +1 -1
  131. package/src/main/js/sap/ushell/bootstrap/common/common.create.configcontract.core.js +3 -1
  132. package/src/main/js/sap/ushell/bootstrap/common/common.override.registermodulepath.js +1 -1
  133. package/src/main/js/sap/ushell/bootstrap/common/common.util.js +3 -3
  134. package/src/main/js/sap/ushell/bootstrap/sandbox2.js +1 -1
  135. package/src/main/js/sap/ushell/components/CatalogsManager.js +11 -11
  136. package/src/main/js/sap/ushell/components/ComponentKeysHandler.js +6 -6
  137. package/src/main/js/sap/ushell/components/HomepageManager.js +2 -2
  138. package/src/main/js/sap/ushell/components/_HomepageManager/DashboardLoadingManager.js +1 -1
  139. package/src/main/js/sap/ushell/components/_HomepageManager/PersistentPageOperationAdapter.js +1 -1
  140. package/src/main/js/sap/ushell/components/_HomepageManager/TransientPageOperationAdapter.js +1 -1
  141. package/src/main/js/sap/ushell/components/appfinder/AppFinder.controller.js +21 -21
  142. package/src/main/js/sap/ushell/components/appfinder/Catalog.controller.js +6 -6
  143. package/src/main/js/sap/ushell/components/appfinder/Component.js +1 -1
  144. package/src/main/js/sap/ushell/components/appfinder/HierarchyApps.controller.js +4 -5
  145. package/src/main/js/sap/ushell/components/appfinder/VisualizationOrganizerHelper.js +2 -2
  146. package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
  147. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/Category.js +3 -3
  148. package/src/main/js/sap/ushell/components/container/resources/resources_de.properties +1 -1
  149. package/src/main/js/sap/ushell/components/contentFinder/CatalogService.js +1 -1
  150. package/src/main/js/sap/ushell/components/contentFinder/Component.js +9 -9
  151. package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +5 -5
  152. package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +1 -1
  153. package/src/main/js/sap/ushell/components/contentFinder/dialog/Component.js +4 -4
  154. package/src/main/js/sap/ushell/components/contentFinder/dialog/manifest.json +1 -1
  155. package/src/main/js/sap/ushell/components/contentFinder/manifest.json +1 -1
  156. package/src/main/js/sap/ushell/components/contentFinder/model/formatter.js +2 -2
  157. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ar.properties +1 -1
  158. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_bg.properties +1 -1
  159. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ca.properties +1 -1
  160. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_cnr.properties +1 -1
  161. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_cs.properties +1 -1
  162. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_cy.properties +1 -1
  163. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_da.properties +2 -2
  164. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_de.properties +1 -1
  165. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_el.properties +1 -1
  166. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_en.properties +1 -1
  167. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_en_GB.properties +1 -1
  168. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_es.properties +1 -1
  169. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_es_MX.properties +1 -1
  170. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_et.properties +1 -1
  171. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_fi.properties +1 -1
  172. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_fr.properties +1 -1
  173. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_fr_CA.properties +1 -1
  174. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_hi.properties +1 -1
  175. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_hr.properties +2 -2
  176. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_hu.properties +1 -1
  177. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_id.properties +1 -1
  178. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_it.properties +1 -1
  179. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_iw.properties +1 -1
  180. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ja.properties +2 -2
  181. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_kk.properties +1 -1
  182. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ko.properties +1 -1
  183. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_lt.properties +1 -1
  184. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_lv.properties +1 -1
  185. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_mk.properties +1 -1
  186. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ms.properties +1 -1
  187. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_nl.properties +1 -1
  188. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_no.properties +1 -1
  189. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_pl.properties +1 -1
  190. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_pt.properties +1 -1
  191. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_pt_PT.properties +1 -1
  192. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ro.properties +1 -1
  193. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ru.properties +2 -2
  194. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sh.properties +1 -1
  195. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sk.properties +1 -1
  196. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sl.properties +1 -1
  197. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sr.properties +1 -1
  198. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sv.properties +1 -1
  199. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_th.properties +1 -1
  200. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_tr.properties +1 -1
  201. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_uk.properties +1 -1
  202. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_vi.properties +1 -1
  203. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_zh_CN.properties +1 -1
  204. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_zh_TW.properties +1 -1
  205. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchCategoryTreeTable.fragment.xml +0 -1
  206. package/src/main/js/sap/ushell/components/contentFinderStandalone/Component.js +1 -1
  207. package/src/main/js/sap/ushell/components/contentFinderStandalone/controller/ContentFinderStandalone.controller.js +3 -3
  208. package/src/main/js/sap/ushell/components/contentFinderStandalone/manifest.json +1 -1
  209. package/src/main/js/sap/ushell/components/factsheet/Component.js +1 -1
  210. package/src/main/js/sap/ushell/components/factsheet/tools/ODataUrlTemplating.js +1 -0
  211. package/src/main/js/sap/ushell/components/homeApp/error/HomeAppError.view.xml +1 -1
  212. package/src/main/js/sap/ushell/components/homepage/ActionMode.js +1 -1
  213. package/src/main/js/sap/ushell/components/homepage/Component.js +1 -1
  214. package/src/main/js/sap/ushell/components/homepage/DashboardContent.controller.js +1 -1
  215. package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +2 -2
  216. package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +1 -1
  217. package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +1 -1
  218. package/src/main/js/sap/ushell/components/homepage/manifest.json +1 -1
  219. package/src/main/js/sap/ushell/components/pages/ActionMode.js +1 -1
  220. package/src/main/js/sap/ushell/components/pages/Component.js +1 -1
  221. package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +1 -1
  222. package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +8 -3
  223. package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
  224. package/src/main/js/sap/ushell/components/pages/view/MyHomeStart.view.xml +1 -1
  225. package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +1 -1
  226. package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
  227. package/src/main/js/sap/ushell/components/shell/FloatingContainer/manifest.json +1 -1
  228. package/src/main/js/sap/ushell/components/shell/MenuBar/controller/MenuBar.controller.js +4 -0
  229. package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +1 -1
  230. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +1 -1
  231. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenuButton.controller.js +1 -1
  232. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +1 -1
  233. package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +191 -64
  234. package/src/main/js/sap/ushell/components/shell/Notifications/NotificationsList.controller.js +876 -0
  235. package/src/main/js/sap/ushell/components/shell/Notifications/NotificationsListPopoverContent.view.xml +84 -0
  236. package/src/main/js/sap/ushell/components/shell/Notifications/NotificationsListPopoverHeader.fragment.xml +35 -0
  237. package/src/main/js/sap/ushell/components/shell/PostLoadingHeaderEnhancement/Component.js +23 -9
  238. package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +22 -9
  239. package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
  240. package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +1 -1
  241. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +1 -1
  242. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +1 -1
  243. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +1 -1
  244. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchServiceProvider.js +1 -1
  245. package/src/main/js/sap/ushell/components/shell/Settings/Component.js +19 -14
  246. package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.controller.js +2 -2
  247. package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.view.xml +5 -4
  248. package/src/main/js/sap/ushell/components/shell/Settings/appearance/Appearance.controller.js +12 -17
  249. package/src/main/js/sap/ushell/components/shell/ShellBar/Component.js +11 -2
  250. package/src/main/js/sap/ushell/components/shell/ShellBar/controller/ShellBar.controller.js +123 -21
  251. package/src/main/js/sap/ushell/components/shell/ShellBar/manifest.json +1 -1
  252. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_ar.properties +5 -0
  253. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_bg.properties +5 -0
  254. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_ca.properties +5 -0
  255. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_cnr.properties +5 -0
  256. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_cs.properties +5 -0
  257. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_cy.properties +5 -0
  258. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_da.properties +5 -0
  259. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_de.properties +5 -0
  260. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_el.properties +5 -0
  261. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_en.properties +5 -0
  262. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_en_GB.properties +5 -0
  263. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_es.properties +5 -0
  264. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_es_MX.properties +5 -0
  265. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_et.properties +5 -0
  266. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_fi.properties +5 -0
  267. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_fr.properties +5 -0
  268. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_fr_CA.properties +5 -0
  269. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_hi.properties +5 -0
  270. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_hr.properties +5 -0
  271. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_hu.properties +5 -0
  272. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_id.properties +5 -0
  273. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_it.properties +5 -0
  274. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_iw.properties +5 -0
  275. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_ja.properties +5 -0
  276. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_kk.properties +5 -0
  277. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_ko.properties +5 -0
  278. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_lt.properties +5 -0
  279. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_lv.properties +5 -0
  280. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_mk.properties +5 -0
  281. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_ms.properties +5 -0
  282. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_nl.properties +5 -0
  283. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_no.properties +5 -0
  284. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_pl.properties +5 -0
  285. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_pt.properties +5 -0
  286. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_pt_PT.properties +5 -0
  287. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_ro.properties +5 -0
  288. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_ru.properties +5 -0
  289. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_sh.properties +5 -0
  290. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_sk.properties +5 -0
  291. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_sl.properties +5 -0
  292. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_sr.properties +5 -0
  293. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_sv.properties +5 -0
  294. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_th.properties +5 -0
  295. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_tr.properties +5 -0
  296. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_uk.properties +5 -0
  297. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_vi.properties +5 -0
  298. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_zh_CN.properties +5 -0
  299. package/src/main/js/sap/ushell/components/shell/ShellBar/resources/resources_zh_TW.properties +5 -0
  300. package/src/main/js/sap/ushell/components/shell/ShellBar/view/ShellBar.view.xml +22 -3
  301. package/src/main/js/sap/ushell/components/shell/SideNavigation/Component.js +5 -2
  302. package/src/main/js/sap/ushell/components/shell/SideNavigation/controller/SideNavigation.controller.js +83 -36
  303. package/src/main/js/sap/ushell/components/shell/SideNavigation/css/style.css +5 -0
  304. package/src/main/js/sap/ushell/components/shell/SideNavigation/manifest.json +8 -1
  305. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/Favorites.js +137 -26
  306. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/Spaces.js +1 -1
  307. package/src/main/js/sap/ushell/components/shell/SideNavigation/view/Main.view.xml +2 -1
  308. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +1 -1
  309. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/UserActionsMenu.controller.js +2 -0
  310. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/UserActionsMenu.fragment.xml +1 -0
  311. package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +1 -1
  312. package/src/main/js/sap/ushell/components/tiles/generic.js +1 -1
  313. package/src/main/js/sap/ushell/components/tiles/indicatorDual/DualTile.controller.js +1 -1
  314. package/src/main/js/sap/ushell/components/tiles/indicatorDualComparison/DualComparison.controller.js +2 -2
  315. package/src/main/js/sap/ushell/components/tiles/indicatorDualDeviation/DualDeviation.controller.js +4 -4
  316. package/src/main/js/sap/ushell/components/tiles/indicatorDualTrend/DualTrend.controller.js +18 -18
  317. package/src/main/js/sap/ushell/components/tiles/indicatorTileUtils/smartBusinessUtil.js +11 -11
  318. package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +1 -1
  319. package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +2 -2
  320. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility.js +2 -2
  321. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +30 -36
  322. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.layout.js +1 -1
  323. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +2 -2
  324. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +1 -1
  325. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +4 -4
  326. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +2 -2
  327. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +1 -1
  328. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +1 -1
  329. package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
  330. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_es_MX.properties +1 -1
  331. package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +1 -1
  332. package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +2 -2
  333. package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +1 -1
  334. package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
  335. package/src/main/js/sap/ushell/library.js +10 -2
  336. package/src/main/js/sap/ushell/modules/NavigationMenu.js +90 -0
  337. package/src/main/js/sap/ushell/navigationMode.js +1 -1
  338. package/src/main/js/sap/ushell/performance/ShellAnalytics.js +1 -1
  339. package/src/main/js/sap/ushell/performance/StatisticalRecord.js +1 -1
  340. package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
  341. package/src/main/js/sap/ushell/renderer/NavContainer.js +4 -10
  342. package/src/main/js/sap/ushell/renderer/Renderer.js +29 -27
  343. package/src/main/js/sap/ushell/renderer/RendererAppContainer.js +236 -0
  344. package/src/main/js/sap/ushell/renderer/Shell.controller.js +25 -212
  345. package/src/main/js/sap/ushell/renderer/Shell.view.js +34 -24
  346. package/src/main/js/sap/ushell/renderer/allMyApps/AllMyAppsManager.js +6 -6
  347. package/src/main/js/sap/ushell/renderer/rendererTargetWrapper/Component.js +105 -0
  348. package/src/main/js/sap/ushell/renderer/rendererTargetWrapper/RendererTarget.controller.js +83 -0
  349. package/src/main/js/sap/ushell/renderer/rendererTargetWrapper/RendererTarget.view.xml +12 -0
  350. package/src/main/js/sap/ushell/renderer/rendererTargetWrapper/manifest.json +43 -0
  351. package/src/main/js/sap/ushell/renderer/resources/resources.properties +34 -0
  352. package/src/main/js/sap/ushell/renderer/resources/resources_ar.properties +19 -1
  353. package/src/main/js/sap/ushell/renderer/resources/resources_bg.properties +19 -1
  354. package/src/main/js/sap/ushell/renderer/resources/resources_ca.properties +18 -0
  355. package/src/main/js/sap/ushell/renderer/resources/resources_cnr.properties +18 -0
  356. package/src/main/js/sap/ushell/renderer/resources/resources_cs.properties +19 -1
  357. package/src/main/js/sap/ushell/renderer/resources/resources_cy.properties +18 -0
  358. package/src/main/js/sap/ushell/renderer/resources/resources_da.properties +18 -0
  359. package/src/main/js/sap/ushell/renderer/resources/resources_de.properties +18 -0
  360. package/src/main/js/sap/ushell/renderer/resources/resources_el.properties +18 -0
  361. package/src/main/js/sap/ushell/renderer/resources/resources_en.properties +18 -0
  362. package/src/main/js/sap/ushell/renderer/resources/resources_en_GB.properties +18 -0
  363. package/src/main/js/sap/ushell/renderer/resources/resources_en_US_saprigi.properties +18 -0
  364. package/src/main/js/sap/ushell/renderer/resources/resources_es.properties +18 -0
  365. package/src/main/js/sap/ushell/renderer/resources/resources_es_MX.properties +18 -0
  366. package/src/main/js/sap/ushell/renderer/resources/resources_et.properties +18 -0
  367. package/src/main/js/sap/ushell/renderer/resources/resources_fi.properties +18 -0
  368. package/src/main/js/sap/ushell/renderer/resources/resources_fr.properties +18 -0
  369. package/src/main/js/sap/ushell/renderer/resources/resources_fr_CA.properties +19 -1
  370. package/src/main/js/sap/ushell/renderer/resources/resources_hi.properties +21 -3
  371. package/src/main/js/sap/ushell/renderer/resources/resources_hr.properties +18 -0
  372. package/src/main/js/sap/ushell/renderer/resources/resources_hu.properties +18 -0
  373. package/src/main/js/sap/ushell/renderer/resources/resources_id.properties +33 -15
  374. package/src/main/js/sap/ushell/renderer/resources/resources_it.properties +19 -1
  375. package/src/main/js/sap/ushell/renderer/resources/resources_iw.properties +18 -0
  376. package/src/main/js/sap/ushell/renderer/resources/resources_ja.properties +19 -1
  377. package/src/main/js/sap/ushell/renderer/resources/resources_kk.properties +19 -1
  378. package/src/main/js/sap/ushell/renderer/resources/resources_ko.properties +18 -0
  379. package/src/main/js/sap/ushell/renderer/resources/resources_lt.properties +18 -0
  380. package/src/main/js/sap/ushell/renderer/resources/resources_lv.properties +18 -0
  381. package/src/main/js/sap/ushell/renderer/resources/resources_mk.properties +18 -0
  382. package/src/main/js/sap/ushell/renderer/resources/resources_ms.properties +18 -0
  383. package/src/main/js/sap/ushell/renderer/resources/resources_nl.properties +18 -0
  384. package/src/main/js/sap/ushell/renderer/resources/resources_no.properties +18 -0
  385. package/src/main/js/sap/ushell/renderer/resources/resources_pl.properties +18 -0
  386. package/src/main/js/sap/ushell/renderer/resources/resources_pt.properties +18 -0
  387. package/src/main/js/sap/ushell/renderer/resources/resources_pt_PT.properties +18 -0
  388. package/src/main/js/sap/ushell/renderer/resources/resources_ro.properties +18 -0
  389. package/src/main/js/sap/ushell/renderer/resources/resources_ru.properties +18 -0
  390. package/src/main/js/sap/ushell/renderer/resources/resources_sh.properties +18 -0
  391. package/src/main/js/sap/ushell/renderer/resources/resources_sk.properties +18 -0
  392. package/src/main/js/sap/ushell/renderer/resources/resources_sl.properties +18 -0
  393. package/src/main/js/sap/ushell/renderer/resources/resources_sr.properties +18 -0
  394. package/src/main/js/sap/ushell/renderer/resources/resources_sv.properties +18 -0
  395. package/src/main/js/sap/ushell/renderer/resources/resources_th.properties +18 -0
  396. package/src/main/js/sap/ushell/renderer/resources/resources_tr.properties +18 -0
  397. package/src/main/js/sap/ushell/renderer/resources/resources_uk.properties +18 -0
  398. package/src/main/js/sap/ushell/renderer/resources/resources_vi.properties +18 -0
  399. package/src/main/js/sap/ushell/renderer/resources/resources_zh_CN.properties +18 -0
  400. package/src/main/js/sap/ushell/renderer/resources/resources_zh_TW.properties +18 -0
  401. package/src/main/js/sap/ushell/renderer/search/searchComponent/manifest.json +1 -1
  402. package/src/main/js/sap/ushell/renderer/shellHeader/ShellHeader.controller.js +5 -11
  403. package/src/main/js/sap/ushell/renderers/fiori2/History.js +6 -6
  404. package/src/main/js/sap/ushell/renderers/fiori2/LogonFrameProvider.js +6 -6
  405. package/src/main/js/sap/ushell/renderers/fiori2/Renderer.js +11 -11
  406. package/src/main/js/sap/ushell/renderers/fiori2/RendererExtensions.js +2 -2
  407. package/src/main/js/sap/ushell/renderers/fiori2/Shell.view.js +2 -8
  408. package/src/main/js/sap/ushell/renderers/fiori2/allMyApps/AllMyAppsManager.js +6 -6
  409. package/src/main/js/sap/ushell/services/AppConfiguration.js +6 -6
  410. package/src/main/js/sap/ushell/services/AppLifeCycle.js +10 -16
  411. package/src/main/js/sap/ushell/services/AppState.js +1 -1
  412. package/src/main/js/sap/ushell/services/AppType.js +1 -1
  413. package/src/main/js/sap/ushell/services/Bookmark.js +2 -2
  414. package/src/main/js/sap/ushell/services/BookmarkV2.js +14 -14
  415. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Formatter.js +1 -1
  416. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/InboundIndex.js +1 -1
  417. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/InboundProvider.js +1 -1
  418. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/PrelaunchOperations.js +1 -1
  419. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Search.js +1 -1
  420. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/StagedLogger.js +1 -1
  421. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/SystemContext.js +1 -1
  422. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Utils.js +1 -1
  423. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/VirtualInbounds.js +1 -1
  424. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/XAppStateProcessing.js +1 -1
  425. package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +1 -1
  426. package/src/main/js/sap/ushell/services/CommonDataModel/SiteConverter.js +1 -1
  427. package/src/main/js/sap/ushell/services/CommonDataModel/vizTypeDefaults/VizTypeDefaults.js +1 -1
  428. package/src/main/js/sap/ushell/services/CommonDataModel.js +1 -1
  429. package/src/main/js/sap/ushell/services/Configuration.js +1 -1
  430. package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +1 -1
  431. package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +6 -6
  432. package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +3 -3
  433. package/src/main/js/sap/ushell/services/DarkModeSupport.js +9 -4
  434. package/src/main/js/sap/ushell/services/Extension/Item.js +1 -1
  435. package/src/main/js/sap/ushell/services/Extension.js +1 -1
  436. package/src/main/js/sap/ushell/services/FlpLaunchPage.js +54 -53
  437. package/src/main/js/sap/ushell/services/FrameBoundExtension/FloatingContainer.js +1 -1
  438. package/src/main/js/sap/ushell/services/FrameBoundExtension/Footer.js +1 -1
  439. package/src/main/js/sap/ushell/services/FrameBoundExtension/Item.js +1 -1
  440. package/src/main/js/sap/ushell/services/FrameBoundExtension/SidePane.js +1 -1
  441. package/src/main/js/sap/ushell/services/FrameBoundExtension/ToolArea.js +1 -1
  442. package/src/main/js/sap/ushell/services/FrameBoundExtension/UserSettingsEntry.js +1 -1
  443. package/src/main/js/sap/ushell/services/FrameBoundExtension.js +1 -1
  444. package/src/main/js/sap/ushell/services/LaunchPage.js +4 -4
  445. package/src/main/js/sap/ushell/services/Menu.js +1 -1
  446. package/src/main/js/sap/ushell/services/Message.js +1 -1
  447. package/src/main/js/sap/ushell/services/MessageBroker/MessageBrokerEngine.js +21 -53
  448. package/src/main/js/sap/ushell/services/MessageBroker.js +1 -1
  449. package/src/main/js/sap/ushell/services/MessageInternal.js +1 -3
  450. package/src/main/js/sap/ushell/services/NavTargetResolution.js +2 -2
  451. package/src/main/js/sap/ushell/services/NavTargetResolutionInternal.js +0 -1
  452. package/src/main/js/sap/ushell/services/Navigation/compatibility.js +3 -2
  453. package/src/main/js/sap/ushell/services/Navigation/utils.js +1 -1
  454. package/src/main/js/sap/ushell/services/Navigation.js +1 -1
  455. package/src/main/js/sap/ushell/services/NavigationDataProvider.js +1 -1
  456. package/src/main/js/sap/ushell/services/Notifications.js +2 -1
  457. package/src/main/js/sap/ushell/services/NotificationsV2.js +7 -1
  458. package/src/main/js/sap/ushell/services/PageBuilding.js +1 -1
  459. package/src/main/js/sap/ushell/services/PagePersistence.js +1 -1
  460. package/src/main/js/sap/ushell/services/PageReferencing.js +1 -1
  461. package/src/main/js/sap/ushell/services/Pages.js +1 -1
  462. package/src/main/js/sap/ushell/services/Personalization.js +3 -3
  463. package/src/main/js/sap/ushell/services/PersonalizationV2.js +1 -1
  464. package/src/main/js/sap/ushell/services/PluginManager/Extensions.js +1 -1
  465. package/src/main/js/sap/ushell/services/PluginManager/HeaderExtensions.js +1 -1
  466. package/src/main/js/sap/ushell/services/PluginManager/MenuExtensions.js +1 -1
  467. package/src/main/js/sap/ushell/services/PluginManager/SimpleExpression.js +1 -1
  468. package/src/main/js/sap/ushell/services/PluginManager.js +7 -20
  469. package/src/main/js/sap/ushell/services/ReferenceResolver.js +1 -1
  470. package/src/main/js/sap/ushell/services/Search.js +1 -1
  471. package/src/main/js/sap/ushell/services/SearchCEP.js +1 -1
  472. package/src/main/js/sap/ushell/services/SearchableContent.js +1 -1
  473. package/src/main/js/sap/ushell/services/ShellNavigation.js +1 -1
  474. package/src/main/js/sap/ushell/services/ShellNavigationHashChanger.js +2 -2
  475. package/src/main/js/sap/ushell/services/ShellNavigationInternal.js +1 -1
  476. package/src/main/js/sap/ushell/services/SmartNavigation.js +5 -5
  477. package/src/main/js/sap/ushell/services/SpaceContent.js +1 -1
  478. package/src/main/js/sap/ushell/services/UITracer.js +1 -1
  479. package/src/main/js/sap/ushell/services/URLShortening.js +2 -2
  480. package/src/main/js/sap/ushell/services/URLTemplate.js +1 -1
  481. package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +2 -2
  482. package/src/main/js/sap/ushell/services/UsageAnalytics.js +10 -10
  483. package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +1 -1
  484. package/src/main/js/sap/ushell/services/UserDefaultParameters.js +1 -1
  485. package/src/main/js/sap/ushell/services/UserInfo.js +1 -1
  486. package/src/main/js/sap/ushell/services/UserRecents.js +1 -1
  487. package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +1 -1
  488. package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +2 -2
  489. package/src/main/js/sap/ushell/services/_AppState/AppStatePersistencyMethod.js +1 -0
  490. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +1 -1
  491. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +1 -1
  492. package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +9 -10
  493. package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +1 -1
  494. package/src/main/js/sap/ushell/services/_Personalization/ContextContainer.js +6 -6
  495. package/src/main/js/sap/ushell/services/_Personalization/PersonalizationContainer.js +11 -13
  496. package/src/main/js/sap/ushell/services/_Personalization/PersonalizationContainerVariant.js +4 -4
  497. package/src/main/js/sap/ushell/services/_Personalization/PersonalizationContainerVariantSet.js +12 -11
  498. package/src/main/js/sap/ushell/services/_Personalization/Personalizer.js +5 -3
  499. package/src/main/js/sap/ushell/services/_Personalization/TransientPersonalizer.js +4 -4
  500. package/src/main/js/sap/ushell/services/_Personalization/Variant.js +7 -7
  501. package/src/main/js/sap/ushell/services/_Personalization/VariantSet.js +3 -5
  502. package/src/main/js/sap/ushell/services/_Personalization/WindowAdapter.js +2 -2
  503. package/src/main/js/sap/ushell/services/_Personalization/WindowAdapterContainer.js +2 -1
  504. package/src/main/js/sap/ushell/services/_Personalization/constants.js +9 -10
  505. package/src/main/js/sap/ushell/services/_Personalization/constants.private.js +3 -4
  506. package/src/main/js/sap/ushell/services/_Personalization/utils.js +2 -1
  507. package/src/main/js/sap/ushell/services/personalization/VariantSetAdapter.js +4 -2
  508. package/src/main/js/sap/ushell/state/BackNavigation.js +1 -7
  509. package/src/main/js/sap/ushell/state/ContentDensity.js +1 -7
  510. package/src/main/js/sap/ushell/state/Favicon.js +1 -5
  511. package/src/main/js/sap/ushell/state/StateManager.js +9 -3
  512. package/src/main/js/sap/ushell/state/StateRules.js +5 -0
  513. package/src/main/js/sap/ushell/state/StrategyFactory/HeadEndItemsStrategy.js +8 -1
  514. package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
  515. package/src/main/js/sap/ushell/themes/base/MenuBar.less +3 -0
  516. package/src/main/js/sap/ushell/themes/base/Notifications.less +29 -0
  517. package/src/main/js/sap/ushell/themes/base/ShellBar.less +7 -0
  518. package/src/main/js/sap/ushell/themes/base/ShellHeader.less +5 -0
  519. package/src/main/js/sap/ushell/themes/base/library.source.less +1 -0
  520. package/src/main/js/sap/ushell/themes/sap_fiori_3_hcb/Notifications.less +4 -0
  521. package/src/main/js/sap/ushell/themes/sap_fiori_3_hcw/Notifications.less +4 -0
  522. package/src/main/js/sap/ushell/themes/sap_hcb/base_MenuBar.less +3 -0
  523. package/src/main/js/sap/ushell/themes/sap_hcb/base_ShellBar.less +7 -0
  524. package/src/main/js/sap/ushell/themes/sap_hcb/base_ShellHeader.less +5 -0
  525. package/src/main/js/sap/ushell/themes/sap_hcb/library.source.less +1 -0
  526. package/src/main/js/sap/ushell/themes/sap_horizon_hcb/Notifications.less +3 -0
  527. package/src/main/js/sap/ushell/themes/sap_horizon_hcw/Notifications.less +4 -0
  528. package/src/main/js/sap/ushell/thirdparty/Avatar.js +381 -0
  529. package/src/main/js/sap/ushell/thirdparty/BusyIndicator.js +464 -0
  530. package/src/main/js/sap/ushell/thirdparty/Button.js +7 -0
  531. package/src/main/js/sap/ushell/thirdparty/Button2.js +524 -0
  532. package/src/main/js/sap/ushell/thirdparty/Icon.js +296 -0
  533. package/src/main/js/sap/ushell/thirdparty/Icons.js +38 -35
  534. package/src/main/js/sap/ushell/thirdparty/Label.js +115 -0
  535. package/src/main/js/sap/ushell/thirdparty/Link.js +315 -0
  536. package/src/main/js/sap/ushell/thirdparty/List.js +1705 -0
  537. package/src/main/js/sap/ushell/thirdparty/ListItemCustom.js +95 -0
  538. package/src/main/js/sap/ushell/thirdparty/ListItemTemplate.js +3917 -0
  539. package/src/main/js/sap/ushell/thirdparty/Menu.js +406 -0
  540. package/src/main/js/sap/ushell/thirdparty/MenuItem.js +2 -350
  541. package/src/main/js/sap/ushell/thirdparty/MenuItem2.js +355 -0
  542. package/src/main/js/sap/ushell/thirdparty/NotificationList.js +291 -0
  543. package/src/main/js/sap/ushell/thirdparty/NotificationListGroupItem.js +310 -0
  544. package/src/main/js/sap/ushell/thirdparty/NotificationListItem.js +531 -0
  545. package/src/main/js/sap/ushell/thirdparty/NotificationListItemBase.js +98 -0
  546. package/src/main/js/sap/ushell/thirdparty/ShellBar.js +319 -547
  547. package/src/main/js/sap/ushell/thirdparty/Tag.js +307 -0
  548. package/src/main/js/sap/ushell/thirdparty/Text.js +127 -0
  549. package/src/main/js/sap/ushell/thirdparty/UserMenu.js +68 -866
  550. package/src/main/js/sap/ushell/thirdparty/UserMenuItem.js +2 -2
  551. package/src/main/js/sap/ushell/thirdparty/_dynamics/ListItemStandardExpandableTextTemplate.js +193 -0
  552. package/src/main/js/sap/ushell/thirdparty/_dynamics/SAP-icons-TNT.js +561 -0
  553. package/src/main/js/sap/ushell/thirdparty/_dynamics/SAP-icons-TNT2.js +561 -0
  554. package/src/main/js/sap/ushell/thirdparty/_dynamics/SAP-icons-business-suite.js +1194 -0
  555. package/src/main/js/sap/ushell/thirdparty/_dynamics/SAP-icons-business-suite2.js +1194 -0
  556. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ar3.js +3 -0
  557. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_bg3.js +3 -0
  558. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ca3.js +3 -0
  559. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cnr3.js +3 -0
  560. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cs3.js +3 -0
  561. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cy3.js +3 -0
  562. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_da3.js +3 -0
  563. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_de3.js +4 -1
  564. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_el3.js +3 -0
  565. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en3.js +3 -0
  566. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_GB3.js +3 -0
  567. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_sappsd3.js +3 -0
  568. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saprigi2.js +3 -0
  569. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saprigi3.js +6 -6
  570. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saptrc3.js +3 -0
  571. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es3.js +3 -0
  572. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es_MX3.js +3 -0
  573. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_et3.js +3 -0
  574. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fi3.js +3 -0
  575. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr3.js +3 -0
  576. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr_CA3.js +3 -0
  577. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hi3.js +3 -0
  578. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hr3.js +11 -8
  579. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hu3.js +3 -0
  580. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_id3.js +3 -0
  581. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_it3.js +3 -0
  582. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_iw3.js +3 -0
  583. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ja3.js +3 -0
  584. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_kk3.js +3 -0
  585. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ko3.js +3 -0
  586. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lt3.js +3 -0
  587. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lv3.js +3 -0
  588. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_mk3.js +3 -0
  589. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ms3.js +3 -0
  590. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_nl3.js +3 -0
  591. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_no3.js +3 -0
  592. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pl3.js +3 -0
  593. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt3.js +3 -0
  594. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt_PT3.js +3 -0
  595. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ro3.js +3 -0
  596. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ru3.js +3 -0
  597. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sh3.js +3 -0
  598. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sk3.js +3 -0
  599. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sl3.js +3 -0
  600. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sr3.js +3 -0
  601. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sv3.js +3 -0
  602. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_th3.js +3 -0
  603. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_tr3.js +3 -0
  604. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_uk3.js +3 -0
  605. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_vi2.js +1 -1
  606. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_vi3.js +3 -0
  607. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_CN3.js +3 -0
  608. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_TW3.js +3 -0
  609. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css10.js +1 -1
  610. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css11.js +1 -1
  611. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css12.js +1 -1
  612. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css13.js +1 -1
  613. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css14.js +1 -1
  614. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css15.js +1 -1
  615. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css16.js +1 -1
  616. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css17.js +1 -1
  617. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css18.js +1 -1
  618. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css19.js +1 -1
  619. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css2.js +1 -1
  620. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css20.js +1 -1
  621. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css21.js +1 -1
  622. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css22.js +1 -1
  623. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css23.js +1 -1
  624. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css24.js +1 -1
  625. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css25.js +7 -0
  626. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css3.js +1 -1
  627. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css4.js +1 -1
  628. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css5.js +1 -1
  629. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css6.js +1 -1
  630. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css7.js +1 -1
  631. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css8.js +1 -1
  632. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css9.js +1 -1
  633. package/src/main/js/sap/ushell/thirdparty/i18n-defaults.js +141 -135
  634. package/src/main/js/sap/ushell/thirdparty/i18n-defaults2.js +93 -0
  635. package/src/main/js/sap/ushell/thirdparty/information.js +103 -0
  636. package/src/main/js/sap/ushell/thirdparty/overflow.js +45 -0
  637. package/src/main/js/sap/ushell/thirdparty/parameters-bundle.css.js +8 -0
  638. package/src/main/js/sap/ushell/thirdparty/toLowercaseEnumValue.js +15 -0
  639. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents/Avatar.js +4 -0
  640. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents/Button.js +4 -0
  641. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents/Label.js +4 -0
  642. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents/Menu.js +4 -0
  643. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents/MenuItem.js +4 -0
  644. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents/dist/Avatar.js +113 -0
  645. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents/dist/Button.js +123 -0
  646. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents/dist/Label.js +75 -0
  647. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents/dist/Menu.js +90 -0
  648. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-base.js +1 -1
  649. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori/NotificationList.js +4 -0
  650. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori/NotificationListGroupItem.js +4 -0
  651. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori/NotificationListItem.js +4 -0
  652. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori/dist/NotificationList.js +60 -0
  653. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori/dist/NotificationListGroupItem.js +72 -0
  654. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori/dist/NotificationListItem.js +96 -0
  655. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori/dist/NotificationListItemBase.js +51 -0
  656. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori/dist/ShellBar.js +18 -6
  657. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori.js +1 -1
  658. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-icons-business-suite/AllIcons.js +26 -0
  659. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-icons-tnt/AllIcons.js +26 -0
  660. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents.js +1 -1
  661. package/src/main/js/sap/ushell/thirdparty/webcomponents-base.js +41 -37
  662. package/src/main/js/sap/ushell/thirdparty/webcomponents-fiori.js +8 -8
  663. package/src/main/js/sap/ushell/thirdparty/webcomponents.js +16 -16
  664. package/src/main/js/sap/ushell/ui/ShellHeaderRenderer.js +5 -1
  665. package/src/main/js/sap/ushell/ui/appfinder/AppBoxRenderer.js +2 -1
  666. package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +1 -1
  667. package/src/main/js/sap/ushell/ui/footerbar/AddBookmarkButton.js +5 -1
  668. package/src/main/js/sap/ushell/ui/footerbar/SaveAsTile.controller.js +2 -1
  669. package/src/main/js/sap/ushell/ui/footerbar/SaveAsTile.view.js +2 -1
  670. package/src/main/js/sap/ushell/ui/footerbar/SendAsEmailButton.js +2 -1
  671. package/src/main/js/sap/ushell/ui/launchpad/AnchorItem.js +1 -1
  672. package/src/main/js/sap/ushell/ui/launchpad/AnchorItemRenderer.js +2 -1
  673. package/src/main/js/sap/ushell/ui/launchpad/AnchorNavigationBar.js +1 -1
  674. package/src/main/js/sap/ushell/ui/launchpad/AnchorNavigationBarRenderer.js +1 -1
  675. package/src/main/js/sap/ushell/ui/launchpad/DashboardGroupsContainer.js +2 -1
  676. package/src/main/js/sap/ushell/ui/launchpad/DashboardGroupsContainerRenderer.js +3 -2
  677. package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
  678. package/src/main/js/sap/ushell/ui/launchpad/Section.js +1 -1
  679. package/src/main/js/sap/ushell/ui/launchpad/ViewPortState.js +3 -3
  680. package/src/main/js/sap/ushell/ui/launchpad/VizInstance.js +23 -1
  681. package/src/main/js/sap/ushell/ui/launchpad/VizInstanceAbap.js +35 -34
  682. package/src/main/js/sap/ushell/ui/launchpad/VizInstanceCdm.js +5 -2
  683. package/src/main/js/sap/ushell/ui/launchpad/VizInstanceLaunchPage.js +1 -1
  684. package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +1 -1
  685. package/src/main/js/sap/ushell/ui/shell/RightFloatingContainer.js +249 -249
  686. package/src/main/js/sap/ushell/ui/shell/ShellAppTitle.js +73 -6
  687. package/src/main/js/sap/ushell/ui/shell/ShellHeadItem.js +2 -2
  688. package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +1 -1
  689. package/src/main/js/sap/ushell/ui/utils.js +1 -1
  690. package/src/main/js/sap/ushell/ui5service/ShellUIServiceFactory.js +1 -1
  691. package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
  692. package/src/main/js/sap/ushell/utils/UriParameters.js +1 -0
  693. package/src/main/js/sap/ushell/utils/UrlShortening.js +3 -3
  694. package/src/main/js/sap/ushell/utils/workpage/WorkPageHost.js +4 -4
  695. package/src/main/js/sap/ushell/utils/workpage/WorkPageService.js +1 -1
  696. package/src/main/js/sap/ushell/utils/workpage/WorkPageVizInstantiation.js +1 -1
  697. package/src/main/js/sap/ushell/utils/workpage/resources/resources_es_MX.properties +1 -1
  698. package/src/test/js/sap/ushell/bootstrap/sandbox.js +1 -1
  699. package/ui5.yaml +0 -1
  700. package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +0 -24
  701. package/src/main/js/sap/ushell/components/applicationIntegration/Storage.js +0 -19
  702. package/src/main/js/sap/ushell/components/applicationIntegration/application/Application.js +0 -23
  703. package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxHandler.js +0 -23
  704. package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxesCache.js +0 -16
  705. package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPI.js +0 -22
  706. package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPIInterface.js +0 -17
  707. package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageUtils.js +0 -19
  708. package/src/main/js/sap/ushell/components/applicationIntegration/application/WebGUIStatefulHandler.js +0 -20
  709. package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +0 -24
  710. package/src/main/js/sap/ushell/components/applicationIntegration/relatedServices/RelatedServices.js +0 -24
  711. package/src/main/js/sap/ushell/components/applicationIntegrationOld/AppLifeCycle.js +0 -1926
  712. package/src/main/js/sap/ushell/components/applicationIntegrationOld/Storage.js +0 -62
  713. package/src/main/js/sap/ushell/components/applicationIntegrationOld/application/Application.js +0 -709
  714. package/src/main/js/sap/ushell/components/applicationIntegrationOld/application/BlueBoxHandler.js +0 -406
  715. package/src/main/js/sap/ushell/components/applicationIntegrationOld/application/BlueBoxesCache.js +0 -263
  716. package/src/main/js/sap/ushell/components/applicationIntegrationOld/application/PostMessageAPI.js +0 -2382
  717. package/src/main/js/sap/ushell/components/applicationIntegrationOld/application/PostMessageAPIInterface.js +0 -143
  718. package/src/main/js/sap/ushell/components/applicationIntegrationOld/application/PostMessageUtils.js +0 -192
  719. package/src/main/js/sap/ushell/components/applicationIntegrationOld/application/WebGUIStatefulHandler.js +0 -90
  720. package/src/main/js/sap/ushell/components/applicationIntegrationOld/configuration/AppMeta.js +0 -193
  721. package/src/main/js/sap/ushell/components/applicationIntegrationOld/relatedServices/RelatedServices.js +0 -91
  722. package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +0 -1769
  723. package/src/main/js/sap/ushell/components/container/IframePOSTUtils.js +0 -232
  724. package/src/main/js/sap/ushell/renderer/RendererRootViewFallback.fragment.xml +0 -8
  725. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css.js +0 -7
  726. package/src/main/js/sap/ushell/thirdparty/parameters-bundle.css25.js +0 -7194
  727. package/src/main/js/sap/ushell/ui/AppContainer.js +0 -271
  728. package/src/main/js/sap/ushell/ui/AppContainerRenderer.js +0 -42
@@ -0,0 +1,876 @@
1
+ // Copyright (c) 2009-2025 SAP SE, All Rights Reserved
2
+
3
+ sap.ui.define([
4
+ "sap/base/Log",
5
+ "sap/base/util/deepExtend",
6
+ "sap/m/MessageToast",
7
+ "sap/m/Text",
8
+ "sap/ui/core/format/DateFormat",
9
+ "sap/ui/core/Fragment",
10
+ "sap/ui/core/mvc/Controller",
11
+ "sap/ui/Device",
12
+ "sap/ui/model/json/JSONModel",
13
+ "sap/ushell/Container",
14
+ "sap/ushell/EventHub",
15
+ "sap/ushell/resources",
16
+ "sap/ushell/utils"
17
+ ], function (
18
+ Log,
19
+ deepExtend,
20
+ MessageToast,
21
+ Text,
22
+ DateFormat,
23
+ Fragment,
24
+ Controller,
25
+ Device,
26
+ JSONModel,
27
+ Container,
28
+ EventHub,
29
+ resources,
30
+ ushellUtils
31
+ ) {
32
+ "use strict";
33
+
34
+ async function _errorMessage (sText) {
35
+ const oMessageService = await Container.getServiceAsync("MessageInternal");
36
+ oMessageService.error(sText);
37
+ }
38
+
39
+ return Controller.extend("sap.ushell.components.shell.Notifications.Notifications", {
40
+ /**
41
+ * Page size configuration for the notifications list.
42
+ */
43
+ oPagingConfiguration: {
44
+ MAX_NOTIFICATION_ITEMS_DESKTOP: 400,
45
+ MAX_NOTIFICATION_ITEMS_MOBILE: 100,
46
+ NOTIFICATIONS_COUNT_INITIAL: 60,
47
+ NOTIFICATIONS_COUNT: 30
48
+ },
49
+
50
+ /**
51
+ * Enum for the focus reason of the notification list.
52
+ * This is used to determine the focus behavior when the content of the notification list changes.
53
+ * For example when the list is refreshed, when the "More" button is pressed or notifications are removed.
54
+ */
55
+ oSetFocusReason: {
56
+ ListRefreshed: "ListRefreshed",
57
+ MoreButtonPressed: "MoreButtonPressed",
58
+ NotificationRemoved: "NotificationRemoved"
59
+ },
60
+
61
+ /**
62
+ * Initializes the Notifications controller.
63
+ */
64
+ onInit: function () {
65
+ if (Device.system.desktop) {
66
+ this.iMaxNotificationItemsForDevice = this.oPagingConfiguration.MAX_NOTIFICATION_ITEMS_DESKTOP;
67
+ } else {
68
+ this.iMaxNotificationItemsForDevice = this.oPagingConfiguration.MAX_NOTIFICATION_ITEMS_MOBILE;
69
+ }
70
+ const oView = this.getView();
71
+
72
+ // Container.getService use is allowed here. The service is already loaded by the notification component.
73
+ this.oNotificationsService = oView.getViewData().notificationsService;
74
+ this.oSortingTypes = this.oNotificationsService.getOperationEnum();
75
+
76
+ // Initial sorting
77
+ this.sCurrentSorting = this.oSortingTypes.NOTIFICATIONS_BY_DATE_DESCENDING;
78
+
79
+ // Initialize set which keeps track of duplicates and the notifications count
80
+ this._oItemSet = new Set();
81
+
82
+ const oModel = new JSONModel({
83
+ // Default values which are not reset
84
+ settingsAvailable: false
85
+ });
86
+ oModel.setSizeLimit(1500);
87
+ oView.setModel(oModel);
88
+ oView.setModel(resources.i18nModel, "i18n");
89
+
90
+ // Call reset to initialize the model values for notifications
91
+ this._resetModel();
92
+
93
+ // Initialize the notification settings and check if they are available.
94
+ const oUserSettingsDataAvailableDeferred = this.oNotificationsService._getNotificationSettingsAvailability();
95
+ if (oUserSettingsDataAvailableDeferred.state() === "pending") {
96
+ this.oNotificationsService._userSettingInitialization();
97
+ }
98
+ this.oNotificationsService._getNotificationSettingsAvailability().then((oStatus) => {
99
+ if (oStatus.settingsAvailable) {
100
+ this._getModel().setProperty("/settingsAvailable", true);
101
+ }
102
+ });
103
+ },
104
+
105
+ /**
106
+ * Called after the view has been rendered.
107
+ */
108
+ onAfterRendering: function () {
109
+ this._sortUpdateSelectionState();
110
+ },
111
+
112
+ /**
113
+ * The main method to fetch the initial and next page of notifications from the backend according to the current sorting type.
114
+ *
115
+ * Adds the loaded notification items to the model in the correct model path according to the specific sorting type.
116
+ * The hasMoreItemsInBackend flag indicates whether the number of returned items is smaller than the size of the requested items,
117
+ * if so, then there are no more items in the backend for this sorting type.
118
+ *
119
+ * @param {boolean} bRefresh Indicates whether the function was called to refresh the notifications list.
120
+ * @returns {Promise} A promise that resolves when the notifications are fetched.
121
+ *
122
+ * @since 1.136.0
123
+ * @private
124
+ */
125
+ getNextPage: async function (bRefresh) {
126
+ const oModel = this._getModel();
127
+ let oBusyControl;
128
+
129
+ // Clear everything if the notifications should be refreshed
130
+ if (bRefresh) {
131
+ this.getView().setVisible(false);
132
+ oBusyControl = await this.getOwnerComponent()._getPopover();
133
+ this._resetModel();
134
+ } else {
135
+ oBusyControl = this.byId("sapUshellNotificationsListMoreButton");
136
+ }
137
+
138
+ if (!this._moreNotificationsCanBeFetched()) {
139
+ return;
140
+ }
141
+
142
+ const iNumberOfItemsToFetch = this._getNumberOfNotificationsToFetch();
143
+ if (iNumberOfItemsToFetch === 0) {
144
+ return;
145
+ }
146
+
147
+ oBusyControl.setBusy(true);
148
+ oModel.setProperty("/inUpdate", true);
149
+
150
+ try {
151
+ // Skip unseen count with the next call. This means that notifications arrived while the popover was open. They are in the backend, but not in the list.
152
+ let iUnseenCount = 0;
153
+ const iItemsCount = this._oItemSet.size;
154
+ if (!bRefresh && iItemsCount > 0) {
155
+ await this.oNotificationsService.getNotifications(); // Needs to be called do update the unseen messages
156
+ iUnseenCount = parseInt(await this.oNotificationsService.getUnseenNotificationsCount(), 10);
157
+ }
158
+ const iSkip = iItemsCount + iUnseenCount;
159
+ const aResult = await this.oNotificationsService.getNotificationsBufferBySortingType(this.sCurrentSorting, iSkip, iNumberOfItemsToFetch);
160
+ if (!aResult || aResult.length === 0) {
161
+ oModel.setProperty("/hasMoreItemsInBackend", false);
162
+ } else {
163
+ // If the number of returned items is smaller than the number that was requested -
164
+ // it means that there is no more data (i.e. notification items) in the backend that needs to be fetched for this sorting type
165
+ const bHasMoreItems = aResult.length >= this._getNumberOfNotificationsToFetch();
166
+ oModel.setProperty("/hasMoreItemsInBackend", bHasMoreItems);
167
+
168
+ // Maintain a set of the notification IDs to avoid duplicates
169
+ const aNewItems = aResult.filter((oNotification) => {
170
+ if (!this._oItemSet.has(oNotification.Id)) {
171
+ this._oItemSet.add(oNotification.Id);
172
+ return true;
173
+ }
174
+ return false;
175
+ });
176
+
177
+ // Sort new notifications into existing groups
178
+ const aCurrentGroupedNotifications = oModel.getProperty("/notifications");
179
+ const aGroupedNotifications = this._groupNotifications(aCurrentGroupedNotifications, aNewItems);
180
+
181
+ oModel.setProperty("/notifications", aGroupedNotifications);
182
+ oModel.refresh(true);
183
+ }
184
+ } catch (oError) {
185
+ await _errorMessage(resources.i18n.getText("errorOccurredMsg"));
186
+ } finally {
187
+ this._updateListMaxReached();
188
+ oModel.setProperty("/inUpdate", false);
189
+ this.getView().setVisible(true);
190
+ oBusyControl.setBusy(false);
191
+ const sFocusReason = bRefresh ? this.oSetFocusReason.ListRefreshed : this.oSetFocusReason.MoreButtonPressed;
192
+ await this._setFocus(sFocusReason);
193
+ }
194
+ },
195
+
196
+ /**
197
+ * Resets the initial notifications model structure.
198
+ *
199
+ * @since 1.136.0
200
+ * @private
201
+ */
202
+ _resetModel: function () {
203
+ const oModel = this._getModel();
204
+ // Clear the notifications list
205
+ oModel.setProperty("/notifications", []);
206
+ this._oItemSet.clear();
207
+
208
+ // Reset flags
209
+ oModel.setProperty("/hasMoreItemsInBackend", true);
210
+ oModel.setProperty("/listMaxReached", false);
211
+ oModel.setProperty("/inUpdate", false);
212
+ },
213
+
214
+ /**
215
+ * Groups the notifications based on the current sorting type.
216
+ *
217
+ * @param {Array<*>} aGroupedNotifications The current array of grouped notifications.
218
+ * @param {Array<*>} aNotifications The array of notifications to be grouped.
219
+ * @returns {Array<*>} The grouped notifications.
220
+ *
221
+ * @since 1.136.0
222
+ * @private
223
+ */
224
+ _groupNotifications: function (aGroupedNotifications, aNotifications) {
225
+ aGroupedNotifications = aGroupedNotifications.length > 0 ? aGroupedNotifications : undefined;
226
+ if (this.sCurrentSorting === this.oSortingTypes.NOTIFICATIONS_BY_PRIORITY_DESCENDING) {
227
+ return this._groupNotificationsByPriority(aGroupedNotifications, aNotifications);
228
+ }
229
+ return this._groupNotificationsByTimePeriods(aGroupedNotifications, aNotifications);
230
+ },
231
+
232
+ /**
233
+ * Groups the notifications by priority.
234
+ *
235
+ * @param {Array<*>} aGroupedNotifications The current array of grouped notifications.
236
+ * @param {Array<*>} aNotifications The array of notifications to be grouped.
237
+ * @returns {Array<*>} The grouped notifications.
238
+ *
239
+ * @since 1.136.0
240
+ * @private
241
+ */
242
+ _groupNotificationsByPriority: function (aGroupedNotifications, aNotifications) {
243
+ const aNotificationsByPriority = aGroupedNotifications || this._getGroupsForPriority();
244
+ for (let i = 0; i < aNotifications.length; i++) {
245
+ const oNotification = aNotifications[i];
246
+ if (oNotification.Priority.toUpperCase() === "HIGH") {
247
+ aNotificationsByPriority[0].items.push(oNotification);
248
+ } else {
249
+ aNotificationsByPriority[1].items.push(oNotification);
250
+ }
251
+ }
252
+
253
+ return aNotificationsByPriority;
254
+ },
255
+
256
+
257
+ /**
258
+ * Groups the notifications by time periods.
259
+ *
260
+ * @param {Array<*>} aGroupedNotifications The current array of grouped notifications.
261
+ * @param {Array<*>} aNotifications The array of notifications to be grouped.
262
+ * @returns {Array<*>} The grouped notifications.
263
+ *
264
+ * @since 1.136.0
265
+ * @private
266
+ */
267
+ _groupNotificationsByTimePeriods: function (aGroupedNotifications, aNotifications) {
268
+ const oCurrentDate = new Date();
269
+ const iOneDayInMilliseconds = 24 * 60 * 60 * 1000;
270
+ const oDateFormatDay = DateFormat.getDateInstance({pattern: "dMy"});
271
+ const sToday = oDateFormatDay.format(oCurrentDate);
272
+ const sYesterday = oDateFormatDay.format(new Date(Date.now() - iOneDayInMilliseconds));
273
+
274
+ const oDateFormatWeek = DateFormat.getDateInstance({pattern: "w"});
275
+ const iThisWeek = parseInt(oDateFormatWeek.format(oCurrentDate), 10);
276
+
277
+ const oLastWeekDate = new Date();
278
+ oLastWeekDate.setFullYear(oLastWeekDate.getFullYear() - 1, 11, 31);
279
+ const iLastWeek = iThisWeek - 1 || parseInt(oDateFormatWeek.format(oLastWeekDate), 10);
280
+
281
+ const oDateFormatMonth = DateFormat.getDateInstance({pattern: "M"});
282
+ const iThisMonth = parseInt(oDateFormatMonth.format(oCurrentDate), 10);
283
+ const iLastMonth = iThisMonth - 1 || 12;
284
+
285
+ const oDateFormatYear = DateFormat.getDateInstance({pattern: "y"});
286
+ const iThisYear = parseInt(oDateFormatYear.format(oCurrentDate), 10);
287
+
288
+ const aTimePeriods = aGroupedNotifications || this._getGroupsForTimePeriods();
289
+
290
+ const oTimePeriodsIndex = {
291
+ TODAY: 0,
292
+ YESTERDAY: 1,
293
+ THIS_WEEK: 2,
294
+ LAST_WEEK: 3,
295
+ THIS_MONTH: 4,
296
+ LAST_MONTH: 5,
297
+ THIS_YEAR: 6,
298
+ OLDER: 7
299
+ };
300
+
301
+ for (let i = 0; i < aNotifications.length; i++) {
302
+ const oNotification = aNotifications[i];
303
+ const oDate = new Date(oNotification.CreatedAt);
304
+
305
+ const sDay = oDateFormatDay.format(oDate);
306
+ if (sDay === sToday) {
307
+ aTimePeriods[oTimePeriodsIndex.TODAY].items.push(oNotification);
308
+ continue;
309
+ }
310
+
311
+ if (sDay === sYesterday) {
312
+ aTimePeriods[oTimePeriodsIndex.YESTERDAY].items.push(oNotification);
313
+ continue;
314
+ }
315
+
316
+ const iYear = parseInt(oDateFormatYear.format(oDate), 10);
317
+ const iWeek = parseInt(oDateFormatWeek.format(oDate), 10);
318
+ if (iYear === iThisYear && iWeek === iThisWeek) {
319
+ aTimePeriods[oTimePeriodsIndex.THIS_WEEK].items.push(oNotification);
320
+ continue;
321
+ }
322
+
323
+ if (iYear === iThisYear && iWeek === iLastWeek) {
324
+ aTimePeriods[oTimePeriodsIndex.LAST_WEEK].items.push(oNotification);
325
+ continue;
326
+ }
327
+
328
+ const iMonth = parseInt(oDateFormatMonth.format(oDate), 10);
329
+ if (iYear === iThisYear && iMonth === iThisMonth) {
330
+ aTimePeriods[oTimePeriodsIndex.THIS_MONTH].items.push(oNotification);
331
+ continue;
332
+ }
333
+
334
+ if ((iYear === iThisYear && iMonth === iLastMonth)
335
+ || (iYear === (iThisYear - 1) && iLastMonth === 12)
336
+ ) {
337
+ aTimePeriods[oTimePeriodsIndex.LAST_MONTH].items.push(oNotification);
338
+ continue;
339
+ }
340
+
341
+ if (iYear === iThisYear) {
342
+ aTimePeriods[oTimePeriodsIndex.THIS_YEAR].items.push(oNotification);
343
+ continue;
344
+ }
345
+
346
+ aTimePeriods[oTimePeriodsIndex.OLDER].items.push(oNotification);
347
+ }
348
+
349
+ return aTimePeriods;
350
+ },
351
+
352
+ /**
353
+ * Returns the groups for the notifications list based on priority.
354
+ *
355
+ * @returns {Array<*>} The groups for the notifications list.
356
+ *
357
+ * @since 1.136.0
358
+ * @private
359
+ */
360
+ _getGroupsForPriority: function () {
361
+ return [
362
+ {
363
+ key: "IMPORTANT",
364
+ titleText: resources.i18n.getText("Notifications.Popover.Group.Important"),
365
+ items: []
366
+ },
367
+ {
368
+ key: "OTHERS",
369
+ titleText: resources.i18n.getText("Notifications.Popover.Group.Others"),
370
+ items: []
371
+ }
372
+ ];
373
+ },
374
+
375
+ /**
376
+ * Returns the groups for the notifications list based on time periods.
377
+ *
378
+ * @returns {Array<*>} The groups for the notifications list.
379
+ *
380
+ * @since 1.136.0
381
+ * @private
382
+ */
383
+ _getGroupsForTimePeriods: function () {
384
+ return [
385
+ {
386
+ key: "TODAY",
387
+ titleText: resources.i18n.getText("Notifications.Popover.Group.Today"),
388
+ items: []
389
+ },
390
+ {
391
+ key: "YESTERDAY",
392
+ titleText: resources.i18n.getText("Notifications.Popover.Group.Yesterday"),
393
+ items: []
394
+ },
395
+ {
396
+ key: "THIS_WEEK",
397
+ titleText: resources.i18n.getText("Notifications.Popover.Group.ThisWeek"),
398
+ items: []
399
+ },
400
+ {
401
+ key: "LAST_WEEK",
402
+ titleText: resources.i18n.getText("Notifications.Popover.Group.LastWeek"),
403
+ items: []
404
+ },
405
+ {
406
+ key: "THIS_MONTH",
407
+ titleText: resources.i18n.getText("Notifications.Popover.Group.ThisMonth"),
408
+ items: []
409
+ },
410
+ {
411
+ key: "LAST_MONTH",
412
+ titleText: resources.i18n.getText("Notifications.Popover.Group.LastMonth"),
413
+ items: []
414
+ },
415
+ {
416
+ key: "THIS_YEAR",
417
+ titleText: resources.i18n.getText("Notifications.Popover.Group.ThisYear"),
418
+ items: []
419
+ },
420
+ {
421
+ key: "OLDER",
422
+ titleText: resources.i18n.getText("Notifications.Popover.Group.Older"),
423
+ items: []
424
+ }
425
+ ];
426
+ },
427
+
428
+ /**
429
+ * Marks the notification item as read.
430
+ *
431
+ * @param {object} oItem The NotificationListItem to be marked as read.
432
+ * @returns {Promise} A promise that resolves when the notification is marked as read.
433
+ *
434
+ * @since 1.136.0
435
+ * @private
436
+ */
437
+ _markNotificationRead: async function (oItem) {
438
+ const oNotification = oItem.getBindingContext().getObject();
439
+ try {
440
+ await this.oNotificationsService.markRead(oNotification.Id);
441
+ oItem.getBindingContext().setProperty("IsRead", true);
442
+ } catch (oError) {
443
+ await _errorMessage(resources.i18n.getText("notificationsFailedMarkRead"));
444
+ }
445
+ },
446
+
447
+ /**
448
+ * Check if more notifications can be fetched from the backend.
449
+ *
450
+ * @returns {boolean} true if more notifications can be fetched, false otherwise.
451
+ *
452
+ * @since 1.136.0
453
+ * @private
454
+ */
455
+ _moreNotificationsCanBeFetched: function () {
456
+ const oModel = this._getModel();
457
+ const bHasMoreItemsInBackend = oModel.getProperty("/hasMoreItemsInBackend");
458
+ const bListMaxReached = oModel.getProperty("/listMaxReached");
459
+ return bHasMoreItemsInBackend && !bListMaxReached;
460
+ },
461
+
462
+ /**
463
+ * Update the State, if the max number of items for this device type was reached (e.g. Desktop, Phone).
464
+ *
465
+ * @since 1.136.0
466
+ * @private
467
+ */
468
+ _updateListMaxReached: function () {
469
+ const oModel = this._getModel();
470
+ const bMaxReached = this._getNumberOfNotificationsToFetch() <= 0;
471
+ oModel.setProperty("/listMaxReached", bMaxReached);
472
+ },
473
+
474
+
475
+ /**
476
+ * Update the selection state and icon of the sorting menu items.
477
+ *
478
+ * @since 1.136.0
479
+ * @private
480
+ */
481
+ _sortUpdateSelectionState: function () {
482
+ const aItems = Fragment.byId(this.getOwnerComponent().createId("notificationsListCustomHeader"), "sortMenu").getItems();
483
+ aItems.forEach((oItem) => {
484
+ if (oItem.data("sortBy") === this.sCurrentSorting) {
485
+ oItem.setIcon("sap-icon://accept");
486
+ oItem.setSelected(true);
487
+ } else {
488
+ oItem.setIcon("");
489
+ oItem.setSelected(false);
490
+ }
491
+ });
492
+ },
493
+
494
+ /**
495
+ * Returns the model of the current view.
496
+ *
497
+ * @returns {sap.ui.model.json.JSONModel} the model of the current view.
498
+ * @since 1.136.0
499
+ * @private
500
+ */
501
+ _getModel: function () {
502
+ return this.getView().getModel();
503
+ },
504
+
505
+ /**
506
+ * Calculates and returns the number of items that should be requested from notification service, as part of the paging policy.
507
+ *
508
+ * The function performs the following:
509
+ * - If the model already holds the maximum number of item (per this device) - return 0
510
+ * - If the number of items in the model plus buffer size is bigger that the maximum - return the biggest possible number of items to fetch
511
+ * - Regular use case - return default page size
512
+ *
513
+ * See "oOperationEnum" from "sap/ushell/services/Notifications.js".
514
+ * @returns {int} current page size
515
+ *
516
+ * @since 1.136.0
517
+ * @private
518
+ */
519
+ _getNumberOfNotificationsToFetch: function () {
520
+ const iCurrentNumberOfItems = this._oItemSet.size;
521
+ const iPageSize = iCurrentNumberOfItems > 0 ? this.oPagingConfiguration.NOTIFICATIONS_COUNT : this.oPagingConfiguration.NOTIFICATIONS_COUNT_INITIAL;
522
+
523
+ // Already exceeded the maximum number of items for this device
524
+ if (iCurrentNumberOfItems >= this.iMaxNotificationItemsForDevice) {
525
+ return 0;
526
+ }
527
+
528
+ // Calculate the maximum number of items to fetch if the limit would be reached with the next page
529
+ if ((iCurrentNumberOfItems + iPageSize) > this.iMaxNotificationItemsForDevice) {
530
+ return this.iMaxNotificationItemsForDevice - iCurrentNumberOfItems;
531
+ }
532
+
533
+ return iPageSize;
534
+ },
535
+
536
+ /**
537
+ * Removes the item from the model, from the set of items and updates the list max reached state.
538
+ *
539
+ * @param {string} sNotificationId The ID of the notification to be removed.
540
+ * @param {string} sParentContextPath The context path of the parent group.
541
+ *
542
+ * @since 1.136.0
543
+ * @private
544
+ */
545
+ _removeItemFromModel: async function (sNotificationId, sParentContextPath) {
546
+ const oModel = this._getModel();
547
+
548
+ // Remove from grouped notifications list
549
+ const aGroupItems = oModel.getObject(sParentContextPath)?.items || [];
550
+ const iIndexInGroup = aGroupItems.findIndex((oNotification) => oNotification.Id === sNotificationId);
551
+ if (iIndexInGroup === -1) {
552
+ return;
553
+ }
554
+
555
+ aGroupItems.splice(iIndexInGroup, 1);
556
+
557
+ // Remove from the set of items before the model is updated to be updated when the formatter is triggered
558
+ this._oItemSet.delete(sNotificationId);
559
+
560
+ // Remove from model
561
+ oModel.setProperty(`${sParentContextPath}/items`, deepExtend([], aGroupItems));
562
+ this._updateListMaxReached();
563
+
564
+ // Refreshing the model is a workaround to keep focus and update groups correctly.
565
+ oModel.refresh(true);
566
+
567
+ // Close the popover if there are no notifications left
568
+ if (this._oItemSet.size === 0 && !this._moreNotificationsCanBeFetched()) {
569
+ (await this.getOwnerComponent()._getPopover()).close();
570
+ }
571
+ },
572
+
573
+ /**
574
+ * Sets the focus on the appropriate element based on the reason for setting the focus.
575
+ *
576
+ * - Removing the last item of the list focuses the no-data illustration or the more button, if available.
577
+ * - Removing the last item of a group, focuses the last item of the previous group. If it is the first group, the first item is focused.
578
+ *
579
+ * @param {string} sReason The reason for setting the focus.
580
+ * @param {object} [oItem] Optional NotificationListItem to focus on.
581
+ *
582
+ * @since 1.136.0
583
+ * @private
584
+ */
585
+ _setFocus: async function (sReason, oItem) {
586
+ const bHasItems = this._oItemSet.size > 0;
587
+ const bMoreItemsCanBeFetched = this._moreNotificationsCanBeFetched();
588
+ const oList = this.byId("sapUshellNotificationsList");
589
+
590
+ // Change focus to the no data illustration if no notifications are available.
591
+ const fnFocusNoData = () => {
592
+ const oNoData = this.byId("sapUshellNotificationsListNoData");
593
+ const oEventDelegate = {
594
+ onAfterRendering: () => {
595
+ oNoData.focus();
596
+ oNoData.removeEventDelegate(oEventDelegate);
597
+ }
598
+ };
599
+ oNoData.addEventDelegate(oEventDelegate);
600
+ };
601
+
602
+ const fnFocusItem = (oFocusItem) => {
603
+ oFocusItem?.getParent()?.setCollapsed(false);
604
+ const oEventDelegate = {
605
+ onAfterRendering: () => {
606
+ setTimeout(() => {
607
+ oFocusItem?.getFocusDomRef()?.focus();
608
+ }, 0);
609
+ oFocusItem.removeEventDelegate(oEventDelegate);
610
+ }
611
+ };
612
+ oFocusItem.addEventDelegate(oEventDelegate);
613
+ };
614
+
615
+ switch (sReason) {
616
+ case this.oSetFocusReason.ListRefreshed:
617
+ if (bHasItems) {
618
+ const oFirstGroup = oList.getItems()[0];
619
+ const oFirstItem = oFirstGroup?.getItems()[0];
620
+ fnFocusItem(oFirstItem);
621
+ } else {
622
+ fnFocusNoData();
623
+ }
624
+ break;
625
+
626
+ case this.oSetFocusReason.MoreButtonPressed:
627
+ if (bMoreItemsCanBeFetched) {
628
+ this.byId("sapUshellNotificationsListMoreButton")?.focus();
629
+ } else {
630
+ // If there are no more items in the backend, the "More" button is not visible anymore and the focus should be set to the last item.
631
+ const iLastGroupIndex = oList.getItems().length - 1;
632
+ const oLastGroup = oList.getItems()[iLastGroupIndex];
633
+ const iLastItemIndex = oLastGroup?.getItems().length - 1;
634
+ const oLastItem = oLastGroup?.getItems()[iLastItemIndex];
635
+ fnFocusItem(oLastItem);
636
+ }
637
+ break;
638
+
639
+ case this.oSetFocusReason.NotificationRemoved:
640
+ if (bHasItems) {
641
+ if (!oItem) {
642
+ break;
643
+ }
644
+ fnFocusItem(oItem);
645
+ } else if (bMoreItemsCanBeFetched) {
646
+ this.byId("sapUshellNotificationsListMoreButton")?.focus();
647
+ // If all loaded items are removed, the load more button gets busy and loads more items if there are any.
648
+ await this.getNextPage(false);
649
+ } else {
650
+ fnFocusNoData();
651
+ }
652
+ break;
653
+
654
+ default:
655
+ // Focus on popover
656
+ (await this.getOwnerComponent()._getPopover()).focus();
657
+ break;
658
+ }
659
+ },
660
+
661
+ /**
662
+ * Handles removing an item using an async callback function and focuses the next focusable item.
663
+ *
664
+ * @param {object} oItem The NotificationListItem that was removed.
665
+ * @param {function} [fnCallback] The optional async callback function to be executed to remove the items.
666
+ *
667
+ * @since 1.136.0
668
+ * @private
669
+ */
670
+ _handleRemove: async function (oItem, fnCallback) {
671
+ const oGroup = oItem.getParent();
672
+ const oList = oGroup.getParent();
673
+ const iGroupIndexOld = oList.getItems().indexOf(oGroup);
674
+ const iGroupIndexNew = Math.max(iGroupIndexOld - 1, 0);
675
+ const bGroupWasFirst = (iGroupIndexOld - 1) < 0;
676
+ const bIsLastItemInGroup = oGroup.getItems().length <= 1;
677
+
678
+ // Set focus on popover to keep focus while the list is re-rendered
679
+ if (bIsLastItemInGroup) {
680
+ (await this.getOwnerComponent()._getPopover()).focus();
681
+ }
682
+
683
+ // Run callback before retrieving the new group
684
+ fnCallback().then(() => {
685
+ if (bIsLastItemInGroup) {
686
+ const oGroupNew = oList.getItems()[iGroupIndexNew];
687
+ let iItemIndex = 0; // Focus first item by default
688
+
689
+ // Group was before the new group, we want to focus the last item
690
+ if (!bGroupWasFirst) {
691
+ iItemIndex = oGroupNew?.getItems().length - 1;
692
+ }
693
+ const oFocusItem = oGroupNew?.getItems()[iItemIndex];
694
+ this._setFocus(this.oSetFocusReason.NotificationRemoved, oFocusItem);
695
+ }
696
+ });
697
+ },
698
+
699
+ //*********************************************************************************************************
700
+ //**************************************** Handler functions **********************************************
701
+
702
+ /**
703
+ * Handles the press event on the "More" button which loads more notifications.
704
+ *
705
+ * @returns {Promise} A promise that resolves when the next page is loaded.
706
+ *
707
+ * @since 1.136.0
708
+ * @private
709
+ */
710
+ onLoadMorePress: async function () {
711
+ const oModel = this._getModel();
712
+ if (!oModel.getProperty("/inUpdate")) {
713
+ await this.getNextPage(false);
714
+ }
715
+ },
716
+
717
+ /**
718
+ * Handles the press event on the settings button which opens the user settings for notifications.
719
+ *
720
+ * @returns {Promise} A promise that resolves when the settings are opened.
721
+ *
722
+ * @since 1.136.0
723
+ * @private
724
+ */
725
+ onSettingsPress: async function () {
726
+ EventHub.emit("openUserSettings", {
727
+ time: Date.now(),
728
+ targetEntryId: "notificationsEntry"
729
+ });
730
+ (await this.getOwnerComponent()._getPopover()).close();
731
+ },
732
+
733
+ /**
734
+ * Handles the press event on the sort menu button which opens the sort menu.
735
+ *
736
+ * @since 1.136.0
737
+ * @private
738
+ */
739
+ onSortMenuPress: function () {
740
+ Fragment.byId(this.getOwnerComponent().createId("notificationsListCustomHeader"), "sortMenu").setOpen(true);
741
+ },
742
+
743
+ /**
744
+ * Handles the press event for a specific sort menu item and changes the sorting type.
745
+ *
746
+ * @param {sap.ui.base.Event} oEvent The event.
747
+ * @returns {Promise} A promise that resolves when the sorting type is changed.
748
+ *
749
+ * @since 1.136.0
750
+ * @private
751
+ */
752
+ onSortMenuItemPress: async function (oEvent) {
753
+ const oSelectedItem = oEvent.getParameter("item");
754
+
755
+ this.sCurrentSorting = oSelectedItem.data("sortBy") || this.oSortingTypes.NOTIFICATIONS_BY_DATE_DESCENDING;
756
+ this._sortUpdateSelectionState(oSelectedItem.data("sortBy"));
757
+ await this.getNextPage(true);
758
+ },
759
+
760
+ /**
761
+ * Handles the press event on the notification item and navigates accordingly.
762
+ *
763
+ * @param {sap.ui.base.Event} oEvent The event.
764
+ * @returns {Promise} A promise that resolves when the notification press was handled.
765
+ *
766
+ * @since 1.136.0
767
+ * @private
768
+ */
769
+ onNotificationPress: async function (oEvent) {
770
+ const oItem = oEvent.getParameter("item");
771
+
772
+ // Only Continue of the Item is a valid notification list item, it could be a menu list item.
773
+ if (this._bRemoving || !oItem?.isA || !oItem.isA("@ui5/webcomponents-fiori.NotificationListItem")) {
774
+ return;
775
+ }
776
+
777
+ const oNotification = oItem.getBindingContext().getObject();
778
+ const sSemanticObject = oNotification.NavigationTargetObject;
779
+ const sAction = oNotification.NavigationTargetAction;
780
+ const aParameters = oNotification.NavigationTargetParams;
781
+
782
+ if (sSemanticObject && sAction) {
783
+ ushellUtils.toExternalWithParameters(sSemanticObject, sAction, aParameters);
784
+ }
785
+ await this._markNotificationRead(oItem);
786
+ },
787
+
788
+ /**
789
+ * Handles the remove button press on the notification item.
790
+ *
791
+ * @param {sap.ui.base.Event} oEvent The event.
792
+ * @returns {Promise} A promise that resolves when the notification is removed.
793
+ *
794
+ * @since 1.136.0
795
+ * @private
796
+ */
797
+ onNotificationRemovePress: async function (oEvent) {
798
+ this._bRemoving = true;
799
+ const oItem = oEvent.getParameter("item");
800
+ const sParentContextPath = oItem.getParent().getBindingContext().getPath();
801
+ return this._handleRemove(oItem, async () => {
802
+ // Remove data from backend and model
803
+ const oNotification = oItem.getBindingContext().getObject();
804
+ return this.oNotificationsService.dismissNotification(oNotification.Id).then(() => {
805
+ return this._removeItemFromModel(oNotification.Id, sParentContextPath);
806
+ }).finally(() => {
807
+ this._bRemoving = false;
808
+ });
809
+ }).catch(async () => {
810
+ await _errorMessage(resources.i18n.getText("notificationsFailedDismiss"));
811
+ });
812
+ },
813
+
814
+ /**
815
+ * Handles the action button press of a notification item.
816
+ *
817
+ * @param {sap.ui.base.Event} oEvent The event.
818
+ * @returns {Promise} A promise that resolves when the action is performed.
819
+ *
820
+ * @since 1.136.0
821
+ * @private
822
+ */
823
+ onNotificationActionPress: async function (oEvent) {
824
+ const oActionMenuItem = oEvent.getParameter("item");
825
+ const oAction = oActionMenuItem.getBindingContext().getObject();
826
+ const oNotificationListItem = oActionMenuItem.getParent().getParent();
827
+ const oNotification = oNotificationListItem.getBindingContext().getObject();
828
+
829
+ oNotificationListItem.setBusy(true);
830
+ this._bRemoving = true;
831
+ return this.oNotificationsService.executeAction(oNotification.Id, oAction.ActionId)
832
+ .then(async (oResponse) => {
833
+ if (oResponse?.isSucessfull) {
834
+ if (oResponse.message && oResponse.message.length) {
835
+ MessageToast.show(oResponse.message, { duration: 4000 });
836
+ } else {
837
+ const sActionText = oAction.ActionText;
838
+ MessageToast.show(resources.i18n.getText("ActionAppliedToNotification", [sActionText]), { duration: 4000 });
839
+ }
840
+
841
+ // Notification should remain in the UI (after action executed) only if DeleteOnReturn flag exists, and equals false
842
+ if (oResponse.DeleteOnReturn !== false) {
843
+ await this._handleRemove(oNotificationListItem, async () => {
844
+ this.oNotificationsService._addDismissNotifications(oNotification.Id);
845
+ const sParentContextPath = oNotificationListItem.getParent().getBindingContext().getPath();
846
+ await this._removeItemFromModel(oNotification.Id, sParentContextPath);
847
+ oNotificationListItem.setBusy(false);
848
+ });
849
+ }
850
+ } else if (oResponse) {
851
+ await _errorMessage(oResponse.message);
852
+ } else {
853
+ await _errorMessage(resources.i18n.getText("notificationsFailedExecuteAction"));
854
+ }
855
+ })
856
+ .catch(async () => {
857
+ await _errorMessage(resources.i18n.getText("notificationsFailedExecuteAction"));
858
+ })
859
+ .finally(() => {
860
+ this._bRemoving = false;
861
+ oNotificationListItem.setBusy(false);
862
+ });
863
+ },
864
+
865
+ /**
866
+ * Formatter to determine if the no data illustration should be shown.
867
+ *
868
+ * @param {boolean} bHasMoreItemsInBackend True if there are more items in the backend.
869
+ * @param {boolean} bListMaxReached True if the maximum number of items (on the client) has been reached.
870
+ * @returns {boolean} True if the no data illustration should be shown, false otherwise.
871
+ */
872
+ formatShowNoDataIllustration: function (bHasMoreItemsInBackend, bListMaxReached) {
873
+ return this._oItemSet.size === 0 && !bHasMoreItemsInBackend && !bListMaxReached;
874
+ }
875
+ });
876
+ });