@sapui5/sap.ushell 1.119.2 → 1.120.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 (395) hide show
  1. package/package.json +1 -1
  2. package/src/main/js/sap/ushell/.library +3 -3
  3. package/src/main/js/sap/ushell/Container.js +272 -41
  4. package/src/main/js/sap/ushell/Fiori20Adapter.js +1 -1
  5. package/src/main/js/sap/ushell/Fiori20AdapterTest.js +3 -2
  6. package/src/main/js/sap/ushell/NWBCInterface.js +1 -1
  7. package/src/main/js/sap/ushell/SessionHandler.js +11 -6
  8. package/src/main/js/sap/ushell/TechnicalParameters.js +1 -1
  9. package/src/main/js/sap/ushell/URLTemplateProcessor.js +1 -1
  10. package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +1 -1
  11. package/src/main/js/sap/ushell/Ui5ServiceFactory.js +1 -1
  12. package/src/main/js/sap/ushell/User.js +26 -35
  13. package/src/main/js/sap/ushell/_ApplicationType/urlTemplateResolution.js +1 -1
  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 +1 -1
  21. package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +15 -11
  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 +16 -11
  26. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
  27. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationV2Adapter.js +18 -0
  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/LaunchPageAdapter.js +1 -1
  37. package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +1 -1
  38. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +1 -1
  39. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +1 -1
  40. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +1 -1
  41. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +1 -1
  42. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +1 -1
  43. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +1 -1
  44. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +1 -1
  45. package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +1 -1
  46. package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +1 -1
  47. package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +1 -1
  48. package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +24 -18
  49. package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +1 -1
  50. package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +1 -1
  51. package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +1 -1
  52. package/src/main/js/sap/ushell/adapters/local/MenuAdapter.js +4 -7
  53. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +17 -22
  54. package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +1 -1
  55. package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +1 -1
  56. package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +1 -1
  57. package/src/main/js/sap/ushell/adapters/local/PersonalizationV2Adapter.js +19 -0
  58. package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +1 -1
  59. package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +1 -1
  60. package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +1 -1
  61. package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +1 -1
  62. package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +11 -7
  63. package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +8 -8
  64. package/src/main/js/sap/ushell/api/RTA.js +47 -0
  65. package/src/main/js/sap/ushell/appRuntime/neo/AppInfoService.js +154 -0
  66. package/src/main/js/sap/ushell/appRuntime/neo/AppRuntimeNeo.js +20 -0
  67. package/src/main/js/sap/ushell/appRuntime/neo/ProxyAppUtils.js +71 -0
  68. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +12 -5
  69. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntimeContext.js +2 -2
  70. package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
  71. package/src/main/js/sap/ushell/bootstrap/SchedulingAgent.js +2 -2
  72. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/logger.js +1 -1
  73. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/state.js +1 -1
  74. package/src/main/js/sap/ushell/bootstrap/cdm/cdm-def-dev.js +6 -3
  75. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5datetimeformat.js +1 -1
  76. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ushell.js +3 -0
  77. package/src/main/js/sap/ushell/bootstrap/common/common.load.launchpad.js +1 -1
  78. package/src/main/js/sap/ushell/bootstrap/common/common.util.js +34 -2
  79. package/src/main/js/sap/ushell/bootstrap/sandbox2.js +7 -2
  80. package/src/main/js/sap/ushell/components/ComponentKeysHandler.js +1 -1
  81. package/src/main/js/sap/ushell/components/HomepageManager.js +5 -5
  82. package/src/main/js/sap/ushell/components/SharedComponentUtils.js +7 -10
  83. package/src/main/js/sap/ushell/components/_HeaderManager/ShellHeader.controller.js +3 -3
  84. package/src/main/js/sap/ushell/components/_HomepageManager/DashboardLoadingManager.js +5 -0
  85. package/src/main/js/sap/ushell/components/_HomepageManager/PagingManager.js +5 -0
  86. package/src/main/js/sap/ushell/components/_HomepageManager/PersistentPageOperationAdapter.js +5 -0
  87. package/src/main/js/sap/ushell/components/_HomepageManager/TransientPageOperationAdapter.js +5 -0
  88. package/src/main/js/sap/ushell/components/appfinder/AppFinderView.js +1 -1
  89. package/src/main/js/sap/ushell/components/appfinder/CatalogView.js +1 -1
  90. package/src/main/js/sap/ushell/components/appfinder/EasyAccess.controller.js +3 -3
  91. package/src/main/js/sap/ushell/components/appfinder/EasyAccessView.js +0 -8
  92. package/src/main/js/sap/ushell/components/appfinder/HierarchyApps.controller.js +4 -4
  93. package/src/main/js/sap/ushell/components/appfinder/HierarchyFolders.controller.js +18 -16
  94. package/src/main/js/sap/ushell/components/appfinder/manifest.json +2 -2
  95. package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +2 -2
  96. package/src/main/js/sap/ushell/components/applicationIntegration/application/Application.js +1 -1
  97. package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxHandler.js +1 -1
  98. package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPI.js +2 -2
  99. package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +1 -1
  100. package/src/main/js/sap/ushell/components/applicationIntegration/elements/model.js +1 -1
  101. package/src/main/js/sap/ushell/components/applicationIntegration/relatedServices/RelatedServices.js +1 -1
  102. package/src/main/js/sap/ushell/components/applicationIntegration/relatedShellElements/RelatedShellElements.js +1 -1
  103. package/src/main/js/sap/ushell/components/cards/Card.controller.js +2 -2
  104. package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +92 -71
  105. package/src/main/js/sap/ushell/components/contentFinder/Component.js +1 -1
  106. package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +1 -1
  107. package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +1 -1
  108. package/src/main/js/sap/ushell/components/contentFinder/controller/WidgetGallery.controller.js +1 -1
  109. package/src/main/js/sap/ushell/components/contentFinder/manifest.json +1 -1
  110. package/src/main/js/sap/ushell/components/contentFinder/model/formatter.js +4 -4
  111. package/src/main/js/sap/ushell/components/factsheet/Component.js +1 -1
  112. package/src/main/js/sap/ushell/components/homeApp/error/manifest.json +1 -1
  113. package/src/main/js/sap/ushell/components/homepage/ActionMode.js +1 -1
  114. package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +1 -1
  115. package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +1 -1
  116. package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +1 -1
  117. package/src/main/js/sap/ushell/components/homepage/manifest.json +2 -2
  118. package/src/main/js/sap/ushell/components/pages/ActionMode.js +5 -5
  119. package/src/main/js/sap/ushell/components/pages/Component.js +1 -1
  120. package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +1 -1
  121. package/src/main/js/sap/ushell/components/pages/StateManager.js +37 -24
  122. package/src/main/js/sap/ushell/components/pages/controller/ImportDialog.controller.js +1 -1
  123. package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +1 -1
  124. package/src/main/js/sap/ushell/components/pages/manifest.json +2 -2
  125. package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +7 -4
  126. package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
  127. package/src/main/js/sap/ushell/components/shell/MenuBar/controller/MenuBar.controller.js +6 -7
  128. package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +2 -2
  129. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +39 -13
  130. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +3 -3
  131. package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +5 -5
  132. package/src/main/js/sap/ushell/components/shell/Notifications/Notifications.controller.js +25 -45
  133. package/src/main/js/sap/ushell/components/shell/PostLoadingHeaderEnhancement/Component.js +2 -2
  134. package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +1 -1
  135. package/src/main/js/sap/ushell/components/shell/Search/ESearch.js +1 -1
  136. package/src/main/js/sap/ushell/components/shell/Search/manifest.json +2 -2
  137. package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +2 -2
  138. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchCEP.controller.js +3 -3
  139. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +1 -1
  140. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +1 -1
  141. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +1 -1
  142. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchServiceProvider.js +1 -1
  143. package/src/main/js/sap/ushell/components/shell/Settings/Component.js +4 -4
  144. package/src/main/js/sap/ushell/components/shell/Settings/ProfilingLoader.js +4 -0
  145. package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.controller.js +4 -0
  146. package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.view.xml +4 -3
  147. package/src/main/js/sap/ushell/components/shell/Settings/homepage/HomepageEntry.js +10 -13
  148. package/src/main/js/sap/ushell/components/shell/Settings/notifications/NotificationsSetting.controller.js +13 -22
  149. package/src/main/js/sap/ushell/components/shell/Settings/userAccount/UserAccountSelector.controller.js +2 -2
  150. package/src/main/js/sap/ushell/components/shell/Settings/userActivities/UserActivitiesSetting.controller.js +11 -14
  151. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/manifest.json +1 -1
  152. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +1 -1
  153. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/UserActionsMenu.controller.js +2 -2
  154. package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +2 -2
  155. package/src/main/js/sap/ushell/components/tiles/indicatorTileUtils/smartBusinessUtil.js +4 -6
  156. package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +14 -18
  157. package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +1 -1
  158. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility.js +1 -1
  159. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +16 -12
  160. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageHost.js +1 -1
  161. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +1 -1
  162. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +1 -1
  163. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +1 -1
  164. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +1 -1
  165. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +1 -1
  166. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +1 -1
  167. package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
  168. package/src/main/js/sap/ushell/components/workPageBuilder/view/WorkPageBuilder.view.xml +3 -3
  169. package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +1 -1
  170. package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +1 -2
  171. package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +1 -1
  172. package/src/main/js/sap/ushell/components/workPageRuntime/services/NavigationResolver.js +1 -1
  173. package/src/main/js/sap/ushell/components/workPageRuntime/services/WorkPage.js +1 -1
  174. package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
  175. package/src/main/js/sap/ushell/library.js +1 -1
  176. package/src/main/js/sap/ushell/navigationMode.js +1 -1
  177. package/src/main/js/sap/ushell/performance/ShellAnalytics.js +1 -1
  178. package/src/main/js/sap/ushell/performance/StatisticalRecord.js +1 -1
  179. package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
  180. package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/AccessKeysHandler.js +1 -1
  181. package/src/main/js/sap/ushell/renderer/History.js +84 -0
  182. package/src/main/js/sap/ushell/renderer/LogonFrameProvider.js +96 -0
  183. package/src/main/js/sap/ushell/renderer/Renderer.js +2851 -0
  184. package/src/main/js/sap/ushell/renderer/Shell.controller.js +3155 -0
  185. package/src/main/js/sap/ushell/{renderers/fiori2/ShellAsync.view.js → renderer/Shell.view.js} +29 -18
  186. package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/ShellLayout.js +3 -3
  187. package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/allMyApps/AllMyApps.controller.js +4 -4
  188. package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/allMyApps/AllMyApps.view.xml +1 -1
  189. package/src/main/js/sap/ushell/renderer/allMyApps/AllMyAppsKeyboardHandler.js +108 -0
  190. package/src/main/js/sap/ushell/renderer/allMyApps/AllMyAppsManager.js +453 -0
  191. package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources.properties +4 -0
  192. package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/search/searchComponent/Component.js +3 -3
  193. package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/search/searchComponent/controller/CEPSearchApp.controller.js +1 -1
  194. package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/search/searchComponent/controller/SearchApp.controller.js +1 -1
  195. package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/search/searchComponent/manifest.json +2 -2
  196. package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/search/searchComponent/view/CEPSearchApp.view.js +2 -2
  197. package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/search/searchComponent/view/SearchApp.view.js +2 -2
  198. package/src/main/js/sap/ushell/renderers/fiori2/History.js +7 -68
  199. package/src/main/js/sap/ushell/renderers/fiori2/LogonFrameProvider.js +9 -79
  200. package/src/main/js/sap/ushell/renderers/fiori2/Renderer.js +101 -1882
  201. package/src/main/js/sap/ushell/renderers/fiori2/RendererExtensions.js +2 -3
  202. package/src/main/js/sap/ushell/renderers/fiori2/Shell.controller.js +8 -3130
  203. package/src/main/js/sap/ushell/renderers/fiori2/Shell.view.js +7 -7
  204. package/src/main/js/sap/ushell/renderers/fiori2/allMyApps/AllMyAppsKeyboardHandler.js +7 -92
  205. package/src/main/js/sap/ushell/renderers/fiori2/allMyApps/AllMyAppsManager.js +8 -438
  206. package/src/main/js/sap/ushell/resources.js +1 -1
  207. package/src/main/js/sap/ushell/services/AllMyApps.js +16 -7
  208. package/src/main/js/sap/ushell/services/AppConfiguration.js +12 -0
  209. package/src/main/js/sap/ushell/services/AppLifeCycle.js +11 -14
  210. package/src/main/js/sap/ushell/services/AppState.js +12 -8
  211. package/src/main/js/sap/ushell/services/Bookmark.js +15 -13
  212. package/src/main/js/sap/ushell/services/BookmarkV2.js +919 -0
  213. package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +229 -241
  214. package/src/main/js/sap/ushell/services/CommonDataModel.js +14 -4
  215. package/src/main/js/sap/ushell/services/Configuration.js +12 -11
  216. package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +13 -10
  217. package/src/main/js/sap/ushell/services/Container.js +1 -1
  218. package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +1 -1
  219. package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +8 -6
  220. package/src/main/js/sap/ushell/services/DarkModeSupport.js +16 -10
  221. package/src/main/js/sap/ushell/services/EndUserFeedback.js +1 -1
  222. package/src/main/js/sap/ushell/services/Extension/FloatingContainer.js +103 -0
  223. package/src/main/js/sap/ushell/services/Extension/Footer.js +61 -0
  224. package/src/main/js/sap/ushell/services/Extension/Header.js +193 -0
  225. package/src/main/js/sap/ushell/services/Extension/Item.js +195 -0
  226. package/src/main/js/sap/ushell/services/Extension/SidePane.js +155 -0
  227. package/src/main/js/sap/ushell/services/Extension/ToolArea.js +152 -0
  228. package/src/main/js/sap/ushell/services/Extension.js +381 -0
  229. package/src/main/js/sap/ushell/services/LaunchPage.js +1 -1
  230. package/src/main/js/sap/ushell/services/Menu.js +48 -59
  231. package/src/main/js/sap/ushell/services/Message.js +15 -14
  232. package/src/main/js/sap/ushell/services/MessageBroker.js +12 -12
  233. package/src/main/js/sap/ushell/services/NavTargetResolution.js +48 -70
  234. package/src/main/js/sap/ushell/services/Navigation/utils.js +565 -0
  235. package/src/main/js/sap/ushell/services/Navigation.js +152 -139
  236. package/src/main/js/sap/ushell/services/NavigationDataProvider.js +11 -8
  237. package/src/main/js/sap/ushell/services/Notifications.js +118 -1523
  238. package/src/main/js/sap/ushell/services/NotificationsV2.js +1872 -0
  239. package/src/main/js/sap/ushell/services/PageBuilding.js +11 -8
  240. package/src/main/js/sap/ushell/services/PagePersistence.js +11 -8
  241. package/src/main/js/sap/ushell/services/PageReferencing.js +11 -8
  242. package/src/main/js/sap/ushell/services/Pages.js +11 -15
  243. package/src/main/js/sap/ushell/services/Personalization.js +5 -3
  244. package/src/main/js/sap/ushell/services/PersonalizationV2/ContextContainer.js +410 -0
  245. package/src/main/js/sap/ushell/services/PersonalizationV2/Personalizer.js +109 -0
  246. package/src/main/js/sap/ushell/services/PersonalizationV2/TransientPersonalizer.js +57 -0
  247. package/src/main/js/sap/ushell/services/PersonalizationV2/Variant.js +180 -0
  248. package/src/main/js/sap/ushell/services/PersonalizationV2/VariantSet.js +296 -0
  249. package/src/main/js/sap/ushell/services/PersonalizationV2/VariantSetAdapter.js +125 -0
  250. package/src/main/js/sap/ushell/services/PersonalizationV2/WindowAdapter.js +71 -0
  251. package/src/main/js/sap/ushell/services/PersonalizationV2/WindowAdapterContainer.js +172 -0
  252. package/src/main/js/sap/ushell/services/PersonalizationV2/constants.js +23 -0
  253. package/src/main/js/sap/ushell/services/PersonalizationV2/constants.private.js +18 -0
  254. package/src/main/js/sap/ushell/services/PersonalizationV2/utils.js +233 -0
  255. package/src/main/js/sap/ushell/services/PersonalizationV2.js +641 -0
  256. package/src/main/js/sap/ushell/services/PluginManager.js +47 -55
  257. package/src/main/js/sap/ushell/services/ReferenceResolver.js +61 -54
  258. package/src/main/js/sap/ushell/services/Search.js +15 -2
  259. package/src/main/js/sap/ushell/services/SearchCEP.js +40 -44
  260. package/src/main/js/sap/ushell/services/SearchableContent.js +9 -9
  261. package/src/main/js/sap/ushell/services/ShellNavigation.js +14 -13
  262. package/src/main/js/sap/ushell/services/SmartNavigation.js +1 -1
  263. package/src/main/js/sap/ushell/services/SpaceContent.js +9 -10
  264. package/src/main/js/sap/ushell/services/SupportTicket.js +14 -14
  265. package/src/main/js/sap/ushell/services/UITracer.js +31 -35
  266. package/src/main/js/sap/ushell/services/URLParsing.js +9 -11
  267. package/src/main/js/sap/ushell/services/URLShortening.js +1 -1
  268. package/src/main/js/sap/ushell/services/URLTemplate.js +14 -13
  269. package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +29 -26
  270. package/src/main/js/sap/ushell/services/UsageAnalytics.js +6 -0
  271. package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +11 -7
  272. package/src/main/js/sap/ushell/services/UserDefaultParameters.js +20 -26
  273. package/src/main/js/sap/ushell/services/UserInfo.js +44 -23
  274. package/src/main/js/sap/ushell/services/UserRecents.js +13 -5
  275. package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +12 -9
  276. package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +10 -8
  277. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Formatter.js +1 -1
  278. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundIndex.js +1 -1
  279. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundProvider.js +1 -1
  280. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/PrelaunchOperations.js +1 -1
  281. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Search.js +1 -1
  282. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/StagedLogger.js +1 -1
  283. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/SystemContext.js +1 -1
  284. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Utils.js +3 -4
  285. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/VirtualInbounds.js +4 -4
  286. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/XAppStateProcessing.js +1 -1
  287. package/src/main/js/sap/ushell/services/_CommonDataModel/SiteConverter.js +1 -1
  288. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +1 -1
  289. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +1 -1
  290. package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +2 -1
  291. package/src/main/js/sap/ushell/services/_MessageBroker/MessageBrokerEngine.js +1 -1
  292. package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +1 -1
  293. package/src/main/js/sap/ushell/services/_Personalization/ContextContainer.js +6 -0
  294. package/src/main/js/sap/ushell/services/_Personalization/PersonalizationContainer.js +5 -1
  295. package/src/main/js/sap/ushell/services/_Personalization/PersonalizationContainerVariant.js +13 -9
  296. package/src/main/js/sap/ushell/services/_Personalization/PersonalizationContainerVariantSet.js +17 -13
  297. package/src/main/js/sap/ushell/services/_Personalization/Personalizer.js +5 -0
  298. package/src/main/js/sap/ushell/services/_Personalization/TransientPersonalizer.js +5 -1
  299. package/src/main/js/sap/ushell/services/_Personalization/Variant.js +4 -0
  300. package/src/main/js/sap/ushell/services/_Personalization/VariantSet.js +17 -9
  301. package/src/main/js/sap/ushell/services/_Personalization/VariantSetAdapter.js +4 -6
  302. package/src/main/js/sap/ushell/services/_Personalization/WindowAdapter.js +5 -44
  303. package/src/main/js/sap/ushell/services/_Personalization/WindowAdapterContainer.js +5 -101
  304. package/src/main/js/sap/ushell/services/_Personalization/constants.js +3 -0
  305. package/src/main/js/sap/ushell/services/_Personalization/constants.private.js +3 -0
  306. package/src/main/js/sap/ushell/services/_Personalization/utils.js +3 -0
  307. package/src/main/js/sap/ushell/services/_PluginManager/Extensions.js +1 -1
  308. package/src/main/js/sap/ushell/services/_PluginManager/HeaderExtensions.js +1 -1
  309. package/src/main/js/sap/ushell/services/_PluginManager/MenuExtensions.js +1 -1
  310. package/src/main/js/sap/ushell/services/_Ui5ComponentLoader/utils.js +29 -5
  311. package/src/main/js/sap/ushell/services/_UserRecents/UserRecentsBase.js +19 -27
  312. package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstance.js +4 -0
  313. package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstanceAbap.js +3 -0
  314. package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstanceLink.js +1 -1
  315. package/src/main/js/sap/ushell/services/personalization/VariantSetAdapter.js +13 -15
  316. package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
  317. package/src/main/js/sap/ushell/themes/sap_horizon/ShellAppTitle.less +4 -4
  318. package/src/main/js/sap/ushell/themes/sap_horizon_dark/ShellAppTitle.less +4 -4
  319. package/src/main/js/sap/ushell/themes/sap_horizon_hcb/ShellAppTitle.less +2 -2
  320. package/src/main/js/sap/ushell/themes/sap_horizon_hcw/ShellAppTitle.less +2 -2
  321. package/src/main/js/sap/ushell/ui/AppContainer.js +2 -2
  322. package/src/main/js/sap/ushell/ui/ContentNodeSelector.js +2 -2
  323. package/src/main/js/sap/ushell/ui/ShellHeader.js +2 -2
  324. package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +1 -1
  325. package/src/main/js/sap/ushell/ui/footerbar/AddBookmarkButton.js +8 -12
  326. package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
  327. package/src/main/js/sap/ushell/ui/launchpad/Page.js +1 -1
  328. package/src/main/js/sap/ushell/ui/launchpad/Section.js +21 -8
  329. package/src/main/js/sap/ushell/ui/launchpad/TileState.js +0 -1
  330. package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +1 -1
  331. package/src/main/js/sap/ushell/ui/shell/ShellAppTitle.js +1 -1
  332. package/src/main/js/sap/ushell/ui/shell/ShellHeadItem.js +1 -1
  333. package/src/main/js/sap/ushell/ui/shell/SysInfoBar.js +1 -1
  334. package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +1 -1
  335. package/src/main/js/sap/ushell/ui/utils.js +1 -1
  336. package/src/main/js/sap/ushell/ui5service/ShellUIService.js +1 -1
  337. package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
  338. package/src/main/js/sap/ushell/ui5service/_ShellUIService/shelluiservice.class.factory.js +14 -26
  339. package/src/main/js/sap/ushell/utils/Deferred.js +88 -0
  340. package/src/main/js/sap/ushell/utils/UrlShortening.js +1 -1
  341. package/src/main/js/sap/ushell/utils/WindowUtils.js +8 -8
  342. package/src/main/js/sap/ushell/utils.js +31 -67
  343. package/src/test/js/sap/ushell/bootstrap/sandbox.js +7 -2
  344. package/ui5.yaml +8 -2
  345. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/HeadEndItemsOverflowPopover.fragment.xml +0 -0
  346. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_ar.properties +0 -0
  347. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_bg.properties +0 -0
  348. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_ca.properties +0 -0
  349. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_cs.properties +0 -0
  350. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_cy.properties +0 -0
  351. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_da.properties +0 -0
  352. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_de.properties +0 -0
  353. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_el.properties +0 -0
  354. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_en.properties +0 -0
  355. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_en_GB.properties +0 -0
  356. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_en_US_sappsd.properties +0 -0
  357. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_en_US_saprigi.properties +0 -0
  358. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_en_US_saptrc.properties +0 -0
  359. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_es.properties +0 -0
  360. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_es_MX.properties +0 -0
  361. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_et.properties +0 -0
  362. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_fi.properties +0 -0
  363. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_fr.properties +0 -0
  364. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_fr_CA.properties +0 -0
  365. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_hi.properties +0 -0
  366. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_hr.properties +0 -0
  367. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_hu.properties +0 -0
  368. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_id.properties +0 -0
  369. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_it.properties +0 -0
  370. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_iw.properties +0 -0
  371. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_ja.properties +0 -0
  372. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_kk.properties +0 -0
  373. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_ko.properties +0 -0
  374. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_lt.properties +0 -0
  375. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_lv.properties +0 -0
  376. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_ms.properties +0 -0
  377. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_nl.properties +0 -0
  378. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_no.properties +0 -0
  379. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_pl.properties +0 -0
  380. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_pt.properties +0 -0
  381. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_pt_PT.properties +0 -0
  382. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_ro.properties +0 -0
  383. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_ru.properties +0 -0
  384. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_sh.properties +0 -0
  385. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_sk.properties +0 -0
  386. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_sl.properties +0 -0
  387. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_sv.properties +0 -0
  388. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_th.properties +0 -0
  389. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_tr.properties +0 -0
  390. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_uk.properties +0 -0
  391. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_vi.properties +0 -0
  392. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_zh_CN.properties +0 -0
  393. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_zh_TW.properties +0 -0
  394. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/search/util.js +0 -0
  395. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/utils.js +0 -0
@@ -18,7 +18,7 @@
18
18
  "sap/ui/model/json/JSONModel",
19
19
  "sap/ui/core/mvc/XMLView",
20
20
  "sap/ui/core/Core",
21
- "sap/ushell/renderers/fiori2/ShellLayout"
21
+ "sap/ushell/renderer/ShellLayout"
22
22
  ], function (
23
23
  Log,
24
24
  Device,
@@ -78,11 +78,11 @@
78
78
 
79
79
  /**
80
80
  * Most of the following code acts just as placeholder for new Unified Shell Control.
81
- * Shell.view.js uses deprecated and synchronous APIs. It is replaced by ShellAsync.view.js
81
+ * renderers/fiori2/Shell.view.js uses deprecated and synchronous APIs. It is replaced by renderer/Shell.view.js
82
82
  *
83
83
  * @returns {sap.ui.core.Control} The root control of the Renderer
84
84
  *
85
- * @deprecated since 1.99. Please use {@link sap.ushell.renderers.fiori2.ShellAsync.view} instead.
85
+ * @deprecated since 1.99. Please use {@link sap.ushell.renderer.Shell.view} instead.
86
86
  */
87
87
  createContent: function () {
88
88
  // Change config if more then three buttons moved to the header
@@ -382,7 +382,7 @@
382
382
  createAllMyAppsView: function () {
383
383
  return XMLView.create({
384
384
  id: "allMyAppsView",
385
- viewName: "sap.ushell.renderers.fiori2.allMyApps.AllMyApps"
385
+ viewName: "sap.ushell.renderer.allMyApps.AllMyApps"
386
386
  }).then(function (allMyAppsView) {
387
387
  allMyAppsView.setModel(this.getShellModel());
388
388
  allMyAppsView.setModel(resources.i18nModel, "i18n");
@@ -575,7 +575,7 @@
575
575
  /**
576
576
  * Adds a binding which is destroyed on Renderer destroy
577
577
  * @param {sap.ui.model.Binding} oBinding The Binding
578
- * @see sap.ushell.renderers.fiori2.Shell.controller#onExit
578
+ * @see sap.ushell.renderer.Shell.controller#onExit
579
579
  *
580
580
  * @private
581
581
  * @since 1.114.0
@@ -586,7 +586,7 @@
586
586
 
587
587
  /**
588
588
  * @param {sap.ui.model.Binding} oBinding The Binding
589
- * @see sap.ushell.renderers.fiori2.Shell.controller#onExit
589
+ * @see sap.ushell.renderer.Shell.controller#onExit
590
590
  *
591
591
  * @private
592
592
  * @since 1.114.0
@@ -597,7 +597,7 @@
597
597
 
598
598
  /**
599
599
  * @param {sap.ui.core.Control} oControl The Control
600
- * @see sap.ushell.renderers.fiori2.Shell.controller#onExit
600
+ * @see sap.ushell.renderer.Shell.controller#onExit
601
601
  *
602
602
  * @private
603
603
  * @since 1.114.0
@@ -1,98 +1,13 @@
1
1
  // Copyright (c) 2009-2023 SAP SE, All Rights Reserved
2
2
 
3
+ /**
4
+ * File was moved to sap/ushell/renderer/allMyApps/AllMyAppsKeyboardHandler
5
+ * @deprecated since 1.120.0
6
+ */
3
7
  sap.ui.define([
4
- "sap/ui/events/KeyCodes",
5
- "sap/ui/thirdparty/jquery"
6
- ], function (KeyCodes, jQuery) {
8
+ "sap/ushell/renderer/allMyApps/AllMyAppsKeyboardHandler"
9
+ ], function (AllMyAppsKeyboardHandler) {
7
10
  "use strict";
8
11
 
9
- var KeyboardNavigation = function () { };
10
-
11
- KeyboardNavigation.prototype.init = function (oView) {
12
- oView.byId("sapUshellAllMyAppsDataSourcesList").addEventDelegate({
13
- // on tab next (Tab)
14
- onsaptabnext: function (e) {
15
- var aDetailAppsElements = jQuery(".sapUshellAllMyAppsListItem");
16
-
17
- this.jqDetailAreaElement = oView.byId("oItemsContainerlist").$();
18
- this.jqDetailAreaElement.on("keydown.keyboardNavigation", this.keydownHandler.bind(this));
19
-
20
- // Focus the first App in the Detail Area.
21
- this._setItemFocus(e, aDetailAppsElements[0]);
22
- }.bind(this)
23
- });
24
- oView.byId("oItemsContainerlist").addEventDelegate({
25
- onsaptabprevious: function (/*e*/) {
26
- var oCurrentlyFocusedAppElement = jQuery('.sapUshellAllMyAppsListItem[tabindex="0"]')[0];
27
-
28
- jQuery(oCurrentlyFocusedAppElement).attr("tabindex", -1);
29
- },
30
- onsaptabnext: function (/*e*/) {
31
- var aCustomPanel = jQuery(".sapUshellAllMyAppsCustomPanel");
32
- var oCurrentlyFocusedAppElement = jQuery('.sapUshellAllMyAppsListItem[tabindex="0"]')[0];
33
-
34
- // Since the is no custom panel, there is no need to "remember" the last selected item
35
- if (aCustomPanel.length === 0) {
36
- jQuery(oCurrentlyFocusedAppElement).attr("tabindex", -1);
37
- }
38
- }
39
- });
40
- // Clicking SHIFT+TAB from the custom panel should return the focus to the last selected item/app.
41
- // Clicking TAB should move the focus to the master list and "forget" the last selected item/app
42
- oView.byId("sapUshellAllMyAppsCustomPanel").addEventDelegate({
43
- onsaptabnext: function (e) {
44
- var oCurrentlyFocusedAppElement = jQuery('.sapUshellAllMyAppsListItem[tabindex="0"]')[0];
45
- jQuery(oCurrentlyFocusedAppElement).attr("tabindex", -1);
46
- }
47
- });
48
- };
49
-
50
- KeyboardNavigation.prototype.keydownHandler = function (e) {
51
- switch (e.keyCode) {
52
- case KeyCodes.ARROW_UP:
53
- this.arrowKeyHandler(e, -2);
54
- break;
55
- case KeyCodes.ARROW_DOWN:
56
- this.arrowKeyHandler(e, 2);
57
- break;
58
- case KeyCodes.ARROW_LEFT:
59
- this.arrowKeyHandler(e, -1);
60
- break;
61
- case KeyCodes.ARROW_RIGHT:
62
- this.arrowKeyHandler(e, 1);
63
- break;
64
- default:
65
- break;
66
- }
67
- };
68
-
69
- KeyboardNavigation.prototype.arrowKeyHandler = function (e, iDirectionFactor) {
70
- var aDetailAppsElements = jQuery(".sapUshellAllMyAppsListItem").toArray();
71
- var oCurrentlyFocusedAppElement = jQuery('.sapUshellAllMyAppsListItem[tabindex="0"]')[0];
72
- var iCurrentlyFocusedIndex = aDetailAppsElements.indexOf(oCurrentlyFocusedAppElement);
73
- var oElementToFocus = aDetailAppsElements[iCurrentlyFocusedIndex + iDirectionFactor];
74
-
75
- if (oElementToFocus) {
76
- jQuery(oCurrentlyFocusedAppElement).attr("tabindex", -1);
77
- this._setItemFocus(e, oElementToFocus);
78
- }
79
- };
80
-
81
- KeyboardNavigation.prototype._setItemFocus = function (e, oElementToFocus) {
82
- if (oElementToFocus) {
83
- e.preventDefault();
84
- e.stopImmediatePropagation();
85
- jQuery(oElementToFocus).attr("tabindex", 0);
86
- oElementToFocus.focus();
87
- }
88
- };
89
-
90
- KeyboardNavigation.prototype.destroy = function () {
91
- if (this.jqDetailAreaElement) {
92
- this.jqDetailAreaElement.off(".keyboardNavigation");
93
- }
94
- delete this.jqDetailAreaElement;
95
- };
96
-
97
- return new KeyboardNavigation();
12
+ return AllMyAppsKeyboardHandler;
98
13
  }, /* bExport= */ true);
@@ -1,443 +1,13 @@
1
1
  // Copyright (c) 2009-2023 SAP SE, All Rights Reserved
2
2
 
3
- sap.ui.define([
4
- "sap/ui/thirdparty/jquery",
5
- "sap/ushell/resources",
6
- "sap/ushell/library"
7
- ], function (
8
- jQuery,
9
- resources,
10
- ushellLibrary
11
- ) {
3
+ /**
4
+ * File was moved to sap/ushell/renderer/allMyApps/AllMyAppsManager
5
+ * @deprecated since 1.120.0
6
+ */
7
+ sap.ui.define([
8
+ "sap/ushell/renderer/allMyApps/AllMyAppsManager"
9
+ ], function (AllMyAppsManager) {
12
10
  "use strict";
13
11
 
14
- var AllMyAppsProviderType = ushellLibrary.AllMyAppsProviderType;
15
-
16
- /**
17
- * Reading apps data from all the data_sources/providers and updating AllMyApps model.
18
- *
19
- * loadAppsData is the main function that is responsible for reading apps data from all data_sources/providers,
20
- * using the following functionality:
21
- * - _handleGroupsData - Reading groups data
22
- * - _handleExternalProvidersData - Reading external_providers data
23
- * - _addCatalogToModel - Reading catalogs data
24
- */
25
- var AllMyAppsManager = function () { };
26
-
27
- AllMyAppsManager.prototype.loadAppsData = function (oModel, oPopoverObject, loadCatalogs) {
28
- return sap.ushell.Container.getServiceAsync("AllMyApps")
29
- .then(function (AllMyApps) {
30
- this.oPopover = oPopoverObject;
31
-
32
- if (!AllMyApps.isEnabled()) {
33
- return;
34
- }
35
-
36
- this.iNumberOfProviders = 0;
37
- this.oModel = oModel;
38
-
39
- if (AllMyApps.isHomePageAppsEnabled()) {
40
- this._handleGroupsData();
41
- }
42
-
43
- if (AllMyApps.isExternalProviderAppsEnabled()) {
44
- this._handleExternalProvidersData(oModel);
45
- }
46
-
47
- if (AllMyApps.isCatalogAppsEnabled()) {
48
- this._handleCatalogs(loadCatalogs);
49
- }
50
-
51
- if (!AllMyApps.isCatalogAppsEnabled() || (AllMyApps.isCatalogAppsEnabled() && loadCatalogs)) {
52
- // Publish event all my apps finished loading.
53
- var oEventBus = sap.ui.getCore().getEventBus();
54
- oEventBus.publish("launchpad", "allMyAppsMasterLoaded");
55
- }
56
- }.bind(this));
57
- };
58
-
59
- AllMyAppsManager.prototype._handleGroupsData = function () {
60
- var oGroupsDataPromise = this._getGroupsData();
61
- var oHomeModelEntry = { title: resources.i18n.getText("allMyApps_homeEntryTitle") };
62
- var aProvidersArray;
63
-
64
- // Get groups apps
65
- return new Promise(function (resolve, reject) {
66
- oGroupsDataPromise.done(resolve).fail(reject);
67
- })
68
- .then(function (oGroupsArray) {
69
- oHomeModelEntry.groups = oGroupsArray;
70
- oHomeModelEntry.type = AllMyAppsProviderType.HOME;
71
-
72
- if (oGroupsArray.length === 0) {
73
- return;
74
- }
75
-
76
- // Home (groups) provider should be at the 1st place in the providers list,
77
- // hence we use array unshift in order to put it at index 0
78
- aProvidersArray = this.oModel.getProperty("/AppsData");
79
- if (aProvidersArray) {
80
- var index = this._getIndexByType(aProvidersArray, oHomeModelEntry.type);
81
- if (index !== undefined) {
82
- aProvidersArray[index] = oHomeModelEntry;
83
- } else {
84
- aProvidersArray.unshift(oHomeModelEntry);
85
- }
86
- }
87
-
88
- this.oModel.setProperty("/AppsData", aProvidersArray);
89
- this.iNumberOfProviders += 1;
90
- }.bind(this));
91
- };
92
-
93
- AllMyAppsManager.prototype._getIndexByType = function (providersArray, providerType) {
94
- if (providersArray.length <= 0) {
95
- return 0;
96
- }
97
-
98
- for (var i = 0; i < providersArray.length; i++) {
99
- if (providersArray[i].type === providerType) {
100
- return i;
101
- }
102
- }
103
- };
104
-
105
- AllMyAppsManager.prototype._getGroupsData = function () {
106
- var oDeferred = new jQuery.Deferred();
107
- sap.ushell.Container.getServiceAsync("LaunchPage")
108
- .then(function (LaunchPage) {
109
- return Promise.all([
110
- LaunchPage.getDefaultGroup(),
111
- LaunchPage.getGroups()
112
- ]);
113
- })
114
- .then(function (aResults) {
115
- this.oDefaultGroup = aResults[0];
116
- var aGroups = aResults[1];
117
- var aPromises = [];
118
- aGroups.forEach(function (oGroup) {
119
- aPromises.push(this._getFormattedGroup(oGroup));
120
- }.bind(this));
121
- return Promise.all(aPromises);
122
- }.bind(this))
123
- .then(function (aFormattedGroups) {
124
- var aFilteredGroups = aFormattedGroups.filter(function (oFormattedGroup) {
125
- return oFormattedGroup && (oFormattedGroup.apps.length > 0 || oFormattedGroup.numberCustomTiles > 0);
126
- });
127
- oDeferred.resolve(aFilteredGroups);
128
- });
129
-
130
- return oDeferred.promise();
131
- };
132
-
133
- AllMyAppsManager.prototype._getFormattedGroup = function (oGroup) {
134
- var oFormattedGroup;
135
- var sGroupTitle;
136
- var aTiles;
137
-
138
- return sap.ushell.Container.getServiceAsync("LaunchPage")
139
- .then(function (LaunchPage) {
140
- // @TODO What about hidden groups? => isGroupVisible(group) === true
141
- if (LaunchPage.isGroupVisible(oGroup) === false) {
142
- return;
143
- }
144
- // The default group gets "My Home" title
145
- if (LaunchPage.getGroupId(oGroup) === LaunchPage.getGroupId(this.oDefaultGroup)) {
146
- sGroupTitle = resources.i18n.getText("my_group");
147
- } else {
148
- sGroupTitle = LaunchPage.getGroupTitle(oGroup);
149
- }
150
- oFormattedGroup = {};
151
- oFormattedGroup.title = sGroupTitle;
152
- oFormattedGroup.apps = [];
153
-
154
- aTiles = LaunchPage.getGroupTiles(oGroup);
155
- return this._getFormattedGroupApps(aTiles);
156
- }.bind(this))
157
- .then(function (oResult) {
158
- if (!oResult) {
159
- return;
160
- }
161
- oFormattedGroup.apps = oResult.aFormattedApps;
162
- oFormattedGroup.numberCustomTiles = oResult.iNumberOfCustomTiles;
163
- if (oResult.iNumberOfCustomTiles === 1) {
164
- oFormattedGroup.sCustomLabel = resources.i18n.getText("allMyApps_customStringSingle");
165
- oFormattedGroup.sCustomLink = resources.i18n.getText("allMyApps_customLinkHomePageSingle");
166
- } else {
167
- oFormattedGroup.sCustomLabel = resources.i18n.getText("allMyApps_customString", [oResult.iNumberOfCustomTiles]);
168
- oFormattedGroup.sCustomLink = resources.i18n.getText("allMyApps_customLinkHomePage");
169
- }
170
- oFormattedGroup.handlePress = this._onHandleGroupPress;
171
- return oFormattedGroup;
172
- }.bind(this));
173
- };
174
-
175
- AllMyAppsManager.prototype._getFormattedGroupApps = function (oApps) {
176
- var aFormattedApps = [];
177
- var iNumberOfCustomTiles = 0;
178
- return sap.ushell.Container.getServiceAsync("LaunchPage")
179
- .then(function (LaunchPage) {
180
- var aPromises = [];
181
- oApps.forEach(function (oTile) {
182
- if (LaunchPage.isTileIntentSupported(oTile)) {
183
- var oGetAppEntityFromTilePromise = this._getAppEntityFromTile(oTile)
184
- .then(function (oApp) {
185
- if (oApp) {
186
- aFormattedApps.push(oApp);
187
- } else {
188
- // if this is not an app this is a custom tile.
189
- iNumberOfCustomTiles++;
190
- }
191
- });
192
- aPromises.push(oGetAppEntityFromTilePromise);
193
- }
194
- }.bind(this));
195
- return Promise.all(aPromises);
196
- }.bind(this))
197
- .then(function () {
198
- return {
199
- iNumberOfCustomTiles: iNumberOfCustomTiles,
200
- aFormattedApps: aFormattedApps
201
- };
202
- });
203
- };
204
-
205
- AllMyAppsManager.prototype._onHandleGroupPress = function (ev, oData) {
206
- window.hasher.setHash("#Shell-home");
207
- // Close the popover on navigation (it should be explicitly closed when navigating with the same hash)
208
- this.oPopover.close();
209
- var oBus = sap.ui.getCore().getEventBus();
210
-
211
- // This is in the case of cold start
212
- oBus.subscribe("launchpad", "dashboardModelContentLoaded", function () {
213
- oBus.publish("launchpad", "scrollToGroupByName", {
214
- groupName: oData.title,
215
- isInEditTitle: false
216
- });
217
- }, this);
218
-
219
- // Try to open in case we are not in cold start
220
- oBus.publish("launchpad", "scrollToGroupByName", {
221
- groupName: oData.title,
222
- isInEditTitle: false
223
- });
224
- };
225
-
226
- AllMyAppsManager.prototype._handleExternalProvidersData = function () {
227
- var that = this;
228
- return sap.ushell.Container.getServiceAsync("AllMyApps")
229
- .then(function (AllMyApps) {
230
- var oExternalProviders = AllMyApps.getDataProviders();
231
- var aExternalProvidersIDs = Object.keys(oExternalProviders);
232
- var sExternalProviderId;
233
- var oExternalProvider;
234
- var sExternalProviderTitle;
235
- var oExternalProviderModelEntry;
236
- var index;
237
- var oExternalProviderPromise;
238
-
239
- // Get external providers apps
240
- if (aExternalProvidersIDs.length > 0) {
241
- for (index = 0; index < aExternalProvidersIDs.length; index++) {
242
- sExternalProviderId = aExternalProvidersIDs[index];
243
- oExternalProvider = oExternalProviders[sExternalProviderId];
244
- sExternalProviderTitle = oExternalProvider.getTitle();
245
- oExternalProviderModelEntry = {};
246
- oExternalProviderModelEntry.title = sExternalProviderTitle;
247
- oExternalProviderPromise = oExternalProvider.getData();
248
- oExternalProviderPromise.done(function (aProviderDataArray) {
249
- // If the promise for data is resolved valid array of at least one group
250
- if (aProviderDataArray && (aProviderDataArray.length > 0)) {
251
- this.groups = aProviderDataArray;
252
- this.type = AllMyAppsProviderType.EXTERNAL;
253
- that.oModel.setProperty("/AppsData/" + that.iNumberOfProviders, this);
254
- that.iNumberOfProviders += 1;
255
- // Publish event all my apps finished loading.
256
- var oEventBus = sap.ui.getCore().getEventBus();
257
- oEventBus.publish("launchpad", "allMyAppsMasterLoaded");
258
- }
259
- }.bind(oExternalProviderModelEntry));
260
- }
261
- }
262
- });
263
- };
264
-
265
- AllMyAppsManager.prototype._handleNotFirstCatalogsLoad = function () {
266
- var oModel = this.oModel.getProperty("/AppsData");
267
- var sCatalogProvider = AllMyAppsProviderType.CATALOG;
268
- if (oModel.length && oModel[oModel.length - 1].type === sCatalogProvider) {
269
- this.bFirstCatalogLoaded = true;
270
- sap.ui.getCore().getEventBus().publish("launchpad", "allMyAppsFirstCatalogLoaded", { bFirstCatalogLoadedEvent: true });
271
- }
272
- };
273
-
274
- AllMyAppsManager.prototype._handleCatalogs = function (loadCatalogs) {
275
- if (!loadCatalogs) {
276
- this._handleNotFirstCatalogsLoad();
277
- return Promise.resolve();
278
- }
279
- this.bFirstCatalogLoaded = false;
280
- // Array of promise objects that are generated inside addCatalogToModel (the "progress" function of getCatalogs)
281
- this.aPromises = [];
282
- // Get catalog apps
283
- return sap.ushell.Container.getServiceAsync("LaunchPage")
284
- .then(function (LaunchPage) {
285
- LaunchPage.getCatalogs()
286
- // There's a need to make sure that onDoneLoadingCatalogs is called only after all catalogs are loaded
287
- // (i.e. all calls to addCatalogToModel are finished).
288
- // For this, all the promise objects that are generated inside addCatalogToModel are generated into this.aPromises,
289
- // and jQuery.when calls onDoneLoadingCatalogs only after all the promises are resolved
290
- .done(function (/*catalogs*/) {
291
- jQuery.when.apply(jQuery, this.aPromises).then(this._onDoneLoadingCatalogs.bind(this));
292
- }.bind(this))
293
- // in case of a severe error, show an error message
294
- .fail(function (/*args*/) {
295
- this._onGetCatalogsFail(resources.i18n.getText("fail_to_load_catalog_msg"));
296
- }.bind(this))
297
- // for each loaded catalog, add it to the model
298
- .progress(this._addCatalogToModel.bind(this));
299
- }.bind(this));
300
- };
301
-
302
- AllMyAppsManager.prototype._addCatalogToModel = function (oCatalog) {
303
- var LaunchPage;
304
- var oProviderModelEntry = {
305
- apps: [],
306
- numberCustomTiles: 0,
307
- type: null
308
- };
309
- var iProvidersIndex;
310
- var aPromises = [
311
- sap.ushell.Container.getServiceAsync("LaunchPage")
312
- ];
313
-
314
- // Even though the code is asynchronous now there might be severe race conditions if this method gets called multiple times in a short timeframe.
315
- // Therefore we ensure the calls are handled synchronously
316
- if (this._oAddCatalogToModelPromise) {
317
- aPromises.push(this._oAddCatalogToModelPromise);
318
- }
319
-
320
- this._oAddCatalogToModelPromise = Promise.all(aPromises)
321
- .then(function (aValues) {
322
- LaunchPage = aValues[0];
323
- oProviderModelEntry.type = AllMyAppsProviderType.CATALOG;
324
-
325
- var oCatalogTilesPromise = LaunchPage.getCatalogTiles(oCatalog);
326
- this.aPromises.push(oCatalogTilesPromise);
327
- return oCatalogTilesPromise;
328
- }.bind(this))
329
- .then(function (aCatalogTiles) {
330
- var aProviders;
331
- if (aCatalogTiles.length === 0) {
332
- return;
333
- }
334
- // find if catalog with the same name already exists.
335
- var sCatalogName = LaunchPage.getCatalogTitle(oCatalog);
336
-
337
- aProviders = this.oModel.getProperty("/AppsData");
338
- for (iProvidersIndex = 0; iProvidersIndex < aProviders.length; iProvidersIndex++) {
339
- if ((aProviders[iProvidersIndex].type === AllMyAppsProviderType.CATALOG) && (aProviders[iProvidersIndex].title === sCatalogName)) {
340
- // if not create a new catalog entry.
341
- oProviderModelEntry = aProviders[iProvidersIndex];
342
- break;
343
- }
344
- }
345
-
346
- // add the attributes and tile for the catalog.
347
- oProviderModelEntry.title = LaunchPage.getCatalogTitle(oCatalog);
348
- return this._getFormattedGroupApps(aCatalogTiles);
349
- }.bind(this))
350
- .then(function (oResult) {
351
- if (!oResult) {
352
- return;
353
- }
354
- // Extend the array since we might have found an existing ProviderModelEntry with included apps
355
- Array.prototype.push.apply(oProviderModelEntry.apps, oResult.aFormattedApps);
356
- oProviderModelEntry.numberCustomTiles = oResult.iNumberOfCustomTiles;
357
- if (oProviderModelEntry.numberCustomTiles === 1) {
358
- oProviderModelEntry.sCustomLabel = resources.i18n.getText("allMyApps_customStringSingle");
359
- oProviderModelEntry.sCustomLink = resources.i18n.getText("allMyApps_customLinkAppFinderSingle");
360
- } else {
361
- oProviderModelEntry.sCustomLabel = resources.i18n.getText("allMyApps_customString", [oProviderModelEntry.numberCustomTiles]);
362
- oProviderModelEntry.sCustomLink = resources.i18n.getText("allMyApps_customLinkAppFinder");
363
- }
364
-
365
- oProviderModelEntry.handlePress = function (ev, oData) {
366
- // Close the popover on navigation (it should be explicitly closed when navigating with the same hash)
367
- this.oPopover.close();
368
- window.hasher.setHash("#Shell-home&/appFinder/catalog/" + JSON.stringify({
369
- catalogSelector: oData.title,
370
- tileFilter: "",
371
- tagFilter: "[]",
372
- targetGroup: ""
373
- }));
374
- }.bind(this);
375
-
376
- // Add the catalog to the model as a data-source/provider only if it includes at least one app
377
- if (oProviderModelEntry.apps.length > 0 || oProviderModelEntry.numberCustomTiles > 0) {
378
- this.oModel.setProperty("/AppsData/" + iProvidersIndex, oProviderModelEntry);
379
- if (this.bFirstCatalogLoaded === false) {
380
- sap.ui.getCore().getEventBus().publish("launchpad", "allMyAppsFirstCatalogLoaded", { bFirstCatalogLoadedEvent: true });
381
- this.bFirstCatalogLoaded = true;
382
- }
383
- this.iNumberOfProviders += 1;
384
- }
385
- }.bind(this));
386
- return this._oAddCatalogToModelPromise;
387
- };
388
-
389
- AllMyAppsManager.prototype._onGetCatalogsFail = function (sMessage) {
390
- return sap.ushell.Container.getServiceAsync("Message")
391
- .then(function (Message) {
392
- Message.info(sMessage);
393
- });
394
- };
395
-
396
- AllMyAppsManager.prototype._onDoneLoadingCatalogs = function () {
397
- // Sort the catalogs alphabetically for continuity reasons
398
- var oModel = this.oModel.getProperty("/AppsData");
399
- oModel.sort(function (a, b) {
400
- var nameA = a.title.toUpperCase();
401
- var nameB = b.title.toUpperCase();
402
- if (nameA < nameB) {
403
- return -1;
404
- }
405
- if (nameA > nameB) {
406
- return 1;
407
- }
408
- return 0;
409
- });
410
- this.oModel.setProperty("/AppsData", oModel);
411
-
412
- var oEventBus = sap.ui.getCore().getEventBus();
413
-
414
- if (!this.bFirstCatalogLoaded) {
415
- oEventBus.publish("launchpad", "allMyAppsNoCatalogsLoaded");
416
- }
417
- };
418
-
419
- AllMyAppsManager.prototype._getAppEntityFromTile = function (oCatalogTile) {
420
- return sap.ushell.Container.getServiceAsync("LaunchPage")
421
- .then(function (LaunchPage) {
422
- var oApp;
423
- var sTileTitle = LaunchPage.getCatalogTilePreviewTitle(oCatalogTile);
424
- var sTileSubTitle = LaunchPage.getCatalogTilePreviewSubtitle(oCatalogTile);
425
- var sTileUrl = LaunchPage.getCatalogTileTargetURL(oCatalogTile);
426
-
427
- // If the tile has a valid url and either title or subtitle
428
- if (sTileUrl && (sTileTitle || sTileSubTitle)) {
429
- oApp = {};
430
- oApp.url = sTileUrl;
431
- if (sTileTitle) {
432
- oApp.title = sTileTitle;
433
- oApp.subTitle = sTileSubTitle;
434
- } else {
435
- oApp.title = sTileSubTitle;
436
- }
437
- return oApp;
438
- }
439
- });
440
- };
441
-
442
- return new AllMyAppsManager();
12
+ return AllMyAppsManager;
443
13
  }, /* bExport= */ true);
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  if (!this._oResourceModel) {
20
20
  // create translation resource model
21
21
  this._oResourceModel = new ResourceModel({
22
- bundleUrl: sap.ui.require.toUrl("sap/ushell/renderers/fiori2/resources/resources.properties"),
22
+ bundleUrl: sap.ui.require.toUrl("sap/ushell/renderer/resources/resources.properties"),
23
23
  bundleLocale: sLocale
24
24
  });
25
25
  }
@@ -6,7 +6,15 @@ sap.ui.define([
6
6
  "use strict";
7
7
 
8
8
  /**
9
- * A UShell service for registering an external provider of content (i.e., data source) to display All My Apps UI in the SAP Fiori launchpad.<br><br>
9
+ * @alias sap.ushell.services.AllMyApps
10
+ * @class
11
+ *
12
+ * @classdesc A UShell service for registering an external provider of content (i.e., data source) to display All My Apps UI in the SAP Fiori launchpad.<br><br>
13
+ *
14
+ * <b>Note:</b> To retrieve a valid instance of this service, it is necessary to call
15
+ * <code>sap.ushell.Container.getServiceAsync("AllMyApps")</code>. For details, see
16
+ * {@link sap.ushell.services.Container#getServiceAsync}.
17
+ *
10
18
  * All My Apps UI is a Unified Shell module that allows the user to view their available data sources and applications
11
19
  * and to launch/navigate to an application.<br>
12
20
  * A data sources can be one of the following types:<br>
@@ -24,18 +32,20 @@ sap.ui.define([
24
32
  * - isExternalProviderAppsEnabled<br>
25
33
  *
26
34
  * To add an external provider as a custom data source, you must registered it using the service function registerExternalProvider.<br>
35
+ *
27
36
  * @param {object} oContainerInterface The container interface
28
37
  * @param {string} sParameters The parameter string
29
38
  * @param {object} oServiceConfiguration The service configuration
30
39
  *
31
- * @since 1.45.0
40
+ * @hideconstructor
32
41
  *
42
+ * @since 1.45.0
33
43
  * @private
34
44
  */
35
45
  function AllMyApps (oContainerInterface, sParameters, oServiceConfiguration) {
36
- var oServiceConfig = oServiceConfiguration && oServiceConfiguration.config,
37
- bEnabled = false,
38
- oDataProviders = {};
46
+ var oServiceConfig = oServiceConfiguration && oServiceConfiguration.config;
47
+ var bEnabled = false;
48
+ var oDataProviders = {};
39
49
 
40
50
  // *************************************************************************************************
41
51
  // ************************************* Service API - Begin ***************************************
@@ -176,8 +186,7 @@ sap.ui.define([
176
186
  *
177
187
  * @private
178
188
  */
179
- this.init = function () {
180
- };
189
+ this.init = function () { };
181
190
  }
182
191
 
183
192
  AllMyApps.hasNoAdapter = true;