@sapui5/sap.ushell 1.124.1 → 1.125.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 (472) 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 +29 -27
  4. package/src/main/js/sap/ushell/Container.js +6 -10
  5. package/src/main/js/sap/ushell/Fiori20Adapter.js +1 -1
  6. package/src/main/js/sap/ushell/Fiori20AdapterTest.js +13 -10
  7. package/src/main/js/sap/ushell/Layout.js +7 -4
  8. package/src/main/js/sap/ushell/NWBCInterface.js +1 -1
  9. package/src/main/js/sap/ushell/TechnicalParameters.js +5 -3
  10. package/src/main/js/sap/ushell/URLTemplateProcessor.js +1 -1
  11. package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +1 -1
  12. package/src/main/js/sap/ushell/Ui5ServiceFactory.js +9 -3
  13. package/src/main/js/sap/ushell/UserActivityLog.js +5 -3
  14. package/src/main/js/sap/ushell/_URLTemplateProcessor/DefinitionParameterSetBuilder.js +1 -1
  15. package/src/main/js/sap/ushell/_URLTemplateProcessor/DependencyGraph.js +1 -1
  16. package/src/main/js/sap/ushell/_URLTemplateProcessor/Functions.js +1 -1
  17. package/src/main/js/sap/ushell/_URLTemplateProcessor/Resolvers.js +1 -1
  18. package/src/main/js/sap/ushell/_URLTemplateProcessor/TemplateParameterParser.js +1 -1
  19. package/src/main/js/sap/ushell/_URLTemplateProcessor/utils.js +1 -1
  20. package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +4 -4
  21. package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +2 -4
  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 +12 -10
  25. package/src/main/js/sap/ushell/adapters/cdm/MenuAdapter.js +8 -6
  26. package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +14 -13
  27. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
  28. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationV2Adapter.js +1 -1
  29. package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +1 -1
  30. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +1 -1
  31. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +1 -1
  32. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +1 -1
  33. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +1 -1
  34. package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +1 -1
  35. package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +1 -1
  36. package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +7 -5
  37. package/src/main/js/sap/ushell/adapters/cdm/v3/FlpLaunchPageAdapter.js +15 -13
  38. package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +1 -1
  39. package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +1 -1
  40. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +1 -1
  41. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +1 -1
  42. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +1 -1
  43. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +1 -1
  44. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +1 -1
  45. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +1 -1
  46. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +1 -1
  47. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionInternalAdapter.js +1 -1
  48. package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +6 -4
  49. package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +7 -5
  50. package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +1 -1
  51. package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +1 -1
  52. package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +7 -9
  53. package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +1 -1
  54. package/src/main/js/sap/ushell/adapters/local/FlpLaunchPageAdapter.js +7 -5
  55. package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +1 -1
  56. package/src/main/js/sap/ushell/adapters/local/MenuAdapter.js +5 -3
  57. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +1 -1
  58. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionInternalAdapter.js +6 -4
  59. package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +1 -1
  60. package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +1 -1
  61. package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +1 -1
  62. package/src/main/js/sap/ushell/adapters/local/PersonalizationV2Adapter.js +1 -1
  63. package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +1 -1
  64. package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +1 -1
  65. package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +1 -1
  66. package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +1 -1
  67. package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +5 -4
  68. package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +5 -4
  69. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +11 -0
  70. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/baseRta/CheckConditions.js +1 -3
  71. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/rtaAgent/i18n/i18n_sh.properties +2 -2
  72. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/RendererExtensions.js +5 -0
  73. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppConfiguration.js +37 -0
  74. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppState.js +21 -2
  75. package/src/main/js/sap/ushell/appRuntime/ui5/services/Bookmark.js +21 -1
  76. package/src/main/js/sap/ushell/appRuntime/ui5/services/BookmarkV2.js +38 -1
  77. package/src/main/js/sap/ushell/appRuntime/ui5/services/CommonDataModel.js +19 -1
  78. package/src/main/js/sap/ushell/appRuntime/ui5/services/Container.js +20 -3
  79. package/src/main/js/sap/ushell/appRuntime/ui5/services/CrossApplicationNavigation.js +28 -1
  80. package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension/Item.js +1 -1
  81. package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension.js +25 -2
  82. package/src/main/js/sap/ushell/appRuntime/ui5/services/FrameBoundExtension.js +8 -1
  83. package/src/main/js/sap/ushell/appRuntime/ui5/services/LaunchPage.js +20 -1
  84. package/src/main/js/sap/ushell/appRuntime/ui5/services/MessageBroker.js +18 -1
  85. package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolution.js +16 -0
  86. package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolutionInternal.js +14 -0
  87. package/src/main/js/sap/ushell/appRuntime/ui5/services/Navigation.js +24 -1
  88. package/src/main/js/sap/ushell/appRuntime/ui5/services/ReferenceResolver.js +18 -1
  89. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigation.js +23 -1
  90. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigationInternal.js +21 -1
  91. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellUIService.js +28 -4
  92. package/src/main/js/sap/ushell/appRuntime/ui5/services/UserDefaultParameters.js +35 -0
  93. package/src/main/js/sap/ushell/appRuntime/ui5/services/UserInfo.js +19 -1
  94. package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
  95. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/logger.js +1 -1
  96. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/state.js +1 -1
  97. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5datetimeformat.js +1 -1
  98. package/src/main/js/sap/ushell/bootstrap/common/common.create.configcontract.core.js +13 -4
  99. package/src/main/js/sap/ushell/bootstrap/common/common.read.ushell.config.from.url.js +2 -2
  100. package/src/main/js/sap/ushell/bootstrap/common/common.util.js +8 -1
  101. package/src/main/js/sap/ushell/bootstrap/sandbox2.js +9 -4
  102. package/src/main/js/sap/ushell/components/CatalogsManager.js +24 -16
  103. package/src/main/js/sap/ushell/components/ComponentKeysHandler.js +14 -12
  104. package/src/main/js/sap/ushell/components/HomepageManager.js +6 -4
  105. package/src/main/js/sap/ushell/components/MessagingHelper.js +5 -4
  106. package/src/main/js/sap/ushell/components/SharedComponentUtils.js +6 -4
  107. package/src/main/js/sap/ushell/components/_HeaderManager/ControlManager.js +6 -4
  108. package/src/main/js/sap/ushell/components/_HeaderManager/ShellHeader.controller.js +5 -3
  109. package/src/main/js/sap/ushell/components/_HomepageManager/PersistentPageOperationAdapter.js +4 -2
  110. package/src/main/js/sap/ushell/components/appfinder/AppFinder.controller.js +18 -23
  111. package/src/main/js/sap/ushell/components/appfinder/Catalog.controller.js +6 -4
  112. package/src/main/js/sap/ushell/components/appfinder/Component.js +6 -4
  113. package/src/main/js/sap/ushell/components/appfinder/EasyAccess.controller.js +10 -10
  114. package/src/main/js/sap/ushell/components/appfinder/HierarchyApps.controller.js +6 -4
  115. package/src/main/js/sap/ushell/components/appfinder/HierarchyFolders.controller.js +5 -3
  116. package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
  117. package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +78 -3
  118. package/src/main/js/sap/ushell/components/applicationIntegration/application/Application.js +1 -1
  119. package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxHandler.js +1 -1
  120. package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPI.js +254 -94
  121. package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +1 -1
  122. package/src/main/js/sap/ushell/components/applicationIntegration/elements/model.js +1 -1
  123. package/src/main/js/sap/ushell/components/applicationIntegration/relatedServices/RelatedServices.js +1 -1
  124. package/src/main/js/sap/ushell/components/applicationIntegration/relatedShellElements/RelatedShellElements.js +3 -2
  125. package/src/main/js/sap/ushell/components/cards/Card.controller.js +5 -3
  126. package/src/main/js/sap/ushell/components/cepsearchresult/app/Main.controller.js +9 -14
  127. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_sh.properties +5 -5
  128. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/categories/Application.js +7 -14
  129. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_sh.properties +19 -19
  130. package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +2 -2
  131. package/src/main/js/sap/ushell/components/container/IframePOSTUtils.js +1 -1
  132. package/src/main/js/sap/ushell/components/container/resources/resources_sh.properties +1 -1
  133. package/src/main/js/sap/ushell/components/contentFinder/Component.js +1 -1
  134. package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +3 -3
  135. package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +1 -1
  136. package/src/main/js/sap/ushell/components/contentFinder/controller/WidgetGallery.controller.js +1 -1
  137. package/src/main/js/sap/ushell/components/contentFinder/manifest.json +1 -1
  138. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sh.properties +3 -3
  139. package/src/main/js/sap/ushell/components/contentFinder/view/WidgetGallery.view.xml +3 -5
  140. package/src/main/js/sap/ushell/components/contentFinderStandalone/Component.js +1 -1
  141. package/src/main/js/sap/ushell/components/contentFinderStandalone/controller/ContentFinderStandalone.controller.js +1 -1
  142. package/src/main/js/sap/ushell/components/contentFinderStandalone/manifest.json +1 -1
  143. package/src/main/js/sap/ushell/components/contentFinderStandalone/manifestAppSearch.json +1 -1
  144. package/src/main/js/sap/ushell/components/factsheet/Component.js +1 -1
  145. package/src/main/js/sap/ushell/components/homepage/ActionMode.js +1 -1
  146. package/src/main/js/sap/ushell/components/homepage/DashboardContent.controller.js +2 -27
  147. package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +1 -1
  148. package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +1 -1
  149. package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +1 -1
  150. package/src/main/js/sap/ushell/components/homepage/manifest.json +1 -1
  151. package/src/main/js/sap/ushell/components/pages/ActionMode.js +6 -5
  152. package/src/main/js/sap/ushell/components/pages/Component.js +5 -4
  153. package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +9 -7
  154. package/src/main/js/sap/ushell/components/pages/controller/ImportDialog.controller.js +10 -8
  155. package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +18 -13
  156. package/src/main/js/sap/ushell/components/pages/controller/PagesAndSpaceId.js +6 -5
  157. package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
  158. package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +21 -32
  159. package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
  160. package/src/main/js/sap/ushell/components/shell/MenuBar/controller/MenuBar.controller.js +8 -6
  161. package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +1 -1
  162. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +1 -1
  163. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +1 -1
  164. package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +1 -1
  165. package/src/main/js/sap/ushell/components/shell/Notifications/Notifications.controller.js +15 -11
  166. package/src/main/js/sap/ushell/components/shell/PostLoadingHeaderEnhancement/Component.js +8 -5
  167. package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +6 -4
  168. package/src/main/js/sap/ushell/components/shell/Search/Component.js +5 -4
  169. package/src/main/js/sap/ushell/components/shell/Search/ESearch.js +5 -4
  170. package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
  171. package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +1 -1
  172. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +1 -1
  173. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +1 -1
  174. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +1 -1
  175. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchServiceProvider.js +1 -1
  176. package/src/main/js/sap/ushell/components/shell/Settings/Component.js +10 -8
  177. package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.controller.js +7 -5
  178. package/src/main/js/sap/ushell/components/shell/Settings/appearance/Appearance.controller.js +9 -7
  179. package/src/main/js/sap/ushell/components/shell/Settings/appearance/AppearanceEntry.js +6 -4
  180. package/src/main/js/sap/ushell/components/shell/Settings/homepage/HomepageEntry.js +5 -3
  181. package/src/main/js/sap/ushell/components/shell/Settings/notifications/NotificationsSetting.controller.js +3 -3
  182. package/src/main/js/sap/ushell/components/shell/Settings/spaces/SpacesEntry.js +6 -4
  183. package/src/main/js/sap/ushell/components/shell/Settings/userAccount/UserAccountEntry.js +6 -4
  184. package/src/main/js/sap/ushell/components/shell/Settings/userAccount/UserAccountSelector.controller.js +9 -7
  185. package/src/main/js/sap/ushell/components/shell/Settings/userActivities/UserActivitiesSetting.controller.js +6 -4
  186. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/UserDefaultsEntry.js +7 -5
  187. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/controller/UserDefaultsSetting.controller.js +11 -9
  188. package/src/main/js/sap/ushell/components/shell/Settings/userLanguageRegion/LanguageRegionSelector.controller.js +9 -7
  189. package/src/main/js/sap/ushell/components/shell/Settings/userLanguageRegion/UserLanguageRegionEntry.js +5 -3
  190. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +6 -4
  191. package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +11 -9
  192. package/src/main/js/sap/ushell/components/tiles/applauncher/StaticTile.controller.js +5 -3
  193. package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/DynamicTile.controller.js +6 -4
  194. package/src/main/js/sap/ushell/components/tiles/cdm/applauncher/StaticTile.controller.js +5 -3
  195. package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.controller.js +5 -3
  196. package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +10 -10
  197. package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +1 -1
  198. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility.js +1 -1
  199. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +6 -6
  200. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +1 -1
  201. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +1 -1
  202. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +1 -1
  203. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +1 -1
  204. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +1 -1
  205. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +2 -2
  206. package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
  207. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_sh.properties +17 -17
  208. package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +1 -1
  209. package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +6 -4
  210. package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +1 -1
  211. package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
  212. package/src/main/js/sap/ushell/library.js +1 -1
  213. package/src/main/js/sap/ushell/navigationMode.js +1 -1
  214. package/src/main/js/sap/ushell/performance/ShellAnalytics.js +8 -6
  215. package/src/main/js/sap/ushell/performance/StatisticalRecord.js +1 -1
  216. package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
  217. package/src/main/js/sap/ushell/plugins/rta/i18n/i18n_sh.properties +2 -2
  218. package/src/main/js/sap/ushell/renderer/AccessKeysHandler.js +6 -4
  219. package/src/main/js/sap/ushell/renderer/LogonFrameProvider.js +5 -3
  220. package/src/main/js/sap/ushell/renderer/Renderer.js +34 -35
  221. package/src/main/js/sap/ushell/renderer/Shell.controller.js +36 -36
  222. package/src/main/js/sap/ushell/renderer/Shell.view.js +9 -4
  223. package/src/main/js/sap/ushell/renderer/allMyApps/AllMyApps.controller.js +8 -6
  224. package/src/main/js/sap/ushell/renderer/allMyApps/AllMyAppsManager.js +13 -11
  225. package/src/main/js/sap/ushell/renderer/resources/resources.properties +4 -4
  226. package/src/main/js/sap/ushell/renderer/resources/resources_ar.properties +19 -22
  227. package/src/main/js/sap/ushell/renderer/resources/resources_bg.properties +21 -24
  228. package/src/main/js/sap/ushell/renderer/resources/resources_ca.properties +17 -20
  229. package/src/main/js/sap/ushell/renderer/resources/resources_cnr.properties +0 -6
  230. package/src/main/js/sap/ushell/renderer/resources/resources_cs.properties +16 -19
  231. package/src/main/js/sap/ushell/renderer/resources/resources_cy.properties +20 -23
  232. package/src/main/js/sap/ushell/renderer/resources/resources_da.properties +26 -29
  233. package/src/main/js/sap/ushell/renderer/resources/resources_de.properties +19 -22
  234. package/src/main/js/sap/ushell/renderer/resources/resources_el.properties +25 -28
  235. package/src/main/js/sap/ushell/renderer/resources/resources_en.properties +0 -924
  236. package/src/main/js/sap/ushell/renderer/resources/resources_en_GB.properties +27 -30
  237. package/src/main/js/sap/ushell/renderer/resources/resources_es.properties +19 -22
  238. package/src/main/js/sap/ushell/renderer/resources/resources_es_MX.properties +14 -17
  239. package/src/main/js/sap/ushell/renderer/resources/resources_et.properties +22 -25
  240. package/src/main/js/sap/ushell/renderer/resources/resources_fi.properties +20 -23
  241. package/src/main/js/sap/ushell/renderer/resources/resources_fr.properties +24 -27
  242. package/src/main/js/sap/ushell/renderer/resources/resources_fr_CA.properties +18 -21
  243. package/src/main/js/sap/ushell/renderer/resources/resources_hi.properties +26 -29
  244. package/src/main/js/sap/ushell/renderer/resources/resources_hr.properties +17 -20
  245. package/src/main/js/sap/ushell/renderer/resources/resources_hu.properties +20 -23
  246. package/src/main/js/sap/ushell/renderer/resources/resources_id.properties +21 -24
  247. package/src/main/js/sap/ushell/renderer/resources/resources_it.properties +16 -19
  248. package/src/main/js/sap/ushell/renderer/resources/resources_iw.properties +16 -19
  249. package/src/main/js/sap/ushell/renderer/resources/resources_ja.properties +16 -19
  250. package/src/main/js/sap/ushell/renderer/resources/resources_kk.properties +24 -27
  251. package/src/main/js/sap/ushell/renderer/resources/resources_ko.properties +20 -23
  252. package/src/main/js/sap/ushell/renderer/resources/resources_lt.properties +16 -19
  253. package/src/main/js/sap/ushell/renderer/resources/resources_lv.properties +22 -25
  254. package/src/main/js/sap/ushell/renderer/resources/resources_mk.properties +0 -6
  255. package/src/main/js/sap/ushell/renderer/resources/resources_ms.properties +18 -21
  256. package/src/main/js/sap/ushell/renderer/resources/resources_nl.properties +17 -20
  257. package/src/main/js/sap/ushell/renderer/resources/resources_no.properties +30 -33
  258. package/src/main/js/sap/ushell/renderer/resources/resources_pl.properties +20 -23
  259. package/src/main/js/sap/ushell/renderer/resources/resources_pt.properties +18 -21
  260. package/src/main/js/sap/ushell/renderer/resources/resources_pt_PT.properties +13 -16
  261. package/src/main/js/sap/ushell/renderer/resources/resources_ro.properties +16 -19
  262. package/src/main/js/sap/ushell/renderer/resources/resources_ru.properties +17 -20
  263. package/src/main/js/sap/ushell/renderer/resources/resources_sh.properties +118 -121
  264. package/src/main/js/sap/ushell/renderer/resources/resources_sk.properties +17 -20
  265. package/src/main/js/sap/ushell/renderer/resources/resources_sl.properties +19 -22
  266. package/src/main/js/sap/ushell/renderer/resources/resources_sr.properties +0 -6
  267. package/src/main/js/sap/ushell/renderer/resources/resources_sv.properties +19 -22
  268. package/src/main/js/sap/ushell/renderer/resources/resources_th.properties +20 -23
  269. package/src/main/js/sap/ushell/renderer/resources/resources_tr.properties +20 -23
  270. package/src/main/js/sap/ushell/renderer/resources/resources_uk.properties +21 -24
  271. package/src/main/js/sap/ushell/renderer/resources/resources_vi.properties +18 -21
  272. package/src/main/js/sap/ushell/renderer/resources/resources_zh_CN.properties +15 -18
  273. package/src/main/js/sap/ushell/renderer/resources/resources_zh_TW.properties +21 -24
  274. package/src/main/js/sap/ushell/renderer/search/searchComponent/Component.js +4 -3
  275. package/src/main/js/sap/ushell/renderer/search/searchComponent/manifest.json +1 -1
  276. package/src/main/js/sap/ushell/services/AppConfiguration.js +323 -273
  277. package/src/main/js/sap/ushell/services/AppLifeCycle.js +14 -14
  278. package/src/main/js/sap/ushell/services/AppState.js +1 -1
  279. package/src/main/js/sap/ushell/services/Bookmark.js +1 -1
  280. package/src/main/js/sap/ushell/services/BookmarkV2.js +12 -10
  281. package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +14 -9
  282. package/src/main/js/sap/ushell/services/CommonDataModel.js +7 -5
  283. package/src/main/js/sap/ushell/services/Configuration.js +5 -4
  284. package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +1 -1
  285. package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +1 -1
  286. package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +2 -2
  287. package/src/main/js/sap/ushell/services/DarkModeSupport.js +9 -7
  288. package/src/main/js/sap/ushell/services/Extension/Item.js +1 -1
  289. package/src/main/js/sap/ushell/services/Extension.js +18 -1
  290. package/src/main/js/sap/ushell/services/FlpLaunchPage.js +8 -6
  291. package/src/main/js/sap/ushell/services/FrameBoundExtension/FloatingContainer.js +1 -1
  292. package/src/main/js/sap/ushell/services/FrameBoundExtension/Footer.js +1 -1
  293. package/src/main/js/sap/ushell/services/FrameBoundExtension/Item.js +1 -1
  294. package/src/main/js/sap/ushell/services/FrameBoundExtension/SidePane.js +1 -1
  295. package/src/main/js/sap/ushell/services/FrameBoundExtension/ToolArea.js +1 -1
  296. package/src/main/js/sap/ushell/services/FrameBoundExtension.js +18 -1
  297. package/src/main/js/sap/ushell/services/LaunchPage.js +1 -1
  298. package/src/main/js/sap/ushell/services/Menu.js +6 -4
  299. package/src/main/js/sap/ushell/services/Message.js +91 -412
  300. package/src/main/js/sap/ushell/services/MessageBroker.js +1 -1
  301. package/src/main/js/sap/ushell/services/MessageInternal.js +448 -0
  302. package/src/main/js/sap/ushell/services/NavTargetResolution.js +2 -1
  303. package/src/main/js/sap/ushell/services/NavTargetResolutionInternal.js +1 -1
  304. package/src/main/js/sap/ushell/services/Navigation/compatibility.js +1 -1
  305. package/src/main/js/sap/ushell/services/Navigation/utils.js +1 -1
  306. package/src/main/js/sap/ushell/services/Navigation.js +1 -1
  307. package/src/main/js/sap/ushell/services/NavigationDataProvider.js +1 -1
  308. package/src/main/js/sap/ushell/services/Notifications.js +4 -2
  309. package/src/main/js/sap/ushell/services/NotificationsV2.js +7 -5
  310. package/src/main/js/sap/ushell/services/PageBuilding.js +1 -1
  311. package/src/main/js/sap/ushell/services/PagePersistence.js +1 -1
  312. package/src/main/js/sap/ushell/services/PageReferencing.js +1 -1
  313. package/src/main/js/sap/ushell/services/Pages.js +1 -1
  314. package/src/main/js/sap/ushell/services/Personalization.js +1 -1
  315. package/src/main/js/sap/ushell/services/PersonalizationV2.js +1 -1
  316. package/src/main/js/sap/ushell/services/PluginManager.js +7 -5
  317. package/src/main/js/sap/ushell/services/ReferenceResolver.js +13 -11
  318. package/src/main/js/sap/ushell/services/Search.js +1 -1
  319. package/src/main/js/sap/ushell/services/SearchCEP.js +5 -4
  320. package/src/main/js/sap/ushell/services/SearchableContent.js +1 -1
  321. package/src/main/js/sap/ushell/services/ShellNavigation.js +3 -3
  322. package/src/main/js/sap/ushell/services/ShellNavigationHashChanger.js +38 -56
  323. package/src/main/js/sap/ushell/services/ShellNavigationInternal.js +1 -1
  324. package/src/main/js/sap/ushell/services/SmartNavigation.js +8 -6
  325. package/src/main/js/sap/ushell/services/SpaceContent.js +16 -14
  326. package/src/main/js/sap/ushell/services/UITracer.js +1 -1
  327. package/src/main/js/sap/ushell/services/URLParsing.js +6 -4
  328. package/src/main/js/sap/ushell/services/URLShortening.js +1 -1
  329. package/src/main/js/sap/ushell/services/URLTemplate.js +1 -1
  330. package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +1 -1
  331. package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +6 -4
  332. package/src/main/js/sap/ushell/services/UserDefaultParameters.js +11 -9
  333. package/src/main/js/sap/ushell/services/UserInfo.js +1 -1
  334. package/src/main/js/sap/ushell/services/UserRecents.js +1 -1
  335. package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +1 -1
  336. package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +1 -1
  337. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Formatter.js +2 -2
  338. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundIndex.js +1 -1
  339. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundProvider.js +1 -1
  340. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/PrelaunchOperations.js +7 -5
  341. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Search.js +1 -1
  342. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/StagedLogger.js +1 -1
  343. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/SystemContext.js +1 -1
  344. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Utils.js +1 -1
  345. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/VirtualInbounds.js +1 -1
  346. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/XAppStateProcessing.js +1 -1
  347. package/src/main/js/sap/ushell/services/_CommonDataModel/SiteConverter.js +1 -1
  348. package/src/main/js/sap/ushell/services/_CommonDataModel/vizTypeDefaults/VizTypeDefaults.js +1 -1
  349. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +1 -1
  350. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +1 -1
  351. package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +1 -1
  352. package/src/main/js/sap/ushell/services/_MessageBroker/MessageBrokerEngine.js +1 -1
  353. package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +6 -4
  354. package/src/main/js/sap/ushell/services/_PluginManager/Extensions.js +1 -1
  355. package/src/main/js/sap/ushell/services/_PluginManager/HeaderExtensions.js +1 -1
  356. package/src/main/js/sap/ushell/services/_PluginManager/MenuExtensions.js +3 -3
  357. package/src/main/js/sap/ushell/services/_Ui5ComponentLoader/utils.js +2 -2
  358. package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
  359. package/src/main/js/sap/ushell/themes/base/ShellHeader.less +32 -24
  360. package/src/main/js/sap/ushell/themes/sap_belize/library.source.less +10 -1
  361. package/src/main/js/sap/ushell/themes/sap_belize_base/.theming +4 -0
  362. package/src/main/js/sap/ushell/themes/sap_belize_base/ActionMode.less +107 -0
  363. package/src/main/js/sap/ushell/themes/sap_belize_base/AddBookmarkButton.less +37 -0
  364. package/src/main/js/sap/ushell/themes/sap_belize_base/AnchorItem.less +81 -0
  365. package/src/main/js/sap/ushell/themes/sap_belize_base/AnchorNavigationBar.less +86 -0
  366. package/src/main/js/sap/ushell/themes/sap_belize_base/AppearanceView.less +213 -0
  367. package/src/main/js/sap/ushell/themes/sap_belize_base/ApplicationContainer.less +37 -0
  368. package/src/main/js/sap/ushell/themes/sap_belize_base/Catalog.less +387 -0
  369. package/src/main/js/sap/ushell/themes/sap_belize_base/ContactSupport.less +12 -0
  370. package/src/main/js/sap/ushell/themes/sap_belize_base/ContentFinder.less +26 -0
  371. package/src/main/js/sap/ushell/themes/sap_belize_base/CustomGroupHeaderListItem.less +10 -0
  372. package/src/main/js/sap/ushell/themes/sap_belize_base/Dashboard.less +66 -0
  373. package/src/main/js/sap/ushell/themes/sap_belize_base/DynamicTile.less +114 -0
  374. package/src/main/js/sap/ushell/themes/sap_belize_base/Factsheet.less +225 -0
  375. package/src/main/js/sap/ushell/themes/sap_belize_base/FloatingContainer.less +125 -0
  376. package/src/main/js/sap/ushell/themes/sap_belize_base/FlpSettings.less +83 -0
  377. package/src/main/js/sap/ushell/themes/sap_belize_base/GroupList.less +68 -0
  378. package/src/main/js/sap/ushell/themes/sap_belize_base/GroupListItem.less +54 -0
  379. package/src/main/js/sap/ushell/themes/sap_belize_base/IconFonts.less +21 -0
  380. package/src/main/js/sap/ushell/themes/sap_belize_base/ImageTile.less +23 -0
  381. package/src/main/js/sap/ushell/themes/sap_belize_base/LoadingDialog.less +47 -0
  382. package/src/main/js/sap/ushell/themes/sap_belize_base/MenuBar.less +23 -0
  383. package/src/main/js/sap/ushell/themes/sap_belize_base/Notifications.less +135 -0
  384. package/src/main/js/sap/ushell/themes/sap_belize_base/Page.less +49 -0
  385. package/src/main/js/sap/ushell/themes/sap_belize_base/PictureTile.less +119 -0
  386. package/src/main/js/sap/ushell/themes/sap_belize_base/PictureViewer.less +25 -0
  387. package/src/main/js/sap/ushell/themes/sap_belize_base/PlusTile.less +38 -0
  388. package/src/main/js/sap/ushell/themes/sap_belize_base/QuickAccess.less +18 -0
  389. package/src/main/js/sap/ushell/themes/sap_belize_base/RightFloatingContainerItem.less +82 -0
  390. package/src/main/js/sap/ushell/themes/sap_belize_base/SearchCEP.less +121 -0
  391. package/src/main/js/sap/ushell/themes/sap_belize_base/SearchFLP.less +10 -0
  392. package/src/main/js/sap/ushell/themes/sap_belize_base/Section.less +60 -0
  393. package/src/main/js/sap/ushell/themes/sap_belize_base/ShellAppTitle.less +207 -0
  394. package/src/main/js/sap/ushell/themes/sap_belize_base/ShellFloatingAction.less +61 -0
  395. package/src/main/js/sap/ushell/themes/sap_belize_base/ShellFloatingActions.less +14 -0
  396. package/src/main/js/sap/ushell/themes/sap_belize_base/ShellHeader.less +389 -0
  397. package/src/main/js/sap/ushell/themes/sap_belize_base/ShellLayout.less +168 -0
  398. package/src/main/js/sap/ushell/themes/sap_belize_base/SidePane.less +8 -0
  399. package/src/main/js/sap/ushell/themes/sap_belize_base/StaticTile.less +9 -0
  400. package/src/main/js/sap/ushell/themes/sap_belize_base/SubHeader.less +3 -0
  401. package/src/main/js/sap/ushell/themes/sap_belize_base/SysInfoBar.less +164 -0
  402. package/src/main/js/sap/ushell/themes/sap_belize_base/TargetMappingConfiguration.less +8 -0
  403. package/src/main/js/sap/ushell/themes/sap_belize_base/Tile.less +223 -0
  404. package/src/main/js/sap/ushell/themes/sap_belize_base/TileBase.less +152 -0
  405. package/src/main/js/sap/ushell/themes/sap_belize_base/TileContainer.less +495 -0
  406. package/src/main/js/sap/ushell/themes/sap_belize_base/TilePlaceholder.less +75 -0
  407. package/src/main/js/sap/ushell/themes/sap_belize_base/TileState.less +62 -0
  408. package/src/main/js/sap/ushell/themes/sap_belize_base/ToolAreaItem.less +85 -0
  409. package/src/main/js/sap/ushell/themes/sap_belize_base/UserActionsMenu.less +23 -0
  410. package/src/main/js/sap/ushell/themes/sap_belize_base/UserConsentDialog.less +52 -0
  411. package/src/main/js/sap/ushell/themes/sap_belize_base/UserSettings.less +113 -0
  412. package/src/main/js/sap/ushell/themes/sap_belize_base/ViewPortContainer.less +28 -0
  413. package/src/main/js/sap/ushell/themes/sap_belize_base/WorkPage.less +58 -0
  414. package/src/main/js/sap/ushell/themes/sap_belize_base/WorkPageButton.less +60 -0
  415. package/src/main/js/sap/ushell/themes/sap_belize_base/WorkPageCell.less +144 -0
  416. package/src/main/js/sap/ushell/themes/sap_belize_base/WorkPageColumn.less +39 -0
  417. package/src/main/js/sap/ushell/themes/sap_belize_base/WorkPageColumnResizer.less +128 -0
  418. package/src/main/js/sap/ushell/themes/sap_belize_base/WorkPageRow.less +987 -0
  419. package/src/main/js/sap/ushell/themes/sap_belize_base/library.source.less +64 -0
  420. package/src/main/js/sap/ushell/themes/sap_belize_base/shared.less +40 -0
  421. package/src/main/js/sap/ushell/themes/sap_belize_hcb/library.source.less +10 -1
  422. package/src/main/js/sap/ushell/themes/sap_belize_hcw/library.source.less +10 -1
  423. package/src/main/js/sap/ushell/themes/sap_horizon/ShellHeader.less +9 -18
  424. package/src/main/js/sap/ushell/themes/sap_horizon_dark/ShellHeader.less +9 -18
  425. package/src/main/js/sap/ushell/themes/sap_horizon_hcb/ShellHeader.less +7 -14
  426. package/src/main/js/sap/ushell/themes/sap_horizon_hcw/ShellHeader.less +7 -14
  427. package/src/main/js/sap/ushell/ui/AppContainer.js +5 -3
  428. package/src/main/js/sap/ushell/ui/ContentNodeSelector.js +78 -21
  429. package/src/main/js/sap/ushell/ui/ContentNodeSelectorRenderer.js +32 -0
  430. package/src/main/js/sap/ushell/ui/ShellHeader.js +8 -5
  431. package/src/main/js/sap/ushell/ui/appfinder/AppBoxInternal.js +1 -1
  432. package/src/main/js/sap/ushell/ui/cards/FrequentActivitiesExtension.js +5 -4
  433. package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +6 -5
  434. package/src/main/js/sap/ushell/ui/footerbar/AboutDialog.controller.js +11 -7
  435. package/src/main/js/sap/ushell/ui/footerbar/AboutDialog.fragment.xml +3 -3
  436. package/src/main/js/sap/ushell/ui/footerbar/AddBookmarkButton.js +4 -4
  437. package/src/main/js/sap/ushell/ui/footerbar/ContactSupportDialog.controller.js +6 -4
  438. package/src/main/js/sap/ushell/ui/footerbar/JamDiscussButton.js +8 -5
  439. package/src/main/js/sap/ushell/ui/footerbar/JamShareButton.js +8 -6
  440. package/src/main/js/sap/ushell/ui/footerbar/LogoutButton.js +10 -7
  441. package/src/main/js/sap/ushell/ui/footerbar/SaveAsTile.controller.js +5 -3
  442. package/src/main/js/sap/ushell/ui/footerbar/SendAsEmailButton.js +6 -4
  443. package/src/main/js/sap/ushell/ui/launchpad/CatalogEntryContainer.js +7 -4
  444. package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
  445. package/src/main/js/sap/ushell/ui/launchpad/Section.js +1 -1
  446. package/src/main/js/sap/ushell/ui/launchpad/TileContainer.js +14 -10
  447. package/src/main/js/sap/ushell/ui/launchpad/ViewPortState.js +1 -1
  448. package/src/main/js/sap/ushell/ui/launchpad/VizInstance.js +10 -7
  449. package/src/main/js/sap/ushell/ui/launchpad/VizInstanceAbap.js +4 -3
  450. package/src/main/js/sap/ushell/ui/launchpad/VizInstanceCdm.js +5 -3
  451. package/src/main/js/sap/ushell/ui/launchpad/VizInstanceLaunchPage.js +3 -0
  452. package/src/main/js/sap/ushell/ui/launchpad/VizInstanceLink.js +5 -3
  453. package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +1 -1
  454. package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +1 -1
  455. package/src/main/js/sap/ushell/ui/utils.js +1 -1
  456. package/src/main/js/sap/ushell/ui5service/ShellUIService.js +1 -1
  457. package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
  458. package/src/main/js/sap/ushell/utils/DynamicTileRequest.js +9 -7
  459. package/src/main/js/sap/ushell/utils/RestrictedJSONModel.js +2 -0
  460. package/src/main/js/sap/ushell/utils/UriParameters.js +43 -0
  461. package/src/main/js/sap/ushell/utils/UrlParsing.js +2 -4
  462. package/src/main/js/sap/ushell/utils/UrlShortening.js +1 -1
  463. package/src/main/js/sap/ushell/utils/WindowUtils.js +3 -5
  464. package/src/main/js/sap/ushell/utils/chipsUtils.js +4 -3
  465. package/src/main/js/sap/ushell/utils/workpage/WorkPageHost.js +1 -1
  466. package/src/main/js/sap/ushell/utils/workpage/WorkPageService.js +1 -1
  467. package/src/main/js/sap/ushell/utils/workpage/WorkPageVizInstantiation.js +1 -1
  468. package/src/main/js/sap/ushell/utils/workpage/resources/resources_en.properties +5 -4
  469. package/src/main/js/sap/ushell/utils/workpage/resources/resources_sh.properties +21 -20
  470. package/src/main/js/sap/ushell/utils.js +69 -64
  471. package/src/test/js/sap/ushell/bootstrap/sandbox.js +6 -8
  472. package/src/main/js/sap/ushell/ui/ContentNodeSelector.control.xml +0 -26
@@ -14,6 +14,7 @@ sap.ui.define([
14
14
  "sap/ushell/resources",
15
15
  "sap/ushell/utils/UrlParsing",
16
16
  "sap/ushell/utils",
17
+ "sap/ushell/Container",
17
18
  "sap/ushell/Config"
18
19
  ], function (
19
20
  Localization,
@@ -26,9 +27,10 @@ sap.ui.define([
26
27
  jQuery,
27
28
  Mobile,
28
29
  EventHub,
29
- resources,
30
+ ushellResources,
30
31
  UrlParsing,
31
- utils,
32
+ ushellUtils,
33
+ Container,
32
34
  Config
33
35
  ) {
34
36
  "use strict";
@@ -45,22 +47,19 @@ sap.ui.define([
45
47
  * @public
46
48
  */
47
49
  function AppConfiguration () {
48
- var oMetadata = {},
49
- bApplicationInInitMode = true,
50
- oCurrentApplication = null,
51
- aIdsOfAddedButtons = [],
52
- aAppRequestsQueue = [];
50
+ const oMetadata = {};
51
+ let bApplicationInInitMode = true;
52
+ let oCurrentApplication = null;
53
+ let aIdsOfAddedButtons = [];
54
+ const aAppRequestsQueue = [];
53
55
 
54
56
  /**
55
- * Due to performance changes on component (app) loading, it is possible that an application would be initialized before
56
- * the shell state was changed, therefore we listen to the appRendered event and keep a reference to the opened app metadata
57
- * object, to verify that the addApplicationSettingsButtons APIs is called only after the application is actually opened.
57
+ * Handles the appRendered event.
58
58
  *
59
59
  * @private
60
+ * @alias sap.ushell.services.AppConfiguration#_applicationOpenedHandler
60
61
  */
61
- EventHub.on("AppRendered").do(applicationOpenedHandler.bind(this));
62
-
63
- function applicationOpenedHandler (/*sChannelId, sEventId, oData*/) {
62
+ this._applicationOpenedHandler = function (/*sChannelId, sEventId, oData*/) {
64
63
  // update the opened application object
65
64
  bApplicationInInitMode = false;
66
65
 
@@ -68,7 +67,16 @@ sap.ui.define([
68
67
  while (aAppRequestsQueue.length > 0) {
69
68
  aAppRequestsQueue.shift()();
70
69
  }
71
- }
70
+ };
71
+
72
+ /**
73
+ * Due to performance changes on component (app) loading, it is possible that an application would be initialized before
74
+ * the shell state was changed, therefore we listen to the appRendered event and keep a reference to the opened app metadata
75
+ * object, to verify that the addApplicationSettingsButtons APIs is called only after the application is actually opened.
76
+ *
77
+ * @private
78
+ */
79
+ EventHub.on("AppRendered").do(this._applicationOpenedHandler.bind(this));
72
80
 
73
81
  /**
74
82
  * Adds an entry to user recent activity list.
@@ -102,27 +110,38 @@ sap.ui.define([
102
110
  * </pre>
103
111
  * @returns {jQuery.Promise} Resolves the updated list of user recents.
104
112
  *
105
- * @private
113
+ * @public
114
+ * @deprecated since 1.120 without replacement.
106
115
  * @alias sap.ushell.services.AppConfiguration#addActivity
107
116
  */
108
117
  this.addActivity = function (oRecentActivity) {
109
- var oDeferred = new jQuery.Deferred();
118
+ const oDeferred = new jQuery.Deferred();
110
119
 
111
- sap.ushell.Container.getServiceAsync("UserRecents")
112
- .then(function (UserRecentsService) {
113
- UserRecentsService.addActivity(oRecentActivity)
114
- .then(oDeferred.resolve)
115
- .catch(oDeferred.reject);
120
+ Container.getServiceAsync("UserRecents")
121
+ .then((UserRecentsService) => {
122
+ return UserRecentsService.addActivity(oRecentActivity);
116
123
  })
124
+ .then(oDeferred.resolve)
117
125
  .catch(oDeferred.reject);
118
126
 
119
127
  return oDeferred.promise();
120
128
  };
121
129
 
130
+ /**
131
+ * @private
132
+ * @alias sap.ushell.services.AppConfiguration#setApplicationInInitMode
133
+ */
122
134
  this.setApplicationInInitMode = function () {
123
135
  bApplicationInInitMode = true;
124
136
  };
125
137
 
138
+ /**
139
+ * Returns the application request queue.
140
+ * @returns {function[]} The application request queue
141
+ *
142
+ * @private
143
+ * @alias sap.ushell.services.AppConfiguration#getApplicationRequestQueue
144
+ */
126
145
  this.getApplicationRequestQueue = function () {
127
146
  return aAppRequestsQueue;
128
147
  };
@@ -132,13 +151,25 @@ sap.ui.define([
132
151
  *
133
152
  * @returns {object} A copy of the metadata object related to the application, or null if no application is currently opened
134
153
  * (e.g., when home or app finder are opened).
154
+ *
135
155
  * @private
136
156
  * @alias sap.ushell.services.AppConfiguration#getCurrentApplication
137
157
  */
138
158
  this.getCurrentApplication = function () {
139
159
  return oCurrentApplication;
140
160
  };
141
- this.getCurrentAppliction = this.getCurrentApplication; // Fixes typo error in the naming of "this.getCurrentAppliction"
161
+
162
+ /**
163
+ * Returns the current application, excluding the home page and the appfinder (which are FLP Core components).
164
+ *
165
+ * @returns {object} A copy of the metadata object related to the application, or null if no application is currently opened
166
+ * (e.g., when home or app finder are opened).
167
+ *
168
+ * @private
169
+ * @deprecated since 1.120.0. Use {@link sap.ushell.services.AppConfiguration#getCurrentApplication} instead.
170
+ * @alias sap.ushell.services.AppConfiguration#getCurrentAppliction
171
+ */
172
+ this.getCurrentAppliction = this.getCurrentApplication;
142
173
 
143
174
 
144
175
  /**
@@ -168,8 +199,8 @@ sap.ui.define([
168
199
  }
169
200
 
170
201
  if (oApplication) {
171
- var sHash = hasher && hasher.getHash ? hasher.getHash() : "";
172
- var sKey = this._getMemoizationKey(sHash);
202
+ const sHash = hasher?.getHash ? hasher.getHash() : "";
203
+ const sKey = this._getMemoizationKey(sHash);
173
204
 
174
205
  return this._getMetadata(oApplication, sKey);
175
206
  }
@@ -178,57 +209,57 @@ sap.ui.define([
178
209
  };
179
210
 
180
211
  /**
181
- * @alias sap.ushell.services.AppConfiguration#_getMemoizationKey
182
212
  * @param {string} sCompleteHash The complete hash
183
213
  * @returns {sap.ui.core.URI} The intent
214
+ *
184
215
  * @private
216
+ * @alias sap.ushell.services.AppConfiguration#_getMemoizationKey
185
217
  */
186
218
  this._getMemoizationKey = function (sCompleteHash) {
187
- var aHashParts = sCompleteHash.split("?");
188
- var sIntent = aHashParts[0];
189
- var sParams = aHashParts[1];
219
+ const [ sIntent, sParams ] = sCompleteHash.split("?");
190
220
 
191
- sParams = this._processParams(sParams);
192
- if (sParams) {
193
- return sIntent + sParams;
221
+ const sProcessedParams = this._processParams(sParams);
222
+ if (sProcessedParams) {
223
+ return sIntent + sProcessedParams;
194
224
  }
195
225
 
196
- var oParsedShellHash = UrlParsing.parseShellHash(sCompleteHash);
197
- sIntent = oParsedShellHash ? oParsedShellHash.semanticObject + "-" + oParsedShellHash.action : "";
198
-
199
- return sIntent;
226
+ const oParsedShellHash = UrlParsing.parseShellHash(sCompleteHash);
227
+ if (oParsedShellHash) {
228
+ const { semanticObject, action } = oParsedShellHash;
229
+ return `${semanticObject}-${action}`;
230
+ }
231
+ return "";
200
232
  };
201
233
 
202
234
  /**
203
- * @param {string} sParams The params
235
+ * @param {string} [sParams] The params
204
236
  * @returns {string} The process params
205
237
  *
206
238
  * @private
207
239
  * @alias sap.ushell.services.AppConfiguration#_getMemoizationKey
208
240
  */
209
241
  this._processParams = function (sParams) {
210
- if (sParams) {
211
- var sPrefix = "";
212
- var oParams = {};
242
+ if (!sParams) {
243
+ return "";
244
+ }
213
245
 
214
- sParams.split("&").forEach(function (item) {
215
- var aCurrentParam = item.split("=");
246
+ const oParams = {};
216
247
 
217
- oParams[aCurrentParam[0]] = aCurrentParam[1];
218
- });
248
+ sParams.split("&").forEach((item) => {
249
+ const [sName, sValue] = item.split("=");
219
250
 
220
- var aSortedParamKeys = Object.keys(oParams).sort();
221
- var sProcessedParams = "";
251
+ oParams[sName] = sValue;
252
+ });
222
253
 
223
- aSortedParamKeys.forEach(function (sKey, iIndex) {
224
- sPrefix = iIndex ? "&" : "?";
225
- sProcessedParams += sPrefix + sKey + "=" + oParams[sKey];
226
- });
254
+ const aSortedParamKeys = Object.keys(oParams).sort();
227
255
 
228
- return sProcessedParams;
229
- }
256
+ const sProcessedParams = aSortedParamKeys.reduce((sResult, sKey, iIndex) => {
257
+ const sParam = `${sKey}=${oParams[sKey]}`;
230
258
 
231
- return "";
259
+ return `${sResult}${iIndex > 0 ? "&" : "?"}${sParam}`;
260
+ }, "");
261
+
262
+ return sProcessedParams;
232
263
  };
233
264
 
234
265
  /**
@@ -253,7 +284,7 @@ sap.ui.define([
253
284
  // If title doesn't exist in the metadata - try to get it from the result of navTargetResolution,
254
285
  // or use the default application title
255
286
  if (!oMetadata[sKey].title) {
256
- oMetadata[sKey].title = oApplication.text || resources.i18n.getText("default_app_title");
287
+ oMetadata[sKey].title = oApplication.text || ushellResources.i18n.getText("default_app_title");
257
288
  }
258
289
  return oMetadata[sKey];
259
290
  };
@@ -274,8 +305,9 @@ sap.ui.define([
274
305
 
275
306
  /**
276
307
  * Sets the hiding of the shell header.
277
- * @deprecated since 1.56
308
+ *
278
309
  * @private
310
+ * @deprecated since 1.56 without replacement. The header hiding is not supported anymore.
279
311
  * @alias sap.ushell.services.AppConfiguration#setHeaderHiding
280
312
  */
281
313
  this.setHeaderHiding = function () {
@@ -288,7 +320,9 @@ sap.ui.define([
288
320
  * It is meant to be used by applications that want to add their own settings button to the shell header.
289
321
  *
290
322
  * @param {sap.m.Button[]} aButtons List of sap.m.Button controls
291
- * @private
323
+ *
324
+ * @public
325
+ * @deprecated since 1.120. Use {@link sap.ushell.services.Extension#addUserAction} instead.
292
326
  * @alias sap.ushell.services.AppConfiguration#addApplicationSettingsButtons
293
327
  */
294
328
  this.addApplicationSettingsButtons = function (aButtons) {
@@ -308,30 +342,37 @@ sap.ui.define([
308
342
  * See ticket #1670473374
309
343
  */
310
344
  if (bApplicationInInitMode) {
311
- aAppRequestsQueue.push(function () {
312
- addApplicationSettingsButtons(aButtons);
345
+ aAppRequestsQueue.push(() => {
346
+ this._addApplicationSettingsButtons(aButtons);
313
347
  });
314
348
  } else {
315
- addApplicationSettingsButtons(aButtons);
349
+ this._addApplicationSettingsButtons(aButtons);
316
350
  }
317
351
  };
318
352
 
319
- function addApplicationSettingsButtons (aButtons) {
320
- var i,
321
- aIds = [],
322
- oRenderer = sap.ushell.Container.getRendererInternal("fiori2");
353
+ /**
354
+ * Adds buttons to the action sheet in the shell header.
355
+ * @param {sap.m.Button[]} aButtons List of sap.m.Button controls
356
+ *
357
+ * @private
358
+ * @deprecated since 1.120. Use {@link sap.ushell.services.Extension#addUserAction} instead.
359
+ * @alias sap.ushell.services.AppConfiguration#_addApplicationSettingsButtons
360
+ */
361
+ this._addApplicationSettingsButtons = function (aButtons) {
362
+ const oRenderer = Container.getRendererInternal("fiori2");
363
+ const aIds = [];
323
364
 
324
- for (i = 0; i < aButtons.length; i++) {
325
- var oCurrentButton = aButtons[i];
365
+ for (let i = 0; i < aButtons.length; i++) {
366
+ const oCurrentButton = aButtons[i];
326
367
  aIds.push(oCurrentButton.getId());
327
368
  oCurrentButton.setIcon(oCurrentButton.getIcon() || IconPool.getIconURI("customize"));
328
369
  // in case the button has the text "Settings" we change it to "App Setting" in order prevent name collision
329
- if (resources.i18n.getText("userSettings") === oCurrentButton.getProperty("text")) {
330
- oCurrentButton.setProperty("text", resources.i18n.getText("userAppSettings"));
370
+ if (ushellResources.i18n.getText("userSettings") === oCurrentButton.getProperty("text")) {
371
+ oCurrentButton.setProperty("text", ushellResources.i18n.getText("userAppSettings"));
331
372
  }
332
373
  oCurrentButton.setType(ButtonType.Unstyled);
333
374
  }
334
- if (sap.ushell.Container && oRenderer) {
375
+ if (oRenderer) {
335
376
  if (aIdsOfAddedButtons.length) {
336
377
  // remove buttons that were added earlier
337
378
  oRenderer.hideActionButton(aIdsOfAddedButtons, true);
@@ -339,7 +380,7 @@ sap.ui.define([
339
380
  aIdsOfAddedButtons = aIds;
340
381
  oRenderer.showActionButton(aIds, true, undefined, true);
341
382
  }
342
- }
383
+ };
343
384
 
344
385
  /**
345
386
  * Sets the title of the browser tabSets the title of the browser tab.
@@ -350,12 +391,12 @@ sap.ui.define([
350
391
  * @alias sap.ushell.services.AppConfiguration#setWindowTitle
351
392
  */
352
393
  this.setWindowTitle = function (sTitle) {
353
- var sWindowTitleExtension = resources.getTranslationFromJSON(Config.last("/core/shell/windowTitleExtension"));
394
+ const sWindowTitleExtension = ushellResources.getTranslationFromJSON(Config.last("/core/shell/windowTitleExtension"));
354
395
  if (sWindowTitleExtension) {
355
- if (resources.getRTL()) {
356
- sTitle = sWindowTitleExtension + " - " + sTitle;
396
+ if (ushellResources.getRTL()) {
397
+ sTitle = `${sWindowTitleExtension} - ${sTitle}`;
357
398
  } else {
358
- sTitle = sTitle + " - " + sWindowTitleExtension;
399
+ sTitle = `${sTitle} - ${sWindowTitleExtension}`;
359
400
  }
360
401
  }
361
402
  window.document.title = sTitle;
@@ -366,7 +407,8 @@ sap.ui.define([
366
407
  *
367
408
  * @param {object} oIconsProperties Icon properties, an object holding icon URLs
368
409
  *
369
- * @private
410
+ * @public
411
+ * @deprecated since 1.120.0. Use {@link sap.ui.util.Mobile#setIcons} instead.
370
412
  * @alias sap.ushell.services.AppConfiguration#setIcons
371
413
  */
372
414
  this.setIcons = function (oIconsProperties) {
@@ -409,12 +451,11 @@ sap.ui.define([
409
451
  * @alias sap.ushell.services.AppConfiguration#getApplicationName
410
452
  */
411
453
  this.getApplicationName = function (oApplication) {
412
- var aMatches,
413
- sAdditionalInformation = (oApplication && oApplication.additionalInformation) || null;
454
+ const sAdditionalInformation = oApplication?.additionalInformation;
414
455
 
415
456
  if (sAdditionalInformation) {
416
457
  // SAPUI5.Component=<fully-qualified-component-name>
417
- aMatches = /^SAPUI5\.Component=(.+)$/i.exec(sAdditionalInformation);
458
+ const aMatches = /^SAPUI5\.Component=(.+)$/i.exec(sAdditionalInformation);
418
459
  if (aMatches) {
419
460
  // determine namespace, view name, and view type
420
461
  return aMatches[1];
@@ -431,16 +472,15 @@ sap.ui.define([
431
472
  * @alias sap.ushell.services.AppConfiguration#getApplicationUrl
432
473
  */
433
474
  this.getApplicationUrl = function (oApplication) {
434
- var sUrl = (oApplication && oApplication.url) || null,
435
- sSegmentToDetermineWebGUITransaction = "P_TCODE",
436
- iIndexOfQuestionMark;
475
+ let sUrl = oApplication?.url;
476
+ const sSegmentToDetermineWebGUITransaction = "P_TCODE";
437
477
 
438
478
  if (sUrl) {
439
479
  if (oApplication.applicationType === "NWBC" && sUrl.indexOf(sSegmentToDetermineWebGUITransaction)) {
440
480
  // in case it is a WebGUI transaction then return the whole URL of the application
441
481
  return sUrl;
442
482
  }
443
- iIndexOfQuestionMark = sUrl.indexOf("?");
483
+ const iIndexOfQuestionMark = sUrl.indexOf("?");
444
484
  if (iIndexOfQuestionMark >= 0) {
445
485
  // pass GET parameters of URL via component data as member startupParameters
446
486
  // (to allow blending with other oComponentData usage, e.g. extensibility use case)
@@ -460,41 +500,43 @@ sap.ui.define([
460
500
  * whose key is composed of the original key + the string "Resource".
461
501
  * e.g. For translating the value of the property "title" - there's another configuration property: "titleResource": "TITLE_KEY".
462
502
  * The value (e.g. "TITLE_KEY") is the translation key in the resource bundle
463
- * @alias sap.ushell.services.AppConfiguration#getPropertyValueFromConfig
464
503
  * @param {object} oConfig The configuration
465
504
  * @param {string} sPropertyKey The property key
466
505
  * @param {sap.base.i18n.ResourceBundle} oResourceBundle The resource bundle
467
506
  * @returns {string|undefined} The value of the property, or undefined if the property is not found
507
+ *
468
508
  * @private
509
+ * @alias sap.ushell.services.AppConfiguration#_getPropertyValueFromConfig
469
510
  */
470
- this.getPropertyValueFromConfig = function (oConfig, sPropertyKey, oResourceBundle) {
471
- var oValue;
511
+ this._getPropertyValueFromConfig = function (oConfig, sPropertyKey, oResourceBundle) {
512
+ const sKey = `${sPropertyKey}Resource`;
472
513
 
473
- if (oResourceBundle && oConfig.hasOwnProperty(sPropertyKey + "Resource")) {
474
- oValue = oResourceBundle.getText(oConfig[sPropertyKey + "Resource"]);
475
- } else if (oConfig.hasOwnProperty(sPropertyKey)) {
476
- oValue = oConfig[sPropertyKey];
514
+ if (oResourceBundle && oConfig.hasOwnProperty(sKey)) {
515
+ return oResourceBundle.getText(oConfig[sKey]);
477
516
  }
478
517
 
479
- return oValue;
518
+ if (oConfig.hasOwnProperty(sPropertyKey)) {
519
+ return oConfig[sPropertyKey];
520
+ }
480
521
  };
481
522
 
482
523
  /**
483
524
  * Reads a property value from the manifest
484
525
  *
485
- * @alias sap.ushell.services.AppConfiguration#getPropertyValueFromManifest
486
526
  * @param {object} oLocalMetadataComponent The metadata component
487
527
  * @param {object} oProperties The properties
488
528
  * @param {string} sPropertyKey The property key
489
- * @returns {string|Object"""} The value of the property, or undefined if the property is not found
529
+ * @returns {string|object} The value of the property, or undefined if the property is not found
530
+ *
490
531
  * @private
532
+ * @alias sap.ushell.services.AppConfiguration#_getPropertyValueFromManifest
491
533
  */
492
- this.getPropertyValueFromManifest = function (oLocalMetadataComponent, oProperties, sPropertyKey) {
493
- var sManifestEntryKey = oProperties[sPropertyKey].manifestEntryKey,
494
- sManifestPropertyPath = oProperties[sPropertyKey].path,
495
- oManifestEntry = oLocalMetadataComponent.getManifestEntry(sManifestEntryKey);
534
+ this._getPropertyValueFromManifest = function (oLocalMetadataComponent, oProperties, sPropertyKey) {
535
+ const sManifestEntryKey = oProperties[sPropertyKey].manifestEntryKey;
536
+ const sManifestPropertyPath = oProperties[sPropertyKey].path || "";
537
+ const oManifestEntry = oLocalMetadataComponent.getManifestEntry(sManifestEntryKey);
496
538
 
497
- return ObjectPath.get(sManifestPropertyPath || "", oManifestEntry);
539
+ return ObjectPath.get(sManifestPropertyPath, oManifestEntry);
498
540
  };
499
541
 
500
542
  /**
@@ -511,196 +553,205 @@ sap.ui.define([
511
553
  */
512
554
  this.addMetadata = function (oApplication, sKey) {
513
555
  try {
514
- var sComponentName = this.getApplicationName(oApplication),
515
- sUrl = this.getApplicationUrl(oApplication),
516
- oLocalMetadataComponent,
517
- oConfig,
518
- // Hash object that maps application metadata property (i.e. property name) to its corresponding entry and path
519
- // in the application descriptor (i.e. manifest file), if exists
520
- oProperties = {
521
- fullWidth:
522
- { manifestEntryKey: "sap.ui", path: "fullWidth" },
523
- hideLightBackground:
524
- { manifestEntryKey: "sap.ui", path: "hideLightBackground" },
525
- title:
526
- { manifestEntryKey: "sap.app", path: "title" },
527
- icon:
528
- { manifestEntryKey: "sap.ui", path: "icons.icon" },
529
- favIcon:
530
- { manifestEntryKey: "sap.ui", path: "icons.favIcon" },
531
- homeScreenIconPhone:
532
- { manifestEntryKey: "sap.ui", path: "icons.phone" },
533
- "homeScreenIconPhone@2":
534
- { manifestEntryKey: "sap.ui", path: "icons.phone@2" },
535
- homeScreenIconTablet:
536
- { manifestEntryKey: "sap.ui", path: "icons.tablet" },
537
- "homeScreenIconTablet@2":
538
- { manifestEntryKey: "sap.ui", path: "icons.tablet@2" },
539
- startupImage320x460:
540
- { manifestEntryKey: "sap.ui", path: "icons.startupImage640x920" },
541
- startupImage640x920:
542
- { manifestEntryKey: "sap.ui", path: "icons.startupImage640x920" },
543
- startupImage640x1096:
544
- { manifestEntryKey: "sap.ui", path: "icons.startupImage640x1096" },
545
- startupImage768x1004:
546
- { manifestEntryKey: "sap.ui", path: "icons.startupImage768x1004" },
547
- startupImage748x1024:
548
- { manifestEntryKey: "sap.ui", path: "icons.startupImage748x1024" },
549
- startupImage1536x2008:
550
- { manifestEntryKey: "sap.ui", path: "icons.startupImage1536x2008" },
551
- startupImage1496x2048:
552
- { manifestEntryKey: "sap.ui", path: "icons.startupImage1496x2048" },
553
- compactContentDensity:
554
- { manifestEntryKey: "sap.ui5", path: "contentDensities.compact" },
555
- cozyContentDensity:
556
- { manifestEntryKey: "sap.ui5", path: "contentDensities.cozy" }
557
- },
558
- potentiallyRelativeUrls,
559
- sComponentUrl,
560
- isUrlRelative,
561
- bManifestExists,
562
- sPropertyKey,
563
- sConfigResourceBundleUrl,
564
- oResourceBundle,
565
- oComponentHandle = oApplication && oApplication.componentHandle;
566
-
567
- if (sKey) {
568
- if (!(oMetadata.hasOwnProperty(sKey))) {
569
- // independent from application type - create an object for metadata; initialize the complete flag with false!
570
- oMetadata[sKey] = { complete: false };
556
+ const sComponentName = this.getApplicationName(oApplication);
557
+ const sUrl = this.getApplicationUrl(oApplication);
558
+ // Hash object that maps application metadata property (i.e. property name) to its corresponding entry and path
559
+ // in the application descriptor (i.e. manifest file), if exists
560
+ const oProperties = {
561
+ fullWidth:
562
+ { manifestEntryKey: "sap.ui", path: "fullWidth" },
563
+ hideLightBackground:
564
+ { manifestEntryKey: "sap.ui", path: "hideLightBackground" },
565
+ title:
566
+ { manifestEntryKey: "sap.app", path: "title" },
567
+ icon:
568
+ { manifestEntryKey: "sap.ui", path: "icons.icon" },
569
+ favIcon:
570
+ { manifestEntryKey: "sap.ui", path: "icons.favIcon" },
571
+ homeScreenIconPhone:
572
+ { manifestEntryKey: "sap.ui", path: "icons.phone" },
573
+ "homeScreenIconPhone@2":
574
+ { manifestEntryKey: "sap.ui", path: "icons.phone@2" },
575
+ homeScreenIconTablet:
576
+ { manifestEntryKey: "sap.ui", path: "icons.tablet" },
577
+ "homeScreenIconTablet@2":
578
+ { manifestEntryKey: "sap.ui", path: "icons.tablet@2" },
579
+ startupImage320x460:
580
+ { manifestEntryKey: "sap.ui", path: "icons.startupImage640x920" },
581
+ startupImage640x920:
582
+ { manifestEntryKey: "sap.ui", path: "icons.startupImage640x920" },
583
+ startupImage640x1096:
584
+ { manifestEntryKey: "sap.ui", path: "icons.startupImage640x1096" },
585
+ startupImage768x1004:
586
+ { manifestEntryKey: "sap.ui", path: "icons.startupImage768x1004" },
587
+ startupImage748x1024:
588
+ { manifestEntryKey: "sap.ui", path: "icons.startupImage748x1024" },
589
+ startupImage1536x2008:
590
+ { manifestEntryKey: "sap.ui", path: "icons.startupImage1536x2008" },
591
+ startupImage1496x2048:
592
+ { manifestEntryKey: "sap.ui", path: "icons.startupImage1496x2048" },
593
+ compactContentDensity:
594
+ { manifestEntryKey: "sap.ui5", path: "contentDensities.compact" },
595
+ cozyContentDensity:
596
+ { manifestEntryKey: "sap.ui5", path: "contentDensities.cozy" }
597
+ };
598
+ const oComponentHandle = oApplication?.componentHandle;
599
+
600
+ if (!sKey) {
601
+ return;
602
+ }
603
+
604
+ if (!(oMetadata.hasOwnProperty(sKey))) {
605
+ // independent from application type - create an object for metadata; initialize the complete flag with false!
606
+ oMetadata[sKey] = { complete: false };
607
+ }
608
+
609
+ if (!oMetadata[sKey].complete) {
610
+ let oLocalMetadataComponent;
611
+
612
+ if (oComponentHandle) {
613
+ oLocalMetadataComponent = oComponentHandle.getMetadata();
614
+ } else if (sComponentName) {
615
+ Log.warning(`No component handle available for '${sComponentName}'; SAPUI5 component metadata is incomplete`, null, "sap.ushell.services.AppConfiguration");
616
+ return;
571
617
  }
572
618
 
573
- if (!oMetadata[sKey].complete) {
574
- if (oComponentHandle) {
575
- oLocalMetadataComponent = oComponentHandle.getMetadata();
576
- } else if (sComponentName) {
577
- Log.warning("No component handle available for '" + sComponentName + "'; SAPUI5 component metadata is incomplete",
578
- null, "sap.ushell.services.AppConfiguration");
579
- return;
619
+ if (oLocalMetadataComponent) {
620
+ let oResourceBundle;
621
+ const oConfig = oLocalMetadataComponent.getConfig();
622
+ oMetadata[sKey].complete = true;
623
+
624
+ // If configuration exists and no resource bundle was created from the manifest
625
+ if (oConfig) {
626
+ let sConfigResourceBundleUrl = oConfig.resourceBundle;
627
+ if (sConfigResourceBundleUrl) {
628
+ if (sConfigResourceBundleUrl.slice(0, 1) !== "/") {
629
+ sConfigResourceBundleUrl = sUrl + sConfigResourceBundleUrl;
630
+ }
631
+ oResourceBundle = ResourceBundle.create({
632
+ url: sConfigResourceBundleUrl,
633
+ locale: Localization.getLanguage()
634
+ });
635
+ }
580
636
  }
581
637
 
582
- if (oLocalMetadataComponent) {
583
- oConfig = oLocalMetadataComponent.getConfig();
584
- bManifestExists = (oLocalMetadataComponent.getManifest() !== undefined);
585
- oMetadata[sKey].complete = true;
586
- // If configuration exists and no resource bundle was created from the manifest
587
- if (oConfig) {
588
- sConfigResourceBundleUrl = oConfig.resourceBundle || "";
589
- if (sConfigResourceBundleUrl) {
590
- if (sConfigResourceBundleUrl.slice(0, 1) !== "/") {
591
- sConfigResourceBundleUrl = sUrl + sConfigResourceBundleUrl;
592
- }
593
- oResourceBundle = ResourceBundle.create({
594
- url: sConfigResourceBundleUrl,
595
- locale: Localization.getLanguage()
596
- });
638
+ const bManifestExists = !!oLocalMetadataComponent.getManifest();
639
+
640
+ // Loop over all property names, and for each one get the value from the manifest or from the application configuration
641
+ for (const sPropertyKey in oProperties) {
642
+ if (oProperties.hasOwnProperty(sPropertyKey)) {
643
+ if (bManifestExists) {
644
+ // Get property value from the manifest
645
+ oMetadata[sKey][sPropertyKey] = this._getPropertyValueFromManifest(oLocalMetadataComponent, oProperties, sPropertyKey);
597
646
  }
598
- }
599
647
 
600
- // Loop over all property names, and for each one get the value from the manifest or from the application configuration
601
- for (sPropertyKey in oProperties) {
602
- if (oProperties.hasOwnProperty(sPropertyKey)) {
603
- if (bManifestExists) {
604
- // Get property value from the manifest
605
- oMetadata[sKey][sPropertyKey] = this.getPropertyValueFromManifest(oLocalMetadataComponent, oProperties, sPropertyKey);
606
- }
607
-
608
- // If application configuration exists and the property value was not found in the manifest -
609
- // look for it in the configuration
610
- if (oConfig && oMetadata[sKey][sPropertyKey] === undefined) {
611
- // Get property value from the configuration
612
- oMetadata[sKey][sPropertyKey] = this.getPropertyValueFromConfig(oConfig, sPropertyKey, oResourceBundle);
613
- }
648
+ // If application configuration exists and the property value was not found in the manifest -
649
+ // look for it in the configuration
650
+ if (oConfig && oMetadata[sKey][sPropertyKey] === undefined) {
651
+ // Get property value from the configuration
652
+ oMetadata[sKey][sPropertyKey] = this._getPropertyValueFromConfig(oConfig, sPropertyKey, oResourceBundle);
614
653
  }
615
654
  }
616
- oMetadata[sKey].version = oLocalMetadataComponent.getVersion();
617
- oMetadata[sKey].technicalName = oLocalMetadataComponent.getComponentName();
618
- this._setTitleFromNavResult(oMetadata[sKey], oApplication);
619
- } else if (utils.isApplicationTypeEmbeddedInIframe(oApplication.applicationType)) {
620
- var sWdaApplicationUrlString = "/~canvas;window=app/wda/",
621
- iIndexOfWdaApplicationUrlString = oApplication.url.indexOf(sWdaApplicationUrlString),
622
- sWdaApplicationOtherUrlString = "/sap/bc/webdynpro/sap/",
623
- sWebGUIApplicationUrlString = "/bc/gui/sap/its/webgui",
624
- iIndexOfWebGUIApplicationUrlString = oApplication.url.indexOf(sWebGUIApplicationUrlString);
625
-
626
- if (iIndexOfWdaApplicationUrlString >= 0) {
627
- // WebDynproABAPApplication
628
- // /ui2/nwbc/~canvas;window=app/wda/S_EPM_FPM_PD/?sap-wd-configId=s_epm_fpm_pd
629
- oMetadata[sKey].technicalName = oApplication.url.substring(
630
- (iIndexOfWdaApplicationUrlString + sWdaApplicationUrlString.length),
631
- oApplication.url.indexOf("/", (iIndexOfWdaApplicationUrlString + sWdaApplicationUrlString.length))
632
- );
633
- }
634
- if (oApplication.url.indexOf(sWdaApplicationOtherUrlString) >= 0) {
635
- // other WebDynproABAPApplication
636
- // /sap/bc/webdynpro/sap/S_EPM_FPM_PO?sap-client=120&sap-language=EN&sap-ui-tech-hint=WDA&
637
- oMetadata[sKey].technicalName = new RegExp(sWdaApplicationOtherUrlString + "(.*)[?]").exec(oApplication.url)[1];
638
- }
639
- oMetadata[sKey].complete = true;
640
- if (iIndexOfWebGUIApplicationUrlString >= 0) {
641
- // WebGUITransaction
642
- // /sap/bc/gui/sap/its/webgui;~sysid=XXX;~service=3255?%7etransaction=SU01&%7enosplash=1
643
- var sETransactionString = "etransaction=",
644
- iETransactionStart = oApplication.url.indexOf(sETransactionString, iIndexOfWebGUIApplicationUrlString + sWebGUIApplicationUrlString.length),
645
- iETransactionEndDetermination = oApplication.url.indexOf("&", iETransactionStart),
646
- iETransactionEnd = (iETransactionEndDetermination >= 0) ? iETransactionEndDetermination : oApplication.url.length;
647
- oMetadata[sKey].technicalName = decodeURIComponent(oApplication.url.substring(
648
- iETransactionStart + sETransactionString.length,
649
- iETransactionEnd
650
- )) + " (TCODE)";
651
- }
652
- } else {
653
- Log.warning("No technical information for the given application could be determined", null, "sap.ushell.services.AppConfiguration");
654
655
  }
655
- }
656
656
 
657
- /*
658
- * Special behavior for relative URLs:
659
- * Relative URLs are considered relative to the folder containing the Component.js, which requires adjustments here.
660
- * Otherwise the browser would interpret them as relative to the location of the HTML file,
661
- * which might be different and also hard to guess for app developers.
662
- */
663
- potentiallyRelativeUrls = [
664
- "favIcon",
665
- "homeScreenIconPhone",
666
- "homeScreenIconPhone@2",
667
- "homeScreenIconTablet",
668
- "homeScreenIconTablet@2",
669
- "startupImage320x460",
670
- "startupImage640x920",
671
- "startupImage640x1096",
672
- "startupImage768x1004",
673
- "startupImage748x1024",
674
- "startupImage1536x2008",
675
- "startupImage1496x2048"
676
- ];
677
-
678
- sComponentUrl = (sUrl && sUrl[sUrl.length - 1] === "/") ?
679
- sUrl.substring(0, sUrl.length - 1) : sUrl;
680
-
681
- isUrlRelative = function (sUrl) {
682
- if (sUrl.match(/^https?:\/\/.*/)) {
683
- return false;
657
+ oMetadata[sKey].version = oLocalMetadataComponent.getVersion();
658
+ oMetadata[sKey].technicalName = oLocalMetadataComponent.getComponentName();
659
+
660
+ this._setTitleFromNavResult(oMetadata[sKey], oApplication);
661
+
662
+ } else if (ushellUtils.isApplicationTypeEmbeddedInIframe(oApplication.applicationType)) {
663
+ const sWdaApplicationUrlString = "/~canvas;window=app/wda/";
664
+ const iIndexOfWdaApplicationUrlString = oApplication.url.indexOf(sWdaApplicationUrlString);
665
+ const sWdaApplicationOtherUrlString = "/sap/bc/webdynpro/sap/";
666
+ const sWebGUIApplicationUrlString = "/bc/gui/sap/its/webgui";
667
+ const iIndexOfWebGUIApplicationUrlString = oApplication.url.indexOf(sWebGUIApplicationUrlString);
668
+
669
+ if (iIndexOfWdaApplicationUrlString >= 0) {
670
+ // WebDynproABAPApplication
671
+ // /ui2/nwbc/~canvas;window=app/wda/S_EPM_FPM_PD/?sap-wd-configId=s_epm_fpm_pd
672
+ oMetadata[sKey].technicalName = oApplication.url.substring(
673
+ (iIndexOfWdaApplicationUrlString + sWdaApplicationUrlString.length),
674
+ oApplication.url.indexOf("/", (iIndexOfWdaApplicationUrlString + sWdaApplicationUrlString.length))
675
+ );
684
676
  }
685
- return sUrl && sUrl[0] !== "/";
686
- };
687
-
688
- potentiallyRelativeUrls.forEach(function (sPropName) {
689
- var sOrigValue = oMetadata[sKey][sPropName],
690
- sFinalValue = null;
691
- // Some URL properties might not be defined.
692
- if (sOrigValue) {
693
- sFinalValue = isUrlRelative(sOrigValue) ?
694
- sComponentUrl + "/" + sOrigValue : sOrigValue;
677
+ if (oApplication.url.indexOf(sWdaApplicationOtherUrlString) >= 0) {
678
+ // other WebDynproABAPApplication
679
+ // /sap/bc/webdynpro/sap/S_EPM_FPM_PO?sap-client=120&sap-language=EN&sap-ui-tech-hint=WDA&
680
+ oMetadata[sKey].technicalName = new RegExp(sWdaApplicationOtherUrlString + "(.*)[?]").exec(oApplication.url)[1];
695
681
  }
696
- oMetadata[sKey][sPropName] = sFinalValue;
697
- });
682
+ oMetadata[sKey].complete = true;
683
+ if (iIndexOfWebGUIApplicationUrlString >= 0) {
684
+ // WebGUITransaction
685
+ // /sap/bc/gui/sap/its/webgui;~sysid=XXX;~service=3255?%7etransaction=SU01&%7enosplash=1
686
+ const sETransactionString = "etransaction=";
687
+ const iETransactionStart = oApplication.url.indexOf(sETransactionString, iIndexOfWebGUIApplicationUrlString + sWebGUIApplicationUrlString.length);
688
+ const iETransactionEndDetermination = oApplication.url.indexOf("&", iETransactionStart);
689
+ const iETransactionEnd = (iETransactionEndDetermination >= 0) ? iETransactionEndDetermination : oApplication.url.length;
690
+ oMetadata[sKey].technicalName = decodeURIComponent(oApplication.url.substring(
691
+ iETransactionStart + sETransactionString.length,
692
+ iETransactionEnd
693
+ )) + " (TCODE)";
694
+ }
695
+ } else {
696
+ Log.warning("No technical information for the given application could be determined", null, "sap.ushell.services.AppConfiguration");
697
+ }
698
698
  }
699
+
700
+ /*
701
+ * Special behavior for relative URLs:
702
+ * Relative URLs are considered relative to the folder containing the Component.js, which requires adjustments here.
703
+ * Otherwise the browser would interpret them as relative to the location of the HTML file,
704
+ * which might be different and also hard to guess for app developers.
705
+ */
706
+ const potentiallyRelativeUrls = [
707
+ "favIcon",
708
+ "homeScreenIconPhone",
709
+ "homeScreenIconPhone@2",
710
+ "homeScreenIconTablet",
711
+ "homeScreenIconTablet@2",
712
+ "startupImage320x460",
713
+ "startupImage640x920",
714
+ "startupImage640x1096",
715
+ "startupImage768x1004",
716
+ "startupImage748x1024",
717
+ "startupImage1536x2008",
718
+ "startupImage1496x2048"
719
+ ];
720
+
721
+ const sComponentUrl = (sUrl?.[sUrl.length - 1] === "/") ? sUrl.substring(0, sUrl.length - 1) : sUrl;
722
+
723
+ potentiallyRelativeUrls.forEach((sPropName) => {
724
+ const sOrigValue = oMetadata[sKey][sPropName];
725
+ let sFinalValue = null;
726
+ // Some URL properties might not be defined.
727
+ if (sOrigValue) {
728
+ sFinalValue = this._isUrlRelative(sOrigValue) ? `${sComponentUrl}/${sOrigValue}` : sOrigValue;
729
+ }
730
+ oMetadata[sKey][sPropName] = sFinalValue;
731
+ });
699
732
  } catch (err) {
700
733
  Log.warning("Application configuration could not be parsed");
701
734
  }
702
735
  };
703
736
 
737
+ /**
738
+ * Checks if the given URL is relative.
739
+ * @param {sap.ui.core.URI} sUrl The URL to check
740
+ * @returns {boolean} true if the URL is relative, false otherwise
741
+ *
742
+ * @private
743
+ * @alias sap.ushell.services.AppConfiguration#_isUrlRelative
744
+ */
745
+ this._isUrlRelative = function (sUrl) {
746
+ if (!sUrl) {
747
+ return false;
748
+ }
749
+ if (sUrl.match(/^https?:\/\/.*/)) {
750
+ return false;
751
+ }
752
+ return sUrl[0] !== "/";
753
+ };
754
+
704
755
  /**
705
756
  * Helper function to override the title of the manifest
706
757
  * with the title from the navigation result (target mapping).
@@ -708,21 +759,20 @@ sap.ui.define([
708
759
  * in the FLP content with a specific title.
709
760
  *
710
761
  * @param {object} oMetadataEntry - the metadata for a specific app
711
- * @param {object} oApplication - the application data retrieved from the
712
- * navigation target resolution
762
+ * @param {object} oApplication - the application data retrieved from the navigation target resolution
713
763
  *
714
764
  * @private
715
765
  * @alias sap.ushell.services.AppConfiguration#_setTitleFromNavResult
716
766
  */
717
767
  this._setTitleFromNavResult = function (oMetadataEntry, oApplication) {
718
- var sNavTargetResolutionTitle = oApplication && oApplication.text;
719
- var sUi5ComponentName = oMetadataEntry.technicalName;
720
- var aUseAppTitleFromNavTargetResolutionConfig = Config.last("/core/shell/useAppTitleFromNavTargetResolution") || [];
768
+ const sNavTargetResolutionTitle = oApplication?.text;
769
+ const sUi5ComponentName = oMetadataEntry.technicalName;
770
+ const aUseAppTitleFromNavTargetResolutionConfig = Config.last("/core/shell/useAppTitleFromNavTargetResolution") || [];
721
771
  if (sNavTargetResolutionTitle && aUseAppTitleFromNavTargetResolutionConfig.includes(sUi5ComponentName)) {
722
772
  oMetadataEntry.title = sNavTargetResolutionTitle;
723
773
  }
724
774
  };
725
- } // Metadata
775
+ }
726
776
 
727
777
  return new AppConfiguration();
728
778
  }, true /* bExport */);