@sapui5/sap.ushell 1.118.0 → 1.119.2

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 (372) hide show
  1. package/package.json +6 -5
  2. package/src/main/js/sap/ushell/.library +1 -1
  3. package/src/main/js/sap/ushell/ApplicationType.js +1 -1
  4. package/src/main/js/sap/ushell/CanvasShapesManager.js +13 -7
  5. package/src/main/js/sap/ushell/Config.js +1 -1
  6. package/src/main/js/sap/ushell/Container.js +255 -185
  7. package/src/main/js/sap/ushell/EventHub.js +1 -1
  8. package/src/main/js/sap/ushell/Fiori20Adapter.js +1 -1
  9. package/src/main/js/sap/ushell/Fiori20AdapterTest.js +2 -2
  10. package/src/main/js/sap/ushell/Layout.js +3 -3
  11. package/src/main/js/sap/ushell/NWBCInterface.js +3 -3
  12. package/src/main/js/sap/ushell/TechnicalParameters.js +3 -3
  13. package/src/main/js/sap/ushell/UIActions.js +44 -44
  14. package/src/main/js/sap/ushell/URLTemplateProcessor.js +1 -1
  15. package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +1 -1
  16. package/src/main/js/sap/ushell/Ui5ServiceFactory.js +4 -4
  17. package/src/main/js/sap/ushell/User.js +1 -1
  18. package/src/main/js/sap/ushell/UserActivityLog.js +8 -8
  19. package/src/main/js/sap/ushell/_ApplicationType/guiResolution.js +5 -5
  20. package/src/main/js/sap/ushell/_ApplicationType/systemAlias.js +1 -1
  21. package/src/main/js/sap/ushell/_ApplicationType/urlTemplateResolution.js +16 -11
  22. package/src/main/js/sap/ushell/_Config/utils.js +5 -5
  23. package/src/main/js/sap/ushell/_URLTemplateProcessor/DefinitionParameterSetBuilder.js +1 -1
  24. package/src/main/js/sap/ushell/_URLTemplateProcessor/DependencyGraph.js +1 -1
  25. package/src/main/js/sap/ushell/_URLTemplateProcessor/Functions.js +1 -1
  26. package/src/main/js/sap/ushell/_URLTemplateProcessor/Resolvers.js +1 -1
  27. package/src/main/js/sap/ushell/_URLTemplateProcessor/TemplateParameterParser.js +1 -1
  28. package/src/main/js/sap/ushell/_URLTemplateProcessor/utils.js +1 -1
  29. package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +14 -8
  30. package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +4 -5
  31. package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
  32. package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +1 -2
  33. package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +12 -13
  34. package/src/main/js/sap/ushell/adapters/cdm/MenuAdapter.js +1 -1
  35. package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +4 -3
  36. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
  37. package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +1 -1
  38. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +2 -2
  39. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +1 -1
  40. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +1 -1
  41. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +1 -1
  42. package/src/main/js/sap/ushell/adapters/cdm/_Personalization/internals.js +1 -1
  43. package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +5 -2
  44. package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +4 -1
  45. package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +3 -4
  46. package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +10 -11
  47. package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +1 -1
  48. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +1 -1
  49. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +1 -1
  50. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +1 -1
  51. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +1 -1
  52. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +1 -1
  53. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +1 -1
  54. package/src/main/js/sap/ushell/adapters/cdm/v3/utilsCdm.js +2 -2
  55. package/src/main/js/sap/ushell/adapters/cep/MenuAdapter.js +0 -1
  56. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +3 -4
  57. package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +3 -2
  58. package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +3 -3
  59. package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +1 -1
  60. package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +2 -3
  61. package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +3 -3
  62. package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +1 -3
  63. package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +2 -3
  64. package/src/main/js/sap/ushell/adapters/local/MenuAdapter.js +1 -1
  65. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +1 -1
  66. package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +1 -1
  67. package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +2 -2
  68. package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +1 -2
  69. package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +1 -1
  70. package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +1 -1
  71. package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +1 -1
  72. package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +1 -1
  73. package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +1 -2
  74. package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +1 -1
  75. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +5 -9
  76. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/Renderer.js +5 -3
  77. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/RendererExtensions.js +31 -3
  78. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppLifeCycleAgent.js +2 -0
  79. package/src/main/js/sap/ushell/appRuntime/ui5/services/Bookmark.js +7 -3
  80. package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
  81. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/FLPLoader.js +1 -1
  82. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/logger.js +1 -1
  83. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/state.js +3 -3
  84. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5.js +2 -2
  85. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5datetimeformat.js +1 -1
  86. package/src/main/js/sap/ushell/bootstrap/common/common.create.configcontract.core.js +1 -0
  87. package/src/main/js/sap/ushell/bootstrap/common/common.load.core-min.js +2 -2
  88. package/src/main/js/sap/ushell/bootstrap/common/common.load.launchpad.js +7 -3
  89. package/src/main/js/sap/ushell/bootstrap/common/common.load.script.js +4 -4
  90. package/src/main/js/sap/ushell/bootstrap/common/common.util.js +7 -7
  91. package/src/main/js/sap/ushell/bootstrap/sandbox2/sandboxConfig.json +214 -0
  92. package/src/main/js/sap/ushell/bootstrap/sandbox2/sandboxSite.json +511 -0
  93. package/src/main/js/sap/ushell/bootstrap/sandbox2.js +398 -0
  94. package/src/main/js/sap/ushell/components/CatalogsManager.js +26 -25
  95. package/src/main/js/sap/ushell/components/ComponentKeysHandler.js +20 -15
  96. package/src/main/js/sap/ushell/components/DestroyHelper.js +2 -2
  97. package/src/main/js/sap/ushell/components/HomepageManager.js +6 -6
  98. package/src/main/js/sap/ushell/components/_HeaderManager/ControlManager.js +1 -1
  99. package/src/main/js/sap/ushell/components/_HomepageManager/PagingManager.js +5 -5
  100. package/src/main/js/sap/ushell/components/appfinder/AppFinder.controller.js +19 -15
  101. package/src/main/js/sap/ushell/components/appfinder/AppFinderView.js +12 -12
  102. package/src/main/js/sap/ushell/components/appfinder/Catalog.controller.js +18 -18
  103. package/src/main/js/sap/ushell/components/appfinder/CatalogView.js +1 -1
  104. package/src/main/js/sap/ushell/components/appfinder/EasyAccess.controller.js +2 -2
  105. package/src/main/js/sap/ushell/components/appfinder/HierarchyApps.controller.js +6 -6
  106. package/src/main/js/sap/ushell/components/appfinder/VisualizationOrganizerHelper.js +4 -4
  107. package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
  108. package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +8 -6
  109. package/src/main/js/sap/ushell/components/applicationIntegration/application/Application.js +2 -2
  110. package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxHandler.js +1 -1
  111. package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPI.js +1 -1
  112. package/src/main/js/sap/ushell/components/applicationIntegration/application/WebGUIStatefulHandler.js +5 -5
  113. package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +21 -26
  114. package/src/main/js/sap/ushell/components/applicationIntegration/elements/model.js +1 -1
  115. package/src/main/js/sap/ushell/components/applicationIntegration/relatedServices/RelatedServices.js +1 -1
  116. package/src/main/js/sap/ushell/components/applicationIntegration/relatedShellElements/RelatedShellElements.js +1 -1
  117. package/src/main/js/sap/ushell/components/cards/Configuration.controller.js +2 -2
  118. package/src/main/js/sap/ushell/components/cepsearchresult/app/Main.controller.js +6 -2
  119. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/Category.js +44 -6
  120. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/categories/Application.js +22 -9
  121. package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +23 -16
  122. package/src/main/js/sap/ushell/components/contentFinder/Component.js +1 -1
  123. package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +1 -1
  124. package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +1 -1
  125. package/src/main/js/sap/ushell/components/contentFinder/controller/WidgetGallery.controller.js +1 -1
  126. package/src/main/js/sap/ushell/components/contentFinder/manifest.json +1 -1
  127. package/src/main/js/sap/ushell/components/factsheet/Component.js +1 -1
  128. package/src/main/js/sap/ushell/components/factsheet/controls/PictureTile.js +1 -2
  129. package/src/main/js/sap/ushell/components/factsheet/controls/PictureViewer.js +5 -6
  130. package/src/main/js/sap/ushell/components/factsheet/controls/PictureViewerItem.js +1 -2
  131. package/src/main/js/sap/ushell/components/factsheet/factory/ThingInspector.js +3 -3
  132. package/src/main/js/sap/ushell/components/homeApp/error/HomeAppError.controller.js +0 -1
  133. package/src/main/js/sap/ushell/components/homeApp/error/HomeAppError.view.xml +7 -6
  134. package/src/main/js/sap/ushell/components/homepage/ActionMode.js +1 -1
  135. package/src/main/js/sap/ushell/components/homepage/DashboardContent.controller.js +2 -7
  136. package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +13 -13
  137. package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +1 -1
  138. package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +1 -1
  139. package/src/main/js/sap/ushell/components/homepage/manifest.json +1 -1
  140. package/src/main/js/sap/ushell/components/pages/ActionMode.js +10 -10
  141. package/src/main/js/sap/ushell/components/pages/Component.js +1 -1
  142. package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +1 -1
  143. package/src/main/js/sap/ushell/components/pages/StateManager.js +2 -2
  144. package/src/main/js/sap/ushell/components/pages/controller/ImportDialog.controller.js +12 -12
  145. package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +93 -95
  146. package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
  147. package/src/main/js/sap/ushell/components/pages/view/PageRuntime.view.xml +31 -23
  148. package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +1 -1
  149. package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
  150. package/src/main/js/sap/ushell/components/shell/MenuBar/controller/MenuBar.controller.js +7 -6
  151. package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +1 -1
  152. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +1 -3
  153. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +2 -2
  154. package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +1 -1
  155. package/src/main/js/sap/ushell/components/shell/Notifications/Notifications.controller.js +2 -2
  156. package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +1 -1
  157. package/src/main/js/sap/ushell/components/shell/Search/ESearch.js +1 -1
  158. package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
  159. package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +2 -2
  160. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchCEP.controller.js +74 -16
  161. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchFieldFragment.fragment.xml +2 -1
  162. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +1 -2
  163. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +1 -2
  164. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +1 -1
  165. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchServiceProvider.js +1 -2
  166. package/src/main/js/sap/ushell/components/shell/Settings/Component.js +1 -1
  167. package/src/main/js/sap/ushell/components/shell/Settings/ErrorMessageHelper.js +8 -9
  168. package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.controller.js +53 -13
  169. package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.view.xml +5 -0
  170. package/src/main/js/sap/ushell/components/shell/Settings/appearance/Appearance.controller.js +41 -38
  171. package/src/main/js/sap/ushell/components/shell/Settings/notifications/NotificationsSetting.controller.js +1 -1
  172. package/src/main/js/sap/ushell/components/shell/Settings/userActivities/UserActivitiesSetting.controller.js +2 -2
  173. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/UserDefaultsForm.js +1 -1
  174. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/controller/UserDefaultsSetting.controller.js +7 -3
  175. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +1 -1
  176. package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +1 -1
  177. package/src/main/js/sap/ushell/components/tiles/applauncher/StaticTile.view.js +0 -2
  178. package/src/main/js/sap/ushell/components/tiles/applauncher/StaticTileTmp.view.js +0 -2
  179. package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/DynamicTileTmp.view.js +0 -2
  180. package/src/main/js/sap/ushell/components/tiles/cdm/applauncher/StaticTile.view.js +0 -2
  181. package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.controller.js +1 -1
  182. package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.view.js +0 -2
  183. package/src/main/js/sap/ushell/components/tiles/indicatorTileUtils/oData4Analytics.js +41 -48
  184. package/src/main/js/sap/ushell/components/tiles/indicatorTileUtils/smartBusinessUtil.js +3 -3
  185. package/src/main/js/sap/ushell/components/tiles/utils.js +1 -1
  186. package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +5 -18
  187. package/src/main/js/sap/ushell/components/visualizationOrganizer/VisualizationOrganizerPopover.fragment.xml +3 -3
  188. package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +1 -1
  189. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility.js +1 -1
  190. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +65 -95
  191. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.layout.js +182 -90
  192. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageHost.js +1 -1
  193. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +1 -1
  194. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +1 -1
  195. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +1 -1
  196. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +1 -1
  197. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnRenderer.js +0 -2
  198. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +1 -1
  199. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +53 -3
  200. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRowRenderer.js +3 -0
  201. package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
  202. package/src/main/js/sap/ushell/components/workPageBuilder/view/WorkPageBuilder.view.xml +1 -0
  203. package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +1 -1
  204. package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +6 -2
  205. package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +1 -1
  206. package/src/main/js/sap/ushell/components/workPageRuntime/services/NavigationResolver.js +1 -2
  207. package/src/main/js/sap/ushell/components/workPageRuntime/services/WorkPage.js +1 -2
  208. package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
  209. package/src/main/js/sap/ushell/library.js +4 -2
  210. package/src/main/js/sap/ushell/navigationMode.js +10 -5
  211. package/src/main/js/sap/ushell/override.js +1 -1
  212. package/src/main/js/sap/ushell/performance/FesrEnhancer.js +248 -187
  213. package/src/main/js/sap/ushell/performance/ShellAnalytics.js +206 -207
  214. package/src/main/js/sap/ushell/performance/StatisticalRecord.js +366 -230
  215. package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
  216. package/src/main/js/sap/ushell/renderers/fiori2/Renderer.js +39 -23
  217. package/src/main/js/sap/ushell/renderers/fiori2/RendererExtensions.js +105 -25
  218. package/src/main/js/sap/ushell/renderers/fiori2/Shell.controller.js +63 -52
  219. package/src/main/js/sap/ushell/renderers/fiori2/ShellLayout.js +1 -1
  220. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources.properties +1 -1
  221. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_ko.properties +1 -1
  222. package/src/main/js/sap/ushell/renderers/fiori2/search/searchComponent/manifest.json +1 -1
  223. package/src/main/js/sap/ushell/services/AppConfiguration.js +3 -3
  224. package/src/main/js/sap/ushell/services/AppLifeCycle.js +1 -1
  225. package/src/main/js/sap/ushell/services/AppState.js +2 -3
  226. package/src/main/js/sap/ushell/services/Bookmark.js +1 -1
  227. package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +1 -1
  228. package/src/main/js/sap/ushell/services/CommonDataModel.js +4 -5
  229. package/src/main/js/sap/ushell/services/Configuration.js +1 -2
  230. package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +2 -2
  231. package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +1 -1
  232. package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +36 -33
  233. package/src/main/js/sap/ushell/services/DarkModeSupport.js +2 -2
  234. package/src/main/js/sap/ushell/services/EndUserFeedback.js +2 -2
  235. package/src/main/js/sap/ushell/services/LaunchPage.js +11 -8
  236. package/src/main/js/sap/ushell/services/Menu.js +31 -37
  237. package/src/main/js/sap/ushell/services/Message.js +1 -2
  238. package/src/main/js/sap/ushell/services/MessageBroker.js +1 -2
  239. package/src/main/js/sap/ushell/services/NavTargetResolution.js +58 -9
  240. package/src/main/js/sap/ushell/services/Navigation.js +1356 -0
  241. package/src/main/js/sap/ushell/services/NavigationDataProvider.js +7 -5
  242. package/src/main/js/sap/ushell/services/Notifications.js +16 -16
  243. package/src/main/js/sap/ushell/services/PageBuilding.js +1 -2
  244. package/src/main/js/sap/ushell/services/PagePersistence.js +6 -6
  245. package/src/main/js/sap/ushell/services/PageReferencing.js +2 -2
  246. package/src/main/js/sap/ushell/services/Pages.js +24 -25
  247. package/src/main/js/sap/ushell/services/Personalization.js +5 -5
  248. package/src/main/js/sap/ushell/services/PluginManager.js +1 -2
  249. package/src/main/js/sap/ushell/services/ReferenceResolver.js +2 -2
  250. package/src/main/js/sap/ushell/services/Search.js +1 -1
  251. package/src/main/js/sap/ushell/services/SearchCEP.js +2 -1
  252. package/src/main/js/sap/ushell/services/SearchableContent.js +85 -59
  253. package/src/main/js/sap/ushell/services/ShellNavigation.js +59 -17
  254. package/src/main/js/sap/ushell/services/ShellNavigationHashChanger.js +115 -39
  255. package/src/main/js/sap/ushell/services/SmartNavigation.js +4 -4
  256. package/src/main/js/sap/ushell/services/SpaceContent.js +5 -6
  257. package/src/main/js/sap/ushell/services/SupportTicket.js +1 -1
  258. package/src/main/js/sap/ushell/services/UITracer.js +5 -3
  259. package/src/main/js/sap/ushell/services/URLShortening.js +1 -1
  260. package/src/main/js/sap/ushell/services/URLTemplate.js +2 -2
  261. package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +7 -7
  262. package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +1 -2
  263. package/src/main/js/sap/ushell/services/UserDefaultParameters.js +1 -1
  264. package/src/main/js/sap/ushell/services/UserInfo.js +1 -1
  265. package/src/main/js/sap/ushell/services/UserRecents.js +91 -69
  266. package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +10 -6
  267. package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +1 -3
  268. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Formatter.js +1 -1
  269. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundIndex.js +1 -1
  270. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundProvider.js +2 -5
  271. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/PrelaunchOperations.js +2 -2
  272. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Search.js +11 -11
  273. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/StagedLogger.js +1 -1
  274. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/SystemContext.js +1 -1
  275. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Utils.js +6 -6
  276. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/VirtualInbounds.js +1 -1
  277. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/XAppStateProcessing.js +2 -2
  278. package/src/main/js/sap/ushell/services/_CommonDataModel/PersonalizationProcessor.js +1 -2
  279. package/src/main/js/sap/ushell/services/_CommonDataModel/SiteConverter.js +1 -1
  280. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +1 -1
  281. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +1 -1
  282. package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +9 -14
  283. package/src/main/js/sap/ushell/services/_MessageBroker/MessageBrokerEngine.js +1 -1
  284. package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +1 -1
  285. package/src/main/js/sap/ushell/services/_Personalization/ContextContainer.js +34 -21
  286. package/src/main/js/sap/ushell/services/_Personalization/Variant.js +5 -2
  287. package/src/main/js/sap/ushell/services/_Personalization/VariantSet.js +18 -12
  288. package/src/main/js/sap/ushell/services/_Personalization/utils.js +2 -2
  289. package/src/main/js/sap/ushell/services/_PluginManager/Extensions.js +1 -1
  290. package/src/main/js/sap/ushell/services/_PluginManager/HeaderExtensions.js +3 -3
  291. package/src/main/js/sap/ushell/services/_PluginManager/MenuExtensions.js +1 -1
  292. package/src/main/js/sap/ushell/services/_Ui5ComponentLoader/utils.js +1 -1
  293. package/src/main/js/sap/ushell/services/_UserRecents/RecentActivity.js +206 -214
  294. package/src/main/js/sap/ushell/services/_UserRecents/RecentAppsUsage.js +46 -54
  295. package/src/main/js/sap/ushell/services/_UserRecents/RecentsList.js +39 -40
  296. package/src/main/js/sap/ushell/services/_UserRecents/UserRecentsBase.js +29 -36
  297. package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstance.js +1 -1
  298. package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstanceAbap.js +1 -1
  299. package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstanceCdm.js +1 -1
  300. package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstanceLaunchPage.js +10 -8
  301. package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstanceLink.js +2 -2
  302. package/src/main/js/sap/ushell/services/appstate/LimitedBuffer.js +1 -2
  303. package/src/main/js/sap/ushell/services/appstate/Sequentializer.js +1 -1
  304. package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
  305. package/src/main/js/sap/ushell/themes/base/SearchCEP.less +8 -0
  306. package/src/main/js/sap/ushell/themes/base/ShellHeader.less +12 -6
  307. package/src/main/js/sap/ushell/themes/base/WorkPage.less +34 -4
  308. package/src/main/js/sap/ushell/themes/base/WorkPageCell.less +3 -1
  309. package/src/main/js/sap/ushell/themes/base/WorkPageColumn.less +3 -76
  310. package/src/main/js/sap/ushell/themes/base/WorkPageColumnResizer.less +2 -1
  311. package/src/main/js/sap/ushell/themes/base/WorkPageRow.less +822 -6
  312. package/src/main/js/sap/ushell/themes/sap_horizon/SearchCEP.less +4 -0
  313. package/src/main/js/sap/ushell/themes/sap_horizon/ToolAreaItem.less +1 -1
  314. package/src/main/js/sap/ushell/themes/sap_horizon_dark/SearchCEP.less +4 -0
  315. package/src/main/js/sap/ushell/themes/sap_horizon_dark/ToolAreaItem.less +1 -1
  316. package/src/main/js/sap/ushell/themes/sap_horizon_hcb/SearchCEP.less +5 -0
  317. package/src/main/js/sap/ushell/themes/sap_horizon_hcw/SearchCEP.less +5 -0
  318. package/src/main/js/sap/ushell/ui/AppContainer.js +0 -1
  319. package/src/main/js/sap/ushell/ui/ContentNodeSelector.js +1 -1
  320. package/src/main/js/sap/ushell/ui/QuickAccess.js +2 -2
  321. package/src/main/js/sap/ushell/ui/ShellHeader.js +21 -5
  322. package/src/main/js/sap/ushell/ui/ShellHeaderRenderer.js +1 -0
  323. package/src/main/js/sap/ushell/ui/appfinder/AppBox.js +0 -1
  324. package/src/main/js/sap/ushell/ui/bookmark/SaveOnPage.view.xml +6 -6
  325. package/src/main/js/sap/ushell/ui/cards/FrequentActivitiesExtension.js +1 -1
  326. package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +1 -1
  327. package/src/main/js/sap/ushell/ui/footerbar/AboutButton.js +0 -1
  328. package/src/main/js/sap/ushell/ui/footerbar/AddBookmarkButton.js +32 -17
  329. package/src/main/js/sap/ushell/ui/footerbar/ContactSupportButton.js +0 -1
  330. package/src/main/js/sap/ushell/ui/footerbar/JamDiscussButton.js +0 -1
  331. package/src/main/js/sap/ushell/ui/footerbar/JamShareButton.js +0 -1
  332. package/src/main/js/sap/ushell/ui/footerbar/LogoutButton.js +0 -1
  333. package/src/main/js/sap/ushell/ui/footerbar/SaveAsTile.view.js +1 -12
  334. package/src/main/js/sap/ushell/ui/footerbar/SendAsEmailButton.js +0 -1
  335. package/src/main/js/sap/ushell/ui/launchpad/ActionItem.js +0 -1
  336. package/src/main/js/sap/ushell/ui/launchpad/AnchorItem.js +0 -1
  337. package/src/main/js/sap/ushell/ui/launchpad/AnchorNavigationBar.js +0 -1
  338. package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
  339. package/src/main/js/sap/ushell/ui/launchpad/FailedTileDialog.js +4 -4
  340. package/src/main/js/sap/ushell/ui/launchpad/GroupHeaderActions.js +0 -1
  341. package/src/main/js/sap/ushell/ui/launchpad/GroupListItem.js +0 -1
  342. package/src/main/js/sap/ushell/ui/launchpad/LinkTileWrapper.js +1 -1
  343. package/src/main/js/sap/ushell/ui/launchpad/LoadingDialog.js +0 -1
  344. package/src/main/js/sap/ushell/ui/launchpad/Page.js +1 -1
  345. package/src/main/js/sap/ushell/ui/launchpad/PlusTile.js +0 -1
  346. package/src/main/js/sap/ushell/ui/launchpad/Section.js +3 -3
  347. package/src/main/js/sap/ushell/ui/launchpad/Tile.js +0 -1
  348. package/src/main/js/sap/ushell/ui/launchpad/TileContainer.js +0 -1
  349. package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +4 -5
  350. package/src/main/js/sap/ushell/ui/shell/RightFloatingContainer.js +1 -1
  351. package/src/main/js/sap/ushell/ui/shell/ShellHeadItem.js +7 -8
  352. package/src/main/js/sap/ushell/ui/shell/SysInfoBar.js +1 -1
  353. package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +1 -2
  354. package/src/main/js/sap/ushell/ui/tile/DynamicTile.js +0 -1
  355. package/src/main/js/sap/ushell/ui/tile/ImageTile.js +0 -1
  356. package/src/main/js/sap/ushell/ui/tile/StaticTile.js +0 -1
  357. package/src/main/js/sap/ushell/ui/tile/TileBase.js +0 -1
  358. package/src/main/js/sap/ushell/ui/utils.js +1 -1
  359. package/src/main/js/sap/ushell/ui5service/ShellUIService.js +1 -1
  360. package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
  361. package/src/main/js/sap/ushell/ui5service/_ShellUIService/shelluiservice.class.factory.js +1 -1
  362. package/src/main/js/sap/ushell/utils/HttpClient.js +0 -1
  363. package/src/main/js/sap/ushell/utils/RestrictedJSONModel.js +1 -1
  364. package/src/main/js/sap/ushell/utils/UrlParsing.js +18 -14
  365. package/src/main/js/sap/ushell/utils/UrlShortening.js +2 -2
  366. package/src/main/js/sap/ushell/utils/objectOperations.js +1 -1
  367. package/src/main/js/sap/ushell/utils/type.js +1 -1
  368. package/src/main/js/sap/ushell/utils/utilsCdm.js +3 -3
  369. package/src/main/js/sap/ushell/utils.js +128 -21
  370. package/src/test/js/sap/ushell/bootstrap/sandbox.js +2 -2
  371. package/ui5.yaml +1 -0
  372. package/src/main/js/sap/ushell/appRuntime/ui5/services/Menu.js +0 -22
@@ -5,7 +5,6 @@ sap.ui.define([
5
5
  "sap/base/Log",
6
6
  "sap/base/util/extend",
7
7
  "sap/ui/Device",
8
- "sap/ui/thirdparty/jquery",
9
8
  "sap/ushell/EventHub",
10
9
  "sap/ushell/library"
11
10
  ], function (
@@ -13,7 +12,6 @@ sap.ui.define([
13
12
  Log,
14
13
  extend,
15
14
  Device,
16
- jQuery,
17
15
  EventHub,
18
16
  ushellLibrary
19
17
  ) {
@@ -23,7 +21,7 @@ sap.ui.define([
23
21
  var AppType = ushellLibrary.AppType;
24
22
 
25
23
  /**
26
- * @constructor
24
+ * @class
27
25
  * @private
28
26
  */
29
27
  var RecentActivity = UserRecentsBase.extend("sap.ushell.services.RecentActivity", {
@@ -127,38 +125,37 @@ sap.ui.define([
127
125
  };
128
126
 
129
127
  RecentActivity.prototype.newItem = function (oItem) {
130
- var oDeferred = new jQuery.Deferred();
131
- var iTimestampNow = Date.now();
132
- var sIcon = this.getActivityIcon(oItem.appType, oItem.icon);
133
- var bAlreadyIn;
134
- var currentDay = this.getDayFromDateObj(new Date());
135
-
136
- this._load()
137
- .done(function (aLoadedRecents) {
138
- this.oRecentActivities = this.getRecentActivitiesFromLoadedData(aLoadedRecents);
139
- // If the current day is different than the recent one -
140
- // add a new entry (for the current day's usage) to each usage array
141
- if (currentDay !== this.oRecentActivities.recentDay) {
142
- this.addNewDay();
143
- this.oRecentActivities.recentDay = currentDay;
144
- }
145
-
146
- bAlreadyIn = this._updateIfAlreadyIn(oItem, iTimestampNow);
147
- if (!bAlreadyIn) {
148
- this._insertNew(oItem, iTimestampNow, sIcon);
149
- }
128
+ const iTimestampNow = Date.now();
129
+ const sIcon = this.getActivityIcon(oItem.appType, oItem.icon);
130
+ let bAlreadyIn;
131
+ const currentDay = this.getDayFromDateObj(new Date());
132
+
133
+ return new Promise((resolve, reject) => {
134
+ this._load()
135
+ .then((aLoadedRecents) => {
136
+ this.oRecentActivities = this.getRecentActivitiesFromLoadedData(aLoadedRecents);
137
+ // If the current day is different than the recent one -
138
+ // add a new entry (for the current day's usage) to each usage array
139
+ if (currentDay !== this.oRecentActivities.recentDay) {
140
+ this.addNewDay();
141
+ this.oRecentActivities.recentDay = currentDay;
142
+ }
150
143
 
151
- this._save(this.oRecentActivities)
152
- .done(function () {
153
- EventHub.emit("newUserRecentsItem", this.oRecentActivities);
154
- oDeferred.resolve();
155
- }.bind(this))
156
- .fail(function () {
157
- oDeferred.reject();
158
- });
159
- }.bind(this));
144
+ bAlreadyIn = this._updateIfAlreadyIn(oItem, iTimestampNow);
145
+ if (!bAlreadyIn) {
146
+ this._insertNew(oItem, iTimestampNow, sIcon);
147
+ }
160
148
 
161
- return oDeferred.promise();
149
+ this._save(this.oRecentActivities)
150
+ .then(() => {
151
+ EventHub.emit("newUserRecentsItem", this.oRecentActivities);
152
+ resolve();
153
+ })
154
+ .catch(errorMessage => {
155
+ reject(errorMessage);
156
+ });
157
+ });
158
+ });
162
159
  };
163
160
 
164
161
  RecentActivity.prototype.getActivityIcon = function (sAppType, sIcon) {
@@ -175,18 +172,16 @@ sap.ui.define([
175
172
  };
176
173
 
177
174
  RecentActivity.prototype.clearAllActivities = function () {
178
- var oDeferred = new jQuery.Deferred();
179
-
180
- this._save([])
181
- .done(function () {
182
- EventHub.emit("userRecentsCleared", Date.now());
183
- oDeferred.resolve();
184
- })
185
- .fail(function () {
186
- oDeferred.reject();
187
- });
188
-
189
- return oDeferred.promise();
175
+ return new Promise((resolve, reject) => {
176
+ this._save([])
177
+ .then(() => {
178
+ EventHub.emit("userRecentsCleared", Date.now());
179
+ resolve();
180
+ })
181
+ .catch(errorMessage => {
182
+ reject(errorMessage);
183
+ });
184
+ });
190
185
  };
191
186
 
192
187
  /*
@@ -197,14 +192,13 @@ sap.ui.define([
197
192
  * - return the last <maxNumOfActivities> entries or all entries supported by current device (if maxNumOfActivities was not provided).
198
193
  */
199
194
  RecentActivity.prototype.getRecentItemsHelper = function (maxNumOfActivities) {
200
- var oDeferred = new jQuery.Deferred();
201
- var activityIndex;
202
- var oActivity;
203
- var sCurrentDevice;
204
- var bIsResolved = false;
205
- var aIntentsToResolve = [];
206
- var aURL = [];
207
- var currentDay = this.getDayFromDateObj(new Date());
195
+ let activityIndex;
196
+ let oActivity;
197
+ let sCurrentDevice;
198
+ let bIsResolved = false;
199
+ const aIntentsToResolve = [];
200
+ const aURL = [];
201
+ const currentDay = this.getDayFromDateObj(new Date());
208
202
 
209
203
  if (Device.system.desktop) {
210
204
  sCurrentDevice = "desktop";
@@ -214,131 +208,137 @@ sap.ui.define([
214
208
  sCurrentDevice = "mobile";
215
209
  }
216
210
 
217
- this._load()
218
- .done(function (aLoadedRecents) {
219
- this.oRecentActivities = this.getRecentActivitiesFromLoadedData(aLoadedRecents);
220
- // If the current day is different than the recent one -
221
- // add a new entry (for the current day's usage) to each usage array
222
- var bNewDayAdded = false;
223
- var sMandatoryParams;
224
- if (currentDay !== this.oRecentActivities.recentDay) {
225
- this.addNewDay();
226
- this.oRecentActivities.recentDay = currentDay;
227
- bNewDayAdded = true;
228
- }
211
+ return new Promise((resolve, reject) => {
212
+ this._load()
213
+ .then((aLoadedRecents) => {
214
+ this.oRecentActivities = this.getRecentActivitiesFromLoadedData(aLoadedRecents);
215
+ // If the current day is different than the recent one -
216
+ // add a new entry (for the current day's usage) to each usage array
217
+ var bNewDayAdded = false;
218
+ var sMandatoryParams;
219
+ if (currentDay !== this.oRecentActivities.recentDay) {
220
+ this.addNewDay();
221
+ this.oRecentActivities.recentDay = currentDay;
222
+ bNewDayAdded = true;
223
+ }
224
+
225
+ //collect all unresolved activities for current device.
226
+ for (activityIndex = 0; activityIndex < this.oRecentActivities.recentUsageArray.length && !bIsResolved; activityIndex++) {
227
+ const oIntent = {
228
+ target: {
229
+ shellHash: ""
230
+ }
231
+ };
232
+ oActivity = this.oRecentActivities.recentUsageArray[activityIndex];
233
+ if (oActivity[sCurrentDevice] === undefined) {
234
+ // collect URLs without intent
235
+ if (!(oActivity.oItem.url[0] === "#")) {
236
+ aURL.push(oActivity.oItem.url);
237
+ // check if url contains the mandatory parameters then add it to intents
238
+ } else if (oActivity.oItem.url.indexOf("?") > -1) {
239
+ sMandatoryParams = oActivity.oItem.url.substring(oActivity.oItem.url.indexOf("?"));
240
+ // remove search app parameters
241
+ if (sMandatoryParams.indexOf("&/") > -1) {
242
+ sMandatoryParams = sMandatoryParams.substring(0, sMandatoryParams.indexOf("&/"));
243
+ }
244
+ const sShellHash = oActivity.oItem.appId.split("#")[1];
245
+ oIntent.target.shellHash = sShellHash + sMandatoryParams;
246
+ aIntentsToResolve.push(oIntent);
247
+ } else {
248
+ const sShellHash = oActivity.oItem.appId.split("#")[1];
249
+ oIntent.target.shellHash = sShellHash;
250
+ aIntentsToResolve.push(oIntent);
229
251
 
230
- //collect all unresolved activities for current device.
231
- for (activityIndex = 0; activityIndex < this.oRecentActivities.recentUsageArray.length && !bIsResolved; activityIndex++) {
232
- oActivity = this.oRecentActivities.recentUsageArray[activityIndex];
233
- if (oActivity[sCurrentDevice] === undefined) {
234
- // collect URLs without intent
235
- if (!(oActivity.oItem.url[0] === "#")) {
236
- aURL.push(oActivity.oItem.url);
237
- // check if url contains the mandatory parameters then add it to intents
238
- } else if (oActivity.oItem.url.indexOf("?") > -1) {
239
- sMandatoryParams = oActivity.oItem.url.substring(oActivity.oItem.url.indexOf("?"));
240
- // remove search app parameters
241
- if (sMandatoryParams.indexOf("&/") > -1) {
242
- sMandatoryParams = sMandatoryParams.substring(0, sMandatoryParams.indexOf("&/"));
243
252
  }
244
- aIntentsToResolve.push(oActivity.oItem.appId + sMandatoryParams);
245
253
  } else {
246
- aIntentsToResolve.push(oActivity.oItem.appId);
254
+ //we have resolved the activities from here, no need to continue.
255
+ bIsResolved = true;
247
256
  }
248
- } else {
249
- //we have resolved the activities from here, no need to continue.
250
- bIsResolved = true;
251
257
  }
252
- }
253
258
 
254
- // update current device for URLs without intent
255
- if (aURL.length > 0) {
256
- var urlItem;
257
- for (activityIndex = 0; activityIndex < this.oRecentActivities.recentUsageArray.length; activityIndex++) {
258
- if (!(this.oRecentActivities.recentUsageArray[activityIndex].oItem.url[0] === "#")) {
259
- urlItem = this.oRecentActivities.recentUsageArray[activityIndex];
260
- urlItem[sCurrentDevice] = true;
259
+ // update current device for URLs without intent
260
+ if (aURL.length > 0) {
261
+ var urlItem;
262
+ for (activityIndex = 0; activityIndex < this.oRecentActivities.recentUsageArray.length; activityIndex++) {
263
+ if (!(this.oRecentActivities.recentUsageArray[activityIndex].oItem.url[0] === "#")) {
264
+ urlItem = this.oRecentActivities.recentUsageArray[activityIndex];
265
+ urlItem[sCurrentDevice] = true;
266
+ }
267
+ }
268
+ if (aIntentsToResolve.length <= 0) {
269
+ // persist it.
270
+ this._save(this.oRecentActivities)
271
+ .then(() => {
272
+ const aItems = this._getRecentItemsForDevice(sCurrentDevice, this.oRecentActivities, maxNumOfActivities);
273
+ resolve(aItems);
274
+ })
275
+ .catch(errorMessage => {
276
+ reject(errorMessage);
277
+ });
261
278
  }
262
279
  }
263
- if (aIntentsToResolve.length <= 0) {
264
- // persist it.
265
- this._save(this.oRecentActivities)
266
- .done(function () {
267
- var aItems = this._getRecentItemsForDevice(sCurrentDevice, this.oRecentActivities, maxNumOfActivities);
268
-
269
- oDeferred.resolve(aItems);
270
- }.bind(this))
271
- .fail(function () {
272
- oDeferred.reject();
273
- });
274
- }
275
- }
276
280
 
277
- if (aIntentsToResolve.length > 0) {
278
- sap.ushell.Container.getServiceAsync("CrossApplicationNavigation")
279
- .then(function (CrossApplicationNavigationService) {
280
- //resolve intent support for current device.
281
- CrossApplicationNavigationService.isIntentSupported(aIntentsToResolve)
282
- .done(function (oResolved) {
283
- //save resolutions in aLoadedRecents
284
- bIsResolved = false;
285
- for (activityIndex = 0; activityIndex < this.oRecentActivities.recentUsageArray.length && !bIsResolved; activityIndex++) {
286
- oActivity = this.oRecentActivities.recentUsageArray[activityIndex];
287
- if (oActivity[sCurrentDevice] === undefined) {
288
- sMandatoryParams = "";
289
- if (oActivity.oItem.url.indexOf("?") > -1) {
290
- sMandatoryParams = oActivity.oItem.url.substring(oActivity.oItem.url.indexOf("?"));
291
- // remove search app parameters
292
- if (sMandatoryParams.indexOf("&/") > -1) {
293
- sMandatoryParams = sMandatoryParams.substring(0, sMandatoryParams.indexOf("&/"));
281
+ if (aIntentsToResolve.length > 0) {
282
+ sap.ushell.Container.getServiceAsync("CrossApplicationNavigation")
283
+ .then(CrossApplicationNavigationService => {
284
+ //resolve intent support for current device.
285
+ CrossApplicationNavigationService.isNavigationSupported(aIntentsToResolve)
286
+ .done(aResolved => {
287
+ //save resolutions in aLoadedRecents
288
+ bIsResolved = false;
289
+ for (activityIndex = 0; activityIndex < this.oRecentActivities.recentUsageArray.length && !bIsResolved; activityIndex++) {
290
+ oActivity = this.oRecentActivities.recentUsageArray[activityIndex];
291
+ if (oActivity[sCurrentDevice] === undefined) {
292
+ sMandatoryParams = "";
293
+ if (oActivity.oItem.url.indexOf("?") > -1) {
294
+ sMandatoryParams = oActivity.oItem.url.substring(oActivity.oItem.url.indexOf("?"));
295
+ // remove search app parameters
296
+ if (sMandatoryParams.indexOf("&/") > -1) {
297
+ sMandatoryParams = sMandatoryParams.substring(0, sMandatoryParams.indexOf("&/"));
298
+ }
294
299
  }
300
+ var oItem = aResolved[activityIndex];
301
+ oActivity[sCurrentDevice] = !!(oItem && oItem.supported);
302
+ } else if (oActivity.oItem.url[0] === "#") {
303
+ bIsResolved = true;
295
304
  }
296
- var oItem = oResolved[oActivity.oItem.appId + sMandatoryParams];
297
- oActivity[sCurrentDevice] = !!(oItem && oItem.supported);
298
- } else if (oActivity.oItem.url[0] === "#") {
299
- bIsResolved = true;
300
305
  }
301
- }
302
-
303
- // persist it.
304
- this._save(this.oRecentActivities)
305
- .done(function () {
306
- var aItems = this._getRecentItemsForDevice(sCurrentDevice, this.oRecentActivities, maxNumOfActivities);
307
-
308
- oDeferred.resolve(aItems);
309
- }.bind(this))
310
- .fail(function () {
311
- oDeferred.reject();
312
- });
313
- }.bind(this))
314
- .fail(function (sMsg) {
315
- oDeferred.reject(sMsg);
316
- });
317
- }.bind(this));
318
- } else if ((aIntentsToResolve.length <= 0) && (aURL.length <= 0)) {
319
- if (bNewDayAdded) {
320
- // If a new day was added, persist it.
321
- this._save(this.oRecentActivities)
322
- .done(function () {
323
- var aItems = this._getRecentItemsForDevice(sCurrentDevice, this.oRecentActivities, maxNumOfActivities);
324
-
325
- oDeferred.resolve(aItems);
326
- }.bind(this))
327
- .fail(function () {
328
- oDeferred.reject();
329
- });
330
- } else {
331
- var aItems = this._getRecentItemsForDevice(sCurrentDevice, this.oRecentActivities, maxNumOfActivities);
332
306
 
333
- oDeferred.resolve(aItems);
307
+ // persist it.
308
+ this._save(this.oRecentActivities)
309
+ .then(() => {
310
+ const aItems = this._getRecentItemsForDevice(sCurrentDevice, this.oRecentActivities, maxNumOfActivities);
311
+ resolve(aItems);
312
+ })
313
+ .catch(errorMessage => {
314
+ reject(errorMessage);
315
+ });
316
+ })
317
+ .catch(sMsg => {
318
+ reject(sMsg);
319
+ });
320
+ });
321
+ } else if ((aIntentsToResolve.length <= 0) && (aURL.length <= 0)) {
322
+ if (bNewDayAdded) {
323
+ // If a new day was added, persist it.
324
+ this._save(this.oRecentActivities)
325
+ .then(() => {
326
+ const aItems = this._getRecentItemsForDevice(sCurrentDevice, this.oRecentActivities, maxNumOfActivities);
327
+ resolve(aItems);
328
+ })
329
+ .catch(errorMessage => {
330
+ reject(errorMessage);
331
+ });
332
+ } else {
333
+ const aItems = this._getRecentItemsForDevice(sCurrentDevice, this.oRecentActivities, maxNumOfActivities);
334
+ resolve(aItems);
335
+ }
334
336
  }
335
- }
336
- }.bind(this))
337
- .fail(function () {
338
- oDeferred.reject();
339
- });
340
-
341
- return oDeferred.promise();
337
+ })
338
+ .catch((errormessage) => {
339
+ reject(errormessage);
340
+ });
341
+ });
342
342
  };
343
343
 
344
344
  RecentActivity.prototype._getRecentItemsForDevice = function (device, recents, maxNumOfActivities) {
@@ -361,61 +361,53 @@ sap.ui.define([
361
361
  };
362
362
 
363
363
  RecentActivity.prototype.getRecentItems = function () {
364
- var oDeferred = new jQuery.Deferred();
365
-
366
- this.getRecentItemsHelper(RecentActivity.ITEM_COUNT)
367
- .done(function (recentItems) {
368
- oDeferred.resolve(jQuery.map(recentItems, function (oRecentEntry) {
369
- return oRecentEntry.oItem;
370
- }));
371
- })
372
- .fail(function () {
373
- oDeferred.reject();
374
- });
375
-
376
- return oDeferred.promise();
364
+ return new Promise((resolve, reject) => {
365
+ this.getRecentItemsHelper(RecentActivity.ITEM_COUNT)
366
+ .then(recentItems => {
367
+ resolve(recentItems.map(oRecentEntry => oRecentEntry.oItem));
368
+ })
369
+ .catch(errorMessage => {
370
+ reject(errorMessage);
371
+ });
372
+ });
377
373
  };
378
374
 
379
375
  RecentActivity.prototype.getFrequentItems = function () {
380
- var oDeferred = new jQuery.Deferred();
381
-
382
- this.getRecentItemsHelper()
383
- .done(function (recentItems) {
384
- var activityIndex;
385
- var iWorkingDaysCounter = 0;
386
- var aFrequentActivity = [];
387
- var oActivity;
388
- var previousActivityDate = recentItems[0] ? new Date(recentItems[0].iTimestamp) : undefined;
389
- var currentActivityDate;
390
- // Go through the recent activities list and leave only activities from the last MAX_DAYS working days
391
- for (activityIndex = 0; activityIndex < recentItems.length && iWorkingDaysCounter < RecentActivity.MAX_DAYS; activityIndex++) {
392
- oActivity = recentItems[activityIndex];
393
- // Add only activities that happened more than once
394
- if (oActivity.iCount > 1) {
395
- aFrequentActivity.push(oActivity);
396
- }
397
- currentActivityDate = new Date(oActivity.iTimestamp);
398
- if (previousActivityDate.toDateString() !== currentActivityDate.toDateString()) {
399
- // If found an activity with a different date than the previous one, increase the days counter
400
- iWorkingDaysCounter++;
401
- previousActivityDate = currentActivityDate;
376
+ return new Promise((resolve, reject) => {
377
+ this.getRecentItemsHelper()
378
+ .then(recentItems => {
379
+ var activityIndex;
380
+ var iWorkingDaysCounter = 0;
381
+ var aFrequentActivity = [];
382
+ var oActivity;
383
+ var previousActivityDate = recentItems[0] ? new Date(recentItems[0].iTimestamp) : undefined;
384
+ var currentActivityDate;
385
+ // Go through the recent activities list and leave only activities from the last MAX_DAYS working days
386
+ for (activityIndex = 0; activityIndex < recentItems.length && iWorkingDaysCounter < RecentActivity.MAX_DAYS; activityIndex++) {
387
+ oActivity = recentItems[activityIndex];
388
+ // Add only activities that happened more than once
389
+ if (oActivity.iCount > 1) {
390
+ aFrequentActivity.push(oActivity);
391
+ }
392
+ currentActivityDate = new Date(oActivity.iTimestamp);
393
+ if (previousActivityDate.toDateString() !== currentActivityDate.toDateString()) {
394
+ // If found an activity with a different date than the previous one, increase the days counter
395
+ iWorkingDaysCounter++;
396
+ previousActivityDate = currentActivityDate;
397
+ }
402
398
  }
403
- }
404
- // Sort in descending order according to the count
405
- aFrequentActivity.sort(function (a, b) {
406
- return b.iCount - a.iCount;
399
+ // Sort in descending order according to the count
400
+ aFrequentActivity.sort(function (a, b) {
401
+ return b.iCount - a.iCount;
402
+ });
403
+ // Take only first items (ITEM_COUNT most frequent items)
404
+ aFrequentActivity = aFrequentActivity.slice(0, RecentActivity.ITEM_COUNT);
405
+ resolve(aFrequentActivity.map(oRecentEntry => oRecentEntry.oItem));
406
+ })
407
+ .catch(errorMessage => {
408
+ reject(errorMessage);
407
409
  });
408
- // Take only first items (ITEM_COUNT most frequent items)
409
- aFrequentActivity = aFrequentActivity.slice(0, RecentActivity.ITEM_COUNT);
410
- oDeferred.resolve(jQuery.map(aFrequentActivity, function (oRecentEntry) {
411
- return oRecentEntry.oItem;
412
- }));
413
- })
414
- .fail(function () {
415
- oDeferred.reject();
416
- });
417
-
418
- return oDeferred.promise();
410
+ });
419
411
  };
420
412
 
421
413
  RecentActivity.prototype.addNewDay = function () {