@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
@@ -1,32 +1,95 @@
1
1
  //Copyright (c) 2009-2022 SAP SE, All Rights Reserved
2
2
  /**
3
3
  * @fileOverview ContentFinder Component
4
- * This UIComponent gets initialized by the FLP renderer upon opening a contentFinder instance
5
- * (visiting a work page if work pages are enabled (/core/workPages/enabled).
6
4
  *
7
- * @version 1.111.0
5
+ * @version 1.112.0
8
6
  */
9
7
 
10
8
  sap.ui.define([
11
- "sap/m/Button",
12
- "sap/m/Dialog",
13
- "sap/ui/core/Core",
14
- "sap/ui/core/mvc/XMLView",
15
- "sap/ui/core/UIComponent"
16
- ], function (Button, Dialog, Core, XMLView, UIComponent) {
9
+ "sap/base/Log",
10
+ "sap/base/util/deepExtend",
11
+ "sap/base/util/ObjectPath",
12
+ "sap/m/library",
13
+ "sap/ui/core/UIComponent",
14
+ "sap/ui/model/json/JSONModel",
15
+ "sap/ushell/library"
16
+ ], function (Log, deepExtend, ObjectPath, mobileLibrary, UIComponent, JSONModel, ushellLibrary) {
17
17
  "use strict";
18
18
 
19
19
  /**
20
- * Component of the ContentFinder view.
20
+ * Event for the visualizations to be added
21
+ *
22
+ * @event sap.ushell.components.contentFinder.Component#visualizationsAdded
23
+ * @type {object}
24
+ * @property {array} visualizationIds The list of visualization IDs to be added.
25
+ */
26
+
27
+ /**
28
+ * Event if a widget (type) without target was selected in the widget gallery.
21
29
  *
22
- * @param {string} sId Component id
23
- * @param {object} mSettings Optional Map object for Component settings
30
+ * @event sap.ushell.components.contentFinder.Component#visualizationsAdded
31
+ * @type {object}
32
+ * @property {string} widgetId The ID of the selected widget type
33
+ */
34
+
35
+ /**
36
+ * The available navigation targets
37
+ */
38
+ var oNavigationTargets = {
39
+ widgetGallery: "widgetGallery",
40
+ appSearchTiles: "appSearch_tiles",
41
+ appSearchCards: "appSearch_cards"
42
+ // TODO: appSearch_mixed: "appSearch_cards"
43
+ };
44
+
45
+ /**
46
+ * Initial data to be set to the ContentFinder model.
24
47
  *
48
+ * @type {object}
49
+ */
50
+ var oInitialData = {
51
+ navigationTargets: oNavigationTargets,
52
+
53
+ // The current/active navigation target within the ContentFinderDialog
54
+ activeNavigationTarget: oNavigationTargets.widgetGallery,
55
+
56
+ // A content finder in restricted mode shows no widget Gallery and starts directly with the appSearch.
57
+ // Additionally no "Back" button is rendered, as the end user cannot navigate to the WidgetGallery.
58
+ restrictedMode: false,
59
+
60
+ widgetGallery: {
61
+ widgetGroups: []
62
+ },
63
+
64
+ appSearch: {
65
+ appBoxCount: 0,
66
+ selectedAppCount: 0,
67
+ hasSelectables: true,
68
+ currentSelectedTreeNode: "",
69
+ searchTerm: "",
70
+ showSelectedPressed: false,
71
+ originalVisualizations: {
72
+ cards: [],
73
+ tiles: []
74
+ },
75
+ visualizations: {
76
+ cards: [],
77
+ tiles: []
78
+ },
79
+ originalRestrictedVisualizations: [],
80
+ restrictedVisualizations: []
81
+ }
82
+ };
83
+
84
+ /**
85
+ * Component of the ContentFinder view.
86
+ *
87
+ * @param {string} sId Component id.
88
+ * @param {object} mSettings Optional map for component settings.
25
89
  * @class
26
90
  * @extends sap.ui.core.UIComponent
27
- *
28
91
  * @private
29
- * @since 1.111.0
92
+ * @since 1.113.0
30
93
  * @alias sap.ushell.components.contentFinder.Component
31
94
  */
32
95
  return UIComponent.extend("sap.ushell.components.contentFinder.Component", /** @lends sap.ushell.components.contentFinder.Component */{
@@ -35,11 +98,30 @@ sap.ui.define([
35
98
  library: "sap.ushell"
36
99
  },
37
100
 
101
+ /**
102
+ * The string of the current contentFinder component for usage in Error Logs
103
+ * @type {string}
104
+ */
105
+ logComponent: "sap.ushell.components.ContentFinder.Component",
106
+
107
+ /**
108
+ * The init function called when the component is initialized.
109
+ *
110
+ * @since 1.113.0
111
+ * @private
112
+ */
38
113
  init: function () {
39
114
  UIComponent.prototype.init.apply(this, arguments);
40
- this.oEventBus = Core.getEventBus();
115
+
116
+ this.oResourceBundle = this.getModel("i18n").getResourceBundle();
41
117
  this.oRootView = this.getRootControl();
42
- this.rootControlLoaded().then(function () {
118
+
119
+ var oModel = new JSONModel();
120
+ oModel.setSizeLimit(Infinity);
121
+ this.setModel(oModel);
122
+ this._initializeModel();
123
+
124
+ this._oRootControlLoadedPromise = this.rootControlLoaded().then(function () {
43
125
  this.oNavContainer = this.oRootView.byId("contentFinderNavContainer");
44
126
  this.oContentFinderWidgetGalleryPage = this.oRootView.byId("contentFinderWidgetGalleryPage");
45
127
  this.oContentFinderAppSearchPage = this.oRootView.byId("contentFinderAppSearchPage");
@@ -47,15 +129,380 @@ sap.ui.define([
47
129
  }.bind(this));
48
130
  },
49
131
 
132
+ /**
133
+ * Opens the content finder and shows the provided target (WidgetGallery or AppSearch).
134
+ * Possible targets are: Widget Gallery (default): <code>widgetGallery</code>, App Search: <code>appSearch_tiles</code>.
135
+ *
136
+ * @param {string} [sTarget] Target view which is navigated to.
137
+ *
138
+ * @since 1.113.0
139
+ * @returns {Promise<undefined>} Resolves with <code>undefined</code>.
140
+ * @public
141
+ */
50
142
  show: function (sTarget) {
51
- if (sTarget === "widgetGallery") {
52
- this.oNavContainer.to(this.oContentFinderWidgetGalleryPage);
53
- this.oDialog.getBeginButton().setVisible(false);
54
- } else if (sTarget === "appSearch") {
55
- this.oNavContainer.to(this.oContentFinderAppSearchPage);
56
- this.oDialog.getBeginButton().setVisible(true);
143
+ if (sTarget && !Object.values(oNavigationTargets).includes(sTarget)) {
144
+ return Promise.reject(new Error("Invalid navigation target provided. Could not open ContentFinder dialog."));
145
+ }
146
+ sTarget = sTarget || oNavigationTargets.widgetGallery;
147
+
148
+ return this.navigate(sTarget).then(function () {
149
+ this.oDialog.open();
150
+ }.bind(this));
151
+ },
152
+
153
+ /**
154
+ * Sets the widget groups (e.g. applications, premium widgets) for the content finder instance.
155
+ *
156
+ * A row of the VBox as part of the WidgetGallery represents a single widget group.
157
+ * A widget type represents a specific widget type like tiles or cards.
158
+ *
159
+ * @param {array} aWidgetGroups An array of widget groups.
160
+ * @since 1.113.0
161
+ * @public
162
+ */
163
+ setWidgetGroups: function (aWidgetGroups) {
164
+ this.getModel().setProperty("/widgetGallery/widgetGroups", aWidgetGroups);
165
+ },
166
+
167
+ /**
168
+ * Sets the visualization data for the Content Finder model.
169
+ *
170
+ * @param {object} oVisualizationData An object containing all the visualization data as arrays.
171
+ * @since 1.113.0
172
+ * @public
173
+ */
174
+ setVisualizationData: function (oVisualizationData) {
175
+ var aVisualizations = ObjectPath.get("Visualizations.nodes", oVisualizationData) || [];
176
+ var oModel = this.getModel();
177
+
178
+ // Prepare AppBox object structure for tiles and cards
179
+ var aTiles = this._prepareTiles(aVisualizations);
180
+ var aCards = this._prepareCards(aVisualizations);
181
+
182
+ // Set data to the main model
183
+ oModel.setProperty("/appSearch/originalVisualizations/tiles", deepExtend([], aTiles));
184
+ oModel.setProperty("/appSearch/originalVisualizations/cards", deepExtend([], aCards));
185
+
186
+ oModel.setProperty("/appSearch/visualizations/tiles", deepExtend([], aTiles));
187
+ oModel.setProperty("/appSearch/visualizations/cards", deepExtend([], aCards));
188
+
189
+ this._updateVisualizationsRestricted();
190
+ },
191
+
192
+ /**
193
+ * Sets the restricted mode for the Content Finder.
194
+ *
195
+ * A content finder in restricted mode shows no "Back" button as part of the AppSearch view.
196
+ *
197
+ * @param {boolean} bRestrictedMode A boolean representring whether the content finder is restricted or not.
198
+ * @since 1.113.0
199
+ * @public
200
+ */
201
+ setRestrictedMode: function (bRestrictedMode) {
202
+ this.getModel().setProperty("/restrictedMode", !!bRestrictedMode);
203
+ },
204
+
205
+ /**
206
+ * Adds context data to visualization data.
207
+ *
208
+ * This context can be used to set restricted visualizations.
209
+ * Restricted visualizations are non-selectable widgets which are already present on the page.
210
+ *
211
+ * @param {object} oContextData The context data with the restricted visualizations.
212
+ * @since 1.113.0
213
+ * @public
214
+ */
215
+ setContextData: function (oContextData) {
216
+ var aRestrictedVisualizations = ObjectPath.get("restrictedVisualizations", oContextData) || [];
217
+ var oModel = this.getModel();
218
+
219
+ oModel.setProperty("/appSearch/originalRestrictedVisualizations", deepExtend([], aRestrictedVisualizations));
220
+
221
+ oModel.setProperty("/appSearch/restrictedVisualizations", deepExtend([], aRestrictedVisualizations));
222
+
223
+ this._updateVisualizationsRestricted();
224
+ },
225
+
226
+ /**
227
+ * Returns the NavContainer.
228
+ *
229
+ * @returns {Promise<sap.m.NavContainer>} Resolves with the NavContainer.
230
+ * @since 1.113.0
231
+ * @private
232
+ */
233
+ getNavContainer: function () {
234
+ return this._oRootControlLoadedPromise.then(function () {
235
+ return this.oNavContainer;
236
+ }.bind(this));
237
+ },
238
+
239
+ /**
240
+ * Returns all selected app boxes.
241
+ *
242
+ * @param {boolean} [bDisabled] In case this parameter is provided, the "disabled" property is checked, too.
243
+ * @returns {array} Returns an array containing all selected app boxes.
244
+ * @since 1.113.0
245
+ * @private
246
+ */
247
+ getSelectedAppBoxes: function (bDisabled) {
248
+ var oVisualizations = this.getModel().getProperty("/appSearch/visualizations");
249
+ var aAllSelectedAppBoxes = [];
250
+
251
+ Object.values(oVisualizations).forEach(function (aWidgetTypeData) {
252
+ var aSelectedAppBoxes = aWidgetTypeData.filter(function (oAppBox) {
253
+ return oAppBox.selected
254
+ && (typeof bDisabled !== "boolean" || oAppBox.disabled === bDisabled);
255
+ });
256
+
257
+ aAllSelectedAppBoxes = aAllSelectedAppBoxes.concat(aSelectedAppBoxes);
258
+ });
259
+
260
+ return aAllSelectedAppBoxes;
261
+ },
262
+
263
+ /**
264
+ * Fires the <code>visualizationAdded</code> event which provides the added visualizations.
265
+ *
266
+ * @fires sap.ushell.components.contentFinder.Component#visualizationsAdded
267
+ * @since 1.113.0
268
+ * @private
269
+ */
270
+ addVisualizations: function () {
271
+ var aSelectedAppBoxes = this.getSelectedAppBoxes(false);
272
+ if (aSelectedAppBoxes.length > 0) {
273
+ this.fireEvent("visualizationsAdded", {
274
+ visualizations: aSelectedAppBoxes
275
+ });
276
+ }
277
+ },
278
+
279
+ /**
280
+ * Attaches an event handler to the 'contentFinderClosed' event.
281
+ *
282
+ * When called, the context of the event handler will be bound to 'oListener' if specified, otherwise it will be bound to this.
283
+ *
284
+ * @param {function} fnFunction The callback to be called, when the event is triggered
285
+ * @param {object} [oListener] Context object to call the event handler with. Defaults to this.
286
+ * @returns {this} Reference to 'this' in order to allow method chaining
287
+ * @since 1.113.0
288
+ * @private
289
+ */
290
+ attachContentFinderClosed: function (fnFunction, oListener) {
291
+ this.attachEventOnce("contentFinderClosed", fnFunction, oListener);
292
+ return this;
293
+ },
294
+
295
+ /**
296
+ * Attaches an event handler to the 'widgetSelected' event.
297
+ *
298
+ * When called, the context of the event handler will be bound to 'oListener' if specified, otherwise it will be bound to this.
299
+ *
300
+ * @param {object} oData] An application-specific payload object that will be passed to the event handler.
301
+ * @param {function} fnFunction The callback to be called, when the event is triggered
302
+ * @param {object} [oListener] Context object to call the event handler with. Defaults to this.
303
+ * @returns {this} Reference to 'this' in order to allow method chaining
304
+ * @since 1.113.0
305
+ * @private
306
+ */
307
+ attachWidgetSelected: function (oData, fnFunction, oListener) {
308
+ this.attachEventOnce("widgetSelected", oData, fnFunction, oListener);
309
+ return this;
310
+ },
311
+
312
+ /**
313
+ * Attaches an event handler to the 'visualizationsAdded' event.
314
+ *
315
+ * When called, the context of the event handler will be bound to 'oListener' if specified, otherwise it will be bound to this.
316
+ *
317
+ * @param {object} oData] An application-specific payload object that will be passed to the event handler.
318
+ * @param {function} fnFunction The callback to be called, when the event is triggered
319
+ * @param {object} [oListener] Context object to call the event handler with. Defaults to this.
320
+ * @returns {this} Reference to 'this' in order to allow method chaining
321
+ * @since 1.113.0
322
+ * @private
323
+ */
324
+ attachVisualizationsAdded: function (oData, fnFunction, oListener) {
325
+ this.attachEventOnce("visualizationsAdded", oData, fnFunction, oListener);
326
+ return this;
327
+ },
328
+
329
+ /**
330
+ * Resets the AppSearch, but keeps originally passed visualizations in the model.
331
+ *
332
+ * Resetting the AppSearch is necessary when navigating away from the AppSearch.
333
+ *
334
+ * @since 1.113.0
335
+ * @private
336
+ */
337
+ resetAppSearch: function () {
338
+ var oData = this.getModel().getData();
339
+
340
+ var oInitialDataTmp = deepExtend({}, oInitialData.appSearch);
341
+ oInitialDataTmp.originalVisualizations = deepExtend({}, oData.appSearch.originalVisualizations);
342
+ oInitialDataTmp.originalRestrictedVisualizations = [].concat(oData.appSearch.originalRestrictedVisualizations);
343
+
344
+ oInitialDataTmp.visualizations = deepExtend({}, oData.appSearch.originalVisualizations);
345
+ oInitialDataTmp.restrictedVisualizations = [].concat(oData.appSearch.originalRestrictedVisualizations);
346
+
347
+ oData.appSearch = oInitialDataTmp;
348
+
349
+ this.getModel().setData(oData);
350
+ },
351
+
352
+ /**
353
+ * Executes the navigation from one view to another view.
354
+ *
355
+ * @param {string} [sTarget] Target view which is navigated to.
356
+ * @since 1.113.0
357
+ * @returns {Promise<undefined>} Resolves with <code>undefined</code>.
358
+ * @private
359
+ */
360
+ navigate: function (sTarget) {
361
+ var oModel = this.getModel();
362
+
363
+ oModel.setProperty("/activeNavigationTarget", sTarget);
364
+
365
+ if (sTarget === oNavigationTargets.appSearchTiles || sTarget === oNavigationTargets.appSearchCards) {
366
+ return this.getNavContainer().then(function (oNavContainer) {
367
+ oNavContainer.to(this.oContentFinderAppSearchPage);
368
+ }.bind(this));
57
369
  }
58
- this.oDialog.open();
370
+
371
+ return this.getNavContainer().then(function (oNavContainer) {
372
+ oNavContainer.to(this.oContentFinderWidgetGalleryPage);
373
+ }.bind(this));
374
+ },
375
+
376
+ /**
377
+ * Initializes the content finder model.
378
+ *
379
+ * It is also called again after closing the dialog.
380
+ *
381
+ * @since 1.113.0
382
+ * @private
383
+ */
384
+ _initializeModel: function () {
385
+ this.getModel().setData(deepExtend({}, oInitialData));
386
+ },
387
+
388
+ /**
389
+ * Prepares tiles from the visualizationData and enriches them for the appBoxes.
390
+ *
391
+ * @param {array} aVisualizationData The visualizationData from the consumer
392
+ * @returns {object} oData The prepared and filtered tiles
393
+ * @since 1.113.0
394
+ * @private
395
+ */
396
+ _prepareTiles: function (aVisualizationData) {
397
+ var aTilesData = aVisualizationData.filter(function (tile) {
398
+ return [
399
+ "sap.ushell.StaticAppLauncher",
400
+ "sap.ushell.DynamicAppLauncher"
401
+ ].indexOf(tile.Type) > -1;
402
+ });
403
+
404
+ var oData = [];
405
+ aTilesData.forEach(function (oTile, iIndex) {
406
+ if (!oTile.Descriptor) {
407
+ Log.error("No Descriptor available. Cannot load this tile!", null, this.logComponent);
408
+ return;
409
+ }
410
+
411
+ var oTileSapApp = oTile.Descriptor["sap.app"];
412
+ var oTileSapFiori = oTile.Descriptor["sap.fiori"];
413
+ var sAppID = "";
414
+
415
+ if (oTileSapFiori) {
416
+ sAppID = oTileSapFiori.registrationIds[0];
417
+ } else if (oTileSapApp && oTileSapApp.hasOwnProperty("id")) {
418
+ sAppID = oTileSapApp.id;
419
+ }
420
+
421
+ oData.push({
422
+ id: oTile.Id,
423
+ appId: sAppID,
424
+ icon: ObjectPath.get("icons.icon", oTile.Descriptor["sap.ui"]) || "",
425
+ info: oTileSapApp && oTileSapApp.info || "",
426
+ launchUrl: oTile.Descriptor["sap.flp"] && oTile.Descriptor["sap.flp"].target || "",
427
+ previewSize: ushellLibrary.AppBoxPreviewSize.Small,
428
+ posinset: iIndex + 1,
429
+ setsize: aTilesData.length,
430
+ subtitle: oTileSapApp && oTileSapApp.subTitle || "",
431
+ title: oTileSapApp && oTileSapApp.title || "",
432
+ type: oTile.Type,
433
+ frameType: mobileLibrary.FrameType.OneByOne,
434
+ vizData: oTile,
435
+ selected: false,
436
+ disabled: false
437
+ });
438
+ }.bind(this));
439
+ return oData;
440
+ },
441
+
442
+ /**
443
+ * Prepares cards from the visualizationData and enriches them for the appBoxes.
444
+ *
445
+ * @param {array} aVisualizationData The visualizationData from the consumer
446
+ * @returns {object} oData The prepared and filtered tiles
447
+ * @since 1.113.0
448
+ * @private
449
+ */
450
+ _prepareCards: function (aVisualizationData) {
451
+ var aCardsData = aVisualizationData.filter(function (tile) {
452
+ return tile.Type === "sap.card";
453
+ });
454
+
455
+ var oData = [];
456
+ aCardsData.forEach(function (oCard, iIndex) {
457
+ if (!oCard.Descriptor) {
458
+ Log.error("No Descriptor available. Cannot load this card!", null, this.logComponent);
459
+ return;
460
+ }
461
+
462
+ var oCardSapApp = oCard.Descriptor["sap.app"];
463
+ var sAppID = oCardSapApp && oCardSapApp.id || "";
464
+
465
+ oData.push({
466
+ id: oCard.Id,
467
+ appId: sAppID,
468
+ icon: ObjectPath.get("icons.icon", oCard.Descriptor["sap.ui"]) || "",
469
+ info: oCardSapApp && oCardSapApp.info || "",
470
+ previewSize: ushellLibrary.AppBoxPreviewSize.Large,
471
+ posinset: iIndex + 1,
472
+ setsize: aCardsData.length,
473
+ subtitle: oCardSapApp && oCardSapApp.subTitle || "",
474
+ title: oCardSapApp && oCardSapApp.title || "",
475
+ type: oCard.Type,
476
+ manifest: oCard.Descriptor,
477
+ vizData: oCard,
478
+ selected: false,
479
+ disabled: false
480
+ });
481
+ }.bind(this));
482
+ return oData;
483
+ },
484
+
485
+ /**
486
+ * Updates the restricted state of the currently available visualizations.
487
+ *
488
+ * @since 1.113.0
489
+ * @private
490
+ */
491
+ _updateVisualizationsRestricted: function () {
492
+ var aRestrictedVisualizations = this.getModel().getProperty("/appSearch/restrictedVisualizations");
493
+ var oVisualizations = this.getModel().getProperty("/appSearch/visualizations");
494
+
495
+ Object.values(oVisualizations).forEach(function (aWidgetTypeData) {
496
+ aWidgetTypeData.forEach(function (oWidget) {
497
+ if (aRestrictedVisualizations.includes(oWidget.id)) {
498
+ oWidget.selected = true;
499
+ oWidget.disabled = true;
500
+ } else {
501
+ oWidget.selected = false;
502
+ oWidget.disabled = false;
503
+ }
504
+ });
505
+ });
59
506
  }
60
507
  });
61
508
  });