@sapui5/sap.ushell 1.111.0 → 1.112.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 (308) hide show
  1. package/package.json +1 -1
  2. package/src/main/js/sap/ushell/.library +1 -1
  3. package/src/main/js/sap/ushell/AppInfoParameters.js +104 -4
  4. package/src/main/js/sap/ushell/ApplicationType.js +11 -4
  5. package/src/main/js/sap/ushell/Container.js +0 -32
  6. package/src/main/js/sap/ushell/Fiori20Adapter.js +1 -1
  7. package/src/main/js/sap/ushell/Fiori20AdapterTest.js +1 -1
  8. package/src/main/js/sap/ushell/NWBCInterface.js +1 -1
  9. package/src/main/js/sap/ushell/TechnicalParameters.js +51 -21
  10. package/src/main/js/sap/ushell/URLTemplateProcessor.js +1 -1
  11. package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +1 -1
  12. package/src/main/js/sap/ushell/Ui5ServiceFactory.js +1 -1
  13. package/src/main/js/sap/ushell/_URLTemplateProcessor/DefinitionParameterSetBuilder.js +1 -1
  14. package/src/main/js/sap/ushell/_URLTemplateProcessor/DependencyGraph.js +1 -1
  15. package/src/main/js/sap/ushell/_URLTemplateProcessor/Functions.js +1 -1
  16. package/src/main/js/sap/ushell/_URLTemplateProcessor/Resolvers.js +1 -1
  17. package/src/main/js/sap/ushell/_URLTemplateProcessor/TemplateParameterParser.js +1 -1
  18. package/src/main/js/sap/ushell/_URLTemplateProcessor/utils.js +1 -1
  19. package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +1 -1
  20. package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +1 -1
  21. package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
  22. package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +1 -1
  23. package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +24 -158
  24. package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +1 -1
  25. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
  26. package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +1 -1
  27. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +1 -1
  28. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +1 -1
  29. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +1 -1
  30. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +1 -1
  31. package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +1 -1
  32. package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +1 -1
  33. package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +1 -2
  34. package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +22 -140
  35. package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +1 -1
  36. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +1 -1
  37. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +1 -1
  38. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +1 -1
  39. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +1 -1
  40. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +2 -1
  41. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +1 -1
  42. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +1 -1
  43. package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +1 -1
  44. package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +1 -1
  45. package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +1 -1
  46. package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +1 -1
  47. package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +1 -1
  48. package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +1 -1
  49. package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +1 -1
  50. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +1 -1
  51. package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +1 -1
  52. package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +1 -1
  53. package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +1 -1
  54. package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +1 -1
  55. package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +1 -1
  56. package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +1 -1
  57. package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +1 -1
  58. package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +1 -1
  59. package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +1 -1
  60. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +12 -0
  61. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppLifeCycleAgent.js +10 -0
  62. package/src/main/js/sap/ushell/appRuntime/ui5/services/CrossApplicationNavigation.js +28 -4
  63. package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolution.js +7 -5
  64. package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
  65. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/logger.js +1 -1
  66. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/state.js +1 -1
  67. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5datetimeformat.js +1 -1
  68. package/src/main/js/sap/ushell/bootstrap/common/common.create.configcontract.core.js +1 -0
  69. package/src/main/js/sap/ushell/bootstrap/common/common.read.ushell.config.from.url.js +26 -23
  70. package/src/main/js/sap/ushell/components/appfinder/AppFinderView.js +69 -33
  71. package/src/main/js/sap/ushell/components/appfinder/VisualizationOrganizerHelper.js +3 -0
  72. package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
  73. package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +17 -4
  74. package/src/main/js/sap/ushell/components/applicationIntegration/Storage.js +1 -1
  75. package/src/main/js/sap/ushell/components/applicationIntegration/application/Application.js +29 -18
  76. package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxHandler.js +1 -1
  77. package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPI.js +21 -2
  78. package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +9 -4
  79. package/src/main/js/sap/ushell/components/applicationIntegration/elements/model.js +1 -1
  80. package/src/main/js/sap/ushell/components/applicationIntegration/relatedServices/RelatedServices.js +1 -1
  81. package/src/main/js/sap/ushell/components/applicationIntegration/relatedShellElements/RelatedShellElements.js +1 -1
  82. package/src/main/js/sap/ushell/components/cepsearchresult/app/Main.controller.js +1 -7
  83. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/controls/Paginator.css +14 -3
  84. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/controls/Paginator.js +57 -11
  85. package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +16 -3
  86. package/src/main/js/sap/ushell/components/contentFinder/Component.js +470 -23
  87. package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +308 -6
  88. package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +83 -12
  89. package/src/main/js/sap/ushell/components/contentFinder/controller/WidgetGallery.controller.js +33 -6
  90. package/src/main/js/sap/ushell/components/contentFinder/manifest.json +7 -7
  91. package/src/main/js/sap/ushell/components/contentFinder/model/formatter.js +96 -0
  92. package/src/main/js/sap/ushell/components/contentFinder/resources/resources.properties +44 -14
  93. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearch.view.xml +82 -25
  94. package/src/main/js/sap/ushell/components/contentFinder/view/ContentFinderDialog.view.xml +18 -10
  95. package/src/main/js/sap/ushell/components/contentFinder/view/WidgetGallery.view.xml +52 -1
  96. package/src/main/js/sap/ushell/components/contentFinderAppSearch/Component.js +1 -1
  97. package/src/main/js/sap/ushell/components/contentFinderAppSearch/controller/ContentFinderAppSearch.controller.js +1 -1
  98. package/src/main/js/sap/ushell/components/contentFinderAppSearch/manifest.json +1 -1
  99. package/src/main/js/sap/ushell/components/factsheet/Component.js +1 -1
  100. package/src/main/js/sap/ushell/components/homepage/ActionMode.js +1 -1
  101. package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +1 -1
  102. package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +116 -40
  103. package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +1 -1
  104. package/src/main/js/sap/ushell/components/homepage/manifest.json +1 -1
  105. package/src/main/js/sap/ushell/components/pages/ActionMode.js +1 -1
  106. package/src/main/js/sap/ushell/components/pages/Component.js +1 -1
  107. package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +1 -1
  108. package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +1 -1
  109. package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
  110. package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +1 -1
  111. package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
  112. package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +1 -1
  113. package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +1 -1
  114. package/src/main/js/sap/ushell/components/shell/PostLoadingHeaderEnhancement/Component.js +17 -6
  115. package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +1 -1
  116. package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
  117. package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +1 -1
  118. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +1 -1
  119. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/NavigationSvcSearchProvider.js +1 -1
  120. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +1 -1
  121. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +1 -1
  122. package/src/main/js/sap/ushell/components/shell/Settings/Component.js +1 -1
  123. package/src/main/js/sap/ushell/components/shell/Settings/ContentWrapper.fragment.xml +7 -1
  124. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/UserDefaultsForm.js +9 -10
  125. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/controller/UserDefaultsSetting.controller.js +49 -57
  126. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +1 -1
  127. package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +1 -1
  128. package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.controller.js +4 -1
  129. package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +26 -27
  130. package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +23 -4
  131. package/src/main/js/sap/ushell/components/workPageBuilder/controller/ContentFinderDialog.controller.js +12 -9
  132. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +67 -16
  133. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +1 -1
  134. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +1 -1
  135. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +1 -1
  136. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +1 -1
  137. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnRenderer.js +3 -0
  138. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +1 -1
  139. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +1 -1
  140. package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
  141. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources.properties +5 -3
  142. package/src/main/js/sap/ushell/components/workPageBuilder/view/WorkPageBuilder.view.xml +1 -1
  143. package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +1 -1
  144. package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +4 -262
  145. package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +1 -1
  146. package/src/main/js/sap/ushell/components/workPageRuntime/services/NavigationResolver.js +1 -1
  147. package/src/main/js/sap/ushell/components/workPageRuntime/services/WorkPage.js +1 -170
  148. package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
  149. package/src/main/js/sap/ushell/library.js +1 -3
  150. package/src/main/js/sap/ushell/navigationMode.js +1 -1
  151. package/src/main/js/sap/ushell/performance/ShellAnalytics.js +1 -1
  152. package/src/main/js/sap/ushell/performance/StatisticalRecord.js +1 -1
  153. package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
  154. package/src/main/js/sap/ushell/renderers/fiori2/AccessKeysHandler.js +3 -1
  155. package/src/main/js/sap/ushell/renderers/fiori2/Renderer.js +2 -2
  156. package/src/main/js/sap/ushell/renderers/fiori2/allMyApps/AllMyApps.controller.js +2 -1
  157. package/src/main/js/sap/ushell/renderers/fiori2/allMyApps/AllMyApps.view.xml +10 -1
  158. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources.properties +15 -5
  159. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_de.properties +1 -1
  160. package/src/main/js/sap/ushell/renderers/fiori2/search/searchComponent/manifest.json +1 -1
  161. package/src/main/js/sap/ushell/services/AppConfiguration.js +0 -37
  162. package/src/main/js/sap/ushell/services/AppLifeCycle.js +50 -3
  163. package/src/main/js/sap/ushell/services/AppState.js +1 -1
  164. package/src/main/js/sap/ushell/services/Bookmark.js +93 -30
  165. package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +1 -1
  166. package/src/main/js/sap/ushell/services/CommonDataModel.js +5 -243
  167. package/src/main/js/sap/ushell/services/Configuration.js +1 -1
  168. package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +1 -1
  169. package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +1 -1
  170. package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +1 -1
  171. package/src/main/js/sap/ushell/services/DarkModeSupport.js +1 -1
  172. package/src/main/js/sap/ushell/services/LaunchPage.js +1 -1
  173. package/src/main/js/sap/ushell/services/Menu.js +1 -1
  174. package/src/main/js/sap/ushell/services/Message.js +1 -1
  175. package/src/main/js/sap/ushell/services/MessageBroker.js +31 -12
  176. package/src/main/js/sap/ushell/services/NavTargetResolution.js +4 -2
  177. package/src/main/js/sap/ushell/services/NavigationDataProvider.js +1 -1
  178. package/src/main/js/sap/ushell/services/PageBuilding.js +1 -1
  179. package/src/main/js/sap/ushell/services/PagePersistence.js +1 -1
  180. package/src/main/js/sap/ushell/services/PageReferencing.js +1 -1
  181. package/src/main/js/sap/ushell/services/Pages.js +21 -3
  182. package/src/main/js/sap/ushell/services/Personalization.js +1 -1
  183. package/src/main/js/sap/ushell/services/PluginManager.js +1 -3
  184. package/src/main/js/sap/ushell/services/ReferenceResolver.js +178 -125
  185. package/src/main/js/sap/ushell/services/Search.js +1 -1
  186. package/src/main/js/sap/ushell/services/SearchCEP.js +1 -1
  187. package/src/main/js/sap/ushell/services/SearchableContent.js +1 -1
  188. package/src/main/js/sap/ushell/services/ShellNavigationHashChanger.js +15 -18
  189. package/src/main/js/sap/ushell/services/SmartNavigation.js +32 -6
  190. package/src/main/js/sap/ushell/services/SpaceContent.js +1 -1
  191. package/src/main/js/sap/ushell/services/URLShortening.js +1 -1
  192. package/src/main/js/sap/ushell/services/URLTemplate.js +1 -1
  193. package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +1 -1
  194. package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +1 -1
  195. package/src/main/js/sap/ushell/services/UserDefaultParameters.js +1 -1
  196. package/src/main/js/sap/ushell/services/UserInfo.js +1 -1
  197. package/src/main/js/sap/ushell/services/UserRecents.js +1 -1
  198. package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +1 -1
  199. package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +1 -1
  200. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Formatter.js +1 -1
  201. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundIndex.js +1 -1
  202. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundProvider.js +1 -1
  203. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/PrelaunchOperations.js +5 -1
  204. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Search.js +1 -1
  205. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/StagedLogger.js +1 -1
  206. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/SystemContext.js +2 -2
  207. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Utils.js +1 -1
  208. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/VirtualInbounds.js +1 -1
  209. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/XAppStateProcessing.js +1 -1
  210. package/src/main/js/sap/ushell/services/_CommonDataModel/SiteConverter.js +1 -1
  211. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +1 -1
  212. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +131 -135
  213. package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +1 -1
  214. package/src/main/js/sap/ushell/services/_MessageBroker/MessageBrokerEngine.js +341 -308
  215. package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +1 -1
  216. package/src/main/js/sap/ushell/services/_PluginManager/Extensions.js +1 -1
  217. package/src/main/js/sap/ushell/services/_PluginManager/HeaderExtensions.js +1 -1
  218. package/src/main/js/sap/ushell/services/_PluginManager/MenuExtensions.js +1 -1
  219. package/src/main/js/sap/ushell/services/_Ui5ComponentLoader/utils.js +1 -1
  220. package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstanceLink.js +1 -1
  221. package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
  222. package/src/main/js/sap/ushell/themes/base/Catalog.less +4 -0
  223. package/src/main/js/sap/ushell/themes/base/ContentFinder.less +5 -1
  224. package/src/main/js/sap/ushell/themes/base/SearchFLP.less +0 -5
  225. package/src/main/js/sap/ushell/themes/base/ShellAppTitle.less +6 -9
  226. package/src/main/js/sap/ushell/themes/base/WorkPageCell.less +2 -2
  227. package/src/main/js/sap/ushell/themes/base/WorkPageColumn.less +8 -0
  228. package/src/main/js/sap/ushell/themes/base/WorkPageRow.less +2 -2
  229. package/src/main/js/sap/ushell/themes/base/fonts/BusinessSuiteInAppSymbols.eot +0 -0
  230. package/src/main/js/sap/ushell/themes/base/fonts/BusinessSuiteInAppSymbols.json +16 -1
  231. package/src/main/js/sap/ushell/themes/base/fonts/BusinessSuiteInAppSymbols.ttf +0 -0
  232. package/src/main/js/sap/ushell/themes/base/fonts/BusinessSuiteInAppSymbols.woff +0 -0
  233. package/src/main/js/sap/ushell/themes/base/fonts/BusinessSuiteInAppSymbols.woff2 +0 -0
  234. package/src/main/js/sap/ushell/themes/base/fonts/horizon/BusinessSuiteInAppSymbols.eot +0 -0
  235. package/src/main/js/sap/ushell/themes/base/fonts/horizon/BusinessSuiteInAppSymbols.ttf +0 -0
  236. package/src/main/js/sap/ushell/themes/base/fonts/horizon/BusinessSuiteInAppSymbols.woff +0 -0
  237. package/src/main/js/sap/ushell/themes/base/fonts/horizon/BusinessSuiteInAppSymbols.woff2 +0 -0
  238. package/src/main/js/sap/ushell/themes/base/library.source.less +0 -2
  239. package/src/main/js/sap/ushell/themes/sap_belize/ShellHeader.less +0 -9
  240. package/src/main/js/sap/ushell/themes/sap_belize/library.source.less +0 -1
  241. package/src/main/js/sap/ushell/themes/sap_belize_hcb/ShellHeader.less +0 -27
  242. package/src/main/js/sap/ushell/themes/sap_belize_hcb/library.source.less +0 -2
  243. package/src/main/js/sap/ushell/themes/sap_belize_hcw/ShellHeader.less +0 -25
  244. package/src/main/js/sap/ushell/themes/sap_belize_hcw/library.source.less +0 -2
  245. package/src/main/js/sap/ushell/themes/sap_bluecrystal/library.source.less +0 -2
  246. package/src/main/js/sap/ushell/themes/sap_fiori_3/ShellHeader.less +2 -11
  247. package/src/main/js/sap/ushell/themes/sap_fiori_3/library.source.less +0 -1
  248. package/src/main/js/sap/ushell/themes/sap_fiori_3_dark/ShellHeader.less +2 -11
  249. package/src/main/js/sap/ushell/themes/sap_fiori_3_dark/library.source.less +0 -1
  250. package/src/main/js/sap/ushell/themes/sap_fiori_3_hcb/ShellHeader.less +0 -25
  251. package/src/main/js/sap/ushell/themes/sap_fiori_3_hcb/library.source.less +0 -2
  252. package/src/main/js/sap/ushell/themes/sap_fiori_3_hcw/ShellHeader.less +0 -25
  253. package/src/main/js/sap/ushell/themes/sap_fiori_3_hcw/library.source.less +0 -2
  254. package/src/main/js/sap/ushell/themes/sap_hcb/ShellHeader.less +0 -24
  255. package/src/main/js/sap/ushell/themes/sap_hcb/library.source.less +0 -2
  256. package/src/main/js/sap/ushell/themes/sap_horizon/ShellAppTitle.less +2 -12
  257. package/src/main/js/sap/ushell/themes/sap_horizon/library.source.less +0 -1
  258. package/src/main/js/sap/ushell/themes/sap_horizon_dark/ShellAppTitle.less +2 -12
  259. package/src/main/js/sap/ushell/themes/sap_horizon_dark/library.source.less +0 -1
  260. package/src/main/js/sap/ushell/themes/sap_horizon_hcb/ShellAppTitle.less +0 -25
  261. package/src/main/js/sap/ushell/themes/sap_horizon_hcb/library.source.less +0 -1
  262. package/src/main/js/sap/ushell/themes/sap_horizon_hcw/ShellAppTitle.less +0 -25
  263. package/src/main/js/sap/ushell/themes/sap_horizon_hcw/library.source.less +0 -1
  264. package/src/main/js/sap/ushell/ui/appfinder/AppBoxRenderer.js +0 -15
  265. package/src/main/js/sap/ushell/ui/cards/FrequentActivitiesExtension.js +199 -0
  266. package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +202 -0
  267. package/src/main/js/sap/ushell/ui/contentFinder/AppBox.js +17 -2
  268. package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
  269. package/src/main/js/sap/ushell/ui/launchpad/LoadingDialogRenderer.js +2 -45
  270. package/src/main/js/sap/ushell/ui/launchpad/Page.js +1 -1
  271. package/src/main/js/sap/ushell/ui/launchpad/Section.js +2 -2
  272. package/src/main/js/sap/ushell/ui/launchpad/TileRenderer.js +4 -21
  273. package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +1 -1
  274. package/src/main/js/sap/ushell/ui/shell/ShellAppTitle.js +6 -8
  275. package/src/main/js/sap/ushell/ui/shell/ShellHeadItem.js +1 -1
  276. package/src/main/js/sap/ushell/ui/shell/ShellLayout.js +1 -1
  277. package/src/main/js/sap/ushell/ui/shell/ShellNavigationMenu.js +21 -62
  278. package/src/main/js/sap/ushell/ui/shell/SplitContainer.js +1 -1
  279. package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +1 -1
  280. package/src/main/js/sap/ushell/ui/utils.js +1 -1
  281. package/src/main/js/sap/ushell/ui5service/ShellUIService.js +1 -1
  282. package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
  283. package/src/main/js/sap/ushell/utils/DynamicTileRequest.js +25 -5
  284. package/src/main/js/sap/ushell/utils/UrlShortening.js +1 -1
  285. package/src/test/js/sap/ushell/bootstrap/sandbox.js +1 -1
  286. package/ui5.yaml +53 -51
  287. package/src/main/js/sap/ushell/services/ContentExtension.js +0 -114
  288. package/src/main/js/sap/ushell/themes/base/UserPreferencesButton.less +0 -35
  289. package/src/main/js/sap/ushell/themes/base/flower-standalone.less +0 -774
  290. package/src/main/js/sap/ushell/themes/sap_belize/UserPreferencesButton.less +0 -7
  291. package/src/main/js/sap/ushell/themes/sap_belize_hcb/UserPreferencesButton.less +0 -7
  292. package/src/main/js/sap/ushell/themes/sap_belize_hcb/flower-standalone.less +0 -34
  293. package/src/main/js/sap/ushell/themes/sap_belize_hcw/UserPreferencesButton.less +0 -7
  294. package/src/main/js/sap/ushell/themes/sap_belize_hcw/flower-standalone.less +0 -34
  295. package/src/main/js/sap/ushell/themes/sap_bluecrystal/UserPreferencesButton.less +0 -7
  296. package/src/main/js/sap/ushell/themes/sap_bluecrystal/flower-standalone.less +0 -23
  297. package/src/main/js/sap/ushell/themes/sap_fiori_3_hcb/flower-standalone.less +0 -34
  298. package/src/main/js/sap/ushell/themes/sap_fiori_3_hcw/flower-standalone.less +0 -33
  299. package/src/main/js/sap/ushell/themes/sap_hcb/UserPreferencesButton.less +0 -7
  300. package/src/main/js/sap/ushell/themes/sap_hcb/flower-standalone.less +0 -34
  301. package/src/main/js/sap/ushell/themes/sap_horizon/UserPreferencesButton.less +0 -9
  302. package/src/main/js/sap/ushell/themes/sap_horizon_dark/UserPreferencesButton.less +0 -8
  303. package/src/main/js/sap/ushell/ui/footerbar/SettingsButton.js +0 -90
  304. package/src/main/js/sap/ushell/ui/footerbar/UserPreferencesButton.js +0 -505
  305. package/src/main/js/sap/ushell/ui5service/CardNavigation.js +0 -131
  306. package/src/main/js/sap/ushell/ui5service/CardUserFrequents.js +0 -138
  307. package/src/main/js/sap/ushell/ui5service/CardUserRecents.js +0 -101
  308. package/src/main/js/sap/ushell/ui5service/_CardUserRecents/CardUserRecentsBase.js +0 -108
@@ -109,11 +109,11 @@
109
109
  }
110
110
 
111
111
  .sapUshellNavigationMenuListItems:not(:last-child) .sapMLIBContent:after {
112
- background-color: @sapUiShellTextColor;
112
+ background-color: @sapUiContentNonInteractiveIconColor;
113
113
  }
114
114
 
115
115
  .sapUshellNavigationMenuListItems:not(:first-child) .sapMLIBContent:before {
116
- background-color: @sapUiShellTextColor;
116
+ background-color: @sapUiContentNonInteractiveIconColor;
117
117
  }
118
118
 
119
119
  /** Shell Application Title control **/
@@ -134,16 +134,6 @@
134
134
  font-size: 1rem;
135
135
  }
136
136
 
137
- /** Shell Navigation Menu - override background color*/
138
- #sapUshellNavMenuTabBar {
139
- background-color: @sapUiListBackground;
140
- }
141
-
142
- /** Shell Navigation Menu - override to style of the text-tab-bar head area background color**/
143
- #sapUshellNavMenuTabBar .sapMITH {
144
- background-color: @sapUiListBackground;
145
- }
146
-
147
137
  /** Shell Navigation Menu - Mini Tiles (of relatedApps)**/
148
138
  .sapUshellNavMiniTile {
149
139
  background-color: @sapUiTileBackground;
@@ -36,5 +36,4 @@
36
36
  @import "TileState.less";
37
37
  @import "ToolAreaItem.less";
38
38
  @import "UsageAnalyticsSelector.less";
39
- @import "UserPreferencesButton.less";
40
39
  @import "WorkPageCell.less";
@@ -99,31 +99,6 @@
99
99
  border-bottom: 0;
100
100
  }
101
101
 
102
- /** Shell Navigation Menu - related Apps grid (within a flexbox) - override the text-tab-bar content area height **/
103
- #sapUshellAppTitlePopover .sapMITBContent {
104
- background-color: @sapUiButtonBackground;
105
- }
106
-
107
- /** Shell Navigation Menu - Popover Header color override **/
108
- #sapUshellAppTitlePopover .sapMIBar.sapMHeader-CTX {
109
- background-color: @sapUiListBackground;
110
- }
111
-
112
- /** Shell Navigation Menu - override background color*/
113
- #sapUshellNavMenuTabBar {
114
- background-color: @sapUiListBackground;
115
- }
116
-
117
- /** Shell Navigation Menu - override to style of the text-tab-bar head area background color**/
118
- #sapUshellNavMenuTabBar .sapMITH {
119
- background-color: @sapUiListBackground;
120
- }
121
-
122
- #sapUshellNavMenuTabBar .sapMITBContainerContent {
123
- border: 0;
124
- border-top: 2px @sapDefault_BorderStyle @sapUiHcStandardForeground;
125
- }
126
-
127
102
  /** Shell Navigation Menu - Mini Tiles (of relatedApps)**/
128
103
  .sapUshellNavMiniTile {
129
104
  background-color: @sapUiListBackground;
@@ -29,6 +29,5 @@
29
29
  @import "TileBase.less";
30
30
  @import "TileContainer.less";
31
31
  @import "TileState.less";
32
- @import "UserPreferencesButton.less";
33
32
  @import "ActionMode.less";
34
33
  @import "WorkPageCell.less";
@@ -99,31 +99,6 @@
99
99
  border-bottom: 0;
100
100
  }
101
101
 
102
- /** Shell Navigation Menu - related Apps grid (within a flexbox) - override the text-tab-bar content area height **/
103
- #sapUshellAppTitlePopover .sapMITBContent {
104
- background-color: @sapUiButtonBackground;
105
- }
106
-
107
- /** Shell Navigation Menu - Popover Header color override **/
108
- #sapUshellAppTitlePopover .sapMIBar.sapMHeader-CTX {
109
- background-color: @sapUiListBackground;
110
- }
111
-
112
- /** Shell Navigation Menu - override background color*/
113
- #sapUshellNavMenuTabBar {
114
- background-color: @sapUiListBackground;
115
- }
116
-
117
- /** Shell Navigation Menu - override to style of the text-tab-bar head area background color**/
118
- #sapUshellNavMenuTabBar .sapMITH {
119
- background-color: @sapUiListBackground;
120
- }
121
-
122
- #sapUshellNavMenuTabBar .sapMITBContainerContent {
123
- border: 0;
124
- border-top: 2px @sapDefault_BorderStyle @sapUiHcStandardForeground;
125
- }
126
-
127
102
  /** Shell Navigation Menu - Mini Tiles (of relatedApps)**/
128
103
  .sapUshellNavMiniTile {
129
104
  background-color: @sapUiListBackground;
@@ -29,6 +29,5 @@
29
29
  @import "TileBase.less";
30
30
  @import "TileContainer.less";
31
31
  @import "TileState.less";
32
- @import "UserPreferencesButton.less";
33
32
  @import "ActionMode.less";
34
33
  @import "WorkPageCell.less";
@@ -24,23 +24,8 @@ sap.ui.define([
24
24
  * the AppBox to be rendered
25
25
  */
26
26
  AppBoxRenderer.render = function (rm, oAppBox) {
27
- var oCatalogContainer = oAppBox.getParent(),
28
- oAppBoxes = [];
29
-
30
- if (oCatalogContainer && oCatalogContainer.getAppBoxesContainer && oCatalogContainer.getCustomTilesContainer) {
31
- // AppFinder: CatalogEntryContainer
32
- oAppBoxes = oCatalogContainer.getAppBoxesContainer().concat(oCatalogContainer.getCustomTilesContainer());
33
- }
34
-
35
- var oVisibleAppBoxes = oAppBoxes.filter(function (appBox) {
36
- return appBox.getVisible();
37
- }),
38
- iCurrentItemIndex = oVisibleAppBoxes.indexOf(oAppBox) > -1 ? oVisibleAppBoxes.indexOf(oAppBox) + 1 : "";
39
-
40
27
  rm.openStart("li", oAppBox);
41
28
  rm.class("sapUshellAppBox");
42
- rm.attr("aria-posinset", iCurrentItemIndex);
43
- rm.attr("aria-setsize", oVisibleAppBoxes.length);
44
29
  rm.attr("aria-label", oAppBox._getAriaLabel());
45
30
  rm.attr("aria-roledescription", resources.i18n.getText("tile"));
46
31
  rm.attr("aria-describedby", oAppBox.getId());
@@ -0,0 +1,199 @@
1
+ // Copyright (c) 2009-2022 SAP SE, All Rights Reserved
2
+ sap.ui.define([
3
+ "sap/ui/integration/Extension",
4
+ "sap/ushell/utils/UrlParsing",
5
+ "sap/ushell/utils/AppType",
6
+ "sap/ushell/library",
7
+ "sap/ushell/Config",
8
+ "sap/ushell/EventHub",
9
+ "sap/ushell/resources"
10
+ ], function (Extension, UrlParsing, AppTypeUtils, ushellLibrary, Config, EventHub, resources) {
11
+ "use strict";
12
+
13
+ var AppType = ushellLibrary.AppType;
14
+
15
+ /**
16
+ * Formats a title string based on the app type.
17
+ *
18
+ * @param {string} sTitle Title to be formatted.
19
+ * @param {string} sAppType The app type.
20
+ * @returns {string} The formatted title.
21
+ *
22
+ * @private
23
+ */
24
+ function _titleFormatter (sTitle, sAppType) {
25
+ if (sAppType === AppType.SEARCH) {
26
+ return "\"" + sTitle + "\"";
27
+ }
28
+ return sTitle;
29
+ }
30
+
31
+ /**
32
+ * Formats the description based on the app type.
33
+ *
34
+ * @param {string} sAppType The app type.
35
+ * @returns {string} The formatted description.
36
+ *
37
+ * @private
38
+ */
39
+ function _descriptionFormatter (sAppType) {
40
+ if (sAppType === AppType.SEARCH) {
41
+ return resources.i18n.getText("recentActivitiesSearchDescription");
42
+ }
43
+ return AppTypeUtils.getDisplayName(sAppType);
44
+ }
45
+
46
+ return Extension.extend("sap.ushell.ui.cards.FrequentActivitiesExtension", {
47
+
48
+ /**
49
+ * Initializes the card extension.
50
+ */
51
+ init: function () {
52
+ Extension.prototype.init.apply(this, arguments);
53
+ this.oUserRecentsPromise = sap.ushell.Container.getServiceAsync("UserRecents");
54
+ this.oCrossAppNavPromise = sap.ushell.Container.getServiceAsync("CrossApplicationNavigation");
55
+ },
56
+
57
+ /**
58
+ * Exit callback. Cleans up the objects and turns of the event listening for EventHub events.
59
+ */
60
+ exit: function () {
61
+ Extension.prototype.exit.apply(this, arguments);
62
+ EventHub.on("newUserRecentsItem").off();
63
+ EventHub.on("userRecentsCleared").off();
64
+ },
65
+
66
+ /**
67
+ * When the card is loaded and ready () we will listen to the EventHub events newUserRecentsItem and userRecentsCleared to refresh the card data.
68
+ */
69
+ onCardReady: function () {
70
+ EventHub.on("newUserRecentsItem").do(function () {
71
+ // It will call getData() again, and show loading placeholders while loading.
72
+ // Data sorting has to be implemented in the getData() method.
73
+ this.getCard().refreshData();
74
+ }.bind(this));
75
+
76
+ EventHub.on("userRecentsCleared").do(function () {
77
+ this.getCard().refreshData();
78
+ }.bind(this));
79
+ },
80
+
81
+ /**
82
+ * Gets the Data to be used for binding the card items.
83
+ * @returns {Promise} A Promise with the frequently used card items.
84
+ */
85
+ getData: function () {
86
+ if (!Config.last("/core/shell/model/enableTrackingActivity")) {
87
+ return Promise.resolve([]);
88
+ }
89
+
90
+ if (this._sortedData) {
91
+ return Promise.resolve(this._resolvedData);
92
+ }
93
+
94
+ return this.oUserRecentsPromise
95
+ .then(function (oUserRecents) { // 1: get the data
96
+ return new Promise(function (resolve, reject) {
97
+ oUserRecents.getFrequentActivity()
98
+ .done(resolve)
99
+ .fail(reject);
100
+ });
101
+ })
102
+ .then(this._getActivitiesAsCardItems.bind(this)) // 2: prepare the data for the card
103
+ .then(this._checkEnabled.bind(this)); // 3: determine which items are enabled - set their "Enabled" property
104
+ },
105
+
106
+ /**
107
+ * Generates the card item objects for the given activities.
108
+ * @param {Object []} aActivities Array of activities that need to be used to generate card items.
109
+ * @returns {Promise []} Array of card item objects that can be bound to the list items of the card.
110
+ *
111
+ * @private
112
+ */
113
+ _getActivitiesAsCardItems: function (aActivities) {
114
+ var aCardItems = [],
115
+ oCardItem;
116
+ for (var i = 0; i < aActivities.length; i++) {
117
+ if (aActivities[i].url && aActivities[i].url !== "") {
118
+ var oShellHash = UrlParsing.parseShellHash(aActivities[i].url);
119
+ oCardItem = {
120
+ Name: _titleFormatter(aActivities[i].title, aActivities[i].appType),
121
+ Description: _descriptionFormatter(aActivities[i].appType),
122
+ Icon: aActivities[i].icon || "sap-icon://product",
123
+ Url: aActivities[i].url
124
+ };
125
+ if (oShellHash) {
126
+ oCardItem.Intent = {
127
+ SemanticObject: oShellHash.semanticObject,
128
+ Action: oShellHash.action,
129
+ Parameters: oShellHash.params,
130
+ AppSpecificRoute: oShellHash.appSpecificRoute
131
+ };
132
+ } else {
133
+ oCardItem.Url = aActivities[i].url;
134
+ }
135
+ aCardItems.push(oCardItem);
136
+ }
137
+ }
138
+ return aCardItems;
139
+ },
140
+
141
+ /**
142
+ * Checks for a given array of card activities if each of them is enabled for user interaction.
143
+ * It adds the Enabled property to each object with the boolean representation of enablement.
144
+ * @param {Object []} aActivities Array of activities (frequently used apps) to check if each of them is enabled for user action.
145
+ * @returns {Promise []} Array of resolved Promises of activities with the additional information about the interaction enablement for each entry.
146
+ *
147
+ * @private
148
+ */
149
+ _checkEnabled: function (aActivities) {
150
+ var aPromises = aActivities.map(function (oActivity) {
151
+ return this._isActionEnabled(oActivity)
152
+ .then(function (bEnabled) {
153
+ oActivity.Enabled = bEnabled;
154
+ return oActivity;
155
+ });
156
+ }.bind(this));
157
+
158
+ return Promise.all(aPromises);
159
+ },
160
+
161
+ /**
162
+ * Checks if the navigation for a given context is supported. This is the case if eigther the activity
163
+ * Url property is a Url or a parseable ShellHash.
164
+ * @param {Object} oActivity activity for which the navigation support is checked
165
+ * @returns {Promise} Resolves to true if the navigation is supported or an Url is given, false else.
166
+ *
167
+ * @private
168
+ */
169
+ _isActionEnabled: function (oActivity) {
170
+ var oShellHash = UrlParsing.parseShellHash(oActivity.Url);
171
+
172
+ if (!oShellHash) {
173
+ return Promise.resolve(true);
174
+ }
175
+
176
+ var oParameters = oShellHash.params;
177
+
178
+ var oNavigation = {
179
+ target: {
180
+ semanticObject: oShellHash.semanticObject,
181
+ action: oShellHash.action
182
+ },
183
+ params: oParameters
184
+ };
185
+
186
+ return this.oCrossAppNavPromise.then(function (oCrossAppNav) {
187
+ return new Promise(function (resolve) {
188
+ oCrossAppNav.isNavigationSupported([oNavigation])
189
+ .done(function (aResponses) {
190
+ resolve(aResponses[0].supported);
191
+ })
192
+ .fail(function () {
193
+ resolve(false);
194
+ });
195
+ });
196
+ });
197
+ }
198
+ });
199
+ });
@@ -0,0 +1,202 @@
1
+ // Copyright (c) 2009-2022 SAP SE, All Rights Reserved
2
+ /**
3
+ * @fileOverview Extension for recent activities card
4
+ *
5
+ * @version 1.112.0
6
+ */
7
+ sap.ui.define([
8
+ "sap/ui/integration/Extension",
9
+ "sap/ushell/utils/UrlParsing",
10
+ "sap/ushell/utils/AppType",
11
+ "sap/ushell/library",
12
+ "sap/ushell/Config",
13
+ "sap/ushell/EventHub",
14
+ "sap/ushell/resources"
15
+ ], function (Extension, UrlParsing, AppTypeUtils, ushellLibrary, Config, EventHub, resources) {
16
+ "use strict";
17
+
18
+ var AppType = ushellLibrary.AppType;
19
+
20
+ /**
21
+ * Formats a title string based on the app type.
22
+ *
23
+ * @param {string} sTitle Title to be formatted.
24
+ * @param {string} sAppType The app type.
25
+ * @returns {string} The formatted title.
26
+ *
27
+ * @private
28
+ */
29
+ function _titleFormatter (sTitle, sAppType) {
30
+ if (sAppType === AppType.SEARCH) {
31
+ return "\"" + sTitle + "\"";
32
+ }
33
+ return sTitle;
34
+ }
35
+
36
+ /**
37
+ * Formats the description based on the app type.
38
+ *
39
+ * @param {string} sAppType The app type.
40
+ * @returns {string} The formatted description.
41
+ *
42
+ * @private
43
+ */
44
+ function _descriptionFormatter (sAppType) {
45
+ if (sAppType === AppType.SEARCH) {
46
+ return resources.i18n.getText("recentActivitiesSearchDescription");
47
+ }
48
+ return AppTypeUtils.getDisplayName(sAppType);
49
+ }
50
+
51
+ return Extension.extend("sap.ushell.ui.cards.RecentActivitiesExtension", {
52
+
53
+ /**
54
+ * Initializes the card extension.
55
+ */
56
+ init: function () {
57
+ Extension.prototype.init.apply(this, arguments);
58
+ this.oUserRecentsPromise = sap.ushell.Container.getServiceAsync("UserRecents");
59
+ this.oCrossAppNavPromise = sap.ushell.Container.getServiceAsync("CrossApplicationNavigation");
60
+ },
61
+
62
+ /**
63
+ * Exit callback. Cleans up the objects and turns of the event listening for EventHub events.
64
+ */
65
+ exit: function () {
66
+ Extension.prototype.exit.apply(this, arguments);
67
+ EventHub.on("newUserRecentsItem").off();
68
+ EventHub.on("userRecentsCleared").off();
69
+ },
70
+
71
+ /**
72
+ * When the card is loaded and ready () we will listen to the EventHub events newUserRecentsItem and userRecentsCleared to refresh the card data.
73
+ */
74
+ onCardReady: function () {
75
+ EventHub.on("newUserRecentsItem").do(function () {
76
+ // refreshData calls getData again
77
+ this.getCard().refreshData();
78
+ }.bind(this));
79
+
80
+ EventHub.on("userRecentsCleared").do(function () {
81
+ this.getCard().refreshData();
82
+ }.bind(this));
83
+ },
84
+
85
+ /**
86
+ * Gets the Data to be used for binding the card items.
87
+ * @returns {Promise} A Promise with the recently used card items.
88
+ */
89
+ getData: function () {
90
+ if (!Config.last("/core/shell/model/enableTrackingActivity")) {
91
+ return Promise.resolve([]);
92
+ }
93
+
94
+ return this.oUserRecentsPromise
95
+ .then(function (oUserRecents) {
96
+ return new Promise(function (resolve, reject) {
97
+ oUserRecents.getRecentActivity()
98
+ .done(resolve)
99
+ .fail(reject);
100
+ });
101
+ })
102
+ .then(this._getActivitiesAsCardItems.bind(this))
103
+ .then(this._checkEnabled.bind(this));
104
+ },
105
+
106
+ /**
107
+ * Generates the card item objects for the given activities.
108
+ * @param {Object []} aActivities Array of activities that need to be used to generate card items.
109
+ * @returns {Promise []} Array of card item objects that can be bound to the list items of the card.
110
+ *
111
+ * @private
112
+ */
113
+ _getActivitiesAsCardItems: function (aActivities) {
114
+ var aCardItems = [],
115
+ oCardItem;
116
+ for (var i = 0; i < aActivities.length; i++) {
117
+ if (aActivities[i].url && aActivities[i].url !== "") {
118
+ var oShellHash = UrlParsing.parseShellHash(aActivities[i].url);
119
+
120
+ oCardItem = {
121
+ Name: _titleFormatter(aActivities[i].title, aActivities[i].appType),
122
+ Description: _descriptionFormatter(aActivities[i].appType),
123
+ Icon: aActivities[i].icon || "sap-icon://product",
124
+ Url: aActivities[i].url
125
+ };
126
+
127
+ if (oShellHash) {
128
+ oCardItem.Intent = {
129
+ SemanticObject: oShellHash.semanticObject,
130
+ Action: oShellHash.action,
131
+ Parameters: oShellHash.params,
132
+ AppSpecificRoute: oShellHash.appSpecificRoute
133
+ };
134
+ } else {
135
+ oCardItem.Url = aActivities[i].url;
136
+ }
137
+ aCardItems.push(oCardItem);
138
+ }
139
+ }
140
+ return aCardItems;
141
+ },
142
+
143
+ /**
144
+ * Checks for a given array of card activities if each of them is enabled for user interaction.
145
+ * It adds the Enabled property to each object with the boolean representation of enablement.
146
+ * @param {Object []} aActivities Array of activities (recently used apps) to check if each of them is enabled for user action.
147
+ * @returns {Promise []} Array of resolved Promises of activities with the additional information about the interaction enablement for each entry.
148
+ *
149
+ * @private
150
+ */
151
+ _checkEnabled: function (aActivities) {
152
+ var aPromises = aActivities.map(function (oActivity) {
153
+ return this._isActionEnabled(oActivity)
154
+ .then(function (bEnabled) {
155
+ oActivity.Enabled = bEnabled;
156
+ return oActivity;
157
+ });
158
+ }.bind(this));
159
+
160
+ return Promise.all(aPromises);
161
+ },
162
+
163
+ /**
164
+ * Checks if the navigation for a given context is supported. This is the case if eigther the activity
165
+ * Url property is a Url or a parseable ShellHash.
166
+ * @param {Object} oActivity activity for which the navigation support is checked.
167
+ * @returns {Promise} Resolves to true if the navigation is supported or an Url is given, false else.
168
+ *
169
+ * @private
170
+ */
171
+ _isActionEnabled: function (oActivity) {
172
+ var oShellHash = UrlParsing.parseShellHash(oActivity.Url);
173
+
174
+ if (!oShellHash) {
175
+ return Promise.resolve(true);
176
+ }
177
+
178
+ var oParameters = oShellHash.params;
179
+
180
+ var oNavigation = {
181
+ target: {
182
+ semanticObject: oShellHash.semanticObject,
183
+ action: oShellHash.action
184
+ },
185
+ params: oParameters
186
+ };
187
+
188
+ return this.oCrossAppNavPromise.then(function (oCrossAppNav) {
189
+ return new Promise(function (resolve) {
190
+ oCrossAppNav.isNavigationSupported([oNavigation])
191
+ .done(function (aResponses) {
192
+ resolve(aResponses[0].supported);
193
+ })
194
+ .fail(function () {
195
+ resolve(false);
196
+ });
197
+ });
198
+ });
199
+ }
200
+
201
+ });
202
+ });
@@ -41,7 +41,7 @@ sap.ui.define([
41
41
  * @extends sap.ui.core.Control
42
42
  *
43
43
  * @author SAP SE
44
- * @version 1.111.0
44
+ * @version 1.112.0
45
45
  *
46
46
  * @constructor
47
47
  * @private
@@ -350,8 +350,20 @@ sap.ui.define([
350
350
  * @param {jQuery.Event} oEvent The <code>tap</code> event object
351
351
  */
352
352
  AppBox.prototype.ontap = function (oEvent) {
353
+ // If something is selected, prevent the event
354
+ var oSelection = window.getSelection();
355
+ var sTextSelection = oSelection.toString().replace("\n", "");
356
+ if (sTextSelection && jQuery.contains(this.getDomRef(), oSelection.focusNode)) {
357
+ return;
358
+ }
359
+
360
+ // The user tap can occur on different controls (GridContainer, AppBox, Checkbox within the AppBox).
353
361
  var oSource = oEvent.srcControl;
354
- if (!this.getDisabled() && (oSource === this || oSource === this.getAggregation("_selectCheckBox"))) {
362
+ if (!this.getDisabled() && (
363
+ oSource === this
364
+ || oSource === this.getAggregation("_selectCheckBox")
365
+ || (oEvent.target && oEvent.target.firstChild === this.getDomRef())
366
+ )) {
355
367
  if (this.getSelectable()) {
356
368
  var bOldValue = this.getSelected();
357
369
  this.setSelected(!bOldValue);
@@ -360,6 +372,9 @@ sap.ui.define([
360
372
  this.firePress();
361
373
  }
362
374
  }
375
+
376
+ // Set the focus to the source again
377
+ oSource.focus();
363
378
  };
364
379
 
365
380
  /**
@@ -7,7 +7,7 @@
7
7
  * of recreating them. Items which get removed from the aggregation get destroyed and items which get added to the
8
8
  * aggregation get created.
9
9
  *
10
- * @version 1.111.0
10
+ * @version 1.112.0
11
11
  */
12
12
  sap.ui.define([
13
13
  "sap/ui/base/ManagedObject",
@@ -1,8 +1,6 @@
1
1
  // Copyright (c) 2009-2022 SAP SE, All Rights Reserved
2
2
 
3
- sap.ui.define([
4
- "sap/ui/thirdparty/jquery"
5
- ], function (jQuery) {
3
+ sap.ui.define([], function () {
6
4
  "use strict";
7
5
 
8
6
  /**
@@ -29,13 +27,7 @@ sap.ui.define([
29
27
  }
30
28
  rm.openEnd(); // div - tag
31
29
 
32
- if (jQuery.os.ios || !loadingDialog._isPlatformDependent) {
33
- this.renderAppInfo(rm, loadingDialog);
34
- this.renderFioriFlower(rm);
35
- } else {
36
- this.renderFioriFlower(rm);
37
- this.renderAppInfo(rm, loadingDialog);
38
- }
30
+ this.renderAppInfo(rm, loadingDialog);
39
31
 
40
32
  rm.close("div");
41
33
  },
@@ -55,41 +47,6 @@ sap.ui.define([
55
47
  rm.close("span");
56
48
  rm.renderControl(loadingDialog._oLabel);
57
49
  rm.close("div");
58
- },
59
-
60
- renderFioriFlower: function (rm) {
61
- var oUserAgentRegex = /Android\s4\.2.+GT-I9505.+Chrome\/18/, // Chrome 18 on Android 4.2.x / Samsung Galaxy S4
62
- bReplaceFlower = navigator.userAgent && oUserAgentRegex.test(navigator.userAgent); // some browsers do not get the flower but the replacement
63
-
64
- // create either flowery code or busy indicator
65
- if (jQuery.support.cssAnimations && !bReplaceFlower) {
66
- rm.openStart("div", "fiori2-loader");
67
- rm.openEnd(); // div - tag
68
-
69
- rm.openStart("div");
70
- rm.class("fiori2-blossom");
71
- rm.openEnd(); // div - tag
72
-
73
- for (var i = 1; i < 6; ++i) {
74
- rm.openStart("div");
75
- rm.class("fiori2-leafContainer");
76
- rm.class("fiori2-leafContainer" + i);
77
- rm.openEnd(); // div - tag
78
-
79
- rm.openStart("div");
80
- rm.class("fiori2-leaf");
81
- rm.class("fiori2-leaf" + i);
82
- rm.openEnd(); // div - tag
83
- rm.close("div");
84
- // end leafContainer
85
- rm.close("div");
86
- }
87
-
88
- // end blossom
89
- rm.close("div");
90
- // end fiori2-loader
91
- rm.close("div");
92
- }
93
50
  }
94
51
  };
95
52
 
@@ -51,7 +51,7 @@ sap.ui.define([
51
51
  * @extends sap.ui.core.Control
52
52
  *
53
53
  * @author SAP SE
54
- * @version 1.111.0
54
+ * @version 1.112.0
55
55
  *
56
56
  * @private
57
57
  * @alias sap.ushell.ui.launchpad.Page