@sapui5/sap.ushell 1.128.0 → 1.129.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 (533) 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/ApplicationType/systemAlias.js +45 -0
  4. package/src/main/js/sap/ushell/ApplicationType/urlTemplateResolution.js +12 -5
  5. package/src/main/js/sap/ushell/Fiori20Adapter.js +32 -10
  6. package/src/main/js/sap/ushell/Fiori20AdapterTest.js +17 -14
  7. package/src/main/js/sap/ushell/NWBCInterface.js +1 -1
  8. package/src/main/js/sap/ushell/TechnicalParameters.js +1 -1
  9. package/src/main/js/sap/ushell/UIActions.js +11 -0
  10. package/src/main/js/sap/ushell/URLTemplateProcessor/DefinitionParameterSetBuilder.js +1 -1
  11. package/src/main/js/sap/ushell/URLTemplateProcessor/DependencyGraph.js +1 -1
  12. package/src/main/js/sap/ushell/URLTemplateProcessor/Functions.js +1 -1
  13. package/src/main/js/sap/ushell/URLTemplateProcessor/Resolvers.js +1 -1
  14. package/src/main/js/sap/ushell/URLTemplateProcessor/TemplateParameterParser.js +1 -1
  15. package/src/main/js/sap/ushell/URLTemplateProcessor/utils.js +1 -1
  16. package/src/main/js/sap/ushell/URLTemplateProcessor.js +1 -1
  17. package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +1 -1
  18. package/src/main/js/sap/ushell/Ui5ServiceFactory.js +1 -1
  19. package/src/main/js/sap/ushell/adapters/AppVariantPersonalizationAdapter.js +1 -1
  20. package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +1 -1
  21. package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +1 -1
  22. package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
  23. package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +1 -1
  24. package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +1 -1
  25. package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +1 -1
  26. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
  27. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationV2Adapter.js +1 -1
  28. package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +1 -1
  29. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +1 -1
  30. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +1 -1
  31. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +1 -1
  32. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +1 -1
  33. package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +1 -1
  34. package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +1 -1
  35. package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +1 -1
  36. package/src/main/js/sap/ushell/adapters/cdm/v3/FlpLaunchPageAdapter.js +1 -1
  37. package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +1 -1
  38. package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +1 -1
  39. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +1 -1
  40. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +1 -1
  41. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +1 -1
  42. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +1 -1
  43. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +1 -1
  44. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +1 -1
  45. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +1 -1
  46. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionInternalAdapter.js +2 -2
  47. package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +1 -1
  48. package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +1 -1
  49. package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +1 -1
  50. package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +1 -1
  51. package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +1 -1
  52. package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +1 -1
  53. package/src/main/js/sap/ushell/adapters/local/FlpLaunchPageAdapter.js +1 -1
  54. package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +1 -1
  55. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +1 -1
  56. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionInternalAdapter.js +1 -1
  57. package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +1 -1
  58. package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +1 -1
  59. package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +1 -1
  60. package/src/main/js/sap/ushell/adapters/local/PersonalizationV2Adapter.js +1 -1
  61. package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +1 -1
  62. package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +1 -1
  63. package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +1 -1
  64. package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +1 -1
  65. package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +1 -1
  66. package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +1 -1
  67. package/src/main/js/sap/ushell/api/Copilot.js +42 -0
  68. package/src/main/js/sap/ushell/api/Inbox.js +5 -164
  69. package/src/main/js/sap/ushell/api/S4MyHome.js +132 -0
  70. package/src/main/js/sap/ushell/api/common/ComponentInstantiation.js +215 -0
  71. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +26 -23
  72. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/rtaAgent/i18n/i18n_en_US_sappsd.properties +3 -3
  73. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/rtaAgent/i18n/i18n_en_US_saptrc.properties +5 -5
  74. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/rtaShell/i18n/i18n_en_US_sappsd.properties +1 -1
  75. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/rtaShell/i18n/i18n_en_US_saptrc.properties +2 -2
  76. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/RendererExtensions.js +1 -1
  77. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppConfiguration.js +1 -1
  78. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppLifeCycle.js +1 -1
  79. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppState.js +1 -1
  80. package/src/main/js/sap/ushell/appRuntime/ui5/services/Bookmark.js +1 -1
  81. package/src/main/js/sap/ushell/appRuntime/ui5/services/BookmarkV2.js +1 -1
  82. package/src/main/js/sap/ushell/appRuntime/ui5/services/CommonDataModel.js +1 -1
  83. package/src/main/js/sap/ushell/appRuntime/ui5/services/Container.js +1 -1
  84. package/src/main/js/sap/ushell/appRuntime/ui5/services/CrossApplicationNavigation.js +1 -1
  85. package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension/Item.js +1 -1
  86. package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension.js +1 -1
  87. package/src/main/js/sap/ushell/appRuntime/ui5/services/FrameBoundExtension.js +1 -1
  88. package/src/main/js/sap/ushell/appRuntime/ui5/services/LaunchPage.js +1 -1
  89. package/src/main/js/sap/ushell/appRuntime/ui5/services/MessageBroker.js +1 -1
  90. package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolution.js +1 -1
  91. package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolutionInternal.js +1 -1
  92. package/src/main/js/sap/ushell/appRuntime/ui5/services/Navigation.js +1 -1
  93. package/src/main/js/sap/ushell/appRuntime/ui5/services/ReferenceResolver.js +1 -1
  94. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigation.js +1 -1
  95. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigationInternal.js +1 -1
  96. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellUIService.js +10 -12
  97. package/src/main/js/sap/ushell/appRuntime/ui5/services/UserInfo.js +1 -1
  98. package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
  99. package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/logger.js +1 -1
  100. package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/state.js +1 -1
  101. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5datetimeformat.js +1 -1
  102. package/src/main/js/sap/ushell/bootstrap/common/common.create.configcontract.core.js +2 -1
  103. package/src/main/js/sap/ushell/bootstrap/common/common.load.model.js +2 -8
  104. package/src/main/js/sap/ushell/bootstrap/sandbox2.js +1 -1
  105. package/src/main/js/sap/ushell/components/_HomepageManager/PagingManager.js +1 -3
  106. package/src/main/js/sap/ushell/components/appfinder/AppFinder.controller.js +5 -7
  107. package/src/main/js/sap/ushell/components/appfinder/Component.js +9 -9
  108. package/src/main/js/sap/ushell/components/appfinder/manifest.json +6 -1
  109. package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +689 -592
  110. package/src/main/js/sap/ushell/components/applicationIntegration/application/Application.js +29 -18
  111. package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxHandler.js +5 -5
  112. package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPI.js +6 -28
  113. package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +6 -163
  114. package/src/main/js/sap/ushell/components/applicationIntegration/relatedServices/RelatedServices.js +1 -1
  115. package/src/main/js/sap/ushell/components/cepsearchresult/app/Main.controller.js +9 -4
  116. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_en_US_sappsd.properties +4 -4
  117. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_en_US_saptrc.properties +37 -37
  118. package/src/main/js/sap/ushell/components/cepsearchresult/app/i18n/i18n_en_US_sappsd.properties +1 -1
  119. package/src/main/js/sap/ushell/components/cepsearchresult/app/i18n/i18n_en_US_saptrc.properties +9 -9
  120. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_en_US_sappsd.properties +32 -32
  121. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_en_US_saptrc.properties +109 -109
  122. package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +1 -1
  123. package/src/main/js/sap/ushell/components/container/IframePOSTUtils.js +1 -1
  124. package/src/main/js/sap/ushell/components/container/resources/resources_en_US_saptrc.properties +6 -6
  125. package/src/main/js/sap/ushell/components/contentFinder/CatalogService.js +18 -15
  126. package/src/main/js/sap/ushell/components/contentFinder/Component.js +27 -20
  127. package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +100 -7
  128. package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +1 -1
  129. package/src/main/js/sap/ushell/components/contentFinder/controller/WidgetGallery.controller.js +1 -1
  130. package/src/main/js/sap/ushell/components/contentFinder/manifest.json +2 -2
  131. package/src/main/js/sap/ushell/components/contentFinder/model/formatter.js +13 -8
  132. package/src/main/js/sap/ushell/components/contentFinder/resources/resources.properties +16 -0
  133. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ar.properties +4 -1
  134. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_bg.properties +4 -1
  135. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ca.properties +4 -1
  136. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_cnr.properties +4 -1
  137. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_cs.properties +4 -1
  138. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_cy.properties +4 -1
  139. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_da.properties +4 -1
  140. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_de.properties +4 -1
  141. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_el.properties +4 -1
  142. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_en.properties +4 -1
  143. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_en_GB.properties +4 -1
  144. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_en_US_sappsd.properties +7 -5
  145. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_en_US_saprigi.properties +7 -1
  146. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_en_US_saptrc.properties +26 -24
  147. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_es.properties +4 -1
  148. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_es_MX.properties +4 -1
  149. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_et.properties +4 -1
  150. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_fi.properties +4 -1
  151. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_fr.properties +4 -1
  152. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_fr_CA.properties +4 -1
  153. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_hi.properties +4 -1
  154. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_hr.properties +4 -1
  155. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_hu.properties +6 -3
  156. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_id.properties +4 -1
  157. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_it.properties +4 -1
  158. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_iw.properties +4 -1
  159. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ja.properties +4 -1
  160. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_kk.properties +4 -1
  161. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ko.properties +6 -3
  162. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_lt.properties +4 -1
  163. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_lv.properties +4 -1
  164. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_mk.properties +4 -1
  165. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ms.properties +4 -1
  166. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_nl.properties +4 -1
  167. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_no.properties +4 -1
  168. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_pl.properties +4 -1
  169. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_pt.properties +4 -1
  170. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_pt_PT.properties +4 -1
  171. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ro.properties +4 -1
  172. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ru.properties +4 -1
  173. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sh.properties +4 -1
  174. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sk.properties +4 -1
  175. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sl.properties +4 -1
  176. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sr.properties +4 -1
  177. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sv.properties +4 -1
  178. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_th.properties +4 -1
  179. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_tr.properties +4 -1
  180. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_uk.properties +4 -1
  181. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_vi.properties +4 -1
  182. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_zh_CN.properties +4 -1
  183. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_zh_TW.properties +4 -1
  184. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearch.view.xml +275 -127
  185. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchBox.fragment.xml +61 -24
  186. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchList.fragment.xml +73 -0
  187. package/src/main/js/sap/ushell/components/contentFinder/view/ContentFinderDialog.view.xml +20 -10
  188. package/src/main/js/sap/ushell/components/contentFinderStandalone/Component.js +1 -1
  189. package/src/main/js/sap/ushell/components/contentFinderStandalone/controller/ContentFinderStandalone.controller.js +1 -1
  190. package/src/main/js/sap/ushell/components/contentFinderStandalone/manifest.json +1 -1
  191. package/src/main/js/sap/ushell/components/contentFinderStandalone/manifestAppSearch.json +1 -1
  192. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_ar.properties +3 -0
  193. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_bg.properties +3 -0
  194. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_ca.properties +3 -0
  195. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_cnr.properties +3 -0
  196. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_cs.properties +3 -0
  197. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_cy.properties +3 -0
  198. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_da.properties +3 -0
  199. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_de.properties +3 -0
  200. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_el.properties +3 -0
  201. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_en.properties +3 -0
  202. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_en_GB.properties +3 -0
  203. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_en_US_saprigi.properties +3 -0
  204. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_es.properties +3 -0
  205. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_es_MX.properties +3 -0
  206. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_et.properties +3 -0
  207. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_fi.properties +3 -0
  208. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_fr.properties +3 -0
  209. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_fr_CA.properties +3 -0
  210. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_hi.properties +3 -0
  211. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_hr.properties +3 -0
  212. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_hu.properties +3 -0
  213. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_id.properties +3 -0
  214. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_it.properties +3 -0
  215. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_iw.properties +3 -0
  216. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_ja.properties +3 -0
  217. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_kk.properties +3 -0
  218. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_ko.properties +3 -0
  219. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_lt.properties +3 -0
  220. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_lv.properties +3 -0
  221. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_mk.properties +3 -0
  222. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_ms.properties +3 -0
  223. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_nl.properties +3 -0
  224. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_no.properties +3 -0
  225. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_pl.properties +3 -0
  226. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_pt.properties +3 -0
  227. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_pt_PT.properties +3 -0
  228. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_ro.properties +3 -0
  229. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_ru.properties +3 -0
  230. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_sh.properties +3 -0
  231. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_sk.properties +3 -0
  232. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_sl.properties +3 -0
  233. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_sr.properties +3 -0
  234. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_sv.properties +3 -0
  235. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_th.properties +3 -0
  236. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_tr.properties +3 -0
  237. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_uk.properties +3 -0
  238. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_vi.properties +3 -0
  239. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_zh_CN.properties +3 -0
  240. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_zh_TW.properties +3 -0
  241. package/src/main/js/sap/ushell/components/factsheet/Component.js +1 -1
  242. package/src/main/js/sap/ushell/components/homepage/ActionMode.js +1 -1
  243. package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +1 -1
  244. package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +1 -1
  245. package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +1 -1
  246. package/src/main/js/sap/ushell/components/homepage/manifest.json +1 -1
  247. package/src/main/js/sap/ushell/components/pages/ActionMode.js +1 -1
  248. package/src/main/js/sap/ushell/components/pages/Component.js +1 -1
  249. package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +1 -1
  250. package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +12 -1
  251. package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
  252. package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +1 -1
  253. package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
  254. package/src/main/js/sap/ushell/components/shell/FloatingContainer/Component.js +1158 -0
  255. package/src/main/js/sap/ushell/components/shell/FloatingContainer/FloatingContainer.fragment.xml +17 -0
  256. package/src/main/js/sap/ushell/components/shell/FloatingContainer/controls/FloatingContainer.js +55 -0
  257. package/src/main/js/sap/ushell/components/shell/FloatingContainer/manifest.json +84 -0
  258. package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +1 -1
  259. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +1 -1
  260. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +1 -1
  261. package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +1 -1
  262. package/src/main/js/sap/ushell/components/shell/PostLoadingHeaderEnhancement/Component.js +1 -1
  263. package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +1 -1
  264. package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
  265. package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +1 -1
  266. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +1 -1
  267. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +1 -1
  268. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +1 -1
  269. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchServiceProvider.js +1 -1
  270. package/src/main/js/sap/ushell/components/shell/Settings/Component.js +1 -1
  271. package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.view.xml +1 -1
  272. package/src/main/js/sap/ushell/components/shell/Settings/notifications/NotificationsSetting.controller.js +3 -0
  273. package/src/main/js/sap/ushell/components/shell/Settings/notifications/NotificationsSetting.view.xml +3 -1
  274. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/UserDefaultsForm.js +15 -6
  275. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/controller/UserDefaultsSetting.controller.js +43 -62
  276. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +1 -1
  277. package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +1 -1
  278. package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +1 -1
  279. package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +2 -2
  280. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility.js +1 -1
  281. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +1 -1
  282. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +9 -5
  283. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +1 -1
  284. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +8 -5
  285. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +1 -1
  286. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +1 -1
  287. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +1 -1
  288. package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
  289. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_en_US_sappsd.properties +27 -26
  290. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_en_US_saptrc.properties +68 -67
  291. package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +1 -1
  292. package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +1 -1
  293. package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +1 -1
  294. package/src/main/js/sap/ushell/components/workPageRuntime/view/WorkPageRuntime.view.xml +3 -4
  295. package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
  296. package/src/main/js/sap/ushell/iconfonts.js +36 -420
  297. package/src/main/js/sap/ushell/library.js +1 -1
  298. package/src/main/js/sap/ushell/navigationMode.js +1 -1
  299. package/src/main/js/sap/ushell/performance/ShellAnalytics.js +1 -1
  300. package/src/main/js/sap/ushell/performance/StatisticalRecord.js +1 -1
  301. package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
  302. package/src/main/js/sap/ushell/plugins/rta/i18n/i18n_en_US_sappsd.properties +3 -3
  303. package/src/main/js/sap/ushell/plugins/rta/i18n/i18n_en_US_saptrc.properties +8 -8
  304. package/src/main/js/sap/ushell/renderer/Renderer.js +135 -127
  305. package/src/main/js/sap/ushell/renderer/Shell.controller.js +694 -1182
  306. package/src/main/js/sap/ushell/renderer/Shell.view.js +38 -102
  307. package/src/main/js/sap/ushell/renderer/resources/resources.properties +4 -4
  308. package/src/main/js/sap/ushell/renderer/resources/resources_ar.properties +1 -0
  309. package/src/main/js/sap/ushell/renderer/resources/resources_bg.properties +1 -0
  310. package/src/main/js/sap/ushell/renderer/resources/resources_ca.properties +1 -0
  311. package/src/main/js/sap/ushell/renderer/resources/resources_cnr.properties +1 -0
  312. package/src/main/js/sap/ushell/renderer/resources/resources_cs.properties +1 -0
  313. package/src/main/js/sap/ushell/renderer/resources/resources_cy.properties +1 -0
  314. package/src/main/js/sap/ushell/renderer/resources/resources_da.properties +1 -0
  315. package/src/main/js/sap/ushell/renderer/resources/resources_de.properties +1 -0
  316. package/src/main/js/sap/ushell/renderer/resources/resources_el.properties +1 -0
  317. package/src/main/js/sap/ushell/renderer/resources/resources_en.properties +1 -0
  318. package/src/main/js/sap/ushell/renderer/resources/resources_en_GB.properties +1 -0
  319. package/src/main/js/sap/ushell/renderer/resources/resources_en_US_sappsd.properties +128 -130
  320. package/src/main/js/sap/ushell/renderer/resources/resources_en_US_saprigi.properties +1 -0
  321. package/src/main/js/sap/ushell/renderer/resources/resources_en_US_saptrc.properties +989 -991
  322. package/src/main/js/sap/ushell/renderer/resources/resources_es.properties +1 -0
  323. package/src/main/js/sap/ushell/renderer/resources/resources_es_MX.properties +1 -0
  324. package/src/main/js/sap/ushell/renderer/resources/resources_et.properties +1 -0
  325. package/src/main/js/sap/ushell/renderer/resources/resources_fi.properties +1 -0
  326. package/src/main/js/sap/ushell/renderer/resources/resources_fr.properties +1 -0
  327. package/src/main/js/sap/ushell/renderer/resources/resources_fr_CA.properties +1 -0
  328. package/src/main/js/sap/ushell/renderer/resources/resources_hi.properties +1 -0
  329. package/src/main/js/sap/ushell/renderer/resources/resources_hr.properties +1 -0
  330. package/src/main/js/sap/ushell/renderer/resources/resources_hu.properties +2 -1
  331. package/src/main/js/sap/ushell/renderer/resources/resources_id.properties +1 -0
  332. package/src/main/js/sap/ushell/renderer/resources/resources_it.properties +1 -0
  333. package/src/main/js/sap/ushell/renderer/resources/resources_iw.properties +1 -0
  334. package/src/main/js/sap/ushell/renderer/resources/resources_ja.properties +1 -0
  335. package/src/main/js/sap/ushell/renderer/resources/resources_kk.properties +1 -0
  336. package/src/main/js/sap/ushell/renderer/resources/resources_ko.properties +1 -0
  337. package/src/main/js/sap/ushell/renderer/resources/resources_lt.properties +1 -0
  338. package/src/main/js/sap/ushell/renderer/resources/resources_lv.properties +1 -0
  339. package/src/main/js/sap/ushell/renderer/resources/resources_mk.properties +1 -0
  340. package/src/main/js/sap/ushell/renderer/resources/resources_ms.properties +1 -0
  341. package/src/main/js/sap/ushell/renderer/resources/resources_nl.properties +1 -0
  342. package/src/main/js/sap/ushell/renderer/resources/resources_no.properties +1 -0
  343. package/src/main/js/sap/ushell/renderer/resources/resources_pl.properties +1 -0
  344. package/src/main/js/sap/ushell/renderer/resources/resources_pt.properties +1 -0
  345. package/src/main/js/sap/ushell/renderer/resources/resources_pt_PT.properties +1 -0
  346. package/src/main/js/sap/ushell/renderer/resources/resources_ro.properties +1 -0
  347. package/src/main/js/sap/ushell/renderer/resources/resources_ru.properties +1 -0
  348. package/src/main/js/sap/ushell/renderer/resources/resources_sh.properties +1 -0
  349. package/src/main/js/sap/ushell/renderer/resources/resources_sk.properties +1 -0
  350. package/src/main/js/sap/ushell/renderer/resources/resources_sl.properties +1 -0
  351. package/src/main/js/sap/ushell/renderer/resources/resources_sr.properties +1 -0
  352. package/src/main/js/sap/ushell/renderer/resources/resources_sv.properties +1 -0
  353. package/src/main/js/sap/ushell/renderer/resources/resources_th.properties +1 -0
  354. package/src/main/js/sap/ushell/renderer/resources/resources_tr.properties +1 -0
  355. package/src/main/js/sap/ushell/renderer/resources/resources_uk.properties +1 -0
  356. package/src/main/js/sap/ushell/renderer/resources/resources_vi.properties +1 -0
  357. package/src/main/js/sap/ushell/renderer/resources/resources_zh_CN.properties +1 -0
  358. package/src/main/js/sap/ushell/renderer/resources/resources_zh_TW.properties +1 -0
  359. package/src/main/js/sap/ushell/renderer/search/searchComponent/manifest.json +1 -1
  360. package/src/main/js/sap/ushell/{components/_HeaderManager → renderer/shellHeader}/ShellHeader.controller.js +1 -5
  361. package/src/main/js/sap/ushell/{ui → renderer/shellHeader}/ShellHeader.fragment.xml +6 -3
  362. package/src/main/js/sap/ushell/renderers/fiori2/Shell.view.js +36 -100
  363. package/src/main/js/sap/ushell/services/AppLifeCycle.js +2 -2
  364. package/src/main/js/sap/ushell/services/AppState.js +1 -1
  365. package/src/main/js/sap/ushell/services/Bookmark.js +1 -1
  366. package/src/main/js/sap/ushell/services/BookmarkV2.js +1 -1
  367. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Formatter.js +1 -1
  368. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/InboundIndex.js +1 -1
  369. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/InboundProvider.js +1 -1
  370. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/PrelaunchOperations.js +1 -1
  371. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Search.js +1 -1
  372. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/StagedLogger.js +1 -1
  373. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/SystemContext.js +1 -1
  374. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Utils.js +1 -1
  375. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/VirtualInbounds.js +1 -1
  376. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/XAppStateProcessing.js +1 -1
  377. package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +1 -1
  378. package/src/main/js/sap/ushell/services/CommonDataModel/SiteConverter.js +1 -1
  379. package/src/main/js/sap/ushell/services/CommonDataModel/vizTypeDefaults/VizTypeDefaults.js +1 -1
  380. package/src/main/js/sap/ushell/services/CommonDataModel.js +11 -3
  381. package/src/main/js/sap/ushell/services/Configuration.js +1 -1
  382. package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +1 -1
  383. package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +1 -1
  384. package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +44 -156
  385. package/src/main/js/sap/ushell/services/DarkModeSupport.js +1 -1
  386. package/src/main/js/sap/ushell/services/Extension/Item.js +1 -1
  387. package/src/main/js/sap/ushell/services/Extension.js +1 -1
  388. package/src/main/js/sap/ushell/services/FlpLaunchPage.js +1 -1
  389. package/src/main/js/sap/ushell/services/FrameBoundExtension/FloatingContainer.js +1 -1
  390. package/src/main/js/sap/ushell/services/FrameBoundExtension/Footer.js +1 -1
  391. package/src/main/js/sap/ushell/services/FrameBoundExtension/Item.js +1 -1
  392. package/src/main/js/sap/ushell/services/FrameBoundExtension/SidePane.js +1 -1
  393. package/src/main/js/sap/ushell/services/FrameBoundExtension/ToolArea.js +1 -1
  394. package/src/main/js/sap/ushell/services/FrameBoundExtension.js +1 -1
  395. package/src/main/js/sap/ushell/services/LaunchPage.js +1 -1
  396. package/src/main/js/sap/ushell/services/Menu.js +1 -1
  397. package/src/main/js/sap/ushell/services/Message.js +1 -1
  398. package/src/main/js/sap/ushell/services/MessageBroker/MessageBrokerEngine.js +1 -1
  399. package/src/main/js/sap/ushell/services/MessageBroker.js +1 -1
  400. package/src/main/js/sap/ushell/services/MessageInternal.js +1 -1
  401. package/src/main/js/sap/ushell/services/Navigation/compatibility.js +1 -1
  402. package/src/main/js/sap/ushell/services/Navigation/utils.js +1 -1
  403. package/src/main/js/sap/ushell/services/Navigation.js +1 -1
  404. package/src/main/js/sap/ushell/services/NavigationDataProvider.js +1 -1
  405. package/src/main/js/sap/ushell/services/PageBuilding.js +1 -1
  406. package/src/main/js/sap/ushell/services/PagePersistence.js +1 -1
  407. package/src/main/js/sap/ushell/services/PageReferencing.js +1 -1
  408. package/src/main/js/sap/ushell/services/Pages.js +1 -1
  409. package/src/main/js/sap/ushell/services/Personalization.js +1 -1
  410. package/src/main/js/sap/ushell/services/PersonalizationV2.js +1 -1
  411. package/src/main/js/sap/ushell/services/PluginManager/Extensions.js +1 -1
  412. package/src/main/js/sap/ushell/services/PluginManager/HeaderExtensions.js +1 -1
  413. package/src/main/js/sap/ushell/services/PluginManager/MenuExtensions.js +1 -1
  414. package/src/main/js/sap/ushell/services/PluginManager.js +1 -1
  415. package/src/main/js/sap/ushell/services/ReferenceResolver.js +1 -1
  416. package/src/main/js/sap/ushell/services/Search.js +1 -1
  417. package/src/main/js/sap/ushell/services/SearchCEP.js +1 -1
  418. package/src/main/js/sap/ushell/services/SearchableContent.js +1 -1
  419. package/src/main/js/sap/ushell/services/ShellNavigation.js +1 -1
  420. package/src/main/js/sap/ushell/services/SmartNavigation.js +1 -1
  421. package/src/main/js/sap/ushell/services/SpaceContent.js +1 -1
  422. package/src/main/js/sap/ushell/services/UITracer.js +5 -4
  423. package/src/main/js/sap/ushell/services/URLShortening.js +1 -1
  424. package/src/main/js/sap/ushell/services/URLTemplate.js +1 -1
  425. package/src/main/js/sap/ushell/services/Ui5ComponentLoader/utils.js +1 -1
  426. package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +1 -1
  427. package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +1 -1
  428. package/src/main/js/sap/ushell/services/UserDefaultParameters.js +100 -65
  429. package/src/main/js/sap/ushell/services/UserInfo.js +1 -1
  430. package/src/main/js/sap/ushell/services/UserRecents/RecentActivity.js +2 -3
  431. package/src/main/js/sap/ushell/services/UserRecents/RecentAppsUsage.js +4 -4
  432. package/src/main/js/sap/ushell/services/UserRecents/RecentsList.js +1 -1
  433. package/src/main/js/sap/ushell/services/UserRecents.js +1 -1
  434. package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +1 -1
  435. package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +2 -2
  436. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +1 -1
  437. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +1 -1
  438. package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +1 -1
  439. package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +1 -1
  440. package/src/main/js/sap/ushell/state/BindingHelper.js +79 -0
  441. package/src/main/js/sap/ushell/state/StateManager.js +4 -2
  442. package/src/main/js/sap/ushell/state/StrategyFactory/FloatingContainerStrategy.js +36 -0
  443. package/src/main/js/sap/ushell/state/StrategyFactory.js +6 -0
  444. package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
  445. package/src/main/js/sap/ushell/themes/base/UserSettings.less +0 -12
  446. package/src/main/js/sap/ushell/themes/base/fonts/BusinessSuiteInAppSymbols.json +393 -384
  447. package/src/main/js/sap/ushell/themes/base/fonts/BusinessSuiteInAppSymbols.ttf +0 -0
  448. package/src/main/js/sap/ushell/themes/base/fonts/BusinessSuiteInAppSymbols.woff +0 -0
  449. package/src/main/js/sap/ushell/themes/base/fonts/BusinessSuiteInAppSymbols.woff2 +0 -0
  450. package/src/main/js/sap/ushell/themes/sap_belize_base/UserSettings.less +0 -13
  451. package/src/main/js/sap/ushell/themes/sap_bluecrystal_base/UserSettings.less +0 -13
  452. package/src/main/js/sap/ushell/themes/sap_hcb/base_UserSettings.less +0 -13
  453. package/src/main/js/sap/ushell/ui/ContentNodeSelector.js +18 -6
  454. package/src/main/js/sap/ushell/ui/bookmark/SaveOnPage.view.xml +6 -6
  455. package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +1 -1
  456. package/src/main/js/sap/ushell/ui/footerbar/SaveAsTile.view.js +3 -0
  457. package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
  458. package/src/main/js/sap/ushell/ui/launchpad/Section.js +1 -1
  459. package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +1 -1
  460. package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +1 -1
  461. package/src/main/js/sap/ushell/ui/utils.js +1 -1
  462. package/src/main/js/sap/ushell/ui5service/ShellUIService.js +811 -22
  463. package/src/main/js/sap/ushell/ui5service/ShellUIServiceFactory.js +477 -0
  464. package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
  465. package/src/main/js/sap/ushell/utils/UrlShortening.js +1 -1
  466. package/src/main/js/sap/ushell/utils/WindowUtils.js +21 -18
  467. package/src/main/js/sap/ushell/utils/tilecard/resources/resources_en_US_sappsd.properties +5 -0
  468. package/src/main/js/sap/ushell/utils/tilecard/resources/resources_en_US_saptrc.properties +5 -0
  469. package/src/main/js/sap/ushell/utils/workpage/DestinationResolver.js +68 -25
  470. package/src/main/js/sap/ushell/utils/workpage/WorkPageHost.js +64 -9
  471. package/src/main/js/sap/ushell/utils/workpage/WorkPageService.js +3 -2
  472. package/src/main/js/sap/ushell/utils/workpage/WorkPageVizInstantiation.js +1 -1
  473. package/src/main/js/sap/ushell/utils/workpage/resources/resources.properties +14 -2
  474. package/src/main/js/sap/ushell/utils/workpage/resources/resources_ar.properties +28 -16
  475. package/src/main/js/sap/ushell/utils/workpage/resources/resources_bg.properties +29 -17
  476. package/src/main/js/sap/ushell/utils/workpage/resources/resources_ca.properties +26 -14
  477. package/src/main/js/sap/ushell/utils/workpage/resources/resources_cnr.properties +11 -0
  478. package/src/main/js/sap/ushell/utils/workpage/resources/resources_cs.properties +15 -3
  479. package/src/main/js/sap/ushell/utils/workpage/resources/resources_cy.properties +15 -3
  480. package/src/main/js/sap/ushell/utils/workpage/resources/resources_da.properties +19 -7
  481. package/src/main/js/sap/ushell/utils/workpage/resources/resources_de.properties +16 -4
  482. package/src/main/js/sap/ushell/utils/workpage/resources/resources_el.properties +16 -4
  483. package/src/main/js/sap/ushell/utils/workpage/resources/resources_en.properties +13 -2
  484. package/src/main/js/sap/ushell/utils/workpage/resources/resources_en_GB.properties +18 -6
  485. package/src/main/js/sap/ushell/utils/workpage/resources/resources_en_US_sappsd.properties +28 -27
  486. package/src/main/js/sap/ushell/utils/workpage/resources/resources_en_US_saprigi.properties +78 -66
  487. package/src/main/js/sap/ushell/utils/workpage/resources/resources_en_US_saptrc.properties +68 -67
  488. package/src/main/js/sap/ushell/utils/workpage/resources/resources_es.properties +44 -32
  489. package/src/main/js/sap/ushell/utils/workpage/resources/resources_es_MX.properties +16 -4
  490. package/src/main/js/sap/ushell/utils/workpage/resources/resources_et.properties +24 -12
  491. package/src/main/js/sap/ushell/utils/workpage/resources/resources_fi.properties +16 -4
  492. package/src/main/js/sap/ushell/utils/workpage/resources/resources_fr.properties +29 -17
  493. package/src/main/js/sap/ushell/utils/workpage/resources/resources_fr_CA.properties +19 -7
  494. package/src/main/js/sap/ushell/utils/workpage/resources/resources_hi.properties +20 -8
  495. package/src/main/js/sap/ushell/utils/workpage/resources/resources_hr.properties +27 -15
  496. package/src/main/js/sap/ushell/utils/workpage/resources/resources_hu.properties +19 -7
  497. package/src/main/js/sap/ushell/utils/workpage/resources/resources_id.properties +13 -1
  498. package/src/main/js/sap/ushell/utils/workpage/resources/resources_it.properties +18 -6
  499. package/src/main/js/sap/ushell/utils/workpage/resources/resources_iw.properties +13 -1
  500. package/src/main/js/sap/ushell/utils/workpage/resources/resources_ja.properties +19 -7
  501. package/src/main/js/sap/ushell/utils/workpage/resources/resources_kk.properties +21 -9
  502. package/src/main/js/sap/ushell/utils/workpage/resources/resources_ko.properties +14 -2
  503. package/src/main/js/sap/ushell/utils/workpage/resources/resources_lt.properties +19 -7
  504. package/src/main/js/sap/ushell/utils/workpage/resources/resources_lv.properties +31 -19
  505. package/src/main/js/sap/ushell/utils/workpage/resources/resources_mk.properties +11 -0
  506. package/src/main/js/sap/ushell/utils/workpage/resources/resources_ms.properties +17 -5
  507. package/src/main/js/sap/ushell/utils/workpage/resources/resources_nl.properties +17 -5
  508. package/src/main/js/sap/ushell/utils/workpage/resources/resources_no.properties +16 -4
  509. package/src/main/js/sap/ushell/utils/workpage/resources/resources_pl.properties +17 -5
  510. package/src/main/js/sap/ushell/utils/workpage/resources/resources_pt.properties +17 -5
  511. package/src/main/js/sap/ushell/utils/workpage/resources/resources_pt_PT.properties +34 -22
  512. package/src/main/js/sap/ushell/utils/workpage/resources/resources_ro.properties +15 -3
  513. package/src/main/js/sap/ushell/utils/workpage/resources/resources_ru.properties +15 -3
  514. package/src/main/js/sap/ushell/utils/workpage/resources/resources_sh.properties +11 -0
  515. package/src/main/js/sap/ushell/utils/workpage/resources/resources_sk.properties +16 -4
  516. package/src/main/js/sap/ushell/utils/workpage/resources/resources_sl.properties +27 -15
  517. package/src/main/js/sap/ushell/utils/workpage/resources/resources_sr.properties +11 -0
  518. package/src/main/js/sap/ushell/utils/workpage/resources/resources_sv.properties +14 -2
  519. package/src/main/js/sap/ushell/utils/workpage/resources/resources_th.properties +18 -6
  520. package/src/main/js/sap/ushell/utils/workpage/resources/resources_tr.properties +22 -10
  521. package/src/main/js/sap/ushell/utils/workpage/resources/resources_uk.properties +15 -3
  522. package/src/main/js/sap/ushell/utils/workpage/resources/resources_vi.properties +24 -12
  523. package/src/main/js/sap/ushell/utils/workpage/resources/resources_zh_CN.properties +13 -1
  524. package/src/main/js/sap/ushell/utils/workpage/resources/resources_zh_TW.properties +17 -5
  525. package/src/main/js/sap/ushell/utils.js +14 -1
  526. package/src/test/js/sap/ushell/bootstrap/sandbox.js +1 -1
  527. package/ui5.yaml +5 -3
  528. package/src/main/js/sap/ushell/themes/base/fonts/horizon/BusinessSuiteInAppSymbols.ttf +0 -0
  529. package/src/main/js/sap/ushell/themes/base/fonts/horizon/BusinessSuiteInAppSymbols.woff +0 -0
  530. package/src/main/js/sap/ushell/themes/base/fonts/horizon/BusinessSuiteInAppSymbols.woff2 +0 -0
  531. package/src/main/js/sap/ushell/ui/shell/FloatingContainer.js +0 -238
  532. package/src/main/js/sap/ushell/ui5service/_ShellUIService/shelluiservice.class.factory.js +0 -746
  533. /package/src/main/js/sap/ushell/{ui → renderer}/RendererRootView.fragment.xml +0 -0
@@ -1,35 +1,824 @@
1
1
  // Copyright (c) 2009-2023 SAP SE, All Rights Reserved
2
2
 
3
- /**
4
- * @fileOverview The ShellUIService UI5 service
5
- *
6
- * @version 1.128.0
7
- */
8
3
  sap.ui.define([
9
- "sap/ui/core/service/ServiceFactoryRegistry",
10
- "sap/ui/core/service/ServiceFactory",
4
+ "sap/base/Log",
5
+ "sap/base/util/extend",
6
+ "sap/base/util/isPlainObject",
7
+ "sap/ui/base/EventProvider",
11
8
  "sap/ui/core/service/Service",
12
- "./_ShellUIService/shelluiservice.class.factory"
13
- ], function (
14
- ServiceFactoryRegistry,
15
- ServiceFactory,
9
+ "sap/ui/thirdparty/hasher",
10
+ "sap/ushell/Config",
11
+ "sap/ushell/EventHub",
12
+ "sap/ushell/resources",
13
+ "sap/ushell/services/AppConfiguration",
14
+ "sap/ushell/state/ShellModel",
15
+ "sap/ushell/state/StateManager",
16
+ "sap/ushell/utils",
17
+ "sap/ushell/utils/UrlParsing"
18
+ ], (
19
+ Log,
20
+ extend,
21
+ isPlainObject,
22
+ EventProvider,
16
23
  Service,
17
- fnDefineClass
18
- ) {
24
+ hasher,
25
+ Config,
26
+ EventHub,
27
+ ushellResources,
28
+ AppConfiguration,
29
+ ShellModel,
30
+ StateManager,
31
+ ushellUtils,
32
+ UrlParsing
33
+ ) => {
19
34
  "use strict";
20
35
 
36
+ // shortcut for sap.ushell.state.StateManager.LaunchpadState
37
+ const LaunchpadState = StateManager.LaunchpadState;
38
+
39
+ // shortcut for sap.ushell.state.StateManager.Operation
40
+ const Operation = StateManager.Operation;
41
+
42
+ // shortcut for sap.ushell.state.StateManager.ShellMode
43
+ const ShellMode = StateManager.ShellMode;
44
+ const {
45
+ Default,
46
+ Embedded
47
+ } = ShellMode;
48
+
49
+ const sBackNavigationChangedEvent = "backNavigationChanged";
50
+ const sServiceDestroyedEvent = "serviceDestroyed";
51
+
21
52
  /**
22
- * @namespace sap.ushell.ui5service.ShellUIService
53
+ * @typedef {object} sap.ushell.ui5service.ShellUIService.AppInfo
54
+ * Defines essential information about an app.
23
55
  *
56
+ * Example:
57
+ * <pre>
58
+ * {
59
+ * title: "App 1",
60
+ * icon: "sap-icon://folder",
61
+ * subtitle: "go to app 1",
62
+ * intent: "#Action-toapp1"
63
+ * }
64
+ * </pre>
65
+ * @property {string} title The title of the app.
66
+ * @property {string} icon The icon src representing the app.
67
+ * @property {string} [subtitle] An optional subtitle of the app.
68
+ * @property {string} intent The navigation intent of the app.
69
+ *
70
+ * @since 1.120.0
24
71
  * @public
25
72
  */
26
73
 
27
- // this function is designed for the qUnit test to inject the stubbed dependencies
28
- // directly into the module. Without this function, it's impossible to stub the
29
- // dependency modules since they are only available inside this module.
30
- return fnDefineClass({
31
- serviceRegistry: ServiceFactoryRegistry,
32
- serviceFactory: ServiceFactory,
33
- service: Service
74
+
75
+ /**
76
+ * @alias sap.ushell.ui5service.ShellUIService
77
+ * @class
78
+ * @classdesc The ShellUIService for the unified shell can be used to modify the app title or the app hierarchy.
79
+ *
80
+ * <h3>Usage</h3>
81
+ *
82
+ * Allows apps to interact with the SAP Fiori launchpad UI.
83
+ * A defined service is injected in the app components by the FLP before the corresponding apps start.
84
+ * To consume the service, app components should declare it in their "manifest.json" as follows:
85
+ *
86
+ * <pre>
87
+ * {
88
+ * ...
89
+ * "sap.ui5": {
90
+ * "services" : {
91
+ * "ShellUIService": {
92
+ * "factoryName": "sap.ushell.ui5service.ShellUIService"
93
+ * }
94
+ * }
95
+ * }
96
+ * ...
97
+ * }
98
+ * </pre>
99
+ *
100
+ * The service can then be retrieved and consumed by the app component as in the following example:
101
+ *
102
+ * <pre>
103
+ * // Component.js (the app component)
104
+ * ...
105
+ * this.getService("ShellUIService") // promise is returned
106
+ * .then(function (oService) {
107
+ * oService.setTitle("Application Title");
108
+ * })
109
+ * .catch(function (oError) {
110
+ * Log.error("Cannot get ShellUIService", oError, "my.app.Component");
111
+ * });
112
+ * ...
113
+ * </pre>
114
+ *
115
+ * The ShellUIService can also be used within nested components. Every component receives a separate
116
+ * instance of the service. All service instances are independent and do not share any state. With this
117
+ * they can also overwrite each other's settings. Nested components have to define the service in their
118
+ * own manifest as well.
119
+ *
120
+ * <strong>Note:</strong> The ShellUIService is intended for use by applications only and should not be used by plugins.
121
+ *
122
+ * <h3>Auto Title and Hierarchy</h3>
123
+ *
124
+ * The ShellUIService can work together with the routing defined in a UI5 app to set title and hierarchy
125
+ * automatically, as the navigation within the app occurs. This can be achieved by enabling the
126
+ * ShellUIService to load instantly and configuring one or both <code>setTitle</code> and
127
+ * <code>setHierarchy</code> options to <code>auto</code> in the app manifest. Using this mechanism
128
+ * disables the API to manually set the title or hierarchy via <code>setTitle</code> and <code>setHierarchy</code>.
129
+ *
130
+ * <pre>
131
+ * {
132
+ * "sap.ui5": {
133
+ * "services" : {
134
+ * "ShellUIService": {
135
+ * "lazy": false,
136
+ * "factoryName": "sap.ushell.ui5service.ShellUIService",
137
+ * "settings": {
138
+ * "setHierarchy": "auto",
139
+ * "setTitle": "auto"
140
+ * }
141
+ * }
142
+ * }
143
+ * }
144
+ * }
145
+ * </pre>
146
+ *
147
+ * <strong>Note:</strong> Please be aware that the sapFiori2Adaptation configuration of the application may
148
+ * cause the ShellUIService service to work incorrectly. We recommend to disable the sapFiori2Adaptation
149
+ * configuration for the new applications if you use the ShellUIService.
150
+ *
151
+ * @param {object} oCallerContext
152
+ * The context in which the service was instantiated. Must have the
153
+ * format:
154
+ * <pre>
155
+ * {
156
+ * scopeType: "component",
157
+ * scopeObject: [a UI5 Component in the sap.ushell package]
158
+ * }
159
+ * </pre>
160
+ *
161
+ * @hideconstructor
162
+ * @extends sap.ui.core.service.Service
163
+ *
164
+ * @since 1.38.0
165
+ * @public
166
+ */
167
+ const ShellUIService = Service.extend("sap.ushell.ui5service.ShellUIService", /** @lends sap.ushell.ui5service.ShellUIService.prototype */ {
168
+
169
+ /**
170
+ * Constructs a new instance of the ShellUIService.
171
+ *
172
+ * @since 1.128.0
173
+ * @private
174
+ */
175
+ constructor: function () {
176
+ Service.apply(this, arguments);
177
+ this._oEventProvider = new EventProvider();
178
+
179
+ this._bIsActive = true;
180
+ this._bDestroyed = false;
181
+ this._bInitialized = false;
182
+
183
+ this._sLastTitle = null;
184
+ this._aLastHierarchy = null;
185
+ this._aLastRelatedApps = null;
186
+ this._fnLastBackNavigation = null;
187
+
188
+ this._bEnableAutoTitle = false;
189
+ this._bEnableAutoHierarchy = false;
190
+ },
191
+
192
+ /**
193
+ * Initializes the service.
194
+ * Only updates title, hierarchy, and related apps if they are not set yet.
195
+ * @param {boolean} [bSkipInitialValues=false] Whether to skip setting initial values.
196
+ *
197
+ * @since 1.128.0
198
+ * @private
199
+ */
200
+ initService: function (bSkipInitialValues) {
201
+ if (!bSkipInitialValues) {
202
+ if (!this._sLastTitle) {
203
+ const sHash = hasher.getHash() || "";
204
+ if (sHash.startsWith("Shell-startIntent")) {
205
+ this.setTitle("", true);
206
+ } else {
207
+ this.setTitle();
208
+ }
209
+ }
210
+
211
+ if (!this._aLastHierarchy) {
212
+ this.setHierarchy();
213
+ }
214
+ if (!this._aLastRelatedApps) {
215
+ this.setRelatedApps();
216
+ }
217
+ if (!this._fnLastBackNavigation) {
218
+ this.setBackNavigation();
219
+ }
220
+ }
221
+
222
+ const oAppComponent = this.getContext().scopeObject;
223
+ if (this._shouldEnableAutoHierarchy(oAppComponent)) {
224
+ this._enableAutoHierarchy(oAppComponent);
225
+ }
226
+ if (this._shouldEnableAutoTitle(oAppComponent)) {
227
+ this._enableAutoTitle(oAppComponent);
228
+ }
229
+
230
+ this._bInitialized = true;
231
+ },
232
+
233
+ /**
234
+ * Resets the service to its initial state.
235
+ * Should only be called for the global instance.
236
+ *
237
+ * @since 1.128.0
238
+ * @private
239
+ */
240
+ resetService: function () {
241
+ this._sLastTitle = null;
242
+ this._aLastHierarchy = null;
243
+ this._aLastRelatedApps = null;
244
+ this._fnLastBackNavigation = null;
245
+
246
+ this._bInitialized = false;
247
+ },
248
+
249
+ /**
250
+ * Validates whether the service call is allowed.
251
+ * @returns {boolean} Whether the service call is allowed.
252
+ *
253
+ * @since 1.128.0
254
+ * @private
255
+ */
256
+ _isCallAllowed: function () {
257
+ if (this._bDestroyed) {
258
+ Log.error("The ShellUIService has been destroyed and cannot be used anymore.", null, "sap.ushell.ui5service.ShellUIService");
259
+ return false;
260
+ }
261
+ if (!this._bIsActive) {
262
+ Log.warning("The ShellUIService is currently inactive and calls will be ignored.", null, "sap.ushell.ui5service.ShellUIService");
263
+ return false;
264
+ }
265
+ return true;
266
+ },
267
+
268
+ /**
269
+ * Displays the given hierarchy in the shell header.
270
+ * The default app hierarchy is applied if no parameter is given.
271
+ *
272
+ * @param {sap.ushell.ui5service.ShellUIService.AppInfo[]} [aHierarchyLevels]
273
+ * An array representing hierarchies of the currently displayed app.
274
+ * @throws {Error} If the service was requested with <code>"setHierarchy": "auto"</code> option.
275
+ *
276
+ *
277
+ * @since 1.38.0
278
+ * @public
279
+ */
280
+ setHierarchy: function (aHierarchyLevels) {
281
+ this._preventOverrideOfAutoHierarchy();
282
+
283
+ if (!this._isCallAllowed()) {
284
+ return;
285
+ }
286
+
287
+ if (typeof aHierarchyLevels !== "undefined") {
288
+ this._ensureArrayOfObjectOfStrings(aHierarchyLevels, "setHierarchy");
289
+ }
290
+
291
+ this._changeHierarchy(aHierarchyLevels);
292
+ },
293
+
294
+ /**
295
+ * Displays the given title in the shell header. This method should not
296
+ * be called if the app calling the method is not currently displayed
297
+ * in the Fiori Launchpad.
298
+ *
299
+ * @param {string} [sTitle] The new title. The default title is set if this argument is not given.
300
+ * @throws {Error} If the service was requested with <code>"setTitle": "auto"</code> option.
301
+ *
302
+ * @since 1.38.0
303
+ * @public
304
+ */
305
+ setTitle: function (sTitle) {
306
+ this._preventOverrideOfAutoTitle();
307
+
308
+ if (!this._isCallAllowed()) {
309
+ return;
310
+ }
311
+
312
+ if (typeof sTitle !== "undefined" && typeof sTitle !== "string") {
313
+ throw new Error("'setTitle' was called with invalid arguments. The parameter should be a string");
314
+ }
315
+
316
+ let bAcceptEmptyString = false;
317
+ if (typeof arguments[1] === "boolean" && arguments[1]) {
318
+ bAcceptEmptyString = true;
319
+ }
320
+ this._changeTitle(sTitle, bAcceptEmptyString);
321
+ },
322
+
323
+ /**
324
+ * Displays the back button in the shell header.
325
+ *
326
+ * @param {function} [fnCallback] A callback function called when the button is clicked in the UI.
327
+ *
328
+ * @since 1.38.0
329
+ * @private
330
+ * @ui5-restricted sap.fe, sap.suite.ui.generic
331
+ */
332
+ setBackNavigation: function (fnCallback) {
333
+ if (!this._isCallAllowed()) {
334
+ return;
335
+ }
336
+
337
+ if (typeof fnCallback !== "undefined" && typeof fnCallback !== "function") {
338
+ throw new Error("'setBackNavigation' was called with invalid arguments. The parameter should be a function");
339
+ }
340
+
341
+ const oComponent = this.getContext().scopeObject;
342
+
343
+ this._oEventProvider.fireEvent(sBackNavigationChangedEvent, {
344
+ data: fnCallback,
345
+ component: oComponent
346
+ });
347
+
348
+ this._fnLastBackNavigation = fnCallback;
349
+ },
350
+
351
+ /**
352
+ * Returns the current title shown in the header.
353
+ * This might differ from the title set by the via {@link #setTitle}.
354
+ *
355
+ * @returns {string} The current title.
356
+ *
357
+ * @since 1.38.0
358
+ * @public
359
+ */
360
+ getTitle: function () {
361
+ if (!this._isCallAllowed()) {
362
+ return;
363
+ }
364
+
365
+ return ShellModel.getModel().getProperty("/application/title");
366
+ },
367
+
368
+ /**
369
+ * Used by apps to set related apps. This setting is propagated
370
+ * towards the Shell Header via corresponding events.
371
+ *
372
+ * @param {sap.ushell.ui5service.ShellUIService.AppInfo[]} [aRelatedApps] An array of related apps.
373
+ *
374
+ * @since 1.40.0
375
+ * @public
376
+ */
377
+ setRelatedApps: function (aRelatedApps) {
378
+ if (!this._isCallAllowed()) {
379
+ return;
380
+ }
381
+
382
+ if (typeof aRelatedApps !== "undefined") {
383
+ this._ensureArrayOfObjectOfStrings(aRelatedApps, "setRelatedApps");
384
+ }
385
+
386
+ this._changeRelatedApps(aRelatedApps);
387
+ },
388
+
389
+ /**
390
+ * Attaches event handlers to the backNavigationChanged event.
391
+ * @param {object} oData An object that will be passed to the handler along with the event object when the event is fired
392
+ * @param {function} fnHandler The handler function to call when the event occurs.
393
+ * @param {object} oListener The data to be passed to the event handler.
394
+ *
395
+ * @since 1.128.0
396
+ * @private
397
+ */
398
+ attachBackNavigationChanged: function (...args) {
399
+ this._oEventProvider.attachEvent(sBackNavigationChangedEvent, ...args);
400
+ },
401
+
402
+ /**
403
+ * Detaches event handlers to the backNavigationChanged event.
404
+ * @param {function} fnHandler The handler function.
405
+ * @param {object} oListener The data to be passed to the event handler.
406
+ *
407
+ * @since 1.128.0
408
+ * @private
409
+ */
410
+ detachBackNavigationChanged: function (...args) {
411
+ this._oEventProvider.detachEvent(sBackNavigationChangedEvent, ...args);
412
+ },
413
+
414
+ /**
415
+ * Attaches event handlers to the serviceDestroyed event.
416
+ * @param {object} oData An object that will be passed to the handler along with the event object when the event is fired
417
+ * @param {function} fnHandler The handler function to call when the event occurs.
418
+ * @param {object} oListener The data to be passed to the event handler.
419
+ *
420
+ * @since 1.128.0
421
+ * @private
422
+ */
423
+ attachServiceDestroyed: function (...args) {
424
+ this._oEventProvider.attachEvent(sServiceDestroyedEvent, ...args);
425
+ },
426
+
427
+ /**
428
+ * Detaches event handlers to the serviceDestroyed event.
429
+ * @param {function} fnHandler The handler function.
430
+ * @param {object} oListener The data to be passed to the event handler.
431
+ *
432
+ * @since 1.128.0
433
+ * @private
434
+ */
435
+ detachServiceDestroyed: function (...args) {
436
+ this._oEventProvider.detachEvent(sServiceDestroyedEvent, ...args);
437
+ },
438
+
439
+ /**
440
+ * Callback function for the hierarchy change event.
441
+ * This method is called when the hierarchy changes.
442
+ * @param {sap.ushell.ui5service.ShellUIService.AppInfo[]} aHierarchy The new hierarchy.
443
+ *
444
+ * @since 1.128.0
445
+ * @private
446
+ */
447
+ _changeHierarchy: function (aHierarchy) {
448
+ let aExtendedHierarchy = [];
449
+
450
+ if (!aHierarchy) {
451
+ aHierarchy = [];
452
+ }
453
+ // we take the default value and save it with the data received
454
+ const oHierarchyDefaultValue = this._getHierarchyDefaultValue();
455
+ // we have to copy the passed array and its objects to prevent direct properties access.
456
+ aHierarchy.forEach((oItem, index) => {
457
+ aExtendedHierarchy[index] = extend({}, oItem);
458
+ });
459
+ aExtendedHierarchy = aExtendedHierarchy.concat(oHierarchyDefaultValue);
460
+
461
+ if (StateManager.isLegacyHome()) {
462
+ StateManager.updateBaseStates([LaunchpadState.Home], "application.hierarchy", Operation.Set, aExtendedHierarchy);
463
+ }
464
+ StateManager.updateCurrentState("application.hierarchy", Operation.Set, aExtendedHierarchy);
465
+
466
+ // store for easier debugging
467
+ this._aLastHierarchy = aExtendedHierarchy;
468
+ },
469
+
470
+ /**
471
+ * Callback function for the related apps change event.
472
+ * This method is called when the related apps change.
473
+ * @param {sap.ushell.ui5service.ShellUIService.AppInfo[]} aRelatedApps The related apps.
474
+ *
475
+ * @since 1.128.0
476
+ * @private
477
+ */
478
+ _changeRelatedApps: function (aRelatedApps) {
479
+ if (!aRelatedApps) {
480
+ aRelatedApps = [];
481
+ }
482
+
483
+ if (StateManager.isLegacyHome()) {
484
+ StateManager.updateBaseStates([LaunchpadState.Home], "application.relatedApps", Operation.Set, aRelatedApps);
485
+ }
486
+ StateManager.updateCurrentState("application.relatedApps", Operation.Set, aRelatedApps);
487
+
488
+ // store for easier debugging
489
+ this._aLastRelatedApps = aRelatedApps;
490
+ },
491
+
492
+ /**
493
+ * Callback function for the title change event.
494
+ * This method is called when the title changes.
495
+ * @param {string} sTitle The new title.
496
+ * @param {boolean} bAcceptEmptyString Whether an empty string is accepted as a valid title.
497
+ *
498
+ * @since 1.128.0
499
+ * @private
500
+ */
501
+ _changeTitle: function (sTitle, bAcceptEmptyString) {
502
+ if (!sTitle && !bAcceptEmptyString) {
503
+ sTitle = this._getTitleDefaultValue();
504
+ }
505
+
506
+ if (StateManager.isLegacyHome()) {
507
+ StateManager.updateBaseStates([LaunchpadState.Home], "application.title", Operation.Set, sTitle);
508
+ }
509
+ StateManager.updateCurrentState("application.title", Operation.Set, sTitle);
510
+
511
+ ushellUtils.setPerformanceMark("FLP -- title change");
512
+ EventHub.emit("TitleChanged", sTitle);
513
+
514
+ this._sLastTitle = sTitle;
515
+ },
516
+
517
+ /**
518
+ * @returns {string} The default title derived from the manifest
519
+ *
520
+ * @since 1.128.0
521
+ * @private
522
+ */
523
+ _getTitleDefaultValue: function () {
524
+ let sTitle = "";
525
+ const oAppMetadata = AppConfiguration.getMetadata();
526
+ if (oAppMetadata && oAppMetadata.title) {
527
+ sTitle = oAppMetadata.title;
528
+ }
529
+ return sTitle;
530
+ },
531
+
532
+ /**
533
+ * @returns {sap.ushell.ui5service.ShellUIService.AppInfo[]} The default hierarchy derived from the configuration
534
+ *
535
+ * @since 1.128.0
536
+ * @private
537
+ */
538
+ _getHierarchyDefaultValue: function () {
539
+ const aHierarchy = [];
540
+ const sRootIntent = Config.last("/core/shellHeader/rootIntent");
541
+ const sCurrentLaunchpadState = StateManager.getLaunchpadState();
542
+ const sCurrentShellMode = StateManager.getShellMode();
543
+
544
+ // if we navigate for a page with state == app add home to it
545
+ if (sCurrentLaunchpadState === LaunchpadState.App && [Default, Embedded].includes(sCurrentShellMode)) {
546
+ // add home entry to hierarchy
547
+ aHierarchy.push({
548
+ icon: "sap-icon://home",
549
+ title: ushellResources.i18n.getText("actionHomePage"),
550
+ // Intent is set to root directly to avoid multiple hash changes.
551
+ intent: sRootIntent ? `#${sRootIntent}` : "#"
552
+ });
553
+
554
+ // In spaces mode, additionally add the origin page as a step into the hierarchy.
555
+ // The page info is set in PageRuntime.controller as custom data of the root control there during navigation to the page.
556
+ // AppLifeCycle gets data from the root control in the attachBeforeNavigate listener of the AppLifeCycle service, when an app is opened from a space/page.
557
+ // Then the AppLifeCycle service extends the application object.
558
+ // Here, we access data from the application object.
559
+ const oTitles = Config.last("/core/spaces/currentSpaceAndPage");
560
+ if (oTitles !== undefined) {
561
+ aHierarchy.splice(0, 0, { // insert at 0 index because the hierarchy is shown as stack
562
+ icon: "sap-icon://space-navigation",
563
+ title: oTitles.pageTitle,
564
+ subtitle: oTitles.pageTitle !== oTitles.spaceTitle ? oTitles.spaceTitle : undefined, // Do not show the same string twice if space name is the same as page name
565
+ intent: `#${oTitles.hash}`
566
+ });
567
+ }
568
+ }
569
+ return aHierarchy;
570
+ },
571
+
572
+ /**
573
+ * Determines whether the hierarchy should be set automatically
574
+ * using the UI5 router for the given App component.
575
+ *
576
+ * @param {object} oAppComponent The UI5 App root component.
577
+ * @returns {boolean} Whether the hierarchy should be set automatically in the given app component.
578
+ *
579
+ * @since 1.44.0
580
+ * @private
581
+ */
582
+ _shouldEnableAutoHierarchy: function (oAppComponent) {
583
+ if (typeof oAppComponent.getManifestEntry !== "function") {
584
+ return false;
585
+ }
586
+
587
+ const sSetHierarchyManifestSetting = oAppComponent.getManifestEntry("/sap.ui5/services/ShellUIService/settings/setHierarchy");
588
+
589
+ return sSetHierarchyManifestSetting === "auto";
590
+ },
591
+
592
+ /**
593
+ * Enables automatic <code>setHierarchy</code> calls based on
594
+ * UI5 Router on the given app component.
595
+ * @param {object} oAppComponent The UI5 root app component with a router.
596
+ *
597
+ * @since 1.44.0
598
+ * @private
599
+ */
600
+ _enableAutoHierarchy: function (oAppComponent) {
601
+ const oRouter = oAppComponent.getRouter && oAppComponent.getRouter();
602
+ if (!oRouter) {
603
+ Log.error(
604
+ "Could not enable automatic setHierarchy on the current app",
605
+ "Router could not be obtained on the app root component via getRouter",
606
+ "sap.ushell.ui5service.ShellUIService"
607
+ );
608
+ return;
609
+ }
610
+
611
+ this._bEnableAutoHierarchy = true;
612
+
613
+ oRouter.attachTitleChanged(function (oEvent) {
614
+ const aHistory = oEvent.getParameter("history");
615
+ const sShellHash = this._getCurrentShellHashWithoutAppRoute();
616
+
617
+ const aNewHierarchy = aHistory.reverse().map((oUi5HierarchyItem) => {
618
+ return {
619
+ title: oUi5HierarchyItem.title,
620
+ intent: `${sShellHash}&/${oUi5HierarchyItem.hash}`
621
+ };
622
+ });
623
+ this._bSkipAutoHierarchyCheck = true;
624
+ this.setHierarchy(aNewHierarchy);
625
+ }, this);
626
+ },
627
+
628
+ /**
629
+ * Throws an error if the setHierarchy is called manually during autoHierarchy mode.
630
+ * The check is based on the <code>_bSkipAutoHierarchyCheck</code> flag.
631
+ *
632
+ * @since 1.129.0
633
+ * @private
634
+ */
635
+ _preventOverrideOfAutoHierarchy: function () {
636
+ // Do not block calls during initService
637
+ if (!this._bInitialized) {
638
+ return;
639
+ }
640
+
641
+ if (this._bSkipAutoHierarchyCheck) {
642
+ this._bSkipAutoHierarchyCheck = false;
643
+ return;
644
+ }
645
+
646
+ const bAutoHierarchyEnabled = this._shouldEnableAutoHierarchy(this.getContext().scopeObject);
647
+ if (bAutoHierarchyEnabled) {
648
+ throw new Error("Cannot set hierarchy manually - Auto hierarchy is enabled");
649
+ }
650
+ },
651
+
652
+ /**
653
+ * Determines whether the title should be set automatically using the
654
+ * UI5 router for the given App component.
655
+ *
656
+ * @param {object} oAppComponent The UI5 App root component.
657
+ * @returns {boolean} Whether the title should be set automatically in the given app component.
658
+ *
659
+ * @since 1.44.0
660
+ * @private
661
+ */
662
+ _shouldEnableAutoTitle: function (oAppComponent) {
663
+ if (typeof oAppComponent.getManifestEntry !== "function") {
664
+ return false;
665
+ }
666
+
667
+ const sSetTitleManifestSetting = oAppComponent.getManifestEntry("/sap.ui5/services/ShellUIService/settings/setTitle");
668
+
669
+ return sSetTitleManifestSetting === "auto";
670
+ },
671
+
672
+ /**
673
+ * Enables automatic <code>setTitle</code> calls based on
674
+ * UI5 Router on the given app component.
675
+ * @param {object} oAppComponent The UI5 root app component with a router.
676
+ *
677
+ * @since 1.44.0
678
+ * @private
679
+ */
680
+ _enableAutoTitle: function (oAppComponent) {
681
+ const oRouter = oAppComponent.getRouter && oAppComponent.getRouter();
682
+ if (!oRouter) {
683
+ Log.error(
684
+ "Could not enable automatic setTitle on the current app",
685
+ "Router could not be obtained on the app root component via getRouter",
686
+ "sap.ushell.ui5service.ShellUIService"
687
+ );
688
+ return;
689
+ }
690
+
691
+ this._bEnableAutoTitle = true;
692
+
693
+ // set the initial title
694
+ const oTitleHistory = oRouter.getTitleHistory()[0];
695
+ if (oTitleHistory && oTitleHistory.title) {
696
+ setTimeout(() => {
697
+ this._bSkipAutoTitleCheck = true;
698
+ this.setTitle(oTitleHistory.title);
699
+ }, 0);
700
+ }
701
+
702
+ oRouter.attachTitleChanged(function (oEvent) {
703
+ // set title after navigation
704
+ const sTitle = oEvent.getParameter("title");
705
+ this._bSkipAutoTitleCheck = true;
706
+ this.setTitle(sTitle);
707
+ }, this);
708
+ },
709
+
710
+ /**
711
+ * Throws an error if the setTitle is called manually during autoTitle mode.
712
+ * The check is based on the <code>_bSkipAutoTitleCheck</code> flag.
713
+ *
714
+ * @since 1.129.0
715
+ * @private
716
+ */
717
+ _preventOverrideOfAutoTitle: function () {
718
+ // Do not block calls during initService
719
+ if (!this._bInitialized) {
720
+ return;
721
+ }
722
+
723
+ if (this._bSkipAutoTitleCheck) {
724
+ this._bSkipAutoTitleCheck = false;
725
+ return;
726
+ }
727
+
728
+ const bAutoTitleEnabled = this._shouldEnableAutoTitle(this.getContext().scopeObject);
729
+ if (bAutoTitleEnabled) {
730
+ throw new Error("Cannot set title manually - Auto title is enabled");
731
+ }
732
+ },
733
+
734
+ /**
735
+ * Helper function that returns the Hash part of the current URL
736
+ * without the inner app hash part.
737
+ * @returns {string} The intent (i.e., URL hash) without any inner app hash part.
738
+ *
739
+ * @since 1.44.0
740
+ * @private
741
+ */
742
+ _getCurrentShellHashWithoutAppRoute: function () {
743
+ const sFullURL = `#${hasher.getHash()}`;
744
+ const sURLHashWithParams = UrlParsing.getShellHash(sFullURL);
745
+
746
+ if (!sURLHashWithParams) {
747
+ Log.error(
748
+ "Cannot get the current shell hash",
749
+ `UrlParsing service returned a falsy value for ${sFullURL}`,
750
+ "sap.ushell.ui5service.ShellUIService"
751
+ );
752
+ return "";
753
+ }
754
+
755
+ return `#${sURLHashWithParams}`;
756
+ },
757
+
758
+ /**
759
+ * Ensures that the given argument is an array of object, having all string values.
760
+ * This method logs an error message in case this is not the case.
761
+ *
762
+ * <pre>
763
+ * IMPORTANT: this method must not rely on its context when called or
764
+ * produce side effects.
765
+ * </pre>
766
+ *
767
+ * @param {variant} vArg Any value.
768
+ * @param {string} sMethodName The name of the method that called this function.
769
+ * @throws When argument is not an array of objects with string values.
770
+ *
771
+ * @since 1.38.0
772
+ * @private
773
+ */
774
+ _ensureArrayOfObjectOfStrings: function (vArg, sMethodName) {
775
+ const bIsValid = Array.isArray(vArg) && vArg.every((oObject) => {
776
+ return isPlainObject(oObject)
777
+ && Object.keys(oObject).length > 0
778
+ && Object.keys(oObject).every((sKey) => {
779
+ return typeof oObject[sKey] === "string";
780
+ });
781
+ });
782
+
783
+ if (!bIsValid) {
784
+ throw new Error(`'${sMethodName}' was called with invalid parameters. An array of non-empty objects with string values is expected`);
785
+ }
786
+ },
787
+
788
+ /**
789
+ * Sets the service to either being active or inactive
790
+ * @param {string} bIsActiveService Whether the current instance of the service is active.
791
+ *
792
+ * @since 1.128.0
793
+ * @private
794
+ */
795
+ setActive: function (bIsActiveService) {
796
+ this._bIsActive = bIsActiveService;
797
+ },
798
+
799
+ /**
800
+ * Getter for the active state of the service
801
+ * @returns {string} Whether the current instance of the service is active.
802
+ *
803
+ * @since 1.128.0
804
+ * @private
805
+ */
806
+ getActive: function () {
807
+ return this._bIsActive;
808
+ },
809
+
810
+ /**
811
+ * Lifecycle method to clean up the service.
812
+ *
813
+ * @since 1.128.0
814
+ * @private
815
+ */
816
+ exit: function () {
817
+ this._oEventProvider.fireEvent(sServiceDestroyedEvent);
818
+ this._oEventProvider.destroy();
819
+ this._bDestroyed = true;
820
+ }
34
821
  });
35
- }, true /* bExport */);
822
+
823
+ return ShellUIService;
824
+ });