@sapui5/sap.ushell 1.118.0 → 1.119.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (372) hide show
  1. package/package.json +6 -5
  2. package/src/main/js/sap/ushell/.library +1 -1
  3. package/src/main/js/sap/ushell/ApplicationType.js +1 -1
  4. package/src/main/js/sap/ushell/CanvasShapesManager.js +13 -7
  5. package/src/main/js/sap/ushell/Config.js +1 -1
  6. package/src/main/js/sap/ushell/Container.js +255 -185
  7. package/src/main/js/sap/ushell/EventHub.js +1 -1
  8. package/src/main/js/sap/ushell/Fiori20Adapter.js +1 -1
  9. package/src/main/js/sap/ushell/Fiori20AdapterTest.js +2 -2
  10. package/src/main/js/sap/ushell/Layout.js +3 -3
  11. package/src/main/js/sap/ushell/NWBCInterface.js +3 -3
  12. package/src/main/js/sap/ushell/TechnicalParameters.js +3 -3
  13. package/src/main/js/sap/ushell/UIActions.js +44 -44
  14. package/src/main/js/sap/ushell/URLTemplateProcessor.js +1 -1
  15. package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +1 -1
  16. package/src/main/js/sap/ushell/Ui5ServiceFactory.js +4 -4
  17. package/src/main/js/sap/ushell/User.js +1 -1
  18. package/src/main/js/sap/ushell/UserActivityLog.js +8 -8
  19. package/src/main/js/sap/ushell/_ApplicationType/guiResolution.js +5 -5
  20. package/src/main/js/sap/ushell/_ApplicationType/systemAlias.js +1 -1
  21. package/src/main/js/sap/ushell/_ApplicationType/urlTemplateResolution.js +16 -11
  22. package/src/main/js/sap/ushell/_Config/utils.js +5 -5
  23. package/src/main/js/sap/ushell/_URLTemplateProcessor/DefinitionParameterSetBuilder.js +1 -1
  24. package/src/main/js/sap/ushell/_URLTemplateProcessor/DependencyGraph.js +1 -1
  25. package/src/main/js/sap/ushell/_URLTemplateProcessor/Functions.js +1 -1
  26. package/src/main/js/sap/ushell/_URLTemplateProcessor/Resolvers.js +1 -1
  27. package/src/main/js/sap/ushell/_URLTemplateProcessor/TemplateParameterParser.js +1 -1
  28. package/src/main/js/sap/ushell/_URLTemplateProcessor/utils.js +1 -1
  29. package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +14 -8
  30. package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +4 -5
  31. package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
  32. package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +1 -2
  33. package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +12 -13
  34. package/src/main/js/sap/ushell/adapters/cdm/MenuAdapter.js +1 -1
  35. package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +4 -3
  36. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
  37. package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +1 -1
  38. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +2 -2
  39. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +1 -1
  40. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +1 -1
  41. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +1 -1
  42. package/src/main/js/sap/ushell/adapters/cdm/_Personalization/internals.js +1 -1
  43. package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +5 -2
  44. package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +4 -1
  45. package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +3 -4
  46. package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +10 -11
  47. package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +1 -1
  48. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +1 -1
  49. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +1 -1
  50. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +1 -1
  51. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +1 -1
  52. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +1 -1
  53. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +1 -1
  54. package/src/main/js/sap/ushell/adapters/cdm/v3/utilsCdm.js +2 -2
  55. package/src/main/js/sap/ushell/adapters/cep/MenuAdapter.js +0 -1
  56. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +3 -4
  57. package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +3 -2
  58. package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +3 -3
  59. package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +1 -1
  60. package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +2 -3
  61. package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +3 -3
  62. package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +1 -3
  63. package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +2 -3
  64. package/src/main/js/sap/ushell/adapters/local/MenuAdapter.js +1 -1
  65. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +1 -1
  66. package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +1 -1
  67. package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +2 -2
  68. package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +1 -2
  69. package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +1 -1
  70. package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +1 -1
  71. package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +1 -1
  72. package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +1 -1
  73. package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +1 -2
  74. package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +1 -1
  75. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +5 -9
  76. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/Renderer.js +5 -3
  77. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/RendererExtensions.js +31 -3
  78. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppLifeCycleAgent.js +2 -0
  79. package/src/main/js/sap/ushell/appRuntime/ui5/services/Bookmark.js +7 -3
  80. package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
  81. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/FLPLoader.js +1 -1
  82. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/logger.js +1 -1
  83. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/state.js +3 -3
  84. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5.js +2 -2
  85. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5datetimeformat.js +1 -1
  86. package/src/main/js/sap/ushell/bootstrap/common/common.create.configcontract.core.js +1 -0
  87. package/src/main/js/sap/ushell/bootstrap/common/common.load.core-min.js +2 -2
  88. package/src/main/js/sap/ushell/bootstrap/common/common.load.launchpad.js +7 -3
  89. package/src/main/js/sap/ushell/bootstrap/common/common.load.script.js +4 -4
  90. package/src/main/js/sap/ushell/bootstrap/common/common.util.js +7 -7
  91. package/src/main/js/sap/ushell/bootstrap/sandbox2/sandboxConfig.json +214 -0
  92. package/src/main/js/sap/ushell/bootstrap/sandbox2/sandboxSite.json +511 -0
  93. package/src/main/js/sap/ushell/bootstrap/sandbox2.js +398 -0
  94. package/src/main/js/sap/ushell/components/CatalogsManager.js +26 -25
  95. package/src/main/js/sap/ushell/components/ComponentKeysHandler.js +20 -15
  96. package/src/main/js/sap/ushell/components/DestroyHelper.js +2 -2
  97. package/src/main/js/sap/ushell/components/HomepageManager.js +6 -6
  98. package/src/main/js/sap/ushell/components/_HeaderManager/ControlManager.js +1 -1
  99. package/src/main/js/sap/ushell/components/_HomepageManager/PagingManager.js +5 -5
  100. package/src/main/js/sap/ushell/components/appfinder/AppFinder.controller.js +19 -15
  101. package/src/main/js/sap/ushell/components/appfinder/AppFinderView.js +12 -12
  102. package/src/main/js/sap/ushell/components/appfinder/Catalog.controller.js +18 -18
  103. package/src/main/js/sap/ushell/components/appfinder/CatalogView.js +1 -1
  104. package/src/main/js/sap/ushell/components/appfinder/EasyAccess.controller.js +2 -2
  105. package/src/main/js/sap/ushell/components/appfinder/HierarchyApps.controller.js +6 -6
  106. package/src/main/js/sap/ushell/components/appfinder/VisualizationOrganizerHelper.js +4 -4
  107. package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
  108. package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +8 -6
  109. package/src/main/js/sap/ushell/components/applicationIntegration/application/Application.js +2 -2
  110. package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxHandler.js +1 -1
  111. package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPI.js +1 -1
  112. package/src/main/js/sap/ushell/components/applicationIntegration/application/WebGUIStatefulHandler.js +5 -5
  113. package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +21 -26
  114. package/src/main/js/sap/ushell/components/applicationIntegration/elements/model.js +1 -1
  115. package/src/main/js/sap/ushell/components/applicationIntegration/relatedServices/RelatedServices.js +1 -1
  116. package/src/main/js/sap/ushell/components/applicationIntegration/relatedShellElements/RelatedShellElements.js +1 -1
  117. package/src/main/js/sap/ushell/components/cards/Configuration.controller.js +2 -2
  118. package/src/main/js/sap/ushell/components/cepsearchresult/app/Main.controller.js +6 -2
  119. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/Category.js +44 -6
  120. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/categories/Application.js +22 -9
  121. package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +23 -16
  122. package/src/main/js/sap/ushell/components/contentFinder/Component.js +1 -1
  123. package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +1 -1
  124. package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +1 -1
  125. package/src/main/js/sap/ushell/components/contentFinder/controller/WidgetGallery.controller.js +1 -1
  126. package/src/main/js/sap/ushell/components/contentFinder/manifest.json +1 -1
  127. package/src/main/js/sap/ushell/components/factsheet/Component.js +1 -1
  128. package/src/main/js/sap/ushell/components/factsheet/controls/PictureTile.js +1 -2
  129. package/src/main/js/sap/ushell/components/factsheet/controls/PictureViewer.js +5 -6
  130. package/src/main/js/sap/ushell/components/factsheet/controls/PictureViewerItem.js +1 -2
  131. package/src/main/js/sap/ushell/components/factsheet/factory/ThingInspector.js +3 -3
  132. package/src/main/js/sap/ushell/components/homeApp/error/HomeAppError.controller.js +0 -1
  133. package/src/main/js/sap/ushell/components/homeApp/error/HomeAppError.view.xml +7 -6
  134. package/src/main/js/sap/ushell/components/homepage/ActionMode.js +1 -1
  135. package/src/main/js/sap/ushell/components/homepage/DashboardContent.controller.js +2 -7
  136. package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +13 -13
  137. package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +1 -1
  138. package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +1 -1
  139. package/src/main/js/sap/ushell/components/homepage/manifest.json +1 -1
  140. package/src/main/js/sap/ushell/components/pages/ActionMode.js +10 -10
  141. package/src/main/js/sap/ushell/components/pages/Component.js +1 -1
  142. package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +1 -1
  143. package/src/main/js/sap/ushell/components/pages/StateManager.js +2 -2
  144. package/src/main/js/sap/ushell/components/pages/controller/ImportDialog.controller.js +12 -12
  145. package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +93 -95
  146. package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
  147. package/src/main/js/sap/ushell/components/pages/view/PageRuntime.view.xml +31 -23
  148. package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +1 -1
  149. package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
  150. package/src/main/js/sap/ushell/components/shell/MenuBar/controller/MenuBar.controller.js +7 -6
  151. package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +1 -1
  152. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +1 -3
  153. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +2 -2
  154. package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +1 -1
  155. package/src/main/js/sap/ushell/components/shell/Notifications/Notifications.controller.js +2 -2
  156. package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +1 -1
  157. package/src/main/js/sap/ushell/components/shell/Search/ESearch.js +1 -1
  158. package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
  159. package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +2 -2
  160. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchCEP.controller.js +74 -16
  161. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchFieldFragment.fragment.xml +2 -1
  162. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +1 -2
  163. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +1 -2
  164. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +1 -1
  165. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchServiceProvider.js +1 -2
  166. package/src/main/js/sap/ushell/components/shell/Settings/Component.js +1 -1
  167. package/src/main/js/sap/ushell/components/shell/Settings/ErrorMessageHelper.js +8 -9
  168. package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.controller.js +53 -13
  169. package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.view.xml +5 -0
  170. package/src/main/js/sap/ushell/components/shell/Settings/appearance/Appearance.controller.js +41 -38
  171. package/src/main/js/sap/ushell/components/shell/Settings/notifications/NotificationsSetting.controller.js +1 -1
  172. package/src/main/js/sap/ushell/components/shell/Settings/userActivities/UserActivitiesSetting.controller.js +2 -2
  173. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/UserDefaultsForm.js +1 -1
  174. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/controller/UserDefaultsSetting.controller.js +7 -3
  175. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +1 -1
  176. package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +1 -1
  177. package/src/main/js/sap/ushell/components/tiles/applauncher/StaticTile.view.js +0 -2
  178. package/src/main/js/sap/ushell/components/tiles/applauncher/StaticTileTmp.view.js +0 -2
  179. package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/DynamicTileTmp.view.js +0 -2
  180. package/src/main/js/sap/ushell/components/tiles/cdm/applauncher/StaticTile.view.js +0 -2
  181. package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.controller.js +1 -1
  182. package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.view.js +0 -2
  183. package/src/main/js/sap/ushell/components/tiles/indicatorTileUtils/oData4Analytics.js +41 -48
  184. package/src/main/js/sap/ushell/components/tiles/indicatorTileUtils/smartBusinessUtil.js +3 -3
  185. package/src/main/js/sap/ushell/components/tiles/utils.js +1 -1
  186. package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +5 -18
  187. package/src/main/js/sap/ushell/components/visualizationOrganizer/VisualizationOrganizerPopover.fragment.xml +3 -3
  188. package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +1 -1
  189. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility.js +1 -1
  190. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +65 -95
  191. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.layout.js +182 -90
  192. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageHost.js +1 -1
  193. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +1 -1
  194. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +1 -1
  195. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +1 -1
  196. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +1 -1
  197. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnRenderer.js +0 -2
  198. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +1 -1
  199. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +53 -3
  200. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRowRenderer.js +3 -0
  201. package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
  202. package/src/main/js/sap/ushell/components/workPageBuilder/view/WorkPageBuilder.view.xml +1 -0
  203. package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +1 -1
  204. package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +6 -2
  205. package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +1 -1
  206. package/src/main/js/sap/ushell/components/workPageRuntime/services/NavigationResolver.js +1 -2
  207. package/src/main/js/sap/ushell/components/workPageRuntime/services/WorkPage.js +1 -2
  208. package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
  209. package/src/main/js/sap/ushell/library.js +4 -2
  210. package/src/main/js/sap/ushell/navigationMode.js +10 -5
  211. package/src/main/js/sap/ushell/override.js +1 -1
  212. package/src/main/js/sap/ushell/performance/FesrEnhancer.js +248 -187
  213. package/src/main/js/sap/ushell/performance/ShellAnalytics.js +206 -207
  214. package/src/main/js/sap/ushell/performance/StatisticalRecord.js +366 -230
  215. package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
  216. package/src/main/js/sap/ushell/renderers/fiori2/Renderer.js +39 -23
  217. package/src/main/js/sap/ushell/renderers/fiori2/RendererExtensions.js +105 -25
  218. package/src/main/js/sap/ushell/renderers/fiori2/Shell.controller.js +63 -52
  219. package/src/main/js/sap/ushell/renderers/fiori2/ShellLayout.js +1 -1
  220. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources.properties +1 -1
  221. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_ko.properties +1 -1
  222. package/src/main/js/sap/ushell/renderers/fiori2/search/searchComponent/manifest.json +1 -1
  223. package/src/main/js/sap/ushell/services/AppConfiguration.js +3 -3
  224. package/src/main/js/sap/ushell/services/AppLifeCycle.js +1 -1
  225. package/src/main/js/sap/ushell/services/AppState.js +2 -3
  226. package/src/main/js/sap/ushell/services/Bookmark.js +1 -1
  227. package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +1 -1
  228. package/src/main/js/sap/ushell/services/CommonDataModel.js +4 -5
  229. package/src/main/js/sap/ushell/services/Configuration.js +1 -2
  230. package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +2 -2
  231. package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +1 -1
  232. package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +36 -33
  233. package/src/main/js/sap/ushell/services/DarkModeSupport.js +2 -2
  234. package/src/main/js/sap/ushell/services/EndUserFeedback.js +2 -2
  235. package/src/main/js/sap/ushell/services/LaunchPage.js +11 -8
  236. package/src/main/js/sap/ushell/services/Menu.js +31 -37
  237. package/src/main/js/sap/ushell/services/Message.js +1 -2
  238. package/src/main/js/sap/ushell/services/MessageBroker.js +1 -2
  239. package/src/main/js/sap/ushell/services/NavTargetResolution.js +58 -9
  240. package/src/main/js/sap/ushell/services/Navigation.js +1356 -0
  241. package/src/main/js/sap/ushell/services/NavigationDataProvider.js +7 -5
  242. package/src/main/js/sap/ushell/services/Notifications.js +16 -16
  243. package/src/main/js/sap/ushell/services/PageBuilding.js +1 -2
  244. package/src/main/js/sap/ushell/services/PagePersistence.js +6 -6
  245. package/src/main/js/sap/ushell/services/PageReferencing.js +2 -2
  246. package/src/main/js/sap/ushell/services/Pages.js +24 -25
  247. package/src/main/js/sap/ushell/services/Personalization.js +5 -5
  248. package/src/main/js/sap/ushell/services/PluginManager.js +1 -2
  249. package/src/main/js/sap/ushell/services/ReferenceResolver.js +2 -2
  250. package/src/main/js/sap/ushell/services/Search.js +1 -1
  251. package/src/main/js/sap/ushell/services/SearchCEP.js +2 -1
  252. package/src/main/js/sap/ushell/services/SearchableContent.js +85 -59
  253. package/src/main/js/sap/ushell/services/ShellNavigation.js +59 -17
  254. package/src/main/js/sap/ushell/services/ShellNavigationHashChanger.js +115 -39
  255. package/src/main/js/sap/ushell/services/SmartNavigation.js +4 -4
  256. package/src/main/js/sap/ushell/services/SpaceContent.js +5 -6
  257. package/src/main/js/sap/ushell/services/SupportTicket.js +1 -1
  258. package/src/main/js/sap/ushell/services/UITracer.js +5 -3
  259. package/src/main/js/sap/ushell/services/URLShortening.js +1 -1
  260. package/src/main/js/sap/ushell/services/URLTemplate.js +2 -2
  261. package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +7 -7
  262. package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +1 -2
  263. package/src/main/js/sap/ushell/services/UserDefaultParameters.js +1 -1
  264. package/src/main/js/sap/ushell/services/UserInfo.js +1 -1
  265. package/src/main/js/sap/ushell/services/UserRecents.js +91 -69
  266. package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +10 -6
  267. package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +1 -3
  268. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Formatter.js +1 -1
  269. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundIndex.js +1 -1
  270. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundProvider.js +2 -5
  271. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/PrelaunchOperations.js +2 -2
  272. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Search.js +11 -11
  273. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/StagedLogger.js +1 -1
  274. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/SystemContext.js +1 -1
  275. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Utils.js +6 -6
  276. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/VirtualInbounds.js +1 -1
  277. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/XAppStateProcessing.js +2 -2
  278. package/src/main/js/sap/ushell/services/_CommonDataModel/PersonalizationProcessor.js +1 -2
  279. package/src/main/js/sap/ushell/services/_CommonDataModel/SiteConverter.js +1 -1
  280. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +1 -1
  281. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +1 -1
  282. package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +9 -14
  283. package/src/main/js/sap/ushell/services/_MessageBroker/MessageBrokerEngine.js +1 -1
  284. package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +1 -1
  285. package/src/main/js/sap/ushell/services/_Personalization/ContextContainer.js +34 -21
  286. package/src/main/js/sap/ushell/services/_Personalization/Variant.js +5 -2
  287. package/src/main/js/sap/ushell/services/_Personalization/VariantSet.js +18 -12
  288. package/src/main/js/sap/ushell/services/_Personalization/utils.js +2 -2
  289. package/src/main/js/sap/ushell/services/_PluginManager/Extensions.js +1 -1
  290. package/src/main/js/sap/ushell/services/_PluginManager/HeaderExtensions.js +3 -3
  291. package/src/main/js/sap/ushell/services/_PluginManager/MenuExtensions.js +1 -1
  292. package/src/main/js/sap/ushell/services/_Ui5ComponentLoader/utils.js +1 -1
  293. package/src/main/js/sap/ushell/services/_UserRecents/RecentActivity.js +206 -214
  294. package/src/main/js/sap/ushell/services/_UserRecents/RecentAppsUsage.js +46 -54
  295. package/src/main/js/sap/ushell/services/_UserRecents/RecentsList.js +39 -40
  296. package/src/main/js/sap/ushell/services/_UserRecents/UserRecentsBase.js +29 -36
  297. package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstance.js +1 -1
  298. package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstanceAbap.js +1 -1
  299. package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstanceCdm.js +1 -1
  300. package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstanceLaunchPage.js +10 -8
  301. package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstanceLink.js +2 -2
  302. package/src/main/js/sap/ushell/services/appstate/LimitedBuffer.js +1 -2
  303. package/src/main/js/sap/ushell/services/appstate/Sequentializer.js +1 -1
  304. package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
  305. package/src/main/js/sap/ushell/themes/base/SearchCEP.less +8 -0
  306. package/src/main/js/sap/ushell/themes/base/ShellHeader.less +12 -6
  307. package/src/main/js/sap/ushell/themes/base/WorkPage.less +34 -4
  308. package/src/main/js/sap/ushell/themes/base/WorkPageCell.less +3 -1
  309. package/src/main/js/sap/ushell/themes/base/WorkPageColumn.less +3 -76
  310. package/src/main/js/sap/ushell/themes/base/WorkPageColumnResizer.less +2 -1
  311. package/src/main/js/sap/ushell/themes/base/WorkPageRow.less +822 -6
  312. package/src/main/js/sap/ushell/themes/sap_horizon/SearchCEP.less +4 -0
  313. package/src/main/js/sap/ushell/themes/sap_horizon/ToolAreaItem.less +1 -1
  314. package/src/main/js/sap/ushell/themes/sap_horizon_dark/SearchCEP.less +4 -0
  315. package/src/main/js/sap/ushell/themes/sap_horizon_dark/ToolAreaItem.less +1 -1
  316. package/src/main/js/sap/ushell/themes/sap_horizon_hcb/SearchCEP.less +5 -0
  317. package/src/main/js/sap/ushell/themes/sap_horizon_hcw/SearchCEP.less +5 -0
  318. package/src/main/js/sap/ushell/ui/AppContainer.js +0 -1
  319. package/src/main/js/sap/ushell/ui/ContentNodeSelector.js +1 -1
  320. package/src/main/js/sap/ushell/ui/QuickAccess.js +2 -2
  321. package/src/main/js/sap/ushell/ui/ShellHeader.js +21 -5
  322. package/src/main/js/sap/ushell/ui/ShellHeaderRenderer.js +1 -0
  323. package/src/main/js/sap/ushell/ui/appfinder/AppBox.js +0 -1
  324. package/src/main/js/sap/ushell/ui/bookmark/SaveOnPage.view.xml +6 -6
  325. package/src/main/js/sap/ushell/ui/cards/FrequentActivitiesExtension.js +1 -1
  326. package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +1 -1
  327. package/src/main/js/sap/ushell/ui/footerbar/AboutButton.js +0 -1
  328. package/src/main/js/sap/ushell/ui/footerbar/AddBookmarkButton.js +32 -17
  329. package/src/main/js/sap/ushell/ui/footerbar/ContactSupportButton.js +0 -1
  330. package/src/main/js/sap/ushell/ui/footerbar/JamDiscussButton.js +0 -1
  331. package/src/main/js/sap/ushell/ui/footerbar/JamShareButton.js +0 -1
  332. package/src/main/js/sap/ushell/ui/footerbar/LogoutButton.js +0 -1
  333. package/src/main/js/sap/ushell/ui/footerbar/SaveAsTile.view.js +1 -12
  334. package/src/main/js/sap/ushell/ui/footerbar/SendAsEmailButton.js +0 -1
  335. package/src/main/js/sap/ushell/ui/launchpad/ActionItem.js +0 -1
  336. package/src/main/js/sap/ushell/ui/launchpad/AnchorItem.js +0 -1
  337. package/src/main/js/sap/ushell/ui/launchpad/AnchorNavigationBar.js +0 -1
  338. package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
  339. package/src/main/js/sap/ushell/ui/launchpad/FailedTileDialog.js +4 -4
  340. package/src/main/js/sap/ushell/ui/launchpad/GroupHeaderActions.js +0 -1
  341. package/src/main/js/sap/ushell/ui/launchpad/GroupListItem.js +0 -1
  342. package/src/main/js/sap/ushell/ui/launchpad/LinkTileWrapper.js +1 -1
  343. package/src/main/js/sap/ushell/ui/launchpad/LoadingDialog.js +0 -1
  344. package/src/main/js/sap/ushell/ui/launchpad/Page.js +1 -1
  345. package/src/main/js/sap/ushell/ui/launchpad/PlusTile.js +0 -1
  346. package/src/main/js/sap/ushell/ui/launchpad/Section.js +3 -3
  347. package/src/main/js/sap/ushell/ui/launchpad/Tile.js +0 -1
  348. package/src/main/js/sap/ushell/ui/launchpad/TileContainer.js +0 -1
  349. package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +4 -5
  350. package/src/main/js/sap/ushell/ui/shell/RightFloatingContainer.js +1 -1
  351. package/src/main/js/sap/ushell/ui/shell/ShellHeadItem.js +7 -8
  352. package/src/main/js/sap/ushell/ui/shell/SysInfoBar.js +1 -1
  353. package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +1 -2
  354. package/src/main/js/sap/ushell/ui/tile/DynamicTile.js +0 -1
  355. package/src/main/js/sap/ushell/ui/tile/ImageTile.js +0 -1
  356. package/src/main/js/sap/ushell/ui/tile/StaticTile.js +0 -1
  357. package/src/main/js/sap/ushell/ui/tile/TileBase.js +0 -1
  358. package/src/main/js/sap/ushell/ui/utils.js +1 -1
  359. package/src/main/js/sap/ushell/ui5service/ShellUIService.js +1 -1
  360. package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
  361. package/src/main/js/sap/ushell/ui5service/_ShellUIService/shelluiservice.class.factory.js +1 -1
  362. package/src/main/js/sap/ushell/utils/HttpClient.js +0 -1
  363. package/src/main/js/sap/ushell/utils/RestrictedJSONModel.js +1 -1
  364. package/src/main/js/sap/ushell/utils/UrlParsing.js +18 -14
  365. package/src/main/js/sap/ushell/utils/UrlShortening.js +2 -2
  366. package/src/main/js/sap/ushell/utils/objectOperations.js +1 -1
  367. package/src/main/js/sap/ushell/utils/type.js +1 -1
  368. package/src/main/js/sap/ushell/utils/utilsCdm.js +3 -3
  369. package/src/main/js/sap/ushell/utils.js +128 -21
  370. package/src/test/js/sap/ushell/bootstrap/sandbox.js +2 -2
  371. package/ui5.yaml +1 -0
  372. package/src/main/js/sap/ushell/appRuntime/ui5/services/Menu.js +0 -22
@@ -0,0 +1,398 @@
1
+ // Copyright (c) 2009-2023 SAP SE, All Rights Reserved
2
+
3
+ /**
4
+ * @fileOverview The Unified Shell's bootstrap code for development sandbox scenarios.
5
+ * This is the version that creates spaces/pages runtime environment.
6
+ *
7
+ * @version 1.119.2
8
+ */
9
+
10
+ /* eslint-disable quote-props */
11
+ (function () {
12
+ "use strict";
13
+
14
+ window["sap-ui-config"] = {
15
+ "xx-bootTask": function (fnCallback) {
16
+ init().then((bootstrap) => {
17
+ bootstrap(fnCallback);
18
+ });
19
+ }
20
+ };
21
+
22
+ function init () {
23
+ return new Promise(function (resolve) {
24
+ sap.ui.require([
25
+ "sap/base/util/UriParameters",
26
+ "sap/base/Log",
27
+ "sap/base/util/ObjectPath",
28
+ "sap/ushell/Container"
29
+ ], function (
30
+ UriParameters,
31
+ Log,
32
+ ObjectPath
33
+ /* Container - necessary for sap.ushell.bootstrap */
34
+ ) {
35
+
36
+ async function _loadJSON (sUrl) {
37
+ function logError () {
38
+ Log.error("Failed to load Fiori Launchpad Sandbox configuration", sUrl);
39
+ }
40
+ try {
41
+ const response = await fetch(sUrl, {
42
+ headers: {
43
+ "Content-Type": "application/json"
44
+ }
45
+ });
46
+ if (response.ok) {
47
+ const oData = await response.json();
48
+ return oData;
49
+ }
50
+ logError();
51
+ } catch (e) {
52
+ logError();
53
+ }
54
+ }
55
+
56
+ function mergeConfig (oBaseConfig, oCustomConfig, bCloneCustom) {
57
+ if (typeof oCustomConfig !== "object") {
58
+ return;
59
+ }
60
+
61
+ const oConfigToMerge = bCloneCustom ? JSON.parse(JSON.stringify(oCustomConfig)) : oCustomConfig;
62
+
63
+ Object.entries(oConfigToMerge).forEach(([sKey, oValue]) => {
64
+ if (Object.prototype.toString.apply(oBaseConfig[sKey]) === "[object Object]" &&
65
+ Object.prototype.toString.apply(oValue) === "[object Object]") {
66
+ mergeConfig(oBaseConfig[sKey], oValue, false);
67
+ return;
68
+ }
69
+ oBaseConfig[sKey] = oValue;
70
+ });
71
+ }
72
+
73
+ /*
74
+ * Add custom applications and tiles from the provided custom configuration to the template site:
75
+ * 1. Applications and tiles from oConfig.applications (documented way, My Home section)
76
+ * 2. Applications from oConfig.services.NavTargetResolution.adapter.config.applications
77
+ * 3. Applications from oConfig.services.ClientSideTargetResolution.adapter.config.inbounds
78
+ * 4. Groups and tiles from oConfig.services.LaunchPage.adapter.config.groups (a new section is created for each group)
79
+ */
80
+ function _addAppsToSite (oConfig) {
81
+ function getComponentName (oApplication) {
82
+ return oApplication.additionalInformation.replace("SAPUI5.Component=", "");
83
+ }
84
+
85
+ function createApp (oApplication, sKey) {
86
+ const sComponentName = getComponentName(oApplication);
87
+ const sApplicationTitle = oApplication.title || sComponentName.split(".").pop();
88
+ const aNavTarget = sKey.split("-"); // Convention: application key must be in form of "SemanticObject-action"
89
+
90
+ const oApp = {
91
+ "sap.app": {
92
+ "id": sComponentName,
93
+ "title": sApplicationTitle,
94
+ "subTitle": oApplication.description || "",
95
+ "ach": "CA-FLP-FE-COR",
96
+ "applicationVersion": {
97
+ "version": "1.0.0"
98
+ },
99
+ "crossNavigation": {
100
+ "inbounds": {
101
+ "target": {
102
+ "semanticObject": aNavTarget[0],
103
+ "action": aNavTarget[1],
104
+ "signature": {
105
+ "parameters": {},
106
+ "additionalParameters": "allowed"
107
+ }
108
+ }
109
+ }
110
+ },
111
+ "tags": {
112
+ "keywords": sApplicationTitle.split(" ")
113
+ }
114
+ },
115
+ "sap.flp": {
116
+ "type": "application"
117
+ },
118
+ "sap.ui": {
119
+ "technology": "UI5",
120
+ "icons": {
121
+ "icon": "sap-icon://Fiori2/F0018"
122
+ },
123
+ "deviceTypes": {
124
+ "desktop": true,
125
+ "tablet": false,
126
+ "phone": false
127
+ }
128
+ },
129
+ "sap.ui5": {
130
+ "componentName": sComponentName
131
+ },
132
+ "sap.platform.runtime": {
133
+ "componentProperties": {
134
+ "url": oApplication.url
135
+ }
136
+ }
137
+ };
138
+ return oApp;
139
+ }
140
+
141
+ function createAppFromInbound (oInbound) {
142
+ const oApplication = oInbound.resolutionResult || {};
143
+ const sComponentName = oApplication.ui5ComponentName || getComponentName(oApplication);
144
+ const sApplicationTitle = oInbound.title || sComponentName.split(".").pop();
145
+
146
+ const oApp = {
147
+ "sap.app": {
148
+ "id": sComponentName,
149
+ "title": sApplicationTitle,
150
+ "subTitle": oApplication.description || "",
151
+ "ach": "CA-FLP-FE-COR",
152
+ "applicationVersion": {
153
+ "version": "1.0.0"
154
+ },
155
+ "crossNavigation": {
156
+ "inbounds": {
157
+ "target": {
158
+ "semanticObject": oInbound.semanticObject,
159
+ "action": oInbound.action,
160
+ "signature": oInbound.signature
161
+ }
162
+ }
163
+ },
164
+ "tags": {
165
+ "keywords": sApplicationTitle.split(" ")
166
+ }
167
+ },
168
+ "sap.flp": {
169
+ "type": "application"
170
+ },
171
+ "sap.ui": {
172
+ "technology": "UI5",
173
+ "icons": {
174
+ "icon": "sap-icon://Fiori2/F0018"
175
+ },
176
+ "deviceTypes": oInbound.deviceTypes
177
+ },
178
+ "sap.ui5": {
179
+ "componentName": sComponentName
180
+ },
181
+ "sap.platform.runtime": {
182
+ "componentProperties": {
183
+ "url": oApplication.url
184
+ }
185
+ }
186
+ };
187
+ return oApp;
188
+ }
189
+
190
+ function createViz (oApplication, sKey) {
191
+ const sComponentName = getComponentName(oApplication);
192
+ const sApplicationTitle = oApplication.title || sComponentName.split(".").pop();
193
+
194
+
195
+ const oViz = {
196
+ "vizType": "sap.ushell.StaticAppLauncher",
197
+ "businessApp": sComponentName || "sap.ushell.sanbox.BusinessApp",
198
+ "vizConfig": {
199
+ "sap.app": {
200
+ "title": sApplicationTitle,
201
+ "subTitle": oApplication.description || ""
202
+ },
203
+ "sap.ui": {
204
+ "icons": {
205
+ "icon": oApplication.icon
206
+ },
207
+ "deviceTypes": {
208
+ "desktop": true,
209
+ "tablet": true,
210
+ "phone": true
211
+ }
212
+ },
213
+ "sap.flp": {
214
+ "target": {
215
+ "type": "URL",
216
+ "url": "#" + sKey
217
+ }
218
+ }
219
+ }
220
+ };
221
+ return oViz;
222
+ }
223
+
224
+ // predefined site is found here
225
+ const oSiteData = oConfig.services.CommonDataModel.adapter.config.siteData;
226
+
227
+ // generate applications and tiles from window["sap-ushell-config"].applications and add them to the site
228
+ const oApplications = ObjectPath.get("applications", oConfig) || {};
229
+ for (let [sAppKey, oApplication] of Object.entries(oApplications)) {
230
+ const sVizId = "custom_viz_" + sAppKey;
231
+ const oSection = oSiteData.pages.page1.payload.sections.APPS; // predefined section for custom apps
232
+ oSiteData.applications[sAppKey] = createApp(oApplication, sAppKey);
233
+ oSiteData.visualizations[sAppKey] = createViz(oApplication, sAppKey);
234
+ oSection.layout.vizOrder.push(sVizId);
235
+ oSection.viz[sVizId] = {
236
+ id: sVizId,
237
+ vizId: sAppKey
238
+ };
239
+ }
240
+
241
+ // generate applications from NavTargetResolution config
242
+ const oNavTargetApps = ObjectPath.get("services.NavTargetResolution.adapter.config.applications", oConfig) || {};
243
+ for (let [sNTAppKey, oNTApp] of Object.entries(oNavTargetApps)) {
244
+ if (oNTApp.additionalInformation) {
245
+ oSiteData.applications[sNTAppKey] = createApp(oNTApp, sNTAppKey);
246
+ }
247
+ }
248
+
249
+ // generate applications from ClientSideTargetResolution config (application dependencies not taken into account yet)
250
+ const oClientTargetApps = ObjectPath.get("services.ClientSideTargetResolution.adapter.config.inbounds", oConfig) || {};
251
+ for (let oInbound of Object.values(oClientTargetApps)) {
252
+ oSiteData.applications[oInbound.semanticObject + "-" + oInbound.action] = createAppFromInbound(oInbound);
253
+ }
254
+
255
+ // generate sections and tiles from the LaunchPage adapter config and add them to the site
256
+ const aGroups = ObjectPath.get("services.LaunchPage.adapter.config.groups", oConfig) || [];
257
+ aGroups.forEach((oGroup, index) => {
258
+ const sGroupId = oGroup.id || "GROUP_" + index;
259
+ const oPage = oSiteData.pages.page1; // predefined page
260
+ oPage.payload.layout.sectionOrder.splice(index + 1, 0, sGroupId); // insert groups between my home and sample apps
261
+ oPage.payload.sections[sGroupId] = {
262
+ id: sGroupId,
263
+ title: oGroup.title,
264
+ layout: {vizOrder: []},
265
+ viz: {}
266
+ };
267
+ const oSection = oPage.payload.sections[sGroupId];
268
+ (oGroup.tiles || []).forEach((oTile, tileIndex) => {
269
+ const sTileId = oTile.id || sGroupId + "_tile_" + tileIndex;
270
+ oSection.layout.vizOrder.push(sTileId);
271
+
272
+ const sFormFactor = oTile.formFactor || "Desktop,Tablet,Phone";
273
+ const oTileProperties = oTile.properties || {};
274
+ const oViz = {
275
+ "vizType": "sap.ushell.StaticAppLauncher", // always static tiles, no matter how it is configued
276
+ "businessApp": "sap.ushell.sanbox.BusinessApp",
277
+ "vizConfig": {
278
+ "sap.app": {
279
+ "title": oTile.title || oTileProperties.title || "",
280
+ "subTitle": oTileProperties.subtitle || ""
281
+ },
282
+ "sap.ui": {
283
+ "icons": {
284
+ "icon": oTileProperties.icon
285
+ },
286
+ "deviceTypes": {
287
+ "desktop": sFormFactor.indexOf("Desktop") > -1,
288
+ "tablet": sFormFactor.indexOf("Tablet") > -1,
289
+ "phone": sFormFactor.indexOf("Phone") > -1
290
+ }
291
+ },
292
+ "sap.flp": {
293
+ "target": {
294
+ "type": "URL",
295
+ "url": oTileProperties.targetURL || oTileProperties.href || "#"
296
+ }
297
+ }
298
+ }
299
+ };
300
+ oSiteData.visualizations[sTileId] = oViz;
301
+ oSection.viz[sTileId] = {
302
+ id: sTileId,
303
+ vizId: sTileId
304
+ };
305
+ });
306
+ });
307
+
308
+ delete oConfig.applications;
309
+ return oConfig;
310
+ }
311
+
312
+ function _applyDefaultUshellConfig (oConfig) {
313
+ mergeConfig(window["sap-ushell-config"], oConfig, true);
314
+ }
315
+
316
+ function _applyDefaultSiteData (oSiteData) {
317
+ const oAdapterConfig = window["sap-ushell-config"].services.CommonDataModel.adapter.config;
318
+ oAdapterConfig.siteData = oSiteData;
319
+ delete oAdapterConfig.siteDataUrl;
320
+ }
321
+
322
+ /**
323
+ * Read a new JSON application config defined by its URL and merge into
324
+ * window["sap-ushell-config"].
325
+ *
326
+ * @param {string} sUrlPrefix URL of JSON file to be merged into the configuration
327
+ */
328
+ async function _applyJsonApplicationConfig (sUrlPrefix) {
329
+ const sUrl = /\.json/i.test(sUrlPrefix) ? sUrlPrefix : sUrlPrefix + ".json";
330
+ const oAppConfig = await _loadJSON(sUrl);
331
+ if (oAppConfig) {
332
+ mergeConfig(window["sap-ushell-config"], oAppConfig, true);
333
+ }
334
+ }
335
+
336
+ /*
337
+ * Get the path of our own script; module paths are registered relative to this path, not
338
+ * relative to the HTML page we introduce an ID for the bootstrap script, similar to UI5;
339
+ * allows to reference it later as well
340
+ * @returns {string} path of the bootstrap script
341
+ */
342
+ function _getBootstrapScriptPath () {
343
+ const oBootstrapScript = window.document.getElementById("sap-ushell-bootstrap");
344
+ const sBootstrapScriptPath = oBootstrapScript.src.split("?")[0].split("/").slice(0, -1).join("/") + "/";
345
+ return sBootstrapScriptPath;
346
+ }
347
+
348
+ /*
349
+ * Perform sandbox bootstrap of local platform. The promise will make sure to call the UI5
350
+ * callback in case of success.
351
+ *
352
+ */
353
+ async function bootstrap (fnBootstrapCallback) {
354
+ const aConfigFiles = UriParameters.fromURL(window.location.href).getAll("sap-ushell-sandbox-config");
355
+ const sBootstrapPath = _getBootstrapScriptPath(); // default config files are located in the sandbox2 subfolder
356
+ const sDefaultConfigUrl = sBootstrapPath + "./sandbox2/sandboxConfig.json";
357
+ const sDefaultSiteUrl = sBootstrapPath + "./sandbox2/sandboxSite.json";
358
+
359
+ // if one or more configuration files are specified explicitly via URL parameter, read them;
360
+ // otherwise, /appconfig/fioriSandboxConfig.json is the convention for WebIDE developers
361
+ if (aConfigFiles.length === 0) {
362
+ aConfigFiles.push("/appconfig/fioriSandboxConfig.json");
363
+ }
364
+
365
+ if (!window["sap-ushell-config"]) {
366
+ window["sap-ushell-config"] = {};
367
+ }
368
+
369
+ // load the predefined ushell configuration and site contents
370
+ const [oDefaultConfig, oDefaultSite] = await Promise.all([_loadJSON(sDefaultConfigUrl), _loadJSON(sDefaultSiteUrl)]);
371
+ _applyDefaultUshellConfig(oDefaultConfig);
372
+ _applyDefaultSiteData(oDefaultSite);
373
+
374
+ // merge with the custom configuration
375
+ for (const sConfigFile of aConfigFiles) {
376
+ await _applyJsonApplicationConfig(sConfigFile);
377
+ }
378
+
379
+ // convert custom data to the site data
380
+ const oUshellConfig = _addAppsToSite(window["sap-ushell-config"]);
381
+
382
+ // merge custom application module paths for the loader, if provided
383
+ if (oUshellConfig.modulePaths) {
384
+ const oModules = Object.keys(oUshellConfig.modulePaths).reduce((result, sModulePath) => {
385
+ result[sModulePath.replace(/\./g, "/")] = oUshellConfig.modulePaths[sModulePath];
386
+ return result;
387
+ }, {});
388
+ sap.ui.loader.config({
389
+ paths: oModules
390
+ });
391
+ }
392
+ sap.ushell.bootstrap("cdm").done(fnBootstrapCallback);
393
+ }
394
+ resolve(bootstrap);
395
+ });
396
+ });
397
+ }
398
+ }());
@@ -24,13 +24,13 @@ sap.ui.define([
24
24
  BaseObject,
25
25
  Core,
26
26
  TileState,
27
- oEventHub,
28
- oUtils,
29
- oDestroyHelper,
30
- oGroupsHelper,
31
- oMessagingHelper,
27
+ EventHub,
28
+ ushellUtils,
29
+ DestroyHelper,
30
+ GroupsHelper,
31
+ MessagingHelper,
32
32
  HomepageManager,
33
- resources,
33
+ ushellResources,
34
34
  jQuery,
35
35
  Measurement,
36
36
  Log,
@@ -95,8 +95,8 @@ sap.ui.define([
95
95
  oEventBus.subscribe("renderCatalog", this.loadAllCatalogs, this);
96
96
  // Doable objects are kept in a global array to enable their off-ing later on.
97
97
  this._aDoables = [
98
- oEventHub.on("showCatalog").do(this.updateTilesAssociation.bind(this)),
99
- oEventHub.on("updateGroups").do(this.updateTilesAssociation.bind(this))
98
+ EventHub.on("showCatalog").do(this.updateTilesAssociation.bind(this)),
99
+ EventHub.on("updateGroups").do(this.updateTilesAssociation.bind(this))
100
100
  ];
101
101
  },
102
102
 
@@ -141,8 +141,8 @@ sap.ui.define([
141
141
  oGroupsPromise = this.oHomepageManager.loadPersonalizedGroups();
142
142
  }
143
143
  }
144
- oDestroyHelper.destroyFLPAggregationModels(this.oModel.getProperty("/catalogs"));
145
- oDestroyHelper.destroyTileModels(this.oModel.getProperty("/catalogTiles"));
144
+ DestroyHelper.destroyFLPAggregationModels(this.oModel.getProperty("/catalogs"));
145
+ DestroyHelper.destroyTileModels(this.oModel.getProperty("/catalogTiles"));
146
146
  // Clear existing Catalog items
147
147
  this.oModel.setProperty("/catalogs", []);
148
148
  this.oModel.setProperty("/catalogSearchEntity", {
@@ -183,7 +183,7 @@ sap.ui.define([
183
183
  .then(setDoneCBForGroups);
184
184
  }.bind(this))
185
185
  //in case of a severe error, show an error message
186
- .fail(oMessagingHelper.showLocalizedErrorHelper("fail_to_load_catalog_msg"));
186
+ .fail(MessagingHelper.showLocalizedErrorHelper("fail_to_load_catalog_msg"));
187
187
  }.bind(this));
188
188
  } else {
189
189
  // when groups are loaded we can map the catalog tiles <-> groups map
@@ -328,7 +328,7 @@ sap.ui.define([
328
328
  });
329
329
  })
330
330
  .fail(function (sError) {
331
- oMessagingHelper.showLocalizedErrorHelper("fail_to_load_catalog_tiles_msg");
331
+ MessagingHelper.showLocalizedErrorHelper("fail_to_load_catalog_tiles_msg");
332
332
  reject(sError);
333
333
  });
334
334
  }.bind(this));
@@ -377,7 +377,7 @@ sap.ui.define([
377
377
  var aCurrentCatalogs = this.oModel.getProperty("/catalogs");
378
378
  var oEventBus = Core.getEventBus();
379
379
  var aAllEntryInCatalogMaster = this.oModel.getProperty("/masterCatalogs") || [{
380
- title: oMessagingHelper.getLocalizedText("all")
380
+ title: MessagingHelper.getLocalizedText("all")
381
381
  }];
382
382
  Measurement.end("FLP:DashboardManager.getCatalogTiles");
383
383
  Measurement.resume("FLP:DashboardManager.BuildCatalogModelWithRendering");
@@ -406,7 +406,7 @@ sap.ui.define([
406
406
 
407
407
  return Promise.all(aEntryProcessPromises)
408
408
  .then(function () {
409
- //Update model just if catalog has tiles or appbox.
409
+ //Update model just if catalog has tiles or appBox.
410
410
  if (oCatalogObject.appBoxes.length > 0 || oCatalogObject.customTiles.length > 0) {
411
411
  if (bIsNewCatalog) {
412
412
  aCurrentCatalogs.push(oCatalogModel);
@@ -428,7 +428,8 @@ sap.ui.define([
428
428
  oEventBus.publish("launchpad", "afterCatalogSegment");
429
429
  setTimeout(function () {
430
430
  // the first segment has been loaded and rendered
431
- oUtils.setPerformanceMark("FLP-TTI-AppFinder", { bUseUniqueMark: true });
431
+ ushellUtils.setPerformanceMark("FLP-TTI-AppFinder", { bUseUniqueMark: true });
432
+ EventHub.emit("firstCatalogSegmentCompleteLoaded", true);
432
433
  }, 0); // Catalogs have not yet been rendered but after a setTimeout they have been
433
434
 
434
435
  Measurement.pause("FLP:DashboardManager.BuildCatalogModelWithRendering");
@@ -479,7 +480,7 @@ sap.ui.define([
479
480
  for (var index = 0; index < catalogs.length; ++index) {
480
481
  tempCatalog = catalogs[index];
481
482
  // If this is the catalogsLoading catalog - remember that it was read since the found index should be reduced by 1
482
- if (tempCatalog.title === resources.i18n.getText("catalogsLoading")) {
483
+ if (tempCatalog.title === ushellResources.i18n.getText("catalogsLoading")) {
483
484
  bGeneralCatalogAppeared = true;
484
485
  } else if (catalogTitle === tempCatalog.title) {
485
486
  indexOfPreviousInstance = index;
@@ -571,7 +572,7 @@ sap.ui.define([
571
572
  }
572
573
 
573
574
  if (noTiles || !aCatalogs.length) {
574
- this.oModel.setProperty("/catalogsNoDataText", resources.i18n.getText("noCatalogs"));
575
+ this.oModel.setProperty("/catalogsNoDataText", ushellResources.i18n.getText("noCatalogs"));
575
576
  }
576
577
  }.bind(this));
577
578
 
@@ -592,10 +593,10 @@ sap.ui.define([
592
593
  }.bind(this));
593
594
  //check if some of the catalogs failed to load
594
595
  if (aLoadedCatalogs.length !== aCatalogs.length) {
595
- oMessagingHelper.showLocalizedError("partialCatalogFail");
596
+ MessagingHelper.showLocalizedError("partialCatalogFail");
596
597
  }
597
598
 
598
- oUtils.handleTilesVisibility();
599
+ ushellUtils.handleTilesVisibility();
599
600
  },
600
601
 
601
602
  createCatalogTiles: function (oCatalogTile/*, bGetTileKeyWords*/) {
@@ -658,7 +659,7 @@ sap.ui.define([
658
659
  var sNewTitle = oData.newGroupName;
659
660
  var oDeferred = new jQuery.Deferred();
660
661
 
661
- if (oUtils.validHash(sNewTitle) && oCatalogTileContext) {
662
+ if (ushellUtils.validHash(sNewTitle) && oCatalogTileContext) {
662
663
  this.createGroup(sNewTitle).then(function (oContext) {
663
664
  // Add HeaderActions and before and after content of newly created group,
664
665
  // if the dashboard is already loaded and in edit mode.
@@ -695,7 +696,7 @@ sap.ui.define([
695
696
  createGroup: function (sTitle) {
696
697
  var that = this;
697
698
  var oDeferred = new jQuery.Deferred();
698
- if (!oUtils.validHash(sTitle)) {
699
+ if (!ushellUtils.validHash(sTitle)) {
699
700
  return oDeferred.reject({ status: 0, action: "createNewGroup" }); // 0 - failure
700
701
  }
701
702
 
@@ -705,7 +706,7 @@ sap.ui.define([
705
706
  oDeferred.resolve(oGroupContext);
706
707
  });
707
708
  oResultPromise.fail(function () {
708
- oMessagingHelper.showLocalizedError("fail_to_create_group_msg");
709
+ MessagingHelper.showLocalizedError("fail_to_create_group_msg");
709
710
  var oResponseData = { status: 0, action: "createNewGroup" }; // 0 - failure
710
711
  oDeferred.resolve(oResponseData); // 0 - failure
711
712
  });
@@ -746,7 +747,7 @@ sap.ui.define([
746
747
  var oResultPromise = this.oLaunchPageService.addTile(oCatalogTileContext.getProperty("src"), oContext.getProperty("object"));
747
748
  oResultPromise.done(function (oTile) {
748
749
  var aGroups = that.oModel.getProperty("/groups");
749
- var sGroupPath = oGroupsHelper.getModelPathOfGroup(aGroups, sGroupId);
750
+ var sGroupPath = GroupsHelper.getModelPathOfGroup(aGroups, sGroupId);
750
751
  var sTileTitle = that.oLaunchPageService.getTileTitle(oTile);
751
752
 
752
753
  that.oHomepageManager.addTileToGroup(sGroupPath, oTile);
@@ -760,7 +761,7 @@ sap.ui.define([
760
761
  });
761
762
  oDeferred.resolve(oResponseData);
762
763
  }).fail(function () {
763
- oMessagingHelper.showLocalizedError("fail_to_add_tile_msg");
764
+ MessagingHelper.showLocalizedError("fail_to_add_tile_msg");
764
765
  oResponseData = { group: oGroup, status: 0, action: "add" }; // 0 - failure
765
766
  oDeferred.resolve(oResponseData);
766
767
  });
@@ -850,7 +851,7 @@ sap.ui.define([
850
851
  * @param {object} aParameters Additional parameters for the Message Toast showing the message. Can be undefined.
851
852
  */
852
853
  notifyOnActionFailure: function (sMsgId, aParameters) {
853
- oMessagingHelper.showLocalizedError(sMsgId, aParameters);
854
+ MessagingHelper.showLocalizedError(sMsgId, aParameters);
854
855
  },
855
856
 
856
857
  /**
@@ -1041,24 +1041,29 @@ sap.ui.define([
1041
1041
  if (oRenderer) {
1042
1042
  var sCurrentCoreView = oRenderer.getCurrentCoreView();
1043
1043
 
1044
- if (sCurrentCoreView === "home" && !Config.last("/core/spaces/enabled")) {
1045
- // handle focus after tileContainer rename
1046
- var sTagName = document.activeElement ? document.activeElement.tagName : "";
1047
- if (sTagName === "INPUT" || sTagName === "TEXTAREA") {
1048
- if (oEvent.keyCode === handler.keyCodes.ENTER) {
1049
- var $HeaderElement = jQuery(document.activeElement).closest(".sapUshellTileContainerHeader");
1050
-
1051
- if ($HeaderElement.length) {
1052
- setTimeout(function () {
1053
- $HeaderElement = jQuery("#" + $HeaderElement[0].id);
1054
- $HeaderElement.focus();
1055
- }, 10);
1044
+ /**
1045
+ * @deprecated since 1.118.
1046
+ * This part of the code is dedicated only to the classic homepage and should therefore be deprecated.
1047
+ */
1048
+ (function () {
1049
+ if (sCurrentCoreView === "home" && !Config.last("/core/spaces/enabled")) {
1050
+ // handle focus after tileContainer rename
1051
+ var sTagName = document.activeElement ? document.activeElement.tagName : "";
1052
+ if (sTagName === "INPUT" || sTagName === "TEXTAREA") {
1053
+ if (oEvent.keyCode === handler.keyCodes.ENTER) {
1054
+ var $HeaderElement = jQuery(document.activeElement).closest(".sapUshellTileContainerHeader");
1055
+ if ($HeaderElement.length) {
1056
+ setTimeout(function () {
1057
+ $HeaderElement = jQuery("#" + $HeaderElement[0].id);
1058
+ $HeaderElement.focus();
1059
+ }, 10);
1060
+ }
1056
1061
  }
1062
+ } else {
1063
+ handler._dashboardKeydownHandler(oEvent);
1057
1064
  }
1058
- } else {
1059
- handler._dashboardKeydownHandler(oEvent);
1060
1065
  }
1061
- }
1066
+ }());
1062
1067
 
1063
1068
  if (sCurrentCoreView === "appFinder") {
1064
1069
  // we got the focus from the shell
@@ -5,7 +5,7 @@ sap.ui.define([], function () {
5
5
 
6
6
  /**
7
7
  * Destroy tile model
8
- * @param {Object} oTileModel Tile model to destroy
8
+ * @param {object} oTileModel Tile model to destroy
9
9
  */
10
10
  function destroyTileModel (oTileModel) {
11
11
  var i;
@@ -33,7 +33,7 @@ sap.ui.define([], function () {
33
33
 
34
34
  /**
35
35
  * Destroy group or catalog model
36
- * @param {Object} oAggregationModel Group or catalog model to destroy
36
+ * @param {object} oAggregationModel Group or catalog model to destroy
37
37
  */
38
38
  function destroyFLPAggregationModel (oAggregationModel) {
39
39
  if (oAggregationModel) {