@sapui5/sap.ushell 1.122.1 → 1.123.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 (259) 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/Container.js +9 -1
  4. package/src/main/js/sap/ushell/Fiori20Adapter.js +1 -1
  5. package/src/main/js/sap/ushell/Fiori20AdapterTest.js +1 -1
  6. package/src/main/js/sap/ushell/NWBCInterface.js +1 -1
  7. package/src/main/js/sap/ushell/TechnicalParameters.js +1 -1
  8. package/src/main/js/sap/ushell/URLTemplateProcessor.js +1 -1
  9. package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +1 -1
  10. package/src/main/js/sap/ushell/Ui5ServiceFactory.js +1 -1
  11. package/src/main/js/sap/ushell/_URLTemplateProcessor/DefinitionParameterSetBuilder.js +1 -1
  12. package/src/main/js/sap/ushell/_URLTemplateProcessor/DependencyGraph.js +1 -1
  13. package/src/main/js/sap/ushell/_URLTemplateProcessor/Functions.js +1 -1
  14. package/src/main/js/sap/ushell/_URLTemplateProcessor/Resolvers.js +1 -1
  15. package/src/main/js/sap/ushell/_URLTemplateProcessor/TemplateParameterParser.js +1 -1
  16. package/src/main/js/sap/ushell/_URLTemplateProcessor/utils.js +1 -1
  17. package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +1 -1
  18. package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +1 -1
  19. package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
  20. package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +1 -1
  21. package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +1 -1
  22. package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +1 -1
  23. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
  24. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationV2Adapter.js +1 -1
  25. package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +1 -1
  26. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +1 -1
  27. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +1 -1
  28. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +1 -1
  29. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +1 -1
  30. package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +1 -1
  31. package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +1 -1
  32. package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +1 -2
  33. package/src/main/js/sap/ushell/adapters/cdm/v3/FlpLaunchPageAdapter.js +1 -1
  34. package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +1 -1
  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 +1 -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/NavTargetResolutionInternalAdapter.js +1 -1
  44. package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +1 -1
  45. package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +1 -1
  46. package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +1 -1
  47. package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +1 -1
  48. package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +1 -1
  49. package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +1 -1
  50. package/src/main/js/sap/ushell/adapters/local/FlpLaunchPageAdapter.js +1 -1
  51. package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +1 -1
  52. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +1 -1
  53. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionInternalAdapter.js +1 -1
  54. package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +1 -1
  55. package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +1 -1
  56. package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +1 -1
  57. package/src/main/js/sap/ushell/adapters/local/PersonalizationV2Adapter.js +1 -1
  58. package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +1 -1
  59. package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +1 -1
  60. package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +1 -1
  61. package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +1 -1
  62. package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +1 -1
  63. package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +1 -1
  64. package/src/main/js/sap/ushell/api/workpage/Designtime.js +18 -0
  65. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +13 -2
  66. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/RendererExtensions.js +2 -2
  67. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppConfiguration.js +1 -1
  68. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppLifeCycleAgent.js +18 -8
  69. package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
  70. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/logger.js +1 -1
  71. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/state.js +1 -1
  72. package/src/main/js/sap/ushell/bootstrap/cdm/cdm.constants.js +1 -1
  73. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5datetimeformat.js +1 -1
  74. package/src/main/js/sap/ushell/bootstrap/common/common.create.configcontract.core.js +5 -1
  75. package/src/main/js/sap/ushell/bootstrap/common/common.util.js +27 -2
  76. package/src/main/js/sap/ushell/bootstrap/sandbox2/sandboxConfig.json +0 -5
  77. package/src/main/js/sap/ushell/bootstrap/sandbox2/sandboxSite.json +3 -112
  78. package/src/main/js/sap/ushell/bootstrap/sandbox2.js +8 -1
  79. package/src/main/js/sap/ushell/components/_HeaderManager/AddHeadEndItemsStrategy.js +3 -0
  80. package/src/main/js/sap/ushell/components/_HeaderManager/ControlManager.js +1 -1
  81. package/src/main/js/sap/ushell/components/appfinder/Catalog.controller.js +2 -2
  82. package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
  83. package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +1 -2
  84. package/src/main/js/sap/ushell/components/applicationIntegration/application/Application.js +1 -1
  85. package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxHandler.js +1 -1
  86. package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPI.js +1 -1
  87. package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +1 -1
  88. package/src/main/js/sap/ushell/components/applicationIntegration/elements/model.js +1 -1
  89. package/src/main/js/sap/ushell/components/applicationIntegration/relatedServices/RelatedServices.js +1 -1
  90. package/src/main/js/sap/ushell/components/applicationIntegration/relatedShellElements/RelatedShellElements.js +1 -1
  91. package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +1 -1
  92. package/src/main/js/sap/ushell/components/contentFinder/Component.js +13 -2
  93. package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +12 -5
  94. package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +1 -1
  95. package/src/main/js/sap/ushell/components/contentFinder/controller/WidgetGallery.controller.js +1 -1
  96. package/src/main/js/sap/ushell/components/contentFinder/manifest.json +1 -1
  97. package/src/main/js/sap/ushell/components/contentFinder/model/formatter.js +0 -4
  98. package/src/main/js/sap/ushell/components/contentFinder/resources/resources.properties +2 -0
  99. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearch.view.xml +159 -137
  100. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchCategoryTree.view.xml +24 -0
  101. package/src/main/js/sap/ushell/components/contentFinderStandalone/Component.js +31 -0
  102. package/src/main/js/sap/ushell/components/contentFinderStandalone/controller/ContentFinderStandalone.controller.js +146 -0
  103. package/src/main/js/sap/ushell/components/contentFinderStandalone/manifest.json +59 -0
  104. package/src/main/js/sap/ushell/components/contentFinderStandalone/manifestAppSearch.json +50 -0
  105. package/src/main/js/sap/ushell/components/contentFinderStandalone/view/ContentFinderStandalone.view.xml +15 -0
  106. package/src/main/js/sap/ushell/components/factsheet/Component.js +1 -1
  107. package/src/main/js/sap/ushell/components/homepage/ActionMode.js +1 -1
  108. package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +1 -1
  109. package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +1 -1
  110. package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +1 -1
  111. package/src/main/js/sap/ushell/components/homepage/manifest.json +1 -1
  112. package/src/main/js/sap/ushell/components/pages/ActionMode.js +1 -1
  113. package/src/main/js/sap/ushell/components/pages/Component.js +1 -1
  114. package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +1 -1
  115. package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +1 -1
  116. package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
  117. package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +1 -1
  118. package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
  119. package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +1 -1
  120. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +1 -1
  121. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +1 -1
  122. package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +1 -1
  123. package/src/main/js/sap/ushell/components/shell/Notifications/Notifications.controller.js +0 -4
  124. package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +1 -1
  125. package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
  126. package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +1 -1
  127. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +1 -1
  128. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +1 -1
  129. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +1 -1
  130. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchServiceProvider.js +1 -1
  131. package/src/main/js/sap/ushell/components/shell/Settings/Component.js +1 -1
  132. package/src/main/js/sap/ushell/components/shell/Settings/userLanguageRegion/LanguageRegionSelector.controller.js +1 -1
  133. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +1 -1
  134. package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +1 -1
  135. package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +1 -1
  136. package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +1 -1
  137. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility.js +1 -1
  138. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +1 -1
  139. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +1 -1
  140. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +1 -1
  141. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +1 -1
  142. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +1 -1
  143. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +1 -1
  144. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +1 -1
  145. package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
  146. package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +1 -1
  147. package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +1 -1
  148. package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +1 -1
  149. package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
  150. package/src/main/js/sap/ushell/library.js +2 -1
  151. package/src/main/js/sap/ushell/navigationMode.js +1 -1
  152. package/src/main/js/sap/ushell/performance/ShellAnalytics.js +1 -1
  153. package/src/main/js/sap/ushell/performance/StatisticalRecord.js +1 -1
  154. package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
  155. package/src/main/js/sap/ushell/renderer/Renderer.js +44 -32
  156. package/src/main/js/sap/ushell/renderer/Shell.controller.js +2 -24
  157. package/src/main/js/sap/ushell/renderer/search/searchComponent/manifest.json +1 -1
  158. package/src/main/js/sap/ushell/renderers/fiori2/Renderer.js +2 -1
  159. package/src/main/js/sap/ushell/services/AppConfiguration.js +26 -12
  160. package/src/main/js/sap/ushell/services/AppLifeCycle.js +154 -39
  161. package/src/main/js/sap/ushell/services/AppState.js +1 -1
  162. package/src/main/js/sap/ushell/services/Bookmark.js +1 -1
  163. package/src/main/js/sap/ushell/services/BookmarkV2.js +104 -134
  164. package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +1 -1
  165. package/src/main/js/sap/ushell/services/CommonDataModel.js +1 -1
  166. package/src/main/js/sap/ushell/services/Configuration.js +1 -1
  167. package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +1 -1
  168. package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +1 -1
  169. package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +1 -1
  170. package/src/main/js/sap/ushell/services/DarkModeSupport.js +1 -1
  171. package/src/main/js/sap/ushell/services/Extension/FloatingContainer.js +1 -1
  172. package/src/main/js/sap/ushell/services/Extension/Footer.js +1 -1
  173. package/src/main/js/sap/ushell/services/Extension/Header.js +1 -1
  174. package/src/main/js/sap/ushell/services/Extension/Item.js +1 -1
  175. package/src/main/js/sap/ushell/services/Extension/SidePane.js +1 -1
  176. package/src/main/js/sap/ushell/services/Extension/ToolArea.js +1 -1
  177. package/src/main/js/sap/ushell/services/Extension.js +1 -1
  178. package/src/main/js/sap/ushell/services/FlpLaunchPage.js +9 -2
  179. package/src/main/js/sap/ushell/services/LaunchPage.js +1 -1
  180. package/src/main/js/sap/ushell/services/Menu.js +1 -1
  181. package/src/main/js/sap/ushell/services/Message.js +1 -1
  182. package/src/main/js/sap/ushell/services/MessageBroker.js +1 -1
  183. package/src/main/js/sap/ushell/services/Navigation/utils.js +1 -1
  184. package/src/main/js/sap/ushell/services/Navigation.js +46 -9
  185. package/src/main/js/sap/ushell/services/NavigationDataProvider.js +1 -1
  186. package/src/main/js/sap/ushell/services/NotificationsV2.js +141 -9
  187. package/src/main/js/sap/ushell/services/PageBuilding.js +1 -1
  188. package/src/main/js/sap/ushell/services/PagePersistence.js +1 -1
  189. package/src/main/js/sap/ushell/services/PageReferencing.js +1 -1
  190. package/src/main/js/sap/ushell/services/Pages.js +58 -16
  191. package/src/main/js/sap/ushell/services/Personalization.js +1 -1
  192. package/src/main/js/sap/ushell/services/PersonalizationV2/ContextContainer.js +1 -1
  193. package/src/main/js/sap/ushell/services/PersonalizationV2/VariantSetAdapter.js +1 -1
  194. package/src/main/js/sap/ushell/services/PersonalizationV2.js +1 -1
  195. package/src/main/js/sap/ushell/services/PluginManager.js +1 -1
  196. package/src/main/js/sap/ushell/services/ReferenceResolver.js +1 -1
  197. package/src/main/js/sap/ushell/services/Search.js +1 -1
  198. package/src/main/js/sap/ushell/services/SearchCEP.js +1 -1
  199. package/src/main/js/sap/ushell/services/SearchableContent.js +1 -1
  200. package/src/main/js/sap/ushell/services/ShellNavigation.js +1 -1
  201. package/src/main/js/sap/ushell/services/SmartNavigation.js +1 -1
  202. package/src/main/js/sap/ushell/services/SpaceContent.js +38 -13
  203. package/src/main/js/sap/ushell/services/UITracer.js +1 -1
  204. package/src/main/js/sap/ushell/services/URLParsing.js +42 -20
  205. package/src/main/js/sap/ushell/services/URLShortening.js +1 -1
  206. package/src/main/js/sap/ushell/services/URLTemplate.js +1 -1
  207. package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +1 -1
  208. package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +1 -1
  209. package/src/main/js/sap/ushell/services/UserDefaultParameters.js +1 -1
  210. package/src/main/js/sap/ushell/services/UserInfo.js +17 -4
  211. package/src/main/js/sap/ushell/services/UserRecents.js +1 -1
  212. package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +1 -1
  213. package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +1 -1
  214. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Formatter.js +1 -1
  215. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundIndex.js +1 -1
  216. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundProvider.js +1 -1
  217. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/PrelaunchOperations.js +1 -1
  218. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Search.js +1 -1
  219. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/StagedLogger.js +1 -1
  220. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/SystemContext.js +1 -1
  221. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Utils.js +1 -1
  222. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/VirtualInbounds.js +1 -1
  223. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/XAppStateProcessing.js +1 -1
  224. package/src/main/js/sap/ushell/services/_CommonDataModel/SiteConverter.js +1 -1
  225. package/src/main/js/sap/ushell/services/_CommonDataModel/vizTypeDefaults/VizTypeDefaults.js +1 -1
  226. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +1 -1
  227. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +1 -1
  228. package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +1 -1
  229. package/src/main/js/sap/ushell/services/_MessageBroker/MessageBrokerEngine.js +1 -1
  230. package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +1 -1
  231. package/src/main/js/sap/ushell/services/_PluginManager/Extensions.js +1 -1
  232. package/src/main/js/sap/ushell/services/_PluginManager/HeaderExtensions.js +1 -1
  233. package/src/main/js/sap/ushell/services/_PluginManager/MenuExtensions.js +1 -1
  234. package/src/main/js/sap/ushell/services/_Ui5ComponentLoader/utils.js +34 -5
  235. package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
  236. package/src/main/js/sap/ushell/ui/AppContainer.js +44 -0
  237. package/src/main/js/sap/ushell/ui/appfinder/AppBoxInternal.js +3 -3
  238. package/src/main/js/sap/ushell/ui/appfinder/AppBoxInternalRenderer.js +103 -0
  239. package/src/main/js/sap/ushell/ui/appfinder/AppBoxRenderer.js +7 -98
  240. package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +1 -1
  241. package/src/main/js/sap/ushell/ui/launchpad/CatalogsContainer.js +5 -3
  242. package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
  243. package/src/main/js/sap/ushell/ui/launchpad/Section.js +1 -1
  244. package/src/main/js/sap/ushell/ui/launchpad/ViewPortState.js +2 -1
  245. package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +1 -1
  246. package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +1 -1
  247. package/src/main/js/sap/ushell/ui/utils.js +1 -1
  248. package/src/main/js/sap/ushell/ui5service/ShellUIService.js +1 -1
  249. package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
  250. package/src/main/js/sap/ushell/ui5service/_ShellUIService/shelluiservice.class.factory.js +30 -48
  251. package/src/main/js/sap/ushell/utils/UrlShortening.js +1 -1
  252. package/src/main/js/sap/ushell/utils/tilecard/TileCard.js +342 -0
  253. package/src/main/js/sap/ushell/utils/tilecard/TileCardExtension.js +384 -0
  254. package/src/main/js/sap/ushell/utils/tilecard/resources/resources.properties +11 -0
  255. package/src/main/js/sap/ushell/utils/workpage/WorkPageHost.js +1 -1
  256. package/src/main/js/sap/ushell/utils/workpage/WorkPageService.js +57 -4
  257. package/src/main/js/sap/ushell/utils/workpage/WorkPageVizInstantiation.js +44 -17
  258. package/src/test/js/sap/ushell/bootstrap/sandbox.js +1 -1
  259. package/ui5.yaml +2 -0
@@ -0,0 +1,384 @@
1
+ // Copyright (c) 2009-2023 SAP SE, All Rights Reserved
2
+
3
+ sap.ui.define([
4
+ "sap/ui/core/Core",
5
+ "sap/ui/integration/Extension",
6
+ "sap/ushell/utils/DynamicTileRequest",
7
+ "sap/ui/core/format/NumberFormat",
8
+ "sap/base/Log",
9
+ "sap/m/library",
10
+ "sap/ui/core/library"
11
+ ],
12
+ function (
13
+ Core,
14
+ Extension,
15
+ DynamicTileRequest,
16
+ NumberFormat,
17
+ Log,
18
+ mLib,
19
+ cLib
20
+ ) {
21
+
22
+ "use strict";
23
+
24
+ /**
25
+ * This Card Extension is used to handle requests of the TileCard representing a Dynamic Tile.
26
+ * The Card Extension is loaded based on the sap.card/extension setting pointing to this module.
27
+ *
28
+ * In such case the TileCard manifest is configured with a data setting in the header that uses a
29
+ * dataPath parameter of the TileCard manifest to do a fetch call.
30
+ * This extension intercepts the fetch call.
31
+ *
32
+ * For the first fetch call it returns a new Response with
33
+ * loading data { number: "..." } and
34
+ * status 429, retryAfter, which is handled by the card itself to retrigger the fetch after 1 sec.
35
+ *
36
+ * It triggers a fetch call to get the real data that is returned for second fetch call
37
+ * and all subsequent interval calls.
38
+ *
39
+ * For all subsequent fetch calls (based on card data setting 'refresh' and the retryAfter call)
40
+ * the real data is fetched from the backend via DynamicTileRequest,
41
+ * normalized and applied to the card data.
42
+ *
43
+ * The bindings of all settings will be updated.
44
+ *
45
+ * @alias sap.ushell.utils.tilecard.TileCardExtension
46
+ * @class
47
+ * @extends sap.ushell.utils.tilecard.TileCardExtension
48
+ * @classdesc TileCardExtension
49
+ *
50
+ * @since 1.123.0
51
+ * @private
52
+ */
53
+ const TileCardExtension = Extension.extend("sap.ushell.utils.workpage.TileCardExtension");
54
+
55
+ TileCardExtension._DynamicTileRequest = DynamicTileRequest; // to allow test to simulate the request
56
+ TileCardExtension._DynamicTileRequestTimeout = 30000; // 30 seconds, can be overridden in tests
57
+
58
+ const oLogger = Log.getLogger("sap.ushell.utils.tilecard.TileCardExtension");
59
+
60
+ const ValueColor = mLib.ValueColor;
61
+ const ValueState = cLib.ValueState;
62
+
63
+ const TileValueState = {
64
+ Positive: "Positive",
65
+ Negative: "Negative",
66
+ Critical: "Critical"
67
+ };
68
+
69
+ const numberFactors = [
70
+ { factor: 1000000, value: "M" },
71
+ { factor: 1000, value: "k" }
72
+ ];
73
+
74
+ /**
75
+ * Returns the corresponding ValueState of the given state for the settings of the TileCard.
76
+ *
77
+ * @param {string} sState the state from the data.
78
+ *
79
+ * @returns {ValueState} the corresponding ValueState for the state.
80
+ *
81
+ * @private
82
+ * @since 1.123.0
83
+ */
84
+ function getValueState (sState) {
85
+ if (sState === TileValueState.Positive) {
86
+ return ValueState.Success;
87
+ } else if (sState === TileValueState.Negative) {
88
+ return ValueState.Error;
89
+ } else if (sState === TileValueState.Critical) {
90
+ return ValueState.Warning;
91
+ }
92
+ return ValueState[sState] || ValueState.None;
93
+ }
94
+
95
+ /**
96
+ * Returns the corresponding ValueColor of the given state for the settingsof the TileCard.
97
+ *
98
+ * @param {string} sState the state from the data.
99
+ *
100
+ * @returns {ValueColor} the corresponding ValueColor for the state.
101
+ *
102
+ * @private
103
+ * @since 1.123.0
104
+ */
105
+ function getValueColor (sState) {
106
+ if (sState === TileValueState.Positive) {
107
+ return ValueColor.Good;
108
+ } else if (sState === TileValueState.Negative) {
109
+ return ValueColor.Error;
110
+ }
111
+ return ValueColor[sState] || ValueColor.None;
112
+ }
113
+
114
+ /**
115
+ * Returns the details text based on the current data.
116
+ * If the data delivered an info, it is returned.
117
+ * If the number delivered is "#" it returns error text.
118
+ * Otherwise ""
119
+ *
120
+ * @param {object} oData the data of the DynamicTileRequest.
121
+ * @param {string} sError the error text if normaization fails
122
+ *
123
+ * @returns {string} the text for the details.
124
+ *
125
+ * @private
126
+ * @since 1.123.0
127
+ */
128
+ function getIndicatorDetails (oData, sError) {
129
+ if (oData.info) {
130
+ return oData.info;
131
+ }
132
+ if (oData.number === "#") {
133
+ return sError;
134
+ }
135
+ return "";
136
+ }
137
+
138
+ /**
139
+ * Returns the indicators state color based on the current data.
140
+ *
141
+ * @param {object} oData the data of the DynamicTileRequest.
142
+ *
143
+ * @returns {ValueColor} the corresponding ValueColor for the inidicator.
144
+ *
145
+ * @private
146
+ * @since 1.123.0
147
+ */
148
+ function getIndicatorState (oData) {
149
+ if (!oData.hasOwnProperty("number") || oData.number === "..." || oData.number === "#") {
150
+ return ValueColor.None;
151
+ }
152
+ return getValueColor(oData.numberState);
153
+ }
154
+
155
+ /**
156
+ * Returns the indicator number (teext) based on the current data.
157
+ * If a number factor is given by the data, it is applied to the number
158
+ *
159
+ * @param {object} oData the data of the DynamicTileRequest.
160
+ *
161
+ * @returns {string} the number (text) for the indicator.
162
+ *
163
+ * @private
164
+ * @since 1.123.0
165
+ */
166
+ function getIndicatorNumber (oData) {
167
+ if (!oData.hasOwnProperty("number")) {
168
+ oData.number = "...";
169
+ }
170
+ if (typeof oData.number === "string" && oData.number !== "...") {
171
+ oData.number = parseFloat(oData.number);
172
+ if (isNaN(oData.number)) {
173
+ oData.number = "#";
174
+ }
175
+ }
176
+
177
+ if (!isNaN(oData.number)) {
178
+ if (!oData.hasOwnProperty("numberFactor")) {
179
+ oData._data.unit = "";
180
+ if (oData.number >= 1000) {
181
+ const oFactor = numberFactors.find(function (oFactorEntry) {
182
+ return oData.number / oFactorEntry.factor >= 1 && oData.number / (oFactorEntry.factor * 1000) < 1;
183
+ });
184
+ oData._data.unit = oFactor.value;
185
+ oData.number = oData.number / oFactor.factor;
186
+ }
187
+ } else {
188
+ oData._data.unit = oData.numberFactor;
189
+ }
190
+
191
+ if (!oData.hasOwnProperty("numberDigits") && oData._data.unit) {
192
+ oData.numberDigits = 2;
193
+ }
194
+ const oFractFormat = NumberFormat.getFloatInstance({
195
+ minFractionDigits: Math.min(oData.numberDigits, 3),
196
+ maxFractionDigits: Math.min(oData.numberDigits, 3)
197
+ });
198
+ oData.number = oFractFormat.format(oData.number);
199
+ }
200
+ return oData.number;
201
+ }
202
+
203
+ /**
204
+ * Normalizes the data from the DynamicTileRequest and adds _data for the bindings of the TileCard.
205
+ * If data contains an array of results, they are summed and their parameters are collected,
206
+ * but all other attributes are ignored.
207
+ *
208
+ * @param {object} oData the data of the DynamicTileRequest.
209
+ * @param {string} sError the error text if normaization fails
210
+ *
211
+ * @returns {object} the normalized data.
212
+ *
213
+ * @private
214
+ * @since 1.123.0
215
+ */
216
+ function normalizeTileData (oData, sError) {
217
+ if (!isNaN(oData)) {
218
+ oData = {
219
+ number: oData
220
+ };
221
+ }
222
+ if (Array.isArray(oData.results)) {
223
+ // sum results if array oData.results
224
+ oData.targetParams = oData.targetParams || [];
225
+ oData.number = oData.results.reduce(
226
+ function (nSum, oResult) {
227
+ if (oResult.targetParams) {
228
+ oData.targetParams.push(oResult.targetParams);
229
+ }
230
+ return nSum + (parseFloat(oResult.number) || 0);
231
+ },
232
+ 0
233
+ );
234
+ }
235
+ oData._data = {};
236
+ oData._data.number = getIndicatorNumber(oData);
237
+ oData._data.details = {};
238
+ oData._data.details.text = getIndicatorDetails(oData, sError);
239
+ oData._data.details.state = getValueState(oData.infoState);
240
+ oData._data.state = getIndicatorState(oData);
241
+ oData._data.trend = oData.stateArrow || null;
242
+ oData._data.icon = oData.icon || null;
243
+ oData._data.title = oData.title || null;
244
+ oData._data.subtitle = oData.subtitle || null;
245
+ if (Array.isArray(oData._data.targetParams)) {
246
+ oData._data.targetParams = oData.targetParams.join("&");
247
+ }
248
+ return oData;
249
+ }
250
+
251
+
252
+ /**
253
+ * Initialize the extensions instance.
254
+ *
255
+ * @private
256
+ * @since 1.123.0
257
+ */
258
+ TileCardExtension.prototype.onCardReady = function () {
259
+ this.bFirstRequest = true;
260
+ this._oCurrentDataRequest = null;
261
+ this._sErrorText = this.getCard().getTranslatedText("TileCard.Data.Error");
262
+ this._sTimeoutText = this.getCard().getTranslatedText("TileCard.Data.Timeout");
263
+ this._oErrorResponse = normalizeTileData({
264
+ number: "...",
265
+ info: this._sErrorText
266
+ }, this._sErrorText);
267
+ this._oTimeoutResponse = normalizeTileData({
268
+ number: "...",
269
+ info: this._sTimeoutText
270
+ }, this._sErrorText);
271
+ };
272
+
273
+ /**
274
+ * Called from the Card to fetch data and then applied by the Card as data to the header.
275
+ *
276
+ * @param {string} sResource The resource url to request
277
+ *
278
+ * @returns {Promise<Response>} A Response object containing the data.
279
+ *
280
+ * @private
281
+ * @since 1.123.0
282
+ */
283
+ TileCardExtension.prototype.fetch = function (sResource) {
284
+ if (sResource.startsWith("/.")) {
285
+ sResource = sResource.substring(1);
286
+ }
287
+ //trigger the real request directly. real result might be available already adter retry after 1 sec.
288
+ this._oCurrentDataRequest = this._fetchTileCardData(sResource);
289
+ if (this.bFirstRequest) {
290
+ // the first request of the card should be answered immediately to show "..."
291
+ this.bFirstRequest = false;
292
+ return Promise.resolve(
293
+ new Response(
294
+ new Blob(
295
+ ['number: "..."'],
296
+ { type: "application/json" }
297
+ ),
298
+ { status: 429 } // status 429 Retry After handled in card as retryAfter
299
+ )
300
+ );
301
+ }
302
+ return this._oCurrentDataRequest;
303
+ };
304
+
305
+ /**
306
+ * Requests and normalizes the data from the DynamicTileRequest.
307
+ *
308
+ * @param {string} sResource the resource url to fetch the data.
309
+ *
310
+ * @returns {Promise<object>} the normalized data object as a promise.
311
+ *
312
+ * @private
313
+ * @since 1.123.0
314
+ */
315
+ TileCardExtension.prototype._fetchTileCardData = function (sResource) {
316
+ let bTimedOut = false;
317
+ const sErrorText = this._sErrorText;
318
+ return new Promise(function (resolve) {
319
+ // always use a timeout for the request.
320
+ // The DynamicTileRequest depends on services that might never resolve and therefore the request is never finished.
321
+ // To avoid this, the request is always timed out after TileCardExtension._DynamicTileRequestTimeout milliseconds.
322
+ setTimeout(() => {
323
+ bTimedOut = true;
324
+ resolve(this._oTimeoutResponse);
325
+ }, TileCardExtension._DynamicTileRequestTimeout);
326
+ // additonal timeout for the request to delay the request for one ms to be able to test above timeout.
327
+ setTimeout(() => {
328
+ try {
329
+ // eslint-disable-next-line no-new
330
+ new TileCardExtension._DynamicTileRequest(sResource,
331
+ function (oData) {
332
+ oLogger.debug("Dynamic tileCard request successful.", sResource);
333
+ if (!bTimedOut) {
334
+ resolve(
335
+ normalizeTileData(oData, sErrorText)
336
+ );
337
+ }
338
+ },
339
+ function () {
340
+ oLogger.info("Dynamic tileCard request failed.", sResource);
341
+ if (!bTimedOut) {
342
+ resolve(this._oErrorResponse);
343
+ }
344
+ }
345
+ );
346
+ } catch (ex) {
347
+ oLogger.error("Dynamic tileCard normalization failed.", ex);
348
+ if (!bTimedOut) {
349
+ resolve(this._oErrorResponse);
350
+ }
351
+ }
352
+ }, 1);
353
+ }.bind(this)).then(function (oData) {
354
+ var oHeader = Core.byId(this.getCard().getDomRef().id).getCardHeader();
355
+ // apply the title and subtitle directly to the header without a binding.
356
+ // in most cases the title/subtitle is not coming from the data.
357
+ // if we would bind it, the title/subtitle would only be shown after the data request.
358
+ if (oData.title) {
359
+ oHeader.setTitle(oData.title);
360
+ }
361
+ if (oData.subtitle) {
362
+ oHeader.setSubtitle(oData.subtitle);
363
+ }
364
+ return new Response(
365
+ new Blob(
366
+ [JSON.stringify(oData)],
367
+ { type: "application/json" }
368
+ ),
369
+ { status: 200 }
370
+ );
371
+ }.bind(this))
372
+ .catch(function (ex) {
373
+ return new Response(
374
+ new Blob(
375
+ ["{}"],
376
+ { type: "application/json" }
377
+ ),
378
+ { status: 200 }
379
+ );
380
+ });
381
+ };
382
+
383
+ return TileCardExtension;
384
+ });
@@ -0,0 +1,11 @@
1
+ # Translatable texts for the Fiori Launchpad
2
+ # __ldi.translation.uuid=66b86529-a350-4d25-8e8a-1c0a64d08a89
3
+
4
+ # Text for tile card, its extension and configuration
5
+
6
+ #XTXT
7
+ TileCard.Data.Error=Error
8
+ #XTXT
9
+ TileCard.Data.Timeout=Timed out
10
+ #XTXT
11
+ TileCard.Widget.NotAvailable=Widget Not Available
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @file WorkPageHost for WorkPageBuilder and DWSPageBuilder
5
- * @version 1.122.1
5
+ * @version 1.123.0
6
6
  */
7
7
 
8
8
  sap.ui.define([
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview This module communicates with the content API graphql service to retrieve workpage and visualization data.
5
- * @version 1.122.1
5
+ * @version 1.123.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/base/i18n/Localization",
@@ -136,14 +136,67 @@ sap.ui.define([
136
136
  };
137
137
 
138
138
  /**
139
- * Do the XHR request with the given query.
139
+ * Loads the visualizations for the current siteId, filtered by the given filter object.
140
+ *
141
+ * @since 1.123.0
142
+ * @param {object} oFilterParams The filter object.
143
+ * @returns {Promise<{visualizations, totalCount}>} The result.
144
+ */
145
+ WorkPage.prototype.loadVisualizations = function (oFilterParams) {
146
+ let sQuery = `
147
+ visualizations($queryInput: QueryVisualizationsInput) {
148
+ visualizations(queryInput: $queryInput, siteId: "${this._sSiteId}") {
149
+ totalCount,
150
+ nodes {
151
+ id,
152
+ type,
153
+ descriptor {
154
+ value,
155
+ schemaVersion
156
+ },
157
+ descriptorResources {
158
+ baseUrl,
159
+ descriptorPath
160
+ },
161
+ indicatorDataSource {
162
+ url,
163
+ refreshInterval
164
+ }
165
+ }
166
+ }
167
+ }`;
168
+
169
+ // Replace line breaks and spaces
170
+ sQuery = sQuery
171
+ .replace(/\n/g, "")
172
+ .replace(/ /g, "");
173
+
174
+ sQuery = `query ${sQuery}`;
175
+
176
+ const oVariables = {
177
+ queryInput: oFilterParams
178
+ };
179
+
180
+ return this._doRequest(sQuery, JSON.stringify(oVariables)).then((oVizData) => {
181
+ return {
182
+ visualizations: oVizData.data.visualizations || [],
183
+ totalCount: oVizData.data.totalCount || 0
184
+ };
185
+ });
186
+ };
187
+
188
+ /**
189
+ * Do the XHR request with the given query and optional variables.
140
190
  *
141
191
  * @param {string} sQuery The query.
192
+ * @param {string} [sVariables] The variables as JSON string. Optional.
142
193
  * @returns {Promise} Promise that resolves with the parsed JSON response if the request was successful, otherwise it is rejected.
143
194
  * @private
144
195
  */
145
- WorkPage.prototype._doRequest = function (sQuery) {
146
- return this.httpClient.get(this._sBaseUrl + "?query=" + sQuery, {
196
+ WorkPage.prototype._doRequest = function (sQuery, sVariables) {
197
+ let sUrl = `${this._sBaseUrl}?query=${sQuery}`;
198
+ if (sVariables) { sUrl += `&variables=${sVariables}`; }
199
+ return this.httpClient.get(sUrl, {
147
200
  headers: {
148
201
  "Content-Type": "application/json",
149
202
  Accept: "application/json",
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview This module provides utilities for creating visualization instances for work pages.
5
- * @version 1.122.1
5
+ * @version 1.123.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/ushell/services/VisualizationInstantiation",
@@ -13,7 +13,9 @@ sap.ui.define([
13
13
  "sap/ushell/adapters/cdm/v3/utilsCdm",
14
14
  "sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils",
15
15
  "sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations",
16
- "sap/ushell/services/_CommonDataModel/vizTypeDefaults/VizTypeDefaults"
16
+ "sap/ushell/services/_CommonDataModel/vizTypeDefaults/VizTypeDefaults",
17
+ "sap/ushell/utils/tilecard/TileCard",
18
+ "sap/ushell/Config"
17
19
  ], function (
18
20
  VisualizationInstantiation,
19
21
  ObjectPath,
@@ -23,7 +25,9 @@ sap.ui.define([
23
25
  utilsCdm,
24
26
  readUtils,
25
27
  readVisualizations,
26
- VizTypeDefaults
28
+ VizTypeDefaults,
29
+ TileCard,
30
+ Config
27
31
  ) {
28
32
  "use strict";
29
33
 
@@ -43,7 +47,7 @@ sap.ui.define([
43
47
  * @property {object} descriptorResources The descriptor resources of the visualization
44
48
  * @property {SiteData} [_siteData] The additional app properties retrieved from the CDM Runtime Site
45
49
  * @property {boolean} [previewMode] Flag for the preview mode
46
- */
50
+ */
47
51
 
48
52
  /**
49
53
  * Utilities for creating visualization instances for work pages.
@@ -84,7 +88,7 @@ sap.ui.define([
84
88
  * @param {object} oVizInstantiationService An instance of the VisualizationInstantiation service.
85
89
  * @param {object} oStandardVizTypes An object containing hte standard viz types.
86
90
  * @private
87
- * @since 1.121.0
91
+ * @since 1.123.0
88
92
  */
89
93
  constructor (oVizInstantiationService, oStandardVizTypes) {
90
94
  // VisualizationInstantiation is directly constructed, because the ushell container is not available in the design-time
@@ -93,19 +97,19 @@ sap.ui.define([
93
97
  }
94
98
 
95
99
  /**
96
- * Creates a visualization instance for the provided data.
97
- *
98
- * @param {WorkPageVizInstantiationData} oVizData Extended visualization data for instantiation.
99
- * @returns {sap.ushell.ui.launchpad.VizInstance|sap.m.GenericTile} The CDM VizInstance.
100
+ * Returns the extended instantiation data for the visualization.
101
+ * @param {WorkPageVizInstantiationData} oVizData The visualization data.
102
+ * @returns {object} The extended instantiation data.
100
103
  * @private
101
- * @since 1.121.0
104
+ * @since 1.123.0
102
105
  */
103
- createVizInstance (oVizData) {
106
+ _getVizInstantiationData (oVizData) {
104
107
  // viz instantiation service modifies the indicatorDataSource which breaks if objects are frozen
105
- var oIndicatorDataSource = deepClone(ObjectPath.get(["descriptor", "value", "sap.flp", "indicatorDataSource"], oVizData));
106
- var oVizType = this.#oStandardVizTypes[oVizData.type];
107
-
108
- var oInstantiationVizData = {
108
+ const oIndicatorDataSource = deepClone(ObjectPath.get(["descriptor", "value", "sap.flp", "indicatorDataSource"], oVizData));
109
+ const oVizType = this.#oStandardVizTypes[oVizData.type];
110
+ const bProviderInfoEnabled = Config.last("/core/contentProviders/providerInfo/enabled");
111
+ const bShowProviderInfoInSystemInfo = bProviderInfoEnabled && Config.last("/core/contentProviders/providerInfo/showContentProviderInfoOnVisualizations");
112
+ return {
109
113
  id: oVizData.id,
110
114
  title: ObjectPath.get(["descriptor", "value", "sap.app", "title"], oVizData),
111
115
  subtitle: ObjectPath.get(["descriptor", "value", "sap.app", "subTitle"], oVizData),
@@ -121,23 +125,46 @@ sap.ui.define([
121
125
  dataSource: ObjectPath.get(["_siteData", "dataSource"], oVizData),
122
126
  contentProviderId: ObjectPath.get(["_siteData", "contentProviderId"], oVizData),
123
127
  contentProviderLabel: ObjectPath.get(["_siteData", "contentProviderLabel"], oVizData),
128
+ displayProviderLabel: bShowProviderInfoInSystemInfo,
124
129
  target: ObjectPath.get(["_siteData", "target"], oVizData),
125
130
  targetURL: ObjectPath.get(["_siteData", "targetURL"], oVizData),
126
131
  vizConfig: ObjectPath.get(["descriptor", "value"], oVizData),
127
132
  supportedDisplayFormats: ObjectPath.get(["descriptor", "value", "sap.flp", "vizOptions", "displayFormats", "supported"], oVizData),
128
- displayFormatHint: ObjectPath.get(["descriptor", "value", "sap.flp", "vizOptions", "displayFormats", "default"], oVizData),
133
+ displayFormatHint: ObjectPath.get(["descriptor", "value", "sap.flp", "vizOptions", "displayFormats", "default"], oVizData) || "standard",
129
134
  numberUnit: ObjectPath.get(["descriptor", "value", "sap.flp", "numberUnit"], oVizData),
130
135
  vizId: oVizData.id,
131
136
  preview: oVizData.preview
132
137
  };
138
+ }
133
139
 
134
- var oVizInstance = this.#oVizInstantiationService.instantiateVisualization(oInstantiationVizData);
140
+ /**
141
+ * Creates a visualization instance for the provided data.
142
+ *
143
+ * @param {WorkPageVizInstantiationData} oVizData Extended visualization data for instantiation.
144
+ * @returns {sap.ushell.ui.launchpad.VizInstance|sap.m.GenericTile} The CDM VizInstance.
145
+ * @private
146
+ * @since 1.121.0
147
+ */
148
+ createVizInstance (oVizData) {
149
+ var oVizInstance = this.#oVizInstantiationService.instantiateVisualization(this._getVizInstantiationData(oVizData));
135
150
  if (oVizInstance) {
136
151
  oVizInstance.setActive(true);
137
152
  }
138
153
 
139
154
  return oVizInstance;
140
155
  }
156
+
157
+ /**
158
+ * Creates the tile card configuration for the pagebuilder to render a tile as a card.
159
+ *
160
+ * @param {WorkPageVizInstantiationData} oVizData Extended visualization data for instantiation.
161
+ * @returns {sap.ushell.utils.tilecard.TileCardConfiguration} Configuration for the page builder.
162
+ * @private
163
+ * @since 1.123.0
164
+ */
165
+ createTileCardConfiguration (oVizData) {
166
+ return TileCard.createTileCardConfiguration(this._getVizInstantiationData(oVizData));
167
+ }
141
168
  }
142
169
 
143
170
  return WorkPageVizInstantiation;
@@ -3,7 +3,7 @@
3
3
  /**
4
4
  * @fileOverview The Unified Shell's bootstrap code for development sandbox scenarios.
5
5
  *
6
- * @version 1.122.1
6
+ * @version 1.123.0
7
7
  */
8
8
 
9
9
  (function () {
package/ui5.yaml CHANGED
@@ -473,6 +473,8 @@ builder:
473
473
  - sap/ushell/api/workpage/
474
474
  - sap/ushell/utils/workpage/
475
475
  - sap/ushell/utils/workpage/resources/resources*.properties
476
+ - sap/ushell/utils/tilecard/
477
+ - sap/ushell/utils/tilecard/resources/resources*.properties
476
478
  resolve: true
477
479
  renderer: true
478
480
  sort: true