@sapui5/sap.ushell 1.138.1 → 1.139.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 (756) 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/ApplicationType/UrlPostProcessing.js +14 -10
  4. package/src/main/js/sap/ushell/ApplicationType/wcfResolution.js +32 -26
  5. package/src/main/js/sap/ushell/Container.js +0 -1
  6. package/src/main/js/sap/ushell/Fiori20Adapter.js +1 -1
  7. package/src/main/js/sap/ushell/Fiori20AdapterTest.js +1 -1
  8. package/src/main/js/sap/ushell/NWBCInterface.js +1 -1
  9. package/src/main/js/sap/ushell/TechnicalParameters.js +1 -1
  10. package/src/main/js/sap/ushell/URLTemplateProcessor/DefinitionParameterSetBuilder.js +1 -1
  11. package/src/main/js/sap/ushell/URLTemplateProcessor/DependencyGraph.js +1 -1
  12. package/src/main/js/sap/ushell/URLTemplateProcessor/Functions.js +1 -1
  13. package/src/main/js/sap/ushell/URLTemplateProcessor/Resolvers.js +1 -1
  14. package/src/main/js/sap/ushell/URLTemplateProcessor/TemplateParameterParser.js +1 -1
  15. package/src/main/js/sap/ushell/URLTemplateProcessor/utils.js +1 -1
  16. package/src/main/js/sap/ushell/URLTemplateProcessor.js +1 -1
  17. package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +12 -12
  18. package/src/main/js/sap/ushell/Ui5ServiceFactory.js +1 -1
  19. package/src/main/js/sap/ushell/User.js +32 -12
  20. package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +1 -1
  21. package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +1 -1
  22. package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
  23. package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +1 -1
  24. package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +1 -1
  25. package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +1 -1
  26. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
  27. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationV2Adapter.js +1 -1
  28. package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +1 -1
  29. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +1 -1
  30. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +1 -1
  31. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +1 -1
  32. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +1 -1
  33. package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +1 -1
  34. package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +1 -1
  35. package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +1 -1
  36. package/src/main/js/sap/ushell/adapters/cdm/v3/FlpLaunchPageAdapter.js +1 -1
  37. package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +1 -1
  38. package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +1 -1
  39. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +1 -1
  40. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +1 -1
  41. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +1 -1
  42. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +1 -1
  43. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +1 -1
  44. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +1 -1
  45. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +1 -1
  46. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionInternalAdapter.js +1 -1
  47. package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +1 -1
  48. package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +1 -1
  49. package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +1 -1
  50. package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +1 -1
  51. package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +1 -1
  52. package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +1 -1
  53. package/src/main/js/sap/ushell/adapters/local/FlpLaunchPageAdapter.js +1 -1
  54. package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +1 -1
  55. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +1 -1
  56. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionInternalAdapter.js +1 -1
  57. package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +1 -1
  58. package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +1 -1
  59. package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +1 -1
  60. package/src/main/js/sap/ushell/adapters/local/PersonalizationV2Adapter.js +1 -1
  61. package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +1 -1
  62. package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +1 -1
  63. package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +1 -1
  64. package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +1 -1
  65. package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +1 -1
  66. package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +1 -1
  67. package/src/main/js/sap/ushell/appIntegration/AppLifeCycle.js +3 -5
  68. package/src/main/js/sap/ushell/appIntegration/ApplicationContainer.js +14 -1
  69. package/src/main/js/sap/ushell/appIntegration/ApplicationHandle.js +8 -3
  70. package/src/main/js/sap/ushell/appIntegration/IframeApplicationContainer.js +8 -8
  71. package/src/main/js/sap/ushell/appIntegration/PostMessageManager/AppruntimeHandler.js +17 -12
  72. package/src/main/js/sap/ushell/appIntegration/PostMessageManager/ExtensionItems.js +6 -23
  73. package/src/main/js/sap/ushell/appIntegration/PostMessageManager/LifecycleHandler.js +112 -92
  74. package/src/main/js/sap/ushell/appIntegration/PostMessageManager/NWBCHandler.js +15 -7
  75. package/src/main/js/sap/ushell/appIntegration/PostMessageManager/ServiceHandler.js +257 -214
  76. package/src/main/js/sap/ushell/appIntegration/PostMessageManager.js +347 -117
  77. package/src/main/js/sap/ushell/appIntegration/UI5ApplicationContainer.js +1 -0
  78. package/src/main/js/sap/ushell/appIntegration/contracts/EmbeddedUI5Handler.js +15 -19
  79. package/src/main/js/sap/ushell/appIntegration/contracts/StatefulContainerV1Handler.js +15 -14
  80. package/src/main/js/sap/ushell/appIntegration/contracts/StatefulContainerV2Handler.js +38 -40
  81. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/RendererExtensions.js +1 -1
  82. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppConfiguration.js +1 -1
  83. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppLifeCycle.js +1 -1
  84. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppState.js +1 -8
  85. package/src/main/js/sap/ushell/appRuntime/ui5/services/Bookmark.js +1 -1
  86. package/src/main/js/sap/ushell/appRuntime/ui5/services/BookmarkV2.js +1 -1
  87. package/src/main/js/sap/ushell/appRuntime/ui5/services/CommonDataModel.js +1 -1
  88. package/src/main/js/sap/ushell/appRuntime/ui5/services/Container.js +1 -1
  89. package/src/main/js/sap/ushell/appRuntime/ui5/services/CrossApplicationNavigation.js +1 -1
  90. package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension/Item.js +1 -1
  91. package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension.js +25 -1
  92. package/src/main/js/sap/ushell/appRuntime/ui5/services/FlpLaunchPage.js +1 -1
  93. package/src/main/js/sap/ushell/appRuntime/ui5/services/FrameBoundExtension.js +1 -1
  94. package/src/main/js/sap/ushell/appRuntime/ui5/services/LaunchPage.js +1 -1
  95. package/src/main/js/sap/ushell/appRuntime/ui5/services/MessageBroker.js +1 -1
  96. package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolution.js +1 -1
  97. package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolutionInternal.js +1 -1
  98. package/src/main/js/sap/ushell/appRuntime/ui5/services/Navigation.js +1 -1
  99. package/src/main/js/sap/ushell/appRuntime/ui5/services/ReferenceResolver.js +1 -1
  100. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigation.js +1 -1
  101. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigationInternal.js +1 -1
  102. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellUIService.js +1 -1
  103. package/src/main/js/sap/ushell/appRuntime/ui5/services/UserInfo.js +1 -1
  104. package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
  105. package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/StepConfiguration.json +0 -2
  106. package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/logger.js +1 -1
  107. package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/state.js +1 -1
  108. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5datetimeformat.js +1 -1
  109. package/src/main/js/sap/ushell/bootstrap/common/common.create.configcontract.core.js +4 -0
  110. package/src/main/js/sap/ushell/bootstrap/sandbox2.js +1 -1
  111. package/src/main/js/sap/ushell/components/CatalogsManager.js +157 -157
  112. package/src/main/js/sap/ushell/components/ComponentKeysHandler.js +180 -187
  113. package/src/main/js/sap/ushell/components/DestroyHelper.js +4 -4
  114. package/src/main/js/sap/ushell/components/GroupsHelper.js +21 -21
  115. package/src/main/js/sap/ushell/components/HomepageManager.js +465 -424
  116. package/src/main/js/sap/ushell/components/MessagingHelper.js +24 -24
  117. package/src/main/js/sap/ushell/components/SharedComponentUtils.js +16 -16
  118. package/src/main/js/sap/ushell/components/_HomepageManager/DashboardLoadingManager.js +43 -43
  119. package/src/main/js/sap/ushell/components/_HomepageManager/PagingManager.js +43 -39
  120. package/src/main/js/sap/ushell/components/_HomepageManager/PersistentPageOperationAdapter.js +166 -175
  121. package/src/main/js/sap/ushell/components/_HomepageManager/TransientPageOperationAdapter.js +57 -57
  122. package/src/main/js/sap/ushell/components/appfinder/AppFinder.controller.js +96 -99
  123. package/src/main/js/sap/ushell/components/appfinder/AppFinderView.js +27 -21
  124. package/src/main/js/sap/ushell/components/appfinder/Catalog.controller.js +180 -178
  125. package/src/main/js/sap/ushell/components/appfinder/CatalogView.js +56 -56
  126. package/src/main/js/sap/ushell/components/appfinder/Component.js +12 -16
  127. package/src/main/js/sap/ushell/components/appfinder/EasyAccess.controller.js +129 -133
  128. package/src/main/js/sap/ushell/components/appfinder/EasyAccessView.js +10 -10
  129. package/src/main/js/sap/ushell/components/appfinder/GroupListPopover.controller.js +22 -22
  130. package/src/main/js/sap/ushell/components/appfinder/GroupListPopoverView.js +14 -14
  131. package/src/main/js/sap/ushell/components/appfinder/HierarchyApps.controller.js +75 -78
  132. package/src/main/js/sap/ushell/components/appfinder/HierarchyAppsView.js +24 -27
  133. package/src/main/js/sap/ushell/components/appfinder/HierarchyFolders.controller.js +44 -46
  134. package/src/main/js/sap/ushell/components/appfinder/HierarchyFoldersView.js +22 -22
  135. package/src/main/js/sap/ushell/components/appfinder/VisualizationOrganizerHelper.js +28 -28
  136. package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
  137. package/src/main/js/sap/ushell/components/cards/Card.controller.js +16 -20
  138. package/src/main/js/sap/ushell/components/cards/Configuration.controller.js +35 -37
  139. package/src/main/js/sap/ushell/components/cards/ManifestPropertyHelper.js +32 -34
  140. package/src/main/js/sap/ushell/components/cepsearchresult/app/Main.controller.js +7 -12
  141. package/src/main/js/sap/ushell/components/cepsearchresult/app/Main.view.xml +2 -9
  142. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/Extension.js +0 -1
  143. package/src/main/js/sap/ushell/components/cepsearchresult/app/css/style.css +58 -0
  144. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/AdvancedFormatters.js +0 -1
  145. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/Edition.js +0 -1
  146. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/EditionAdvanced.js +0 -1
  147. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/appendStyleVars.js +0 -1
  148. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/Category.js +13 -13
  149. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/Highlighter.js +2 -5
  150. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/Paginator.js +0 -2
  151. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/categories/Event.js +4 -3
  152. package/src/main/js/sap/ushell/components/contentFinder/CatalogService.js +8 -9
  153. package/src/main/js/sap/ushell/components/contentFinder/Component.js +2 -2
  154. package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +1 -3
  155. package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +1 -1
  156. package/src/main/js/sap/ushell/components/contentFinder/dialog/Component.js +2 -2
  157. package/src/main/js/sap/ushell/components/contentFinder/dialog/manifest.json +1 -1
  158. package/src/main/js/sap/ushell/components/contentFinder/manifest.json +1 -1
  159. package/src/main/js/sap/ushell/components/contentFinder/model/GraphQLListBinding.js +3 -5
  160. package/src/main/js/sap/ushell/components/contentFinder/model/GraphQLModel.js +2 -2
  161. package/src/main/js/sap/ushell/components/contentFinder/model/formatter.js +13 -6
  162. package/src/main/js/sap/ushell/components/contentFinder/resources/resources.properties +3 -3
  163. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_en_US_saprigi.properties +1 -1
  164. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearch.view.xml +2 -14
  165. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchCategoryTreeTable.fragment.xml +14 -7
  166. package/src/main/js/sap/ushell/components/contentFinder/view/VisualizationsNoDataIllustratedMessage.fragment.xml +1 -1
  167. package/src/main/js/sap/ushell/components/contentFinderStandalone/Component.js +2 -2
  168. package/src/main/js/sap/ushell/components/contentFinderStandalone/controller/ContentFinderStandalone.controller.js +2 -4
  169. package/src/main/js/sap/ushell/components/contentFinderStandalone/manifest.json +1 -1
  170. package/src/main/js/sap/ushell/components/factsheet/Component.js +13 -8
  171. package/src/main/js/sap/ushell/components/factsheet/annotation/Mapping.js +166 -118
  172. package/src/main/js/sap/ushell/components/factsheet/controls/PictureTile.js +20 -16
  173. package/src/main/js/sap/ushell/components/factsheet/controls/PictureTileRenderer.js +3 -3
  174. package/src/main/js/sap/ushell/components/factsheet/controls/PictureViewer.js +84 -77
  175. package/src/main/js/sap/ushell/components/factsheet/controls/PictureViewerItem.js +4 -4
  176. package/src/main/js/sap/ushell/components/factsheet/controls/PictureViewerRenderer.js +2 -2
  177. package/src/main/js/sap/ushell/components/factsheet/factory/ThingInspector.js +1356 -1139
  178. package/src/main/js/sap/ushell/components/factsheet/tools/ODataUrlTemplating.js +9 -5
  179. package/src/main/js/sap/ushell/components/factsheet/views/ThingViewer.controller.js +1 -1
  180. package/src/main/js/sap/ushell/components/factsheet/views/ThingViewer.view.js +9 -6
  181. package/src/main/js/sap/ushell/components/homeApp/error/Component.js +1 -1
  182. package/src/main/js/sap/ushell/components/homeApp/error/HomeAppError.controller.js +4 -4
  183. package/src/main/js/sap/ushell/components/homepage/ActionMode.js +51 -48
  184. package/src/main/js/sap/ushell/components/homepage/Component.js +11 -11
  185. package/src/main/js/sap/ushell/components/homepage/DashboardContent.controller.js +185 -192
  186. package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +60 -50
  187. package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +199 -202
  188. package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +152 -160
  189. package/src/main/js/sap/ushell/components/homepage/manifest.json +1 -1
  190. package/src/main/js/sap/ushell/components/pages/ActionMode.js +72 -74
  191. package/src/main/js/sap/ushell/components/pages/Component.js +7 -32
  192. package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +46 -46
  193. package/src/main/js/sap/ushell/components/pages/StateManager.js +9 -10
  194. package/src/main/js/sap/ushell/components/pages/controller/MyHome.controller.js +4 -4
  195. package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +243 -215
  196. package/src/main/js/sap/ushell/components/pages/controller/PagesAndSpaceId.js +23 -24
  197. package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
  198. package/src/main/js/sap/ushell/components/runtimeSwitcher/Component.js +1 -1
  199. package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +60 -70
  200. package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
  201. package/src/main/js/sap/ushell/components/shell/FloatingContainer/Component.js +0 -5
  202. package/src/main/js/sap/ushell/components/shell/FloatingContainer/controls/FloatingContainer.js +3 -3
  203. package/src/main/js/sap/ushell/components/shell/FloatingContainer/manifest.json +1 -1
  204. package/src/main/js/sap/ushell/components/shell/MenuBar/Component.js +18 -50
  205. package/src/main/js/sap/ushell/components/shell/MenuBar/controller/MenuBar.controller.js +73 -83
  206. package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +1 -1
  207. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/Component.js +1 -1
  208. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +49 -50
  209. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenuButton.controller.js +5 -5
  210. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +1 -1
  211. package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +35 -33
  212. package/src/main/js/sap/ushell/components/shell/Notifications/Notifications.controller.js +8 -9
  213. package/src/main/js/sap/ushell/components/shell/Notifications/NotificationsList.controller.js +5 -11
  214. package/src/main/js/sap/ushell/components/shell/PostLoadingHeaderEnhancement/Component.js +63 -42
  215. package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +20 -22
  216. package/src/main/js/sap/ushell/components/shell/Search/Component.js +20 -12
  217. package/src/main/js/sap/ushell/components/shell/Search/ESearch.js +18 -21
  218. package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
  219. package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +21 -14
  220. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchCEP.controller.js +204 -250
  221. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +25 -24
  222. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +9 -9
  223. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +4 -4
  224. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchServiceProvider.js +63 -65
  225. package/src/main/js/sap/ushell/components/shell/SearchCEPNew/Component.js +420 -0
  226. package/src/main/js/sap/ushell/components/shell/SearchCEPNew/SearchProviders/FrequentActivityProvider.js +84 -0
  227. package/src/main/js/sap/ushell/components/shell/SearchCEPNew/SearchProviders/RecentSearchProvider.js +63 -0
  228. package/src/main/js/sap/ushell/components/shell/SearchCEPNew/SearchProviders/SearchProvider.js +141 -0
  229. package/src/main/js/sap/ushell/components/shell/SearchCEPNew/SearchProviders/SearchServiceProvider.js +177 -0
  230. package/src/main/js/sap/ushell/components/shell/SearchCEPNew/manifest.json +43 -0
  231. package/src/main/js/sap/ushell/components/shell/SearchCEPNew/resources/resources.properties +17 -0
  232. package/src/main/js/sap/ushell/components/shell/Settings/Component.js +50 -35
  233. package/src/main/js/sap/ushell/components/shell/Settings/ErrorMessageHelper.js +10 -10
  234. package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.controller.js +150 -150
  235. package/src/main/js/sap/ushell/components/shell/Settings/appearance/Appearance.controller.js +66 -63
  236. package/src/main/js/sap/ushell/components/shell/Settings/appearance/AppearanceEntry.js +12 -15
  237. package/src/main/js/sap/ushell/components/shell/Settings/homepage/HomepageEntry.js +34 -37
  238. package/src/main/js/sap/ushell/components/shell/Settings/notifications/NotificationsEntry.js +6 -7
  239. package/src/main/js/sap/ushell/components/shell/Settings/notifications/NotificationsSetting.controller.js +46 -48
  240. package/src/main/js/sap/ushell/components/shell/Settings/search/Search.controller.js +4 -4
  241. package/src/main/js/sap/ushell/components/shell/Settings/search/SearchEntry.js +13 -13
  242. package/src/main/js/sap/ushell/components/shell/Settings/spaces/SpacesEntry.js +11 -13
  243. package/src/main/js/sap/ushell/components/shell/Settings/spaces/SpacesSetting.controller.js +41 -42
  244. package/src/main/js/sap/ushell/components/shell/Settings/userAccount/UserAccountEntry.js +11 -15
  245. package/src/main/js/sap/ushell/components/shell/Settings/userAccount/UserAccountSelector.controller.js +35 -37
  246. package/src/main/js/sap/ushell/components/shell/Settings/userActivities/UserActivitiesEntry.js +6 -7
  247. package/src/main/js/sap/ushell/components/shell/Settings/userActivities/UserActivitiesSetting.controller.js +7 -8
  248. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/Component.js +2 -2
  249. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/UserDefaultsEntry.js +16 -16
  250. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/UserDefaultsForm.js +17 -17
  251. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/controller/ExtendedValueDialog.controller.js +21 -24
  252. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/controller/UserDefaultsSetting.controller.js +136 -137
  253. package/src/main/js/sap/ushell/components/shell/Settings/userLanguageRegion/LanguageRegionSelector.controller.js +73 -78
  254. package/src/main/js/sap/ushell/components/shell/Settings/userLanguageRegion/UserLanguageRegionEntry.js +8 -8
  255. package/src/main/js/sap/ushell/components/shell/ShellBar/Component.js +30 -23
  256. package/src/main/js/sap/ushell/components/shell/ShellBar/controller/ShellBar.controller.js +34 -22
  257. package/src/main/js/sap/ushell/components/shell/ShellBar/manifest.json +1 -1
  258. package/src/main/js/sap/ushell/components/shell/ShellBar/view/ShellBar.view.xml +21 -9
  259. package/src/main/js/sap/ushell/components/shell/SideNavigation/Component.js +7 -11
  260. package/src/main/js/sap/ushell/components/shell/SideNavigation/controller/SideNavigation.controller.js +3 -3
  261. package/src/main/js/sap/ushell/components/shell/SideNavigation/manifest.json +1 -1
  262. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/AllSpaces.js +3 -4
  263. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/AppFinder.js +2 -2
  264. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/Favorites.js +8 -3
  265. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/GenericFixedNavigationListProvider.js +2 -2
  266. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/GenericNavigationListProvider.js +2 -2
  267. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/MyHome.js +2 -2
  268. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/NavigationHelper.js +4 -4
  269. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/RecentActivity.js +4 -4
  270. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/Spaces.js +5 -6
  271. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/SpacesNavigationListProvider.js +2 -3
  272. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +3 -4
  273. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/UserActionsMenu.controller.js +47 -48
  274. package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +27 -30
  275. package/src/main/js/sap/ushell/components/tiles/action/ActionTile.controller.js +55 -55
  276. package/src/main/js/sap/ushell/components/tiles/action/Configuration.controller.js +39 -41
  277. package/src/main/js/sap/ushell/components/tiles/applauncher/Component.js +3 -3
  278. package/src/main/js/sap/ushell/components/tiles/applauncher/Configuration.controller.js +26 -27
  279. package/src/main/js/sap/ushell/components/tiles/applauncher/StaticTile.controller.js +66 -66
  280. package/src/main/js/sap/ushell/components/tiles/applauncher/StaticTile.view.js +5 -5
  281. package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/Component.js +2 -2
  282. package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/Configuration.controller.js +27 -27
  283. package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/DynamicTile.controller.js +107 -107
  284. package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/DynamicTile.view.js +7 -7
  285. package/src/main/js/sap/ushell/components/tiles/cdm/applauncher/Component.js +7 -7
  286. package/src/main/js/sap/ushell/components/tiles/cdm/applauncher/StaticTile.controller.js +31 -31
  287. package/src/main/js/sap/ushell/components/tiles/cdm/applauncher/StaticTile.view.js +2 -2
  288. package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/Component.js +15 -15
  289. package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.controller.js +85 -86
  290. package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.view.js +4 -4
  291. package/src/main/js/sap/ushell/components/tiles/generic.js +133 -131
  292. package/src/main/js/sap/ushell/components/tiles/indicatorArea/AreaChartTile.controller.js +71 -71
  293. package/src/main/js/sap/ushell/components/tiles/indicatorArea/AreaChartTile.view.js +17 -17
  294. package/src/main/js/sap/ushell/components/tiles/indicatorDual/DualTile.controller.js +49 -49
  295. package/src/main/js/sap/ushell/components/tiles/indicatorDual/DualTile.view.js +9 -9
  296. package/src/main/js/sap/ushell/components/tiles/indicatorDualComparison/DualComparison.controller.js +80 -80
  297. package/src/main/js/sap/ushell/components/tiles/indicatorDualComparison/DualComparison.view.js +3 -3
  298. package/src/main/js/sap/ushell/components/tiles/indicatorDualContribution/DualContribution.controller.js +74 -75
  299. package/src/main/js/sap/ushell/components/tiles/indicatorDualContribution/DualContribution.view.js +3 -3
  300. package/src/main/js/sap/ushell/components/tiles/indicatorDualDeviation/DualDeviation.controller.js +55 -55
  301. package/src/main/js/sap/ushell/components/tiles/indicatorDualDeviation/DualDeviation.view.js +12 -12
  302. package/src/main/js/sap/ushell/components/tiles/indicatorDualTrend/DualTrend.controller.js +83 -84
  303. package/src/main/js/sap/ushell/components/tiles/indicatorDualTrend/DualTrend.view.js +15 -15
  304. package/src/main/js/sap/ushell/components/tiles/indicatorHarveyBall/HarveyBallTile.controller.js +71 -71
  305. package/src/main/js/sap/ushell/components/tiles/indicatorHarveyBall/HarveyBallTile.view.js +7 -7
  306. package/src/main/js/sap/ushell/components/tiles/indicatorTileUtils/cache.js +4 -4
  307. package/src/main/js/sap/ushell/components/tiles/indicatorTileUtils/indicatorTileHelper.js +4 -4
  308. package/src/main/js/sap/ushell/components/tiles/indicatorTileUtils/oData4Analytics.js +230 -232
  309. package/src/main/js/sap/ushell/components/tiles/indicatorTileUtils/smartBusinessUtil.js +271 -272
  310. package/src/main/js/sap/ushell/components/tiles/indicatorcomparison/ComparisonTile.controller.js +55 -55
  311. package/src/main/js/sap/ushell/components/tiles/indicatorcomparison/ComparisonTile.view.js +4 -4
  312. package/src/main/js/sap/ushell/components/tiles/indicatorcontribution/ContributionTile.controller.js +53 -53
  313. package/src/main/js/sap/ushell/components/tiles/indicatorcontribution/ContributionTile.view.js +5 -5
  314. package/src/main/js/sap/ushell/components/tiles/indicatordeviation/DeviationTile.controller.js +20 -20
  315. package/src/main/js/sap/ushell/components/tiles/indicatordeviation/DeviationTile.view.js +11 -11
  316. package/src/main/js/sap/ushell/components/tiles/indicatornumeric/NumericTile.controller.js +14 -15
  317. package/src/main/js/sap/ushell/components/tiles/indicatornumeric/NumericTile.view.js +10 -10
  318. package/src/main/js/sap/ushell/components/tiles/sbtilecontent.js +6 -6
  319. package/src/main/js/sap/ushell/components/tiles/utils.js +699 -664
  320. package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +217 -217
  321. package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +4 -8
  322. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility.js +40 -42
  323. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +257 -262
  324. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.layout.js +19 -20
  325. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +6 -6
  326. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +37 -38
  327. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +97 -100
  328. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +81 -82
  329. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnRenderer.js +9 -9
  330. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +38 -39
  331. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRenderer.js +5 -5
  332. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +8 -9
  333. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRowRenderer.js +9 -9
  334. package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
  335. package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +4 -4
  336. package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +15 -15
  337. package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +1 -1
  338. package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
  339. package/src/main/js/sap/ushell/gen/ui5/webcomponents/dist/Avatar.js +7 -1
  340. package/src/main/js/sap/ushell/gen/ui5/webcomponents/dist/ListItemGroup.js +90 -0
  341. package/src/main/js/sap/ushell/gen/ui5/webcomponents/dist/MenuItem.js +10 -0
  342. package/src/main/js/sap/ushell/gen/ui5/webcomponents-base.js +19 -11
  343. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/Search.js +144 -0
  344. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/SearchItem.js +68 -0
  345. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/SearchItemGroup.js +34 -0
  346. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/SearchMessageArea.js +51 -0
  347. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/SearchScope.js +55 -0
  348. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/ShellBar.js +5 -0
  349. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/ShellBarBranding.js +76 -0
  350. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/ShellBarSearch.js +133 -0
  351. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori.js +83 -1
  352. package/src/main/js/sap/ushell/gen/ui5/webcomponents.js +80 -2
  353. package/src/main/js/sap/ushell/library.js +1 -1
  354. package/src/main/js/sap/ushell/navigation/NavigationState.js +126 -0
  355. package/src/main/js/sap/ushell/navigationMode.js +1 -1
  356. package/src/main/js/sap/ushell/performance/ShellAnalytics.js +1 -1
  357. package/src/main/js/sap/ushell/performance/StatisticalRecord.js +1 -1
  358. package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
  359. package/src/main/js/sap/ushell/renderer/AccessKeysHandler.js +8 -4
  360. package/src/main/js/sap/ushell/renderer/Renderer.js +19 -7
  361. package/src/main/js/sap/ushell/renderer/Shell.controller.js +11 -5
  362. package/src/main/js/sap/ushell/renderer/Shell.view.js +4 -1
  363. package/src/main/js/sap/ushell/renderer/resources/resources_ar.properties +2 -0
  364. package/src/main/js/sap/ushell/renderer/resources/resources_bg.properties +2 -0
  365. package/src/main/js/sap/ushell/renderer/resources/resources_ca.properties +2 -0
  366. package/src/main/js/sap/ushell/renderer/resources/resources_cnr.properties +2 -0
  367. package/src/main/js/sap/ushell/renderer/resources/resources_cs.properties +2 -0
  368. package/src/main/js/sap/ushell/renderer/resources/resources_cy.properties +2 -0
  369. package/src/main/js/sap/ushell/renderer/resources/resources_da.properties +2 -0
  370. package/src/main/js/sap/ushell/renderer/resources/resources_de.properties +2 -0
  371. package/src/main/js/sap/ushell/renderer/resources/resources_el.properties +2 -0
  372. package/src/main/js/sap/ushell/renderer/resources/resources_en.properties +2 -0
  373. package/src/main/js/sap/ushell/renderer/resources/resources_en_GB.properties +2 -0
  374. package/src/main/js/sap/ushell/renderer/resources/resources_en_US_saprigi.properties +2 -0
  375. package/src/main/js/sap/ushell/renderer/resources/resources_es.properties +2 -0
  376. package/src/main/js/sap/ushell/renderer/resources/resources_es_MX.properties +2 -0
  377. package/src/main/js/sap/ushell/renderer/resources/resources_et.properties +2 -0
  378. package/src/main/js/sap/ushell/renderer/resources/resources_fi.properties +2 -0
  379. package/src/main/js/sap/ushell/renderer/resources/resources_fr.properties +2 -0
  380. package/src/main/js/sap/ushell/renderer/resources/resources_fr_CA.properties +2 -0
  381. package/src/main/js/sap/ushell/renderer/resources/resources_hi.properties +2 -0
  382. package/src/main/js/sap/ushell/renderer/resources/resources_hr.properties +2 -0
  383. package/src/main/js/sap/ushell/renderer/resources/resources_hu.properties +3 -1
  384. package/src/main/js/sap/ushell/renderer/resources/resources_id.properties +2 -0
  385. package/src/main/js/sap/ushell/renderer/resources/resources_it.properties +2 -0
  386. package/src/main/js/sap/ushell/renderer/resources/resources_iw.properties +2 -0
  387. package/src/main/js/sap/ushell/renderer/resources/resources_ja.properties +2 -0
  388. package/src/main/js/sap/ushell/renderer/resources/resources_kk.properties +2 -0
  389. package/src/main/js/sap/ushell/renderer/resources/resources_ko.properties +2 -0
  390. package/src/main/js/sap/ushell/renderer/resources/resources_lt.properties +2 -0
  391. package/src/main/js/sap/ushell/renderer/resources/resources_lv.properties +2 -0
  392. package/src/main/js/sap/ushell/renderer/resources/resources_mk.properties +2 -0
  393. package/src/main/js/sap/ushell/renderer/resources/resources_ms.properties +2 -0
  394. package/src/main/js/sap/ushell/renderer/resources/resources_nl.properties +2 -0
  395. package/src/main/js/sap/ushell/renderer/resources/resources_no.properties +2 -0
  396. package/src/main/js/sap/ushell/renderer/resources/resources_pl.properties +2 -0
  397. package/src/main/js/sap/ushell/renderer/resources/resources_pt.properties +2 -0
  398. package/src/main/js/sap/ushell/renderer/resources/resources_pt_PT.properties +2 -0
  399. package/src/main/js/sap/ushell/renderer/resources/resources_ro.properties +2 -0
  400. package/src/main/js/sap/ushell/renderer/resources/resources_ru.properties +2 -0
  401. package/src/main/js/sap/ushell/renderer/resources/resources_sh.properties +2 -0
  402. package/src/main/js/sap/ushell/renderer/resources/resources_sk.properties +2 -0
  403. package/src/main/js/sap/ushell/renderer/resources/resources_sl.properties +3 -1
  404. package/src/main/js/sap/ushell/renderer/resources/resources_sr.properties +2 -0
  405. package/src/main/js/sap/ushell/renderer/resources/resources_sv.properties +2 -0
  406. package/src/main/js/sap/ushell/renderer/resources/resources_th.properties +2 -0
  407. package/src/main/js/sap/ushell/renderer/resources/resources_tr.properties +2 -0
  408. package/src/main/js/sap/ushell/renderer/resources/resources_uk.properties +2 -0
  409. package/src/main/js/sap/ushell/renderer/resources/resources_vi.properties +3 -1
  410. package/src/main/js/sap/ushell/renderer/resources/resources_zh_CN.properties +2 -0
  411. package/src/main/js/sap/ushell/renderer/resources/resources_zh_TW.properties +2 -0
  412. package/src/main/js/sap/ushell/renderer/search/searchComponent/manifest.json +1 -1
  413. package/src/main/js/sap/ushell/services/AllMyApps.js +5 -5
  414. package/src/main/js/sap/ushell/services/AppConfiguration.js +3 -5
  415. package/src/main/js/sap/ushell/services/AppLifeCycle.js +2 -2
  416. package/src/main/js/sap/ushell/services/AppState.js +86 -102
  417. package/src/main/js/sap/ushell/services/AppType.js +2 -2
  418. package/src/main/js/sap/ushell/services/Bookmark.js +156 -164
  419. package/src/main/js/sap/ushell/services/BookmarkV2.js +10 -13
  420. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Formatter.js +1 -1
  421. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/InboundIndex.js +1 -1
  422. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/InboundProvider.js +1 -1
  423. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/PrelaunchOperations.js +1 -1
  424. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Search.js +1 -1
  425. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/StagedLogger.js +1 -1
  426. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/SystemContext.js +1 -1
  427. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Utils.js +1 -1
  428. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/VirtualInbounds.js +1 -1
  429. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/XAppStateProcessing.js +1 -1
  430. package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +27 -31
  431. package/src/main/js/sap/ushell/services/CommonDataModel/SiteConverter.js +1 -1
  432. package/src/main/js/sap/ushell/services/CommonDataModel/vizTypeDefaults/VizTypeDefaults.js +1 -1
  433. package/src/main/js/sap/ushell/services/CommonDataModel.js +295 -353
  434. package/src/main/js/sap/ushell/services/Configuration.js +14 -12
  435. package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +34 -35
  436. package/src/main/js/sap/ushell/services/Container.js +2 -2
  437. package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +29 -62
  438. package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +227 -266
  439. package/src/main/js/sap/ushell/services/DarkModeSupport.js +17 -16
  440. package/src/main/js/sap/ushell/services/EndUserFeedback.js +5 -4
  441. package/src/main/js/sap/ushell/services/Extension/Item.js +7 -12
  442. package/src/main/js/sap/ushell/services/Extension.js +54 -19
  443. package/src/main/js/sap/ushell/services/FlpLaunchPage.js +209 -213
  444. package/src/main/js/sap/ushell/services/FrameBoundExtension/FloatingContainer.js +3 -3
  445. package/src/main/js/sap/ushell/services/FrameBoundExtension/Footer.js +3 -3
  446. package/src/main/js/sap/ushell/services/FrameBoundExtension/Item.js +6 -6
  447. package/src/main/js/sap/ushell/services/FrameBoundExtension/SidePane.js +1 -1
  448. package/src/main/js/sap/ushell/services/FrameBoundExtension/ToolArea.js +1 -1
  449. package/src/main/js/sap/ushell/services/FrameBoundExtension/UserSettingsEntry.js +4 -4
  450. package/src/main/js/sap/ushell/services/FrameBoundExtension.js +3 -3
  451. package/src/main/js/sap/ushell/services/LaunchPage.js +1 -2
  452. package/src/main/js/sap/ushell/services/Menu.js +264 -289
  453. package/src/main/js/sap/ushell/services/Message.js +3 -3
  454. package/src/main/js/sap/ushell/services/MessageBroker/MessageBrokerEngine.js +6 -29
  455. package/src/main/js/sap/ushell/services/MessageBroker.js +14 -10
  456. package/src/main/js/sap/ushell/services/MessageInternal.js +37 -38
  457. package/src/main/js/sap/ushell/services/NavTargetResolution.js +2 -5
  458. package/src/main/js/sap/ushell/services/NavTargetResolutionInternal.js +153 -157
  459. package/src/main/js/sap/ushell/services/Navigation/compatibility.js +4 -6
  460. package/src/main/js/sap/ushell/services/Navigation/utils.js +62 -64
  461. package/src/main/js/sap/ushell/services/Navigation.js +10 -14
  462. package/src/main/js/sap/ushell/services/NavigationDataProvider.js +2 -2
  463. package/src/main/js/sap/ushell/services/Notifications.js +29 -15
  464. package/src/main/js/sap/ushell/services/NotificationsV2.js +86 -98
  465. package/src/main/js/sap/ushell/services/PageBuilding.js +9 -6
  466. package/src/main/js/sap/ushell/services/PagePersistence.js +3 -3
  467. package/src/main/js/sap/ushell/services/PageReferencing.js +4 -2
  468. package/src/main/js/sap/ushell/services/Pages.js +635 -683
  469. package/src/main/js/sap/ushell/services/Personalization.js +103 -134
  470. package/src/main/js/sap/ushell/services/PersonalizationV2/ContextContainer.js +29 -32
  471. package/src/main/js/sap/ushell/services/PersonalizationV2/Personalizer.js +21 -6
  472. package/src/main/js/sap/ushell/services/PersonalizationV2/TransientPersonalizer.js +1 -2
  473. package/src/main/js/sap/ushell/services/PersonalizationV2/Variant.js +5 -1
  474. package/src/main/js/sap/ushell/services/PersonalizationV2/VariantSet.js +5 -8
  475. package/src/main/js/sap/ushell/services/PersonalizationV2/VariantSetAdapter.js +2 -2
  476. package/src/main/js/sap/ushell/services/PersonalizationV2/WindowAdapter.js +10 -11
  477. package/src/main/js/sap/ushell/services/PersonalizationV2/WindowAdapterContainer.js +27 -27
  478. package/src/main/js/sap/ushell/services/PersonalizationV2/constants.js +1 -2
  479. package/src/main/js/sap/ushell/services/PersonalizationV2/constants.private.js +1 -1
  480. package/src/main/js/sap/ushell/services/PersonalizationV2/utils.js +5 -5
  481. package/src/main/js/sap/ushell/services/PersonalizationV2.js +92 -105
  482. package/src/main/js/sap/ushell/services/PluginManager/Extensions.js +9 -9
  483. package/src/main/js/sap/ushell/services/PluginManager/HeaderExtensions.js +2 -2
  484. package/src/main/js/sap/ushell/services/PluginManager/MenuExtensions.js +4 -4
  485. package/src/main/js/sap/ushell/services/PluginManager/SimpleExpression.js +5 -8
  486. package/src/main/js/sap/ushell/services/PluginManager.js +12 -8
  487. package/src/main/js/sap/ushell/services/ReferenceResolver.js +21 -28
  488. package/src/main/js/sap/ushell/services/Search.js +25 -21
  489. package/src/main/js/sap/ushell/services/SearchCEP.js +38 -32
  490. package/src/main/js/sap/ushell/services/SearchableContent.js +203 -223
  491. package/src/main/js/sap/ushell/services/ShellNavigation.js +5 -3
  492. package/src/main/js/sap/ushell/services/ShellNavigationHashChanger.js +160 -164
  493. package/src/main/js/sap/ushell/services/ShellNavigationInternal.js +23 -19
  494. package/src/main/js/sap/ushell/services/SmartNavigation.js +86 -82
  495. package/src/main/js/sap/ushell/services/SpaceContent.js +73 -106
  496. package/src/main/js/sap/ushell/services/SupportTicket.js +1 -1
  497. package/src/main/js/sap/ushell/services/UITracer.js +48 -62
  498. package/src/main/js/sap/ushell/services/URLShortening.js +2 -2
  499. package/src/main/js/sap/ushell/services/URLTemplate.js +7 -8
  500. package/src/main/js/sap/ushell/services/Ui5ComponentHandle.js +5 -5
  501. package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +1 -1
  502. package/src/main/js/sap/ushell/services/UsageAnalytics.js +2 -3
  503. package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +10 -10
  504. package/src/main/js/sap/ushell/services/UserDefaultParameters.js +12 -13
  505. package/src/main/js/sap/ushell/services/UserInfo.js +27 -15
  506. package/src/main/js/sap/ushell/services/UserRecents/RecentActivity.js +6 -7
  507. package/src/main/js/sap/ushell/services/UserRecents/RecentAppsUsage.js +5 -5
  508. package/src/main/js/sap/ushell/services/UserRecents/RecentsList.js +2 -2
  509. package/src/main/js/sap/ushell/services/UserRecents/UserRecentsBase.js +2 -2
  510. package/src/main/js/sap/ushell/services/UserRecents.js +3 -3
  511. package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +63 -66
  512. package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +11 -11
  513. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +1 -1
  514. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +1 -1
  515. package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +1 -1
  516. package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +1 -1
  517. package/src/main/js/sap/ushell/services/personalization/VariantSetAdapter.js +10 -10
  518. package/src/main/js/sap/ushell/state/BaseState.js +2 -3
  519. package/src/main/js/sap/ushell/state/BindingHelper.js +2 -4
  520. package/src/main/js/sap/ushell/state/ControlManager.js +2 -3
  521. package/src/main/js/sap/ushell/state/CurrentState.js +2 -2
  522. package/src/main/js/sap/ushell/state/KeepAlive.js +2 -2
  523. package/src/main/js/sap/ushell/state/ShellModel.js +2 -3
  524. package/src/main/js/sap/ushell/state/StateManager/LaunchpadState.js +2 -2
  525. package/src/main/js/sap/ushell/state/StateManager/Operation.js +2 -2
  526. package/src/main/js/sap/ushell/state/StateManager/ShellMode.js +2 -2
  527. package/src/main/js/sap/ushell/state/StateManager.js +3 -3
  528. package/src/main/js/sap/ushell/state/StateRules.js +2 -3
  529. package/src/main/js/sap/ushell/state/StrategyFactory/DefaultStrategy.js +2 -3
  530. package/src/main/js/sap/ushell/state/StrategyFactory/FloatingActionsStrategy.js +2 -3
  531. package/src/main/js/sap/ushell/state/StrategyFactory/FloatingContainerStrategy.js +2 -3
  532. package/src/main/js/sap/ushell/state/StrategyFactory/HeadEndItemsStrategy.js +3 -4
  533. package/src/main/js/sap/ushell/state/StrategyFactory/HeadItemsStrategy.js +3 -4
  534. package/src/main/js/sap/ushell/state/StrategyFactory/SidePaneStrategy.js +2 -3
  535. package/src/main/js/sap/ushell/state/StrategyFactory/SubHeaderStrategy.js +2 -3
  536. package/src/main/js/sap/ushell/state/StrategyFactory/UserActionsStrategy.js +3 -4
  537. package/src/main/js/sap/ushell/state/StrategyFactory.js +2 -3
  538. package/src/main/js/sap/ushell/state/modules/BackNavigation.js +2 -5
  539. package/src/main/js/sap/ushell/state/modules/ContentDensity.js +3 -3
  540. package/src/main/js/sap/ushell/state/modules/Favicon.js +3 -3
  541. package/src/main/js/sap/ushell/state/modules/HeaderLogo.js +3 -3
  542. package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +123 -123
  543. package/src/main/js/sap/ushell/themes/base/ShellBar.less +2 -1
  544. package/src/main/js/sap/ushell/themes/base/ShellHeader.less +1 -1
  545. package/src/main/js/sap/ushell/themes/base/ToolAreaItem.less +1 -0
  546. package/src/main/js/sap/ushell/themes/sap_fiori_3/ShellBar.less +9 -0
  547. package/src/main/js/sap/ushell/themes/sap_fiori_3/ShellHeader.less +6 -0
  548. package/src/main/js/sap/ushell/themes/sap_fiori_3/library.source.less +1 -0
  549. package/src/main/js/sap/ushell/themes/sap_fiori_3_dark/ShellBar.less +9 -0
  550. package/src/main/js/sap/ushell/themes/sap_fiori_3_dark/library.source.less +1 -0
  551. package/src/main/js/sap/ushell/themes/sap_fiori_3_hcb/ShellBar.less +9 -0
  552. package/src/main/js/sap/ushell/themes/sap_fiori_3_hcb/library.source.less +1 -0
  553. package/src/main/js/sap/ushell/themes/sap_fiori_3_hcw/ShellBar.less +9 -0
  554. package/src/main/js/sap/ushell/themes/sap_fiori_3_hcw/library.source.less +1 -0
  555. package/src/main/js/sap/ushell/themes/sap_hcb/base_ShellHeader.less +1 -1
  556. package/src/main/js/sap/ushell/thirdparty/AccessibilityTextsHelper.js +13 -0
  557. package/src/main/js/sap/ushell/thirdparty/Avatar.js +83 -16
  558. package/src/main/js/sap/ushell/thirdparty/BusyIndicator.js +16 -241
  559. package/src/main/js/sap/ushell/thirdparty/Button.js +1 -1
  560. package/src/main/js/sap/ushell/thirdparty/Button2.js +34 -14
  561. package/src/main/js/sap/ushell/thirdparty/Icon.js +11 -11
  562. package/src/main/js/sap/ushell/thirdparty/Icons.js +81 -79
  563. package/src/main/js/sap/ushell/thirdparty/Label.js +4 -4
  564. package/src/main/js/sap/ushell/thirdparty/Link.js +11 -10
  565. package/src/main/js/sap/ushell/thirdparty/List.js +34 -487
  566. package/src/main/js/sap/ushell/thirdparty/ListBoxItemGroupTemplate.js +14 -0
  567. package/src/main/js/sap/ushell/thirdparty/ListItemBase.js +239 -0
  568. package/src/main/js/sap/ushell/thirdparty/ListItemCustom.js +1669 -91
  569. package/src/main/js/sap/ushell/thirdparty/ListItemGroup.js +472 -0
  570. package/src/main/js/sap/ushell/thirdparty/Menu.js +70 -81
  571. package/src/main/js/sap/ushell/thirdparty/MenuItem.js +1 -1
  572. package/src/main/js/sap/ushell/thirdparty/MenuItem2.js +348 -40
  573. package/src/main/js/sap/ushell/thirdparty/NotificationList.js +5 -5
  574. package/src/main/js/sap/ushell/thirdparty/NotificationListGroupItem.js +15 -15
  575. package/src/main/js/sap/ushell/thirdparty/NotificationListItem.js +511 -517
  576. package/src/main/js/sap/ushell/thirdparty/NotificationListItemBase.js +3 -3
  577. package/src/main/js/sap/ushell/thirdparty/ResponsivePopover.js +2264 -0
  578. package/src/main/js/sap/ushell/thirdparty/SearchItem.js +111 -0
  579. package/src/main/js/sap/ushell/thirdparty/SearchItemGroup.js +47 -0
  580. package/src/main/js/sap/ushell/thirdparty/SearchMessageArea.js +49 -0
  581. package/src/main/js/sap/ushell/thirdparty/SearchScope.js +39 -0
  582. package/src/main/js/sap/ushell/thirdparty/ShellBar.js +177 -170
  583. package/src/main/js/sap/ushell/thirdparty/ShellBarBranding.js +119 -0
  584. package/src/main/js/sap/ushell/thirdparty/ShellBarSearch.js +7 -0
  585. package/src/main/js/sap/ushell/thirdparty/ShellBarSearch2.js +3248 -0
  586. package/src/main/js/sap/ushell/thirdparty/Tag.js +15 -14
  587. package/src/main/js/sap/ushell/thirdparty/Text.js +9 -9
  588. package/src/main/js/sap/ushell/thirdparty/Title.js +167 -0
  589. package/src/main/js/sap/ushell/thirdparty/UserMenu.js +55 -54
  590. package/src/main/js/sap/ushell/thirdparty/UserMenuItem.js +5 -5
  591. package/src/main/js/sap/ushell/thirdparty/ValueState.js +7 -0
  592. package/src/main/js/sap/ushell/thirdparty/_dynamics/InputSuggestions.js +444 -0
  593. package/src/main/js/sap/ushell/thirdparty/_dynamics/ListItemStandardExpandableTextTemplate.js +7 -7
  594. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ar2.js +39 -0
  595. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ar3.js +26 -8
  596. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_bg2.js +40 -1
  597. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_bg3.js +26 -8
  598. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ca2.js +41 -2
  599. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ca3.js +27 -9
  600. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cnr2.js +39 -0
  601. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cnr3.js +25 -7
  602. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cs2.js +39 -0
  603. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cs3.js +25 -7
  604. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cy2.js +39 -0
  605. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cy3.js +26 -8
  606. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_da2.js +39 -0
  607. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_da3.js +25 -7
  608. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_de2.js +39 -0
  609. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_de3.js +26 -8
  610. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_el2.js +39 -0
  611. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_el3.js +25 -7
  612. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en2.js +45 -0
  613. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en3.js +26 -8
  614. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_GB2.js +39 -0
  615. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_GB3.js +26 -8
  616. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_sappsd2.js +39 -0
  617. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_sappsd3.js +26 -8
  618. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saprigi2.js +45 -0
  619. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saprigi3.js +23 -8
  620. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saptrc2.js +39 -0
  621. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saptrc3.js +26 -8
  622. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es2.js +42 -3
  623. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es3.js +27 -9
  624. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es_MX2.js +42 -3
  625. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es_MX3.js +28 -10
  626. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_et2.js +39 -0
  627. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_et3.js +25 -7
  628. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fi2.js +39 -0
  629. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fi3.js +25 -7
  630. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr2.js +39 -0
  631. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr3.js +26 -8
  632. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr_CA2.js +39 -0
  633. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr_CA3.js +25 -7
  634. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hi2.js +39 -0
  635. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hi3.js +25 -7
  636. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hr2.js +39 -0
  637. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hr3.js +25 -7
  638. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hu2.js +39 -0
  639. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hu3.js +25 -7
  640. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_id2.js +39 -0
  641. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_id3.js +26 -8
  642. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_it2.js +43 -4
  643. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_it3.js +29 -11
  644. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_iw2.js +39 -0
  645. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_iw3.js +27 -9
  646. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ja2.js +39 -0
  647. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ja3.js +26 -8
  648. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_kk2.js +39 -0
  649. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_kk3.js +26 -8
  650. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ko2.js +39 -0
  651. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ko3.js +25 -7
  652. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lt2.js +39 -0
  653. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lt3.js +25 -7
  654. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lv2.js +39 -0
  655. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lv3.js +27 -9
  656. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_mk2.js +40 -1
  657. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_mk3.js +25 -7
  658. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ms2.js +40 -1
  659. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ms3.js +27 -9
  660. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_nl2.js +39 -0
  661. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_nl3.js +25 -7
  662. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_no2.js +39 -0
  663. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_no3.js +26 -8
  664. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pl2.js +39 -0
  665. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pl3.js +26 -8
  666. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt2.js +39 -0
  667. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt3.js +25 -7
  668. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt_PT2.js +39 -0
  669. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt_PT3.js +26 -8
  670. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ro2.js +39 -0
  671. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ro3.js +25 -7
  672. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ru2.js +39 -0
  673. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ru3.js +25 -7
  674. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sh2.js +39 -0
  675. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sh3.js +25 -7
  676. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sk2.js +39 -0
  677. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sk3.js +25 -7
  678. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sl2.js +41 -2
  679. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sl3.js +26 -8
  680. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sr2.js +39 -0
  681. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sr3.js +25 -7
  682. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sv2.js +39 -0
  683. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sv3.js +26 -8
  684. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_th2.js +39 -0
  685. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_th3.js +25 -7
  686. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_tr2.js +39 -0
  687. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_tr3.js +25 -7
  688. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_uk2.js +40 -1
  689. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_uk3.js +25 -7
  690. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_vi2.js +39 -0
  691. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_vi3.js +26 -8
  692. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_CN2.js +39 -0
  693. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_CN3.js +26 -8
  694. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_TW2.js +41 -2
  695. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_TW3.js +25 -7
  696. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css10.js +1 -1
  697. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css11.js +1 -1
  698. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css12.js +1 -1
  699. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css13.js +1 -1
  700. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css14.js +1 -1
  701. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css15.js +1 -1
  702. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css16.js +1 -1
  703. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css17.js +1 -1
  704. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css18.js +1 -1
  705. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css19.js +1 -1
  706. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css20.js +1 -1
  707. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css21.js +1 -1
  708. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css22.js +1 -1
  709. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css23.js +1 -1
  710. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css24.js +1 -1
  711. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css25.js +1 -1
  712. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css26.js +7 -0
  713. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css3.js +1 -1
  714. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css4.js +1 -1
  715. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css5.js +1 -1
  716. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css6.js +1 -1
  717. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css7.js +1 -1
  718. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css8.js +1 -1
  719. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css9.js +1 -1
  720. package/src/main/js/sap/ushell/thirdparty/encodeXML.js +87 -0
  721. package/src/main/js/sap/ushell/thirdparty/generateHighlightedMarkup.js +9 -0
  722. package/src/main/js/sap/ushell/thirdparty/i18n-defaults.js +143 -149
  723. package/src/main/js/sap/ushell/thirdparty/i18n-defaults2.js +16 -0
  724. package/src/main/js/sap/ushell/thirdparty/information.js +10 -13
  725. package/src/main/js/sap/ushell/thirdparty/information2.js +13 -0
  726. package/src/main/js/sap/ushell/thirdparty/overflow.js +2 -2
  727. package/src/main/js/sap/ushell/thirdparty/parameters-bundle.css.js +1 -1
  728. package/src/main/js/sap/ushell/thirdparty/parameters-bundle.css2.js +44 -0
  729. package/src/main/js/sap/ushell/thirdparty/query.js +1 -4
  730. package/src/main/js/sap/ushell/thirdparty/slim-arrow-down.js +44 -0
  731. package/src/main/js/sap/ushell/thirdparty/sys-enter-2.js +7 -0
  732. package/src/main/js/sap/ushell/thirdparty/toLowercaseEnumValue.js +0 -8
  733. package/src/main/js/sap/ushell/thirdparty/webcomponents-base.js +35 -31
  734. package/src/main/js/sap/ushell/thirdparty/webcomponents-fiori.js +8 -8
  735. package/src/main/js/sap/ushell/thirdparty/webcomponents.js +16 -16
  736. package/src/main/js/sap/ushell/thirdparty/willShowContent.js +7 -0
  737. package/src/main/js/sap/ushell/ui/ShellHeader.js +0 -1
  738. package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +1 -1
  739. package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
  740. package/src/main/js/sap/ushell/ui/launchpad/Section.js +1 -1
  741. package/src/main/js/sap/ushell/ui/launchpad/VizInstance.js +6 -1
  742. package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +1 -1
  743. package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +5 -2
  744. package/src/main/js/sap/ushell/ui/utils.js +1 -1
  745. package/src/main/js/sap/ushell/ui5service/ShellUIServiceFactory.js +1 -1
  746. package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
  747. package/src/main/js/sap/ushell/utils/UrlShortening.js +1 -1
  748. package/src/main/js/sap/ushell/utils/workpage/WorkPageHost.js +1 -1
  749. package/src/main/js/sap/ushell/utils/workpage/WorkPageService.js +1 -1
  750. package/src/main/js/sap/ushell/utils/workpage/WorkPageVizInstantiation.js +1 -1
  751. package/src/main/js/sap/ushell/utils.js +32 -1
  752. package/src/test/js/sap/ushell/bootstrap/sandbox.js +1 -1
  753. package/ui5.yaml +2 -0
  754. package/src/main/js/sap/ushell/thirdparty/ListItemTemplate.js +0 -3920
  755. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css2.js +0 -7
  756. /package/src/main/js/sap/ushell/components/shell/SearchCEP/{SearchFieldFragment.fragment.xml → SearchField.fragment.xml} +0 -0
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview This module exposes a model containing the pages hierarchy to its clients.
5
- * @version 1.138.1
5
+ * @version 1.139.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/base/Log",
@@ -18,7 +18,7 @@ sap.ui.define([
18
18
  "sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils",
19
19
  "sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations",
20
20
  "sap/base/util/ObjectPath"
21
- ], function (
21
+ ], (
22
22
  Log,
23
23
  RestrictedJSONModel,
24
24
  deepClone,
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  readUtils,
33
33
  readVisualizations,
34
34
  ObjectPath
35
- ) {
35
+ ) => {
36
36
  "use strict";
37
37
 
38
38
  /**
@@ -53,7 +53,7 @@ sap.ui.define([
53
53
  * @since 1.72.0
54
54
  * @private
55
55
  */
56
- var Pages = function () {
56
+ function Pages () {
57
57
  this.COMPONENT_NAME = "sap.ushell.services.Pages";
58
58
  this._oCdmServicePromise = Container.getServiceAsync("CommonDataModel");
59
59
  this._oCSTRServicePromise = Container.getServiceAsync("ClientSideTargetResolution");
@@ -62,7 +62,7 @@ sap.ui.define([
62
62
  });
63
63
  this._bImplicitSaveEnabled = true;
64
64
  this._aPagesToBeSaved = [];
65
- };
65
+ }
66
66
 
67
67
  /**
68
68
  * Type for a page in the "pages and spaces" concept.
@@ -124,12 +124,12 @@ sap.ui.define([
124
124
  * @private
125
125
  */
126
126
  Pages.prototype._generateId = function (sPageId) {
127
- var aIds = [];
128
- var oPage = this.getModel().getProperty(this.getPagePath(sPageId));
127
+ const aIds = [];
128
+ const oPage = this.getModel().getProperty(this.getPagePath(sPageId));
129
129
 
130
- oPage.sections.forEach(function (oSection) {
130
+ oPage.sections.forEach((oSection) => {
131
131
  aIds.push(oSection.id);
132
- oSection.visualizations.forEach(function (oVisualization) {
132
+ oSection.visualizations.forEach((oVisualization) => {
133
133
  aIds.push(oVisualization.id);
134
134
  });
135
135
  });
@@ -170,8 +170,8 @@ sap.ui.define([
170
170
  * @private
171
171
  */
172
172
  Pages.prototype.getPageIndex = function (sPageId) {
173
- var aPages = this._oPagesModel.getProperty("/pages");
174
- for (var iPageIndex = 0; iPageIndex < aPages.length; ++iPageIndex) {
173
+ const aPages = this._oPagesModel.getProperty("/pages");
174
+ for (let iPageIndex = 0; iPageIndex < aPages.length; ++iPageIndex) {
175
175
  if (aPages[iPageIndex].id === sPageId) {
176
176
  return iPageIndex;
177
177
  }
@@ -189,11 +189,11 @@ sap.ui.define([
189
189
  * @private
190
190
  */
191
191
  Pages.prototype.getPagePath = function (sPageId) {
192
- var iPageIndex = this.getPageIndex(sPageId);
192
+ const iPageIndex = this.getPageIndex(sPageId);
193
193
  if (typeof iPageIndex === "undefined") {
194
194
  return "";
195
195
  }
196
- return "/pages/" + iPageIndex;
196
+ return `/pages/${iPageIndex}`;
197
197
  };
198
198
 
199
199
  /**
@@ -205,46 +205,41 @@ sap.ui.define([
205
205
  *
206
206
  * @private
207
207
  */
208
- Pages.prototype.loadPage = function (sPageId) {
209
- var sPagePath = this.getPagePath(sPageId);
208
+ Pages.prototype.loadPage = async function (sPageId) {
209
+ const sPagePath = this.getPagePath(sPageId);
210
210
 
211
211
  if (sPagePath) {
212
- return Promise.resolve(sPagePath);
212
+ return sPagePath;
213
213
  }
214
214
 
215
215
  ushellUtils.setPerformanceMark(["FLP-Pages-Service-loadPage-start[", sPageId, "]"].join(""));
216
216
 
217
- return this._oCdmServicePromise
218
- .catch(function (oError) {
219
- Log.error("Pages - loadPage: Couldn't resolve CDM Service.", oError, this.COMPONENT_NAME);
220
- return Promise.reject(oError);
221
- }.bind(this))
222
- .then(function (oCdmService) {
223
- return Promise.all([
224
- oCdmService.getPage(sPageId),
225
- oCdmService.getCachedVisualizations(),
226
- oCdmService.getApplications(),
227
- oCdmService.getCachedVizTypes()
228
- ]);
229
- })
230
- .then(function (aResults) {
231
- var oPage = aResults[0];
232
- var oVisualizations = aResults[1];
233
- var oApplications = aResults[2];
234
- var oVizTypes = aResults[3];
235
- return this._getModelForPage(oPage, oVisualizations, oApplications, oVizTypes);
236
- }.bind(this))
237
- .then(function (oModelForPage) {
238
- var iPageCount = this._oPagesModel.getProperty("/pages/").length;
239
- var sNewPagePath = "/pages/" + iPageCount;
240
- this._oPagesModel._setProperty(sNewPagePath, oModelForPage);
241
- ushellUtils.setPerformanceMark(["FLP-Pages-Service-loadPage-end[", sPageId, "]"].join(""));
242
- return sNewPagePath;
243
- }.bind(this))
244
- .catch(function (oError) {
245
- Log.error("Pages - loadPage: Failed to gather site data.", oError, this.COMPONENT_NAME);
246
- return Promise.reject(oError);
247
- }.bind(this));
217
+ let oCdmService;
218
+ try {
219
+ oCdmService = await this._oCdmServicePromise;
220
+ } catch (oError) {
221
+ Log.error("Pages - loadPage: Couldn't resolve CDM Service.", oError, this.COMPONENT_NAME);
222
+ return Promise.reject(oError);
223
+ }
224
+
225
+ try {
226
+ const oPage = await oCdmService.getPage(sPageId);
227
+ const oVisualizations = await oCdmService.getCachedVisualizations();
228
+ const oApplications = await oCdmService.getApplications();
229
+ const oVizTypes = await oCdmService.getCachedVizTypes();
230
+
231
+ const oModelForPage = await this._getModelForPage(oPage, oVisualizations, oApplications, oVizTypes);
232
+
233
+ const iPageCount = this._oPagesModel.getProperty("/pages/").length;
234
+ const sNewPagePath = `/pages/${iPageCount}`;
235
+ this._oPagesModel._setProperty(sNewPagePath, oModelForPage);
236
+ ushellUtils.setPerformanceMark(["FLP-Pages-Service-loadPage-end[", sPageId, "]"].join(""));
237
+
238
+ return sNewPagePath;
239
+ } catch (oError) {
240
+ Log.error("Pages - loadPage: Failed to gather site data.", oError, this.COMPONENT_NAME);
241
+ return Promise.reject(oError);
242
+ }
248
243
  };
249
244
 
250
245
  /**
@@ -257,27 +252,28 @@ sap.ui.define([
257
252
  *
258
253
  * @private
259
254
  */
260
- Pages.prototype.loadPages = function (aPageIds) {
261
- return this._oCdmServicePromise
262
- .then(function (oCdmService) {
263
- // load and cache all the pages with a single request
264
- return oCdmService.getPages(aPageIds);
265
- })
266
- .then(function () {
267
- return Promise.all(
268
- aPageIds.map(function (sPageId) {
269
- // single access is ok here as the data has been loaded before
270
- return this.loadPage(sPageId);
271
- }.bind(this))
272
- );
273
- }.bind(this))
274
- .then(function (aPagePaths) {
275
- var oPagePaths = {};
276
- aPageIds.forEach(function (sPageId, i) {
277
- oPagePaths[sPageId] = aPagePaths[i];
278
- });
279
- return oPagePaths;
280
- });
255
+ Pages.prototype.loadPages = async function (aPageIds) {
256
+ let oCdmService;
257
+ try {
258
+ oCdmService = await this._oCdmServicePromise;
259
+ } catch (oError) {
260
+ Log.error("Pages - loadPages: Couldn't resolve CDM Service.", oError, this.COMPONENT_NAME);
261
+ return Promise.reject(oError);
262
+ }
263
+
264
+ // load and cache all the pages with a single request
265
+ await oCdmService.getPages(aPageIds);
266
+
267
+ const aPagePaths = await Promise.all(aPageIds.map((sPageId) => {
268
+ // single access is ok here as the data has been loaded before
269
+ return this.loadPage(sPageId);
270
+ }));
271
+
272
+ const oPagePaths = {};
273
+ aPageIds.forEach((sPageId, i) => {
274
+ oPagePaths[sPageId] = aPagePaths[i];
275
+ });
276
+ return oPagePaths;
281
277
  };
282
278
 
283
279
  /**
@@ -296,49 +292,47 @@ sap.ui.define([
296
292
  * @param {string} [sVizId] The "vizId" of the visualization to look for.
297
293
  * @param {string} [sVizRefId] The "vizRefId" of the visualization to look for.
298
294
  *
299
- * @returns {VisualizationLocation[]} An array of {@link VisualizationLocation}, retrieving every index of a visualization within a page.
295
+ * @returns {Promise<VisualizationLocation[]>} An array of {@link VisualizationLocation}, retrieving every index of a visualization within a page.
300
296
  */
301
- Pages.prototype.findVisualization = function (sPageId, sSectionId, sVizId, sVizRefId) {
302
- return this._oCdmServicePromise
303
- .catch(function (oError) {
304
- Log.error("Pages - findVisualization: Personalization cannot be saved: CDM Service cannot be retrieved.", oError, this.COMPONENT_NAME);
305
- return Promise.reject(oError);
306
- }.bind(this))
307
- .then(function (oCdmService) {
308
- return Promise.all([
309
- this.loadPage(sPageId),
310
- oCdmService.getCachedVisualizations(),
311
- oCdmService.getApplications()
312
- ])
313
- .then(function (aResults) {
314
- var sPagePath = aResults[0];
315
- var aPageSections = this.getModel().getProperty(sPagePath + "/sections") || [];
316
- return aPageSections.reduce(function (accumulatorSections, section, sectionIndex) {
317
- if (sSectionId && section.id !== sSectionId) {
318
- return accumulatorSections;
319
- }
320
- var aVizIndexes = section.visualizations.reduce(function (accumulatorVisualizations, viz, vizIndex) {
321
- if (sVizId && viz.vizId === sVizId ||
322
- sVizRefId && viz.id === sVizRefId) {
323
- accumulatorVisualizations.push(vizIndex);
324
- }
325
- return accumulatorVisualizations;
326
- }, []);
327
- if (aVizIndexes.length) {
328
- accumulatorSections.push({
329
- pageId: sPageId,
330
- sectionIndex: sectionIndex,
331
- vizIndexes: aVizIndexes
332
- });
333
- }
334
- return accumulatorSections;
335
- }, []);
336
- }.bind(this))
337
- .catch(function (oError) {
338
- Log.error("Pages - findVisualization: Couldn't load page, get visualizations or applications.", oError, this.COMPONENT_NAME);
339
- return Promise.reject(oError);
340
- }.bind(this));
341
- }.bind(this));
297
+ Pages.prototype.findVisualization = async function (sPageId, sSectionId, sVizId, sVizRefId) {
298
+ let oCdmService;
299
+ try {
300
+ oCdmService = await this._oCdmServicePromise;
301
+ } catch (oError) {
302
+ Log.error("Pages - findVisualization: Personalization cannot be saved: CDM Service cannot be retrieved.", oError, this.COMPONENT_NAME);
303
+ return Promise.reject(oError);
304
+ }
305
+
306
+ try {
307
+ const sPagePath = await this.loadPage(sPageId);
308
+ await oCdmService.getCachedVisualizations();
309
+ await oCdmService.getApplications();
310
+
311
+ const aPageSections = this.getModel().getProperty(`${sPagePath}/sections`) || [];
312
+ return aPageSections.reduce((accumulatorSections, section, sectionIndex) => {
313
+ if (sSectionId && section.id !== sSectionId) {
314
+ return accumulatorSections;
315
+ }
316
+ const aVizIndexes = section.visualizations.reduce((accumulatorVisualizations, viz, vizIndex) => {
317
+ if (sVizId && viz.vizId === sVizId ||
318
+ sVizRefId && viz.id === sVizRefId) {
319
+ accumulatorVisualizations.push(vizIndex);
320
+ }
321
+ return accumulatorVisualizations;
322
+ }, []);
323
+ if (aVizIndexes.length) {
324
+ accumulatorSections.push({
325
+ pageId: sPageId,
326
+ sectionIndex: sectionIndex,
327
+ vizIndexes: aVizIndexes
328
+ });
329
+ }
330
+ return accumulatorSections;
331
+ }, []);
332
+ } catch (oError) {
333
+ Log.error("Pages - findVisualization: Couldn't load page, get visualizations or applications.", oError, this.COMPONENT_NAME);
334
+ return Promise.reject(oError);
335
+ }
342
336
  };
343
337
 
344
338
  /**
@@ -355,7 +349,7 @@ sap.ui.define([
355
349
  *
356
350
  * @private
357
351
  */
358
- Pages.prototype.moveVisualization = function (iPageIndex, iSourceSectionIndex, iSourceVisualizationIndex, iTargetSectionIndex, iTargetVisualizationIndex) {
352
+ Pages.prototype.moveVisualization = async function (iPageIndex, iSourceSectionIndex, iSourceVisualizationIndex, iTargetSectionIndex, iTargetVisualizationIndex) {
359
353
  // Do nothing if visualization is moved on itself.
360
354
  if (iSourceSectionIndex === iTargetSectionIndex && iSourceVisualizationIndex === iTargetVisualizationIndex) {
361
355
  return Promise.resolve({
@@ -364,15 +358,15 @@ sap.ui.define([
364
358
  }
365
359
 
366
360
  this.setPersonalizationActive(true);
367
- var oPage = this._oPagesModel.getProperty("/pages/" + iPageIndex);
368
- var sPageId = oPage.id;
369
- var aSections = oPage.sections;
370
- var oSourceSection = aSections[iSourceSectionIndex];
371
- var oTargetSection = aSections[iTargetSectionIndex];
372
- var sSourceSectionId = oSourceSection.id;
373
- var sTargetSectionId = oTargetSection.id;
374
- var oMovedVisualization = oSourceSection.visualizations[iSourceVisualizationIndex];
375
- var sMovedVisualizationId = oMovedVisualization.id;
361
+ const oPage = this._oPagesModel.getProperty(`/pages/${iPageIndex}`);
362
+ const sPageId = oPage.id;
363
+ const aSections = oPage.sections;
364
+ const oSourceSection = aSections[iSourceSectionIndex];
365
+ const oTargetSection = aSections[iTargetSectionIndex];
366
+ const sSourceSectionId = oSourceSection.id;
367
+ const sTargetSectionId = oTargetSection.id;
368
+ const oMovedVisualization = oSourceSection.visualizations[iSourceVisualizationIndex];
369
+ const sMovedVisualizationId = oMovedVisualization.id;
376
370
 
377
371
  // Update visualizations reference to enable recalculation of visualizations.length which enables hide of section
378
372
  oSourceSection.visualizations = oSourceSection.visualizations.concat([]);
@@ -387,13 +381,13 @@ sap.ui.define([
387
381
  }
388
382
  oTargetSection.visualizations.splice(iTargetVisualizationIndex, 0, oMovedVisualization);
389
383
 
390
- var iPreviousVisualizationIndex;
384
+ let iPreviousVisualizationIndex;
391
385
  if (oTargetSection.visualizations[iTargetVisualizationIndex]) {
392
386
  iPreviousVisualizationIndex = iTargetVisualizationIndex - 1;
393
387
  } else {
394
388
  iPreviousVisualizationIndex = oTargetSection.visualizations.length - 2;
395
389
  }
396
- var sPreviousVisualizationId;
390
+ let sPreviousVisualizationId;
397
391
  if (oTargetSection.visualizations[iPreviousVisualizationIndex]) {
398
392
  sPreviousVisualizationId = oTargetSection.visualizations[iPreviousVisualizationIndex].id;
399
393
  }
@@ -406,55 +400,55 @@ sap.ui.define([
406
400
  this._oPagesModel.refresh();
407
401
 
408
402
  // Modify the personalized page in the CDM 3.1 site
409
- return this._oCdmServicePromise
410
- .then(function (oCdmService) {
411
- return oCdmService.getPage(sPageId);
412
- })
413
- .catch(function (oError) {
414
- Log.error("Pages - moveVisualization: Personalization cannot be saved: CDM Service or Page cannot be retrieved.", oError, this.COMPONENT_NAME);
415
- return Promise.reject(oError);
416
- }.bind(this))
417
- .then(function (oCdmPage) {
418
- var oSourceSectionInPage = oCdmPage.payload.sections[sSourceSectionId];
419
- var aSourceVizOrder = oSourceSectionInPage.layout.vizOrder;
420
- var oSourceViz = oSourceSectionInPage.viz;
421
-
422
- var oTargetSectionInPage = oCdmPage.payload.sections[sTargetSectionId];
423
- var aTargetVizOrder = oTargetSectionInPage.layout.vizOrder;
424
- var oTargetViz = oTargetSectionInPage.viz;
425
-
426
- var oMovedVisualizationClone = deepClone(oSourceViz[sMovedVisualizationId]);
427
-
428
- var iSourceVizOrderIndex = aSourceVizOrder.indexOf(sMovedVisualizationId);
429
- aSourceVizOrder.splice(iSourceVizOrderIndex, 1);
430
-
431
- // It can happen that the vizOrder array contains visualization ids that are filtered out for the pages model.
432
- // Therefore, we need to determine the index in the vizOrder array: search for the index of the previous viz and increment by one.
433
- var iTargetVizOrderIndex = sPreviousVisualizationId ? aTargetVizOrder.indexOf(sPreviousVisualizationId) + 1 : 0;
434
- aTargetVizOrder.splice(iTargetVizOrderIndex, 0, sMovedVisualizationId);
435
-
436
- if (sSourceSectionId !== sTargetSectionId) {
437
- delete oSourceViz[sMovedVisualizationId];
438
- oTargetViz[sMovedVisualizationId] = oMovedVisualizationClone;
439
- }
403
+ let oCdmPage;
404
+ try {
405
+ const oCdmService = await this._oCdmServicePromise;
406
+ oCdmPage = await oCdmService.getPage(sPageId);
407
+ } catch (oError) {
408
+ this.setPersonalizationActive(false);
409
+ Log.error("Pages - moveVisualization: Personalization cannot be saved: CDM Service or Page cannot be retrieved.", oError, this.COMPONENT_NAME);
410
+ return Promise.reject(oError);
411
+ }
440
412
 
441
- // If the default section becomes empty, delete it
442
- if (oSourceSectionInPage.default && !Object.keys(oSourceViz).length) {
443
- delete oCdmPage.payload.sections[sSourceSectionId]; // delete section from sections
444
- oCdmPage.payload.layout.sectionOrder.splice(iSourceSectionIndex, 1); // delete index from sectionOrder
445
- }
413
+ try {
414
+ const oSourceSectionInPage = oCdmPage.payload.sections[sSourceSectionId];
415
+ const aSourceVizOrder = oSourceSectionInPage.layout.vizOrder;
416
+ const oSourceViz = oSourceSectionInPage.viz;
446
417
 
447
- return this._conditionalSavePersonalization(sPageId);
448
- }.bind(this))
449
- .then(function () {
450
- return {
451
- visualizationIndex: iTargetVisualizationIndex
452
- };
453
- })
454
- .catch(function (oError) {
455
- this.setPersonalizationActive(false);
456
- return Promise.reject(oError);
457
- }.bind(this));
418
+ const oTargetSectionInPage = oCdmPage.payload.sections[sTargetSectionId];
419
+ const aTargetVizOrder = oTargetSectionInPage.layout.vizOrder;
420
+ const oTargetViz = oTargetSectionInPage.viz;
421
+
422
+ const oMovedVisualizationClone = deepClone(oSourceViz[sMovedVisualizationId]);
423
+
424
+ const iSourceVizOrderIndex = aSourceVizOrder.indexOf(sMovedVisualizationId);
425
+ aSourceVizOrder.splice(iSourceVizOrderIndex, 1);
426
+
427
+ // It can happen that the vizOrder array contains visualization ids that are filtered out for the pages model.
428
+ // Therefore, we need to determine the index in the vizOrder array: search for the index of the previous viz and increment by one.
429
+ const iTargetVizOrderIndex = sPreviousVisualizationId ? aTargetVizOrder.indexOf(sPreviousVisualizationId) + 1 : 0;
430
+ aTargetVizOrder.splice(iTargetVizOrderIndex, 0, sMovedVisualizationId);
431
+
432
+ if (sSourceSectionId !== sTargetSectionId) {
433
+ delete oSourceViz[sMovedVisualizationId];
434
+ oTargetViz[sMovedVisualizationId] = oMovedVisualizationClone;
435
+ }
436
+
437
+ // If the default section becomes empty, delete it
438
+ if (oSourceSectionInPage.default && !Object.keys(oSourceViz).length) {
439
+ delete oCdmPage.payload.sections[sSourceSectionId]; // delete section from sections
440
+ oCdmPage.payload.layout.sectionOrder.splice(iSourceSectionIndex, 1); // delete index from sectionOrder
441
+ }
442
+
443
+ await this._conditionalSavePersonalization(sPageId);
444
+
445
+ return {
446
+ visualizationIndex: iTargetVisualizationIndex
447
+ };
448
+ } catch (oError) {
449
+ this.setPersonalizationActive(false);
450
+ return Promise.reject(oError);
451
+ }
458
452
  };
459
453
 
460
454
  /**
@@ -464,14 +458,14 @@ sap.ui.define([
464
458
  * @param {int} iSourceSectionIndex The index of the section from where the visualization is deleted.
465
459
  * @param {int} iSourceVisualizationIndex The index of the deleted visualization.
466
460
  *
467
- * @returns {Promise<undefined>} Promise which resolves after the personalization was saved.
461
+ * @returns {Promise} Promise which resolves after the personalization was saved.
468
462
  *
469
463
  * @since 1.75.0
470
464
  * @private
471
465
  */
472
- Pages.prototype.deleteVisualization = function (iPageIndex, iSourceSectionIndex, iSourceVisualizationIndex) {
473
- var oPageModel = this._oPagesModel.getProperty("/pages/" + iPageIndex);
474
- var oSectionModel = oPageModel.sections[iSourceSectionIndex];
466
+ Pages.prototype.deleteVisualization = async function (iPageIndex, iSourceSectionIndex, iSourceVisualizationIndex) {
467
+ const oPageModel = this._oPagesModel.getProperty(`/pages/${iPageIndex}`);
468
+ const oSectionModel = oPageModel.sections[iSourceSectionIndex];
475
469
 
476
470
  // If the default section becomes empty, delete it
477
471
  if (oSectionModel.default && oSectionModel.visualizations.length < 2) {
@@ -479,33 +473,34 @@ sap.ui.define([
479
473
  }
480
474
 
481
475
  this.setPersonalizationActive(true);
482
- var aSourceSectionVisualizations = oSectionModel.visualizations;
483
- var oRemovedVisualization = aSourceSectionVisualizations[iSourceVisualizationIndex];
476
+ const aSourceSectionVisualizations = oSectionModel.visualizations;
477
+ const oRemovedVisualization = aSourceSectionVisualizations[iSourceVisualizationIndex];
484
478
  aSourceSectionVisualizations.splice(iSourceVisualizationIndex, 1);
485
479
  this._oPagesModel.refresh();
486
480
 
487
- return this._oCdmServicePromise
488
- .then(function (oCDMService) {
489
- return oCDMService.getPage(oPageModel.id);
490
- })
491
- .catch(function (oError) {
492
- Log.error("Pages - deleteVisualization: Personalization cannot be saved: CDM Service or Page cannot be retrieved.", oError, this.COMPONENT_NAME);
493
- return Promise.reject(oError);
494
- }.bind(this))
495
- .then(function (oPage) {
496
- var aSectionVizOrder = oPage.payload.sections[oSectionModel.id].layout.vizOrder;
497
- var oVizRefs = oPage.payload.sections[oSectionModel.id].viz;
498
- var iRemovedVisualizationIndex = aSectionVizOrder.indexOf(oRemovedVisualization.id);
499
- delete oVizRefs[oRemovedVisualization.id];
500
- if (iRemovedVisualizationIndex > -1) {
501
- aSectionVizOrder.splice(iRemovedVisualizationIndex, 1);
502
- }
503
- return this._conditionalSavePersonalization(oPage.identification.id);
504
- }.bind(this))
505
- .catch(function (oError) {
506
- this.setPersonalizationActive(false);
507
- return Promise.reject(oError);
508
- }.bind(this));
481
+ let oPage;
482
+ try {
483
+ const oCDMService = await this._oCdmServicePromise;
484
+ oPage = await oCDMService.getPage(oPageModel.id);
485
+ } catch (oError) {
486
+ this.setPersonalizationActive(false);
487
+ Log.error("Pages - deleteVisualization: Personalization cannot be saved: CDM Service or Page cannot be retrieved.", oError, this.COMPONENT_NAME);
488
+ return Promise.reject(oError);
489
+ }
490
+
491
+ try {
492
+ const aSectionVizOrder = oPage.payload.sections[oSectionModel.id].layout.vizOrder;
493
+ const oVizRefs = oPage.payload.sections[oSectionModel.id].viz;
494
+ const iRemovedVisualizationIndex = aSectionVizOrder.indexOf(oRemovedVisualization.id);
495
+ delete oVizRefs[oRemovedVisualization.id];
496
+ if (iRemovedVisualizationIndex > -1) {
497
+ aSectionVizOrder.splice(iRemovedVisualizationIndex, 1);
498
+ }
499
+ return await this._conditionalSavePersonalization(oPage.identification.id);
500
+ } catch (oError) {
501
+ this.setPersonalizationActive(false);
502
+ return Promise.reject(oError);
503
+ }
509
504
  };
510
505
 
511
506
  /**
@@ -521,10 +516,9 @@ sap.ui.define([
521
516
  * @private
522
517
  */
523
518
  Pages.prototype._getSectionIndex = function (sPagePath, sSectionId) {
524
- var aSections = this.getModel().getProperty(sPagePath + "/sections") || [];
525
- var i = 0;
519
+ const aSections = this.getModel().getProperty(`${sPagePath}/sections`) || [];
526
520
 
527
- for (; i < aSections.length; i += 1) {
521
+ for (let i = 0; i < aSections.length; i += 1) {
528
522
  if (aSections[i].id === sSectionId) {
529
523
  return i;
530
524
  }
@@ -549,16 +543,16 @@ sap.ui.define([
549
543
  * @private
550
544
  */
551
545
  Pages.prototype._getVisualizationData = async function (sPageId, sVizId, oVisualizations, oAdditionalVizData, oApplications, oVizTypes, oSystemContext) {
552
- var oVisualizationReference = oAdditionalVizData || {
546
+ const oVisualizationReference = oAdditionalVizData || {
553
547
  vizId: sVizId
554
548
  };
555
549
 
556
- var oSite = {
550
+ const oSite = {
557
551
  applications: oApplications,
558
552
  visualizations: oVisualizations,
559
553
  vizTypes: oVizTypes
560
554
  };
561
- var oVizData = await readUtils.getVizData(oSite, oVisualizationReference, oSystemContext);
555
+ const oVizData = await readUtils.getVizData(oSite, oVisualizationReference, oSystemContext);
562
556
  if (!oVizData.id) {
563
557
  oVizData.id = this._generateId(sPageId);
564
558
  }
@@ -575,7 +569,7 @@ sap.ui.define([
575
569
  * @param {string} sVizId The id of the visualization to add.
576
570
  * @param {string} sDisplayFormatHint The form factor of the visualization to add.
577
571
  *
578
- * @returns {Promise<undefined>} Promise which resolves after the personalization was saved.
572
+ * @returns {Promise} Promise which resolves after the personalization was saved.
579
573
  *
580
574
  * @since 1.75.0
581
575
  *
@@ -606,7 +600,7 @@ sap.ui.define([
606
600
  const [sPagePath, oVisualizations, oApplications, oVizTypes] = aResult;
607
601
 
608
602
  const iSectionIndex = this._getSectionIndex(sPagePath, sSectionId);
609
- const aSection = this.getModel().getProperty(sPagePath + "/sections") || [];
603
+ const aSection = this.getModel().getProperty(`${sPagePath}/sections`) || [];
610
604
  const oVisualizationData = await this._getVisualizationData(sPageId, sVizId, oVisualizations, null, oApplications, oVizTypes);
611
605
 
612
606
  if (sDisplayFormatHint) { // save with the same displayFormatHint in case of copy (Add to My Home)
@@ -625,7 +619,7 @@ sap.ui.define([
625
619
  if (iSectionIndex !== undefined || iDefaultSectionIndex !== undefined) {
626
620
  this.setPersonalizationActive(true);
627
621
  const iSectionPathIndex = iSectionIndex !== undefined ? iSectionIndex : iDefaultSectionIndex || 0;
628
- const sVisualizationsPath = sPagePath + "/sections/" + iSectionPathIndex + "/visualizations";
622
+ const sVisualizationsPath = `${sPagePath}/sections/${iSectionPathIndex}/visualizations`;
629
623
 
630
624
  this.getModel().getProperty(sVisualizationsPath).push(oVisualizationData);
631
625
  this.getModel().refresh();
@@ -653,12 +647,11 @@ sap.ui.define([
653
647
 
654
648
  // Create a new default section together with the visualization if there is no default section yet
655
649
  const iPageIndex = parseInt(sPagePath.split("/")[2], 10);
656
- return this.addSection(iPageIndex, 0, {
650
+ return await this.addSection(iPageIndex, 0, {
657
651
  title: resources.i18n.getText("DefaultSection.Title"),
658
652
  default: true,
659
653
  visualizations: [oVisualizationData]
660
654
  });
661
-
662
655
  } catch (oError) {
663
656
  this.setPersonalizationActive(false);
664
657
  throw oError;
@@ -671,13 +664,13 @@ sap.ui.define([
671
664
  * @param {string} sPageId The id of the page the visualization should be added to.
672
665
  * @param {string|null} [sSectionId] The id of the section the visualization should be added to. If null is given, the default section is used.
673
666
  * @param {sap.ushell.services.Pages.Visualization} oVizData An object containing the vizData from the model.
674
- * @returns {Promise<undefined>} A promise resolving when the copy action was completed.
667
+ * @returns {Promise} A promise resolving when the copy action was completed.
675
668
  *
676
669
  * @private
677
670
  * @since 1.94.0
678
671
  */
679
672
  Pages.prototype.copyVisualization = function (sPageId, sSectionId, oVizData) {
680
- var bIsBookmark = oVizData.isBookmark;
673
+ const bIsBookmark = oVizData.isBookmark;
681
674
 
682
675
  if (!bIsBookmark) {
683
676
  return this.addVisualization(sPageId, sSectionId, oVizData.vizId, oVizData.displayFormatHint);
@@ -704,23 +697,23 @@ sap.ui.define([
704
697
  * @param {int} iSourceSectionIndex The index of the moved section.
705
698
  * @param {int} iTargetSectionIndex The new index of the moved section.
706
699
  *
707
- * @returns {Promise<undefined>} Promise which resolves after the personalization was saved.
700
+ * @returns {Promise} Promise which resolves after the personalization was saved.
708
701
  *
709
702
  * @since 1.75.0
710
703
  *
711
704
  * @private
712
705
  */
713
- Pages.prototype.moveSection = function (iPageIndex, iSourceSectionIndex, iTargetSectionIndex) {
706
+ Pages.prototype.moveSection = async function (iPageIndex, iSourceSectionIndex, iTargetSectionIndex) {
714
707
  if (iSourceSectionIndex === iTargetSectionIndex) {
715
708
  return Promise.resolve();
716
709
  }
717
710
 
718
711
  this.setPersonalizationActive(true);
719
712
 
720
- var sPageId = this._oPagesModel.getProperty("/pages/" + iPageIndex + "/id");
721
- var aSections = this._oPagesModel.getProperty("/pages/" + iPageIndex + "/sections");
722
- var oMovedSection = this._oPagesModel.getProperty("/pages/" + iPageIndex + "/sections/" + iSourceSectionIndex);
723
- var sMovedSectionId = oMovedSection.id;
713
+ const sPageId = this._oPagesModel.getProperty(`/pages/${iPageIndex}/id`);
714
+ const aSections = this._oPagesModel.getProperty(`/pages/${iPageIndex}/sections`);
715
+ const oMovedSection = this._oPagesModel.getProperty(`/pages/${iPageIndex}/sections/${iSourceSectionIndex}`);
716
+ const sMovedSectionId = oMovedSection.id;
724
717
 
725
718
  // Remove the section
726
719
  aSections.splice(iSourceSectionIndex, 1);
@@ -735,26 +728,27 @@ sap.ui.define([
735
728
 
736
729
  this._oPagesModel.refresh();
737
730
 
738
- return this._oCdmServicePromise
739
- .then(function (oCdmService) {
740
- return oCdmService.getPage(sPageId);
741
- })
742
- .catch(function (oError) {
743
- Log.error("Pages - moveSection: Personalization cannot be saved: CDM Service or Page cannot be retrieved.", oError, this.COMPONENT_NAME);
744
- return Promise.reject(oError);
745
- }.bind(this))
746
- .then(function (oPage) {
747
- var aSectionOrder = oPage.payload.layout.sectionOrder;
731
+ let oPage;
732
+ try {
733
+ const oCdmService = await this._oCdmServicePromise;
734
+ oPage = await oCdmService.getPage(sPageId);
735
+ } catch (oError) {
736
+ this.setPersonalizationActive(false);
737
+ Log.error("Pages - moveSection: Personalization cannot be saved: CDM Service or Page cannot be retrieved.", oError, this.COMPONENT_NAME);
738
+ return Promise.reject(oError);
739
+ }
748
740
 
749
- aSectionOrder.splice(aSectionOrder.indexOf(sMovedSectionId), 1);
750
- aSectionOrder.splice(iTargetSectionIndex, 0, sMovedSectionId);
741
+ try {
742
+ const aSectionOrder = oPage.payload.layout.sectionOrder;
751
743
 
752
- return this._conditionalSavePersonalization(sPageId);
753
- }.bind(this))
754
- .catch(function (oError) {
755
- this.setPersonalizationActive(false);
756
- return Promise.reject(oError);
757
- }.bind(this));
744
+ aSectionOrder.splice(aSectionOrder.indexOf(sMovedSectionId), 1);
745
+ aSectionOrder.splice(iTargetSectionIndex, 0, sMovedSectionId);
746
+
747
+ return await this._conditionalSavePersonalization(sPageId);
748
+ } catch (oError) {
749
+ this.setPersonalizationActive(false);
750
+ return Promise.reject(oError);
751
+ }
758
752
  };
759
753
 
760
754
  /**
@@ -764,20 +758,20 @@ sap.ui.define([
764
758
  * @param {int} iSectionIndex The index of the added section.
765
759
  * @param {object} [oSectionProperties] Properties of the added section.
766
760
  *
767
- * @returns {Promise<undefined>} Promise which resolves after the personalization was saved.
761
+ * @returns {Promise} Promise which resolves after the personalization was saved.
768
762
  *
769
763
  * @since 1.75.0
770
764
  *
771
765
  * @private
772
766
  */
773
- Pages.prototype.addSection = function (iPageIndex, iSectionIndex, oSectionProperties) {
767
+ Pages.prototype.addSection = async function (iPageIndex, iSectionIndex, oSectionProperties) {
774
768
  this.setPersonalizationActive(true);
775
769
 
776
- var oSectionReference = oSectionProperties || {};
777
- var aSections = this._oPagesModel.getProperty("/pages/" + iPageIndex + "/sections");
778
- var sPageId = this._oPagesModel.getProperty("/pages/" + iPageIndex + "/id");
770
+ const oSectionReference = oSectionProperties || {};
771
+ const aSections = this._oPagesModel.getProperty(`/pages/${iPageIndex}/sections`);
772
+ const sPageId = this._oPagesModel.getProperty(`/pages/${iPageIndex}/id`);
779
773
 
780
- var oNewSection = {
774
+ const oNewSection = {
781
775
  id: oSectionReference.id !== undefined ? oSectionReference.id : this._generateId(sPageId),
782
776
  title: oSectionReference.title !== undefined ? oSectionReference.title : "",
783
777
  visible: oSectionReference.visible !== undefined ? oSectionReference.visible : true,
@@ -791,58 +785,58 @@ sap.ui.define([
791
785
 
792
786
  this._oPagesModel.refresh();
793
787
 
794
- return this._oCdmServicePromise
795
- .then(function (oCdmService) {
796
- return oCdmService.getPage(sPageId);
797
- })
798
- .catch(function (oError) {
799
- Log.error("Pages - addSection: Personalization cannot be saved: CDM Service or Page cannot be retrieved.", oError, this.COMPONENT_NAME);
800
- return Promise.reject(oError);
801
- }.bind(this))
802
- .then(function (oPage) {
803
- var oSection = {
804
- id: oNewSection.id,
805
- title: oNewSection.title,
806
- visible: oNewSection.visible,
807
- preset: oNewSection.preset,
808
- locked: oNewSection.locked,
809
- default: oNewSection.default,
810
- layout: {
811
- vizOrder: []
812
- },
813
- viz: {}
814
- };
788
+ let oPage;
789
+ try {
790
+ const oCdmService = await this._oCdmServicePromise;
791
+ oPage = await oCdmService.getPage(sPageId);
792
+ } catch (oError) {
793
+ this.setPersonalizationActive(false);
794
+ Log.error("Pages - addSection: Personalization cannot be saved: CDM Service or Page cannot be retrieved.", oError, this.COMPONENT_NAME);
795
+ return Promise.reject(oError);
796
+ }
797
+
798
+ try {
799
+ const oSection = {
800
+ id: oNewSection.id,
801
+ title: oNewSection.title,
802
+ visible: oNewSection.visible,
803
+ preset: oNewSection.preset,
804
+ locked: oNewSection.locked,
805
+ default: oNewSection.default,
806
+ layout: {
807
+ vizOrder: []
808
+ },
809
+ viz: {}
810
+ };
815
811
 
816
- if (oNewSection.visualizations) {
817
- var i = 0;
818
- var oVizData;
819
-
820
- for (; i < oNewSection.visualizations.length; i++) {
821
- oVizData = oNewSection.visualizations[i];
822
- oSection.layout.vizOrder.push(oVizData.id);
823
- if (oVizData.isBookmark) {
824
- oSection.viz[oVizData.id] = readUtils.getVizRef(oVizData);
825
- } else {
826
- oSection.viz[oVizData.id] = {
827
- id: oVizData.id,
828
- vizId: oVizData.vizId
829
- };
830
- if (oVizData.displayFormatHint) { // save with the same displayFormatHint in case of copy (Add to My Home)
831
- oSection.viz[oVizData.id].displayFormatHint = oVizData.displayFormatHint;
832
- }
812
+ if (oNewSection.visualizations) {
813
+ let oVizData;
814
+
815
+ for (let i = 0; i < oNewSection.visualizations.length; i++) {
816
+ oVizData = oNewSection.visualizations[i];
817
+ oSection.layout.vizOrder.push(oVizData.id);
818
+ if (oVizData.isBookmark) {
819
+ oSection.viz[oVizData.id] = readUtils.getVizRef(oVizData);
820
+ } else {
821
+ oSection.viz[oVizData.id] = {
822
+ id: oVizData.id,
823
+ vizId: oVizData.vizId
824
+ };
825
+ if (oVizData.displayFormatHint) { // save with the same displayFormatHint in case of copy (Add to My Home)
826
+ oSection.viz[oVizData.id].displayFormatHint = oVizData.displayFormatHint;
833
827
  }
834
828
  }
835
829
  }
830
+ }
836
831
 
837
- oPage.payload.layout.sectionOrder.splice(iSectionIndex, 0, oNewSection.id);
838
- oPage.payload.sections[oNewSection.id] = oSection;
832
+ oPage.payload.layout.sectionOrder.splice(iSectionIndex, 0, oNewSection.id);
833
+ oPage.payload.sections[oNewSection.id] = oSection;
839
834
 
840
- return this._conditionalSavePersonalization(sPageId);
841
- }.bind(this))
842
- .catch(function (oError) {
843
- this.setPersonalizationActive(false);
844
- return Promise.reject(oError);
845
- }.bind(this));
835
+ return await this._conditionalSavePersonalization(sPageId);
836
+ } catch (oError) {
837
+ this.setPersonalizationActive(false);
838
+ return Promise.reject(oError);
839
+ }
846
840
  };
847
841
 
848
842
  /**
@@ -851,38 +845,39 @@ sap.ui.define([
851
845
  * @param {int} iPageIndex The index of the page containing the deleted section.
852
846
  * @param {int} iSectionIndex The index of deleted section.
853
847
  *
854
- * @returns {Promise<undefined>} Promise which resolves after the personalization was saved.
848
+ * @returns {Promise} Promise which resolves after the personalization was saved.
855
849
  *
856
850
  * @since 1.75.0
857
851
  *
858
852
  * @private
859
853
  */
860
- Pages.prototype.deleteSection = function (iPageIndex, iSectionIndex) {
854
+ Pages.prototype.deleteSection = async function (iPageIndex, iSectionIndex) {
861
855
  this.setPersonalizationActive(true);
862
856
 
863
- var sPageId = this._oPagesModel.getProperty("/pages/" + iPageIndex + "/id");
864
- var aSections = this._oPagesModel.getProperty("/pages/" + iPageIndex + "/sections");
865
- var sSectionId = aSections[iSectionIndex].id;
857
+ const sPageId = this._oPagesModel.getProperty(`/pages/${iPageIndex}/id`);
858
+ const aSections = this._oPagesModel.getProperty(`/pages/${iPageIndex}/sections`);
859
+ const sSectionId = aSections[iSectionIndex].id;
866
860
  aSections.splice(iSectionIndex, 1);
867
861
  this._oPagesModel.refresh();
868
862
 
869
- return this._oCdmServicePromise
870
- .then(function (oCdmService) {
871
- return oCdmService.getPage(sPageId);
872
- })
873
- .catch(function (oError) {
874
- Log.error("Pages - deleteSection: Personalization cannot be saved: CDM Service or Page cannot be retrieved.", oError, this.COMPONENT_NAME);
875
- return Promise.reject(oError);
876
- }.bind(this))
877
- .then(function (oPage) {
878
- delete oPage.payload.sections[sSectionId];
879
- oPage.payload.layout.sectionOrder.splice(iSectionIndex, 1);
880
- return this._conditionalSavePersonalization(sPageId);
881
- }.bind(this))
882
- .catch(function (oError) {
883
- this.setPersonalizationActive(false);
884
- return Promise.reject(oError);
885
- }.bind(this));
863
+ let oPage;
864
+ try {
865
+ const oCdmService = await this._oCdmServicePromise;
866
+ oPage = await oCdmService.getPage(sPageId);
867
+ } catch (oError) {
868
+ this.setPersonalizationActive(false);
869
+ Log.error("Pages - deleteSection: Personalization cannot be saved: CDM Service or Page cannot be retrieved.", oError, this.COMPONENT_NAME);
870
+ return Promise.reject(oError);
871
+ }
872
+
873
+ try {
874
+ delete oPage.payload.sections[sSectionId];
875
+ oPage.payload.layout.sectionOrder.splice(iSectionIndex, 1);
876
+ return await this._conditionalSavePersonalization(sPageId);
877
+ } catch (oError) {
878
+ this.setPersonalizationActive(false);
879
+ return Promise.reject(oError);
880
+ }
886
881
  };
887
882
 
888
883
  /**
@@ -892,18 +887,18 @@ sap.ui.define([
892
887
  * @param {int} iSectionIndex The index of the section.
893
888
  * @param {boolean} bVisibility The new visibility value.
894
889
  *
895
- * @returns {Promise<undefined>} Promise which resolves after the personalization was saved.
890
+ * @returns {Promise} Promise which resolves after the personalization was saved.
896
891
  *
897
892
  * @since 1.75.0
898
893
  *
899
894
  * @private
900
895
  */
901
- Pages.prototype.setSectionVisibility = function (iPageIndex, iSectionIndex, bVisibility) {
896
+ Pages.prototype.setSectionVisibility = async function (iPageIndex, iSectionIndex, bVisibility) {
902
897
  this.setPersonalizationActive(true);
903
898
 
904
- var sPageId = this._oPagesModel.getProperty("/pages/" + iPageIndex + "/id");
905
- var sSectionId = this._oPagesModel.getProperty("/pages/" + iPageIndex + "/sections/" + iSectionIndex + "/id");
906
- var oSection = this._oPagesModel.getProperty("/pages/" + iPageIndex + "/sections/" + iSectionIndex);
899
+ const sPageId = this._oPagesModel.getProperty(`/pages/${iPageIndex}/id`);
900
+ const sSectionId = this._oPagesModel.getProperty(`/pages/${iPageIndex}/sections/${iSectionIndex}/id`);
901
+ const oSection = this._oPagesModel.getProperty(`/pages/${iPageIndex}/sections/${iSectionIndex}`);
907
902
 
908
903
  if (oSection.visible === bVisibility) {
909
904
  return Promise.resolve();
@@ -912,22 +907,23 @@ sap.ui.define([
912
907
  oSection.visible = bVisibility;
913
908
  this._oPagesModel.refresh();
914
909
 
915
- return this._oCdmServicePromise
916
- .then(function (oCdmService) {
917
- return oCdmService.getPage(sPageId);
918
- })
919
- .catch(function (oError) {
920
- Log.error("Pages - setSectionVisibility: Personalization cannot be saved: CDM Service or Page cannot be retrieved.", oError, this.COMPONENT_NAME);
921
- return Promise.reject(oError);
922
- }.bind(this))
923
- .then(function (oPage) {
924
- oPage.payload.sections[sSectionId].visible = bVisibility;
925
- return this._conditionalSavePersonalization(sPageId);
926
- }.bind(this))
927
- .catch(function (oError) {
928
- this.setPersonalizationActive(false);
929
- return Promise.reject(oError);
930
- }.bind(this));
910
+ let oPage;
911
+ try {
912
+ const oCdmService = await this._oCdmServicePromise;
913
+ oPage = await oCdmService.getPage(sPageId);
914
+ } catch (oError) {
915
+ this.setPersonalizationActive(false);
916
+ Log.error("Pages - setSectionVisibility: Personalization cannot be saved: CDM Service or Page cannot be retrieved.", oError, this.COMPONENT_NAME);
917
+ return Promise.reject(oError);
918
+ }
919
+
920
+ try {
921
+ oPage.payload.sections[sSectionId].visible = bVisibility;
922
+ return await this._conditionalSavePersonalization(sPageId);
923
+ } catch (oError) {
924
+ this.setPersonalizationActive(false);
925
+ return Promise.reject(oError);
926
+ }
931
927
  };
932
928
 
933
929
  /**
@@ -937,35 +933,36 @@ sap.ui.define([
937
933
  * @param {int} iSectionIndex The index of the section.
938
934
  * @param {string} sNewTitle The new title value.
939
935
  *
940
- * @returns {Promise<undefined>} Promise which resolves after the personalization was saved.
936
+ * @returns {Promise} Promise which resolves after the personalization was saved.
941
937
  *
942
938
  * @since 1.75.0
943
939
  * @private
944
940
  */
945
- Pages.prototype.renameSection = function (iPageIndex, iSectionIndex, sNewTitle) {
941
+ Pages.prototype.renameSection = async function (iPageIndex, iSectionIndex, sNewTitle) {
946
942
  this.setPersonalizationActive(true);
947
943
 
948
- var oPageModel = this._oPagesModel.getProperty("/pages/" + iPageIndex);
949
- var oSectionModel = oPageModel.sections[iSectionIndex];
944
+ const oPageModel = this._oPagesModel.getProperty(`/pages/${iPageIndex}`);
945
+ const oSectionModel = oPageModel.sections[iSectionIndex];
950
946
  oSectionModel.title = sNewTitle;
951
947
  this._oPagesModel.refresh();
952
948
 
953
- return this._oCdmServicePromise
954
- .then(function (oCDMService) {
955
- return oCDMService.getPage(oPageModel.id);
956
- })
957
- .catch(function (oError) {
958
- Log.error("Pages - renameSection: Personalization cannot be saved: CDM Service or Page cannot be retrieved.", oError, this.COMPONENT_NAME);
959
- return Promise.reject(oError);
960
- }.bind(this))
961
- .then(function (oPage) {
962
- oPage.payload.sections[oSectionModel.id].title = sNewTitle;
963
- return this._conditionalSavePersonalization(oPage.identification.id);
964
- }.bind(this))
965
- .catch(function (oError) {
966
- this.setPersonalizationActive(false);
967
- return Promise.reject(oError);
968
- }.bind(this));
949
+ let oPage;
950
+ try {
951
+ const oCDMService = await this._oCdmServicePromise;
952
+ oPage = await oCDMService.getPage(oPageModel.id);
953
+ } catch (oError) {
954
+ this.setPersonalizationActive(false);
955
+ Log.error("Pages - renameSection: Personalization cannot be saved: CDM Service or Page cannot be retrieved.", oError, this.COMPONENT_NAME);
956
+ return Promise.reject(oError);
957
+ }
958
+
959
+ try {
960
+ oPage.payload.sections[oSectionModel.id].title = sNewTitle;
961
+ return await this._conditionalSavePersonalization(oPage.identification.id);
962
+ } catch (oError) {
963
+ this.setPersonalizationActive(false);
964
+ return Promise.reject(oError);
965
+ }
969
966
  };
970
967
 
971
968
  /**
@@ -974,91 +971,78 @@ sap.ui.define([
974
971
  * @param {int} iPageIndex The index of the page containing the section.
975
972
  * @param {int} iSectionIndex The index of the section.
976
973
  *
977
- * @returns {Promise<undefined>} Promise which resolves after the personalization was saved.
974
+ * @returns {Promise} Promise which resolves after the personalization was saved.
978
975
  *
979
976
  * @since 1.75.0
980
977
  *
981
978
  * @private
982
979
  */
983
- Pages.prototype.resetSection = function (iPageIndex, iSectionIndex) {
980
+ Pages.prototype.resetSection = async function (iPageIndex, iSectionIndex) {
984
981
  this.setPersonalizationActive(true);
985
982
 
986
- var sPageId = this._oPagesModel.getProperty("/pages/" + iPageIndex + "/id");
987
- var sSectionId = this._oPagesModel.getProperty("/pages/" + iPageIndex + "/sections/" + iSectionIndex + "/id");
983
+ const sPageId = this._oPagesModel.getProperty(`/pages/${iPageIndex}/id`);
984
+ const sSectionId = this._oPagesModel.getProperty(`/pages/${iPageIndex}/sections/${iSectionIndex}/id`);
988
985
 
989
- return this._oCdmServicePromise
990
- .then(function (oCdmService) {
991
- return Promise.all([
992
- oCdmService.getCachedVisualizations(),
993
- oCdmService.getApplications(),
994
- oCdmService.getPage(sPageId),
995
- oCdmService.getOriginalPage(sPageId),
996
- oCdmService.getCachedVizTypes()
997
- ]);
998
- })
999
- .catch(function (oError) {
1000
- Log.error("Pages - resetSection: Personalization cannot be saved: Failed to gather data from CDM Service.", oError, this.COMPONENT_NAME);
1001
- return Promise.reject(oError);
1002
- }.bind(this))
1003
- .then(function (aResults) {
1004
- var oVisualizations = aResults[0];
1005
- var oApplications = aResults[1];
1006
- var oCdmPage = aResults[2];
1007
- var oOriginalCdmPage = aResults[3];
1008
- var oVizTypes = aResults[4];
1009
-
1010
- return Promise.all([
1011
- this._getModelForPage(oOriginalCdmPage, oVisualizations, oApplications, oVizTypes),
1012
- oCdmPage,
1013
- oOriginalCdmPage
1014
- ]);
1015
- }.bind(this))
1016
- .then(function (aResults) {
1017
- var oOriginalPageModel = aResults[0];
1018
- var oCdmPage = aResults[1];
1019
- var oOriginalCdmPage = aResults[2];
1020
-
1021
- var oOriginalSectionModel = deepClone(oOriginalPageModel.sections.find(function (section) {
1022
- return section.id === sSectionId;
1023
- }), 20);
1024
-
1025
- var aOriginalVizIds = oOriginalSectionModel.visualizations.map(function (oVisualization) {
1026
- return oVisualization.id;
1027
- });
986
+ let oVisualizations;
987
+ let oApplications;
988
+ let oCdmPage;
989
+ let oOriginalCdmPage;
990
+ let oVizTypes;
991
+ try {
992
+ const oCdmService = await this._oCdmServicePromise;
993
+ oVisualizations = await oCdmService.getCachedVisualizations();
994
+ oApplications = await oCdmService.getApplications();
995
+ oCdmPage = await oCdmService.getPage(sPageId);
996
+ oOriginalCdmPage = await oCdmService.getOriginalPage(sPageId);
997
+ oVizTypes = await oCdmService.getCachedVizTypes();
998
+ } catch (oError) {
999
+ this.setPersonalizationActive(false);
1000
+ Log.error("Pages - resetSection: Personalization cannot be saved: Failed to gather data from CDM Service.", oError, this.COMPONENT_NAME);
1001
+ return Promise.reject(oError);
1002
+ }
1028
1003
 
1029
- // the following loop ensures unique ids for viz references within a page according to adr-1011
1030
- var oCurrentPageModel = this._oPagesModel.getProperty("/pages/" + iPageIndex);
1031
- oCurrentPageModel.sections.forEach(function (oCurrentSectionModel) {
1032
- // Check in other sections if there is any visualization having a same id as in the reset section, if yes, generate a new id for this visualization.
1033
- if (oOriginalSectionModel.id !== oCurrentSectionModel.id) {
1034
- oCurrentSectionModel.visualizations.forEach(function (oVisualization) {
1035
- if (aOriginalVizIds.indexOf(oVisualization.id) !== -1) {
1036
- var sNewId = this._generateId(sPageId);
1037
-
1038
- var oVizRef = deepClone(oCdmPage.payload.sections[oCurrentSectionModel.id].viz[oVisualization.id]);
1039
- delete oCdmPage.payload.sections[oCurrentSectionModel.id].viz[oVisualization.id];
1040
- var iVizOrderIndex = oCdmPage.payload.sections[oCurrentSectionModel.id].layout.vizOrder.indexOf(oVizRef.id);
1041
-
1042
- oVizRef.id = sNewId;
1043
- oCdmPage.payload.sections[oCurrentSectionModel.id].viz[sNewId] = oVizRef;
1044
- oCdmPage.payload.sections[oCurrentSectionModel.id].layout.vizOrder[iVizOrderIndex] = sNewId;
1045
-
1046
- oVisualization.id = sNewId;
1047
- }
1048
- }.bind(this));
1049
- }
1050
- }.bind(this));
1051
-
1052
- this._oPagesModel._setProperty("/pages/" + iPageIndex + "/sections/" + iSectionIndex, oOriginalSectionModel);
1053
-
1054
- // Reset the CDM3.1 Site
1055
- oCdmPage.payload.sections[oOriginalSectionModel.id] = oOriginalCdmPage.payload.sections[oOriginalSectionModel.id];
1056
- return this._conditionalSavePersonalization(oCdmPage.identification.id);
1057
- }.bind(this))
1058
- .catch(function (oError) {
1059
- this.setPersonalizationActive(false);
1060
- return Promise.reject(oError);
1061
- }.bind(this));
1004
+ try {
1005
+ const oOriginalPageModel = await this._getModelForPage(oOriginalCdmPage, oVisualizations, oApplications, oVizTypes);
1006
+ const oOriginalSectionModel = deepClone(oOriginalPageModel.sections.find((section) => {
1007
+ return section.id === sSectionId;
1008
+ }), 20);
1009
+
1010
+ const aOriginalVizIds = oOriginalSectionModel.visualizations.map((oVisualization) => {
1011
+ return oVisualization.id;
1012
+ });
1013
+
1014
+ // the following loop ensures unique ids for viz references within a page according to adr-1011
1015
+ const oCurrentPageModel = this._oPagesModel.getProperty(`/pages/${iPageIndex}`);
1016
+ oCurrentPageModel.sections.forEach((oCurrentSectionModel) => {
1017
+ // Check in other sections if there is any visualization having a same id as in the reset section, if yes, generate a new id for this visualization.
1018
+ if (oOriginalSectionModel.id !== oCurrentSectionModel.id) {
1019
+ oCurrentSectionModel.visualizations.forEach((oVisualization) => {
1020
+ if (aOriginalVizIds.indexOf(oVisualization.id) !== -1) {
1021
+ const sNewId = this._generateId(sPageId);
1022
+
1023
+ const oVizRef = deepClone(oCdmPage.payload.sections[oCurrentSectionModel.id].viz[oVisualization.id]);
1024
+ delete oCdmPage.payload.sections[oCurrentSectionModel.id].viz[oVisualization.id];
1025
+ const iVizOrderIndex = oCdmPage.payload.sections[oCurrentSectionModel.id].layout.vizOrder.indexOf(oVizRef.id);
1026
+
1027
+ oVizRef.id = sNewId;
1028
+ oCdmPage.payload.sections[oCurrentSectionModel.id].viz[sNewId] = oVizRef;
1029
+ oCdmPage.payload.sections[oCurrentSectionModel.id].layout.vizOrder[iVizOrderIndex] = sNewId;
1030
+
1031
+ oVisualization.id = sNewId;
1032
+ }
1033
+ });
1034
+ }
1035
+ });
1036
+
1037
+ this._oPagesModel._setProperty(`/pages/${iPageIndex}/sections/${iSectionIndex}`, oOriginalSectionModel);
1038
+
1039
+ // Reset the CDM3.1 Site
1040
+ oCdmPage.payload.sections[oOriginalSectionModel.id] = oOriginalCdmPage.payload.sections[oOriginalSectionModel.id];
1041
+ return await this._conditionalSavePersonalization(oCdmPage.identification.id);
1042
+ } catch (oError) {
1043
+ this.setPersonalizationActive(false);
1044
+ return Promise.reject(oError);
1045
+ }
1062
1046
  };
1063
1047
 
1064
1048
  /**
@@ -1066,57 +1050,46 @@ sap.ui.define([
1066
1050
  *
1067
1051
  * @param {int} iPageIndex The index of the page.
1068
1052
  *
1069
- * @returns {Promise<undefined>} Promise which resolves after the personalization was saved.
1053
+ * @returns {Promise} Promise which resolves after the personalization was saved.
1070
1054
  *
1071
1055
  * @since 1.75.0
1072
1056
  *
1073
1057
  * @private
1074
1058
  */
1075
- Pages.prototype.resetPage = function (iPageIndex) {
1059
+ Pages.prototype.resetPage = async function (iPageIndex) {
1076
1060
  this.setPersonalizationActive(true);
1077
1061
 
1078
- var sPageId = this._oPagesModel.getProperty("/pages/" + iPageIndex + "/id");
1062
+ const sPageId = this._oPagesModel.getProperty(`/pages/${iPageIndex}/id`);
1079
1063
 
1080
- return this._oCdmServicePromise
1081
- .then(function (oCdmService) {
1082
- return Promise.all([
1083
- oCdmService.getCachedVisualizations(),
1084
- oCdmService.getApplications(),
1085
- oCdmService.getPage(sPageId),
1086
- oCdmService.getOriginalPage(sPageId),
1087
- oCdmService.getCachedVizTypes()
1088
- ]);
1089
- })
1090
- .catch(function (oError) {
1091
- Log.error("Pages - resetPage: Personalization cannot be saved: Failed to gather data from CDM Service.", oError, this.COMPONENT_NAME);
1092
- return Promise.reject(oError);
1093
- }.bind(this))
1094
- .then(function (aResults) {
1095
- var oVisualizations = aResults[0];
1096
- var oApplications = aResults[1];
1097
- var oCdmPage = aResults[2];
1098
- var oOriginalCdmPage = aResults[3];
1099
- var oVizTypes = aResults[4];
1100
- return Promise.all([
1101
- this._getModelForPage(oOriginalCdmPage, oVisualizations, oApplications, oVizTypes),
1102
- oCdmPage,
1103
- oOriginalCdmPage
1104
- ]);
1105
- }.bind(this))
1106
- .then(function (aResults) {
1107
- var oOriginalPageModel = aResults[0];
1108
- var oCdmPage = aResults[1];
1109
- var oOriginalCdmPage = aResults[2];
1110
- this._oPagesModel._setProperty("/pages/" + iPageIndex, oOriginalPageModel);
1111
-
1112
- // Reset the CDM3.1 Site
1113
- oCdmPage.payload = deepClone(oOriginalCdmPage.payload);
1114
- return this._conditionalSavePersonalization(oCdmPage.identification.id);
1115
- }.bind(this))
1116
- .catch(function (oError) {
1117
- this.setPersonalizationActive(false);
1118
- return Promise.reject(oError);
1119
- }.bind(this));
1064
+ let oVisualizations;
1065
+ let oApplications;
1066
+ let oCdmPage;
1067
+ let oOriginalCdmPage;
1068
+ let oVizTypes;
1069
+ try {
1070
+ const oCdmService = await this._oCdmServicePromise;
1071
+ oVisualizations = await oCdmService.getCachedVisualizations();
1072
+ oApplications = await oCdmService.getApplications();
1073
+ oCdmPage = await oCdmService.getPage(sPageId);
1074
+ oOriginalCdmPage = await oCdmService.getOriginalPage(sPageId);
1075
+ oVizTypes = await oCdmService.getCachedVizTypes();
1076
+ } catch (oError) {
1077
+ this.setPersonalizationActive(false);
1078
+ Log.error("Pages - resetPage: Personalization cannot be saved: Failed to gather data from CDM Service.", oError, this.COMPONENT_NAME);
1079
+ return Promise.reject(oError);
1080
+ }
1081
+
1082
+ try {
1083
+ const oOriginalPageModel = await this._getModelForPage(oOriginalCdmPage, oVisualizations, oApplications, oVizTypes);
1084
+ this._oPagesModel._setProperty(`/pages/${iPageIndex}`, oOriginalPageModel);
1085
+
1086
+ // Reset the CDM3.1 Site
1087
+ oCdmPage.payload = deepClone(oOriginalCdmPage.payload);
1088
+ return await this._conditionalSavePersonalization(oCdmPage.identification.id);
1089
+ } catch (oError) {
1090
+ this.setPersonalizationActive(false);
1091
+ return Promise.reject(oError);
1092
+ }
1120
1093
  };
1121
1094
 
1122
1095
  /**
@@ -1145,53 +1118,50 @@ sap.ui.define([
1145
1118
  * In case no page id was provided and if {@link #enableImplicitSave} was set to false, all unsaved modified pages are saved.
1146
1119
  * @param {string} [sPageId] the id of the page which should be saved
1147
1120
  *
1148
- * @returns {Promise<undefined>} Promise which resolves after the personalization was saved.
1121
+ * @returns {Promise} Promise which resolves after the personalization was saved.
1149
1122
  * @see #enableImplicitSave()
1150
1123
  *
1151
1124
  * @since 1.74.0
1152
1125
  * @private
1153
1126
  */
1154
- Pages.prototype.savePersonalization = function (sPageId) {
1155
- var aPages;
1127
+ Pages.prototype.savePersonalization = async function (sPageId) {
1128
+ let aPages;
1156
1129
  if (!sPageId) {
1157
1130
  aPages = deepClone(this._aPagesToBeSaved);
1158
1131
  } else {
1159
1132
  aPages = [sPageId];
1160
1133
  }
1161
1134
 
1162
- return this._oCdmServicePromise
1163
- .then(function (oCdmService) {
1164
- return Promise.all(aPages.map(function (sPage) {
1165
- // Remove page from list because the current state will be saved
1166
- var iIndex = this._aPagesToBeSaved.indexOf(sPage);
1167
- this._aPagesToBeSaved.splice(iIndex, 1);
1168
-
1169
- return new Promise(function (resolve, reject) {
1170
- oCdmService.save(sPage).then(resolve, reject);
1171
- })
1172
- .catch(function (oError) {
1173
- // Add page back to list because it wasn't saved
1174
- if (this._aPagesToBeSaved.indexOf(sPage) === -1) {
1175
- this._aPagesToBeSaved.push(sPage);
1176
- }
1177
- return Promise.reject(oError);
1178
- }.bind(this));
1179
- }.bind(this)));
1180
- }.bind(this))
1181
- .then(function () {
1182
- this._bDirtyState = false;
1183
- }.bind(this))
1184
- .catch(function (oError) {
1185
- Log.error("Pages - savePersonalization: Personalization cannot be saved: CDM Service cannot be retrieved or the save process encountered an error.", oError, this.COMPONENT_NAME);
1186
- return Promise.reject(oError);
1187
- }.bind(this));
1135
+ try {
1136
+ const oCdmService = await this._oCdmServicePromise;
1137
+ await Promise.all(aPages.map((sPage) => {
1138
+ // Remove page from list because the current state will be saved
1139
+ const iIndex = this._aPagesToBeSaved.indexOf(sPage);
1140
+ this._aPagesToBeSaved.splice(iIndex, 1);
1141
+
1142
+ return new Promise((resolve, reject) => {
1143
+ oCdmService.save(sPage).then(resolve, reject);
1144
+ }).catch((oError) => {
1145
+ // Add page back to list because it wasn't saved
1146
+ if (this._aPagesToBeSaved.indexOf(sPage) === -1) {
1147
+ this._aPagesToBeSaved.push(sPage);
1148
+ }
1149
+ return Promise.reject(oError);
1150
+ });
1151
+ }));
1152
+
1153
+ this._bDirtyState = false;
1154
+ } catch (oError) {
1155
+ Log.error("Pages - savePersonalization: Personalization cannot be saved: CDM Service cannot be retrieved or the save process encountered an error.", oError, this.COMPONENT_NAME);
1156
+ return Promise.reject(oError);
1157
+ }
1188
1158
  };
1189
1159
 
1190
1160
  /**
1191
1161
  * Saves the personalization depending on the default of the implicit save
1192
1162
  * @param {string} sPageId the id of the page which should be saved
1193
1163
  *
1194
- * @returns {Promise<undefined>} Promise which resolves after the personalization was saved.
1164
+ * @returns {Promise} Promise which resolves after the personalization was saved.
1195
1165
  *
1196
1166
  * @since 1.85.0
1197
1167
  * @private
@@ -1276,33 +1246,31 @@ sap.ui.define([
1276
1246
  *
1277
1247
  * @param {int} pageIndex The index of the page containing the section.
1278
1248
  * @param {int} sectionIndex The index of the section containing the visualizations.
1279
- * @returns {Promise<undefined>} Promise which resolves after all visualizations have been checked (and removed).
1249
+ * @returns {Promise} Promise which resolves after all visualizations have been checked (and removed).
1280
1250
  *
1281
1251
  * @since 1.90.0
1282
1252
  * @private
1283
1253
  */
1284
- Pages.prototype.removeUnsupportedVisualizations = function (pageIndex, sectionIndex) {
1285
- return this._oCSTRServicePromise.then(function (oCSTRService) {
1286
- var aVisualizations = this.getModel().getProperty("/pages/" + pageIndex + "/sections/" + sectionIndex + "/visualizations/");
1254
+ Pages.prototype.removeUnsupportedVisualizations = async function (pageIndex, sectionIndex) {
1255
+ const oCSTRService = await this._oCSTRServicePromise;
1256
+ const aVisualizations = this.getModel().getProperty(`/pages/${pageIndex}/sections/${sectionIndex}/visualizations/`);
1287
1257
 
1288
- var aPromises = [];
1258
+ const aPromises = [];
1289
1259
 
1290
- for (var i = aVisualizations.length - 1; i >= 0; --i) {
1291
- aPromises.push(this._isIntentSupported(aVisualizations[i], oCSTRService)
1292
- .then(function (index, bIntentSupported) {
1293
- if (!bIntentSupported) {
1294
- aVisualizations.splice(index, 1);
1295
- }
1296
- return bIntentSupported;
1297
- }.bind(this, i)));
1298
- }
1299
-
1300
- return Promise.all(aPromises).then(function (aResults) {
1301
- if (aResults.indexOf(false) !== -1) {
1302
- this.getModel().refresh();
1260
+ for (let i = aVisualizations.length - 1; i >= 0; --i) {
1261
+ aPromises.push(this._isIntentSupported(aVisualizations[i], oCSTRService).then(((index, bIntentSupported) => {
1262
+ if (!bIntentSupported) {
1263
+ aVisualizations.splice(index, 1);
1303
1264
  }
1304
- }.bind(this));
1305
- }.bind(this));
1265
+ return bIntentSupported;
1266
+ }).bind(this, i)));
1267
+ }
1268
+
1269
+ const aResults = await Promise.all(aPromises);
1270
+
1271
+ if (aResults.indexOf(false) !== -1) {
1272
+ this.getModel().refresh();
1273
+ }
1306
1274
  };
1307
1275
 
1308
1276
  /**
@@ -1378,7 +1346,7 @@ sap.ui.define([
1378
1346
  * @param {string} [sectionId] The id of the section to which the bookmark should be added.
1379
1347
  * @param {string} [sContentProviderId] The contentProviderId or undefined outside the cFLP
1380
1348
  *
1381
- * @returns {Promise<undefined>} Promise which resolves after the personalization was saved.
1349
+ * @returns {Promise} Promise which resolves after the personalization was saved.
1382
1350
  *
1383
1351
  * @since 1.75.0
1384
1352
  *
@@ -1483,19 +1451,19 @@ sap.ui.define([
1483
1451
  // Add visualization to existing default section, update model & site, save personalization
1484
1452
  oSectionToAdd.visualizations.push(oVizData);
1485
1453
  this._oPagesModel.refresh();
1486
- let oPage;
1454
+ let oCDMPage;
1487
1455
  try {
1488
- oPage = await oCdmService.getPage(pageId);
1456
+ oCDMPage = await oCdmService.getPage(pageId);
1489
1457
  } catch (oError) {
1490
1458
  Log.error("Pages - addBookmarkToPage: Personalization cannot be saved: CDM Service or Page cannot be retrieved.", oError, this.COMPONENT_NAME);
1491
1459
  throw oError;
1492
1460
  }
1493
- const oSection = oPage.payload.sections[oSectionToAdd.id];
1461
+ const oSection = oCDMPage.payload.sections[oSectionToAdd.id];
1494
1462
  oSection.layout.vizOrder.push(oVizData.id);
1495
1463
  oSection.viz[oVizData.id] = readUtils.getVizRef(oVizData);
1496
1464
 
1497
1465
  // Save
1498
- return this._conditionalSavePersonalization(pageId);
1466
+ return await this._conditionalSavePersonalization(pageId);
1499
1467
  } catch (oError) {
1500
1468
  this.setPersonalizationActive(false);
1501
1469
  throw oError;
@@ -1507,22 +1475,17 @@ sap.ui.define([
1507
1475
  * Currently, the returned Promise does not wait for the visitorFunctions to finish asynchronous tasks!
1508
1476
  *
1509
1477
  * @param {function} fnVisitor The visitor function
1510
- * @returns {Promise<undefined>} A Promise that resolves once all the pages were visited
1478
+ * @returns {Promise} A Promise that resolves once all the pages were visited
1511
1479
  *
1512
1480
  * @since 1.82.0
1513
1481
  * @private
1514
1482
  */
1515
- Pages.prototype._visitPages = function (fnVisitor) {
1516
- return this._oCdmServicePromise
1517
- .then(function (oCdmService) {
1518
- return oCdmService.getAllPages();
1519
- })
1520
- .then(function (aPages) {
1521
- aPages = aPages || [];
1522
- aPages.forEach(function (oPage) {
1523
- fnVisitor(oPage);
1524
- });
1525
- });
1483
+ Pages.prototype._visitPages = async function (fnVisitor) {
1484
+ const oCdmService = await this._oCdmServicePromise;
1485
+ const aPages = await oCdmService.getAllPages() || [];
1486
+ aPages.forEach((oPage) => {
1487
+ fnVisitor(oPage);
1488
+ });
1526
1489
  };
1527
1490
 
1528
1491
  /**
@@ -1530,15 +1493,15 @@ sap.ui.define([
1530
1493
  * Currently, the returned Promise does not wait for the visitorFunctions to finish asynchronous tasks!
1531
1494
  *
1532
1495
  * @param {function} fnVisitor The visitor function
1533
- * @returns {Promise<undefined>} A Promise that resolves once all the pages were visited
1496
+ * @returns {Promise} A Promise that resolves once all the pages were visited
1534
1497
  *
1535
1498
  * @since 1.82.0
1536
1499
  * @private
1537
1500
  */
1538
1501
  Pages.prototype._visitSections = function (fnVisitor) {
1539
- return this._visitPages(function (oPage) {
1540
- var oSections = oPage.payload && oPage.payload.sections || {};
1541
- Object.keys(oSections).forEach(function (sKey) {
1502
+ return this._visitPages((oPage) => {
1503
+ const oSections = oPage.payload && oPage.payload.sections || {};
1504
+ Object.keys(oSections).forEach((sKey) => {
1542
1505
  fnVisitor(oSections[sKey], oPage);
1543
1506
  });
1544
1507
  });
@@ -1549,15 +1512,15 @@ sap.ui.define([
1549
1512
  * Currently the returned Promise does not wait for the visitorFunctions to finish asynchronous tasks!
1550
1513
  *
1551
1514
  * @param {function} fnVisitor The visitor function
1552
- * @returns {Promise<undefined>} A Promise that resolves once all the pages were visited
1515
+ * @returns {Promise} A Promise that resolves once all the pages were visited
1553
1516
  *
1554
1517
  * @since 1.82.0
1555
1518
  * @private
1556
1519
  */
1557
1520
  Pages.prototype._visitVizReferences = function (fnVisitor) {
1558
- return this._visitSections(function (oSection, oPage) {
1559
- var oVizReferences = oSection.viz || {};
1560
- Object.keys(oVizReferences).forEach(function (sKey) {
1521
+ return this._visitSections((oSection, oPage) => {
1522
+ const oVizReferences = oSection.viz || {};
1523
+ Object.keys(oVizReferences).forEach((sKey) => {
1561
1524
  fnVisitor(oVizReferences[sKey], oSection, oPage);
1562
1525
  });
1563
1526
  });
@@ -1578,29 +1541,26 @@ sap.ui.define([
1578
1541
  * @since 1.82.0
1579
1542
  * @private
1580
1543
  */
1581
- Pages.prototype._findBookmarks = function (oIdentifier) {
1544
+ Pages.prototype._findBookmarks = async function (oIdentifier) {
1582
1545
  // for bookmarks it is sufficient to check the vizReferences as the properties of interest
1583
1546
  // don't come from other CDM entities like app or visualization
1584
- var aVizReferences = [];
1585
- return Promise.resolve()
1586
- .then(function () {
1587
- var oTarget = utilsCdm.toTargetFromHash(oIdentifier.url);
1588
- oTarget = readUtils.harmonizeTarget(oTarget);
1589
- return this._visitVizReferences(function (oVizReference, oSection, oPage) {
1590
- if (oVizReference.isBookmark &&
1591
- oIdentifier.vizType === oVizReference.vizType &&
1592
- (oVizReference.contentProviderId || "") === (oIdentifier.contentProviderId || "") &&
1593
- utilsCdm.isSameTarget(oTarget, oVizReference.target)) {
1594
- aVizReferences.push({
1595
- vizRefId: oVizReference.id,
1596
- sectionId: oSection.id,
1597
- pageId: oPage.identification.id
1598
- });
1599
- }
1600
- }).then(function () {
1601
- return aVizReferences;
1547
+ const aVizReferences = [];
1548
+
1549
+ let oTarget = utilsCdm.toTargetFromHash(oIdentifier.url);
1550
+ oTarget = readUtils.harmonizeTarget(oTarget);
1551
+ await this._visitVizReferences((oVizReference, oSection, oPage) => {
1552
+ if (oVizReference.isBookmark &&
1553
+ oIdentifier.vizType === oVizReference.vizType &&
1554
+ (oVizReference.contentProviderId || "") === (oIdentifier.contentProviderId || "") &&
1555
+ utilsCdm.isSameTarget(oTarget, oVizReference.target)) {
1556
+ aVizReferences.push({
1557
+ vizRefId: oVizReference.id,
1558
+ sectionId: oSection.id,
1559
+ pageId: oPage.identification.id
1602
1560
  });
1603
- }.bind(this));
1561
+ }
1562
+ });
1563
+ return aVizReferences;
1604
1564
  };
1605
1565
 
1606
1566
  /**
@@ -1617,11 +1577,9 @@ sap.ui.define([
1617
1577
  * @since 1.82.0
1618
1578
  * @private
1619
1579
  */
1620
- Pages.prototype.countBookmarks = function (oIdentifier) {
1621
- return this._findBookmarks(oIdentifier)
1622
- .then(function (aFoundBookmarks) {
1623
- return aFoundBookmarks.length;
1624
- });
1580
+ Pages.prototype.countBookmarks = async function (oIdentifier) {
1581
+ const aFoundBookmarks = await this._findBookmarks(oIdentifier);
1582
+ return aFoundBookmarks.length;
1625
1583
  };
1626
1584
 
1627
1585
  /**
@@ -1641,41 +1599,37 @@ sap.ui.define([
1641
1599
  * @since 1.82.0
1642
1600
  * @private
1643
1601
  */
1644
- Pages.prototype.deleteBookmarks = function (oIdentifier, pageId, sectionId) {
1645
- var iDeletionCounter = 0;
1646
- return this._findBookmarks(oIdentifier)
1647
- .then(function (aVizReferencesToDelete) {
1648
- // the deleteVisualization function is not mass capable so we make sure that the
1649
- // calls are sequentialized so that there can be no race conditions
1650
- return aVizReferencesToDelete.reduce(function (oDeleteChain, oIds) {
1651
- if (pageId && oIds.pageId !== pageId) {
1652
- return oDeleteChain;
1653
- }
1654
- if (sectionId && oIds.sectionId !== sectionId) {
1655
- return oDeleteChain;
1656
- }
1657
- return oDeleteChain
1658
- .then(function () {
1659
- return this.findVisualization(oIds.pageId, oIds.sectionId, null, oIds.vizRefId);
1660
- }.bind(this))
1661
- .then(function (aLocation) {
1662
- // the vizRef ID is unique on a page so there can be only one result
1663
- var oLocation = aLocation[0];
1664
- var iPageIndex = this.getPageIndex(oLocation.pageId);
1665
- return this.deleteVisualization(iPageIndex, oLocation.sectionIndex, oLocation.vizIndexes[0]);
1666
- }.bind(this))
1667
- .then(function () {
1668
- iDeletionCounter = iDeletionCounter + 1;
1669
- })
1670
- .catch(function () {
1671
- // as deleteVisualization is not mass capable it is not possible to implement an all or nothing
1672
- // error handling therefore only the number of successful deletions is returned
1673
- });
1674
- }.bind(this), Promise.resolve());
1675
- }.bind(this))
1676
- .then(function () {
1677
- return iDeletionCounter;
1678
- });
1602
+ Pages.prototype.deleteBookmarks = async function (oIdentifier, pageId, sectionId) {
1603
+ let iDeletionCounter = 0;
1604
+ const aVizReferencesToDelete = await this._findBookmarks(oIdentifier);
1605
+ // the deleteVisualization function is not mass capable so we make sure that the
1606
+ // calls are sequentialized so that there can be no race conditions
1607
+ await aVizReferencesToDelete.reduce((oDeleteChain, oIds) => {
1608
+ if (pageId && oIds.pageId !== pageId) {
1609
+ return oDeleteChain;
1610
+ }
1611
+ if (sectionId && oIds.sectionId !== sectionId) {
1612
+ return oDeleteChain;
1613
+ }
1614
+ return oDeleteChain
1615
+ .then(() => {
1616
+ return this.findVisualization(oIds.pageId, oIds.sectionId, null, oIds.vizRefId);
1617
+ })
1618
+ .then((aLocation) => {
1619
+ // the vizRef ID is unique on a page so there can be only one result
1620
+ const oLocation = aLocation[0];
1621
+ const iPageIndex = this.getPageIndex(oLocation.pageId);
1622
+ return this.deleteVisualization(iPageIndex, oLocation.sectionIndex, oLocation.vizIndexes[0]);
1623
+ })
1624
+ .then(() => {
1625
+ iDeletionCounter = iDeletionCounter + 1;
1626
+ })
1627
+ .catch(() => {
1628
+ // as deleteVisualization is not mass capable it is not possible to implement an all or nothing
1629
+ // error handling therefore only the number of successful deletions is returned
1630
+ });
1631
+ }, Promise.resolve());
1632
+ return iDeletionCounter;
1679
1633
  };
1680
1634
 
1681
1635
  /**
@@ -1694,68 +1648,65 @@ sap.ui.define([
1694
1648
  * @since 1.83.0
1695
1649
  * @private
1696
1650
  */
1697
- Pages.prototype.updateBookmarks = function (oIdentifier, oParameters) {
1651
+ Pages.prototype.updateBookmarks = async function (oIdentifier, oParameters) {
1698
1652
  if (!oIdentifier || !oIdentifier.url || typeof oIdentifier.url !== "string") {
1699
1653
  Log.error("Fail to update bookmark. No valid URL");
1700
1654
  return Promise.reject("Invalid URL provided");
1701
1655
  }
1702
1656
  if (!oParameters || typeof oParameters !== "object") {
1703
- Log.error("Fail to update bookmark. No valid parameters, URL is: " + oIdentifier.url);
1657
+ Log.error(`Fail to update bookmark. No valid parameters, URL is: ${oIdentifier.url}`);
1704
1658
  return Promise.reject("Missing parameters");
1705
1659
  }
1706
- var iUpdateCounter = 0;
1707
- return Promise.all([
1660
+ let iUpdateCounter = 0;
1661
+ const aResult = await Promise.all([
1708
1662
  this._findBookmarks(oIdentifier)
1709
- ])
1710
- .then(function (aResult) {
1711
- var aVizReferencesToUpdate = aResult[0];
1712
-
1713
- // the updateVisualization function is not mass capable so we make sure that the
1714
- // calls are sequentialized so that there can be no race conditions
1715
- return aVizReferencesToUpdate.reduce(function (oUpdateChain, oIds) {
1716
- return oUpdateChain
1717
- .then(function () {
1718
- return this.findVisualization(oIds.pageId, oIds.sectionId, null, oIds.vizRefId);
1719
- }.bind(this))
1720
- .then(function (aLocation) {
1721
- // the vizRef ID is unique on a page so there can be only one result
1722
- var oLocation = aLocation[0];
1723
- var iPageIndex = this.getPageIndex(oLocation.pageId);
1724
-
1725
- // map the parameters of the bookmark service API to the properties of a visualization
1726
- var oVisualizationData = {
1727
- subtitle: oParameters.subtitle,
1728
- icon: oParameters.icon,
1729
- info: oParameters.info,
1730
- numberUnit: oParameters.numberUnit,
1731
- indicatorDataSource: {
1732
- path: oParameters.serviceUrl,
1733
- refresh: oParameters.serviceRefreshInterval
1734
- },
1735
- vizConfig: oParameters.vizConfig
1736
- };
1737
- // prevent that title and url can be cleared by setting them to "" as they are mandatory
1738
- if (oParameters.title) {
1739
- oVisualizationData.title = oParameters.title;
1740
- }
1741
- if (oParameters.url) {
1742
- oVisualizationData.target = readUtils.harmonizeTarget(utilsCdm.toTargetFromHash(oParameters.url));
1743
- }
1744
-
1745
- return this.updateVisualization(iPageIndex, oLocation.sectionIndex, oLocation.vizIndexes[0], oVisualizationData);
1746
- }.bind(this))
1747
- .then(function () {
1748
- iUpdateCounter = iUpdateCounter + 1;
1749
- })
1750
- .catch(function () {
1751
- // as updateVisualization is not mass capable it is not possible to implement an all or nothing
1752
- // error handling therefore only the number of successful updates is returned
1753
- });
1754
- }.bind(this), Promise.resolve());
1755
- }.bind(this))
1756
- .then(function () {
1757
- return iUpdateCounter;
1758
- });
1663
+ ]);
1664
+ const aVizReferencesToUpdate = aResult[0];
1665
+
1666
+ // the updateVisualization function is not mass capable so we make sure that the
1667
+ // calls are sequentialized so that there can be no race conditions
1668
+ await aVizReferencesToUpdate.reduce((oUpdateChain, oIds) => {
1669
+ return oUpdateChain
1670
+ .then(() => {
1671
+ return this.findVisualization(oIds.pageId, oIds.sectionId, null, oIds.vizRefId);
1672
+ })
1673
+ .then((aLocation) => {
1674
+ // the vizRef ID is unique on a page so there can be only one result
1675
+ const oLocation = aLocation[0];
1676
+ const iPageIndex = this.getPageIndex(oLocation.pageId);
1677
+
1678
+ // map the parameters of the bookmark service API to the properties of a visualization
1679
+ const oVisualizationData = {
1680
+ subtitle: oParameters.subtitle,
1681
+ icon: oParameters.icon,
1682
+ info: oParameters.info,
1683
+ numberUnit: oParameters.numberUnit,
1684
+ indicatorDataSource: {
1685
+ path: oParameters.serviceUrl,
1686
+ refresh: oParameters.serviceRefreshInterval
1687
+ },
1688
+ vizConfig: oParameters.vizConfig
1689
+ };
1690
+ // prevent that title and url can be cleared by setting them to "" as they are mandatory
1691
+ if (oParameters.title) {
1692
+ oVisualizationData.title = oParameters.title;
1693
+ }
1694
+ if (oParameters.url) {
1695
+ oVisualizationData.target = readUtils.harmonizeTarget(utilsCdm.toTargetFromHash(oParameters.url));
1696
+ }
1697
+
1698
+ return this.updateVisualization(iPageIndex, oLocation.sectionIndex, oLocation.vizIndexes[0], oVisualizationData);
1699
+ })
1700
+ .then(() => {
1701
+ iUpdateCounter = iUpdateCounter + 1;
1702
+ })
1703
+ .catch(() => {
1704
+ // as updateVisualization is not mass capable it is not possible to implement an all or nothing
1705
+ // error handling therefore only the number of successful updates is returned
1706
+ });
1707
+ }, Promise.resolve());
1708
+
1709
+ return iUpdateCounter;
1759
1710
  };
1760
1711
 
1761
1712
  /**
@@ -1791,7 +1742,7 @@ sap.ui.define([
1791
1742
  oCdmService.getCachedVizTypes()
1792
1743
  ]);
1793
1744
 
1794
- const oPageModel = this._oPagesModel.getProperty("/pages/" + iPageIndex);
1745
+ const oPageModel = this._oPagesModel.getProperty(`/pages/${iPageIndex}`);
1795
1746
  const oSectionModel = oPageModel.sections[iSourceSectionIndex];
1796
1747
  const aSourceSectionVisualizations = oSectionModel.visualizations;
1797
1748
  let oUpdatedVisualization = aSourceSectionVisualizations[iSourceVisualizationIndex];
@@ -1866,34 +1817,35 @@ sap.ui.define([
1866
1817
  * @param {string} sVizRefId The the vizReference ID
1867
1818
  * @param {sap.ushell.services.Pages.Visualization} oUpdatedVisualization The updated visualization properties
1868
1819
  *
1869
- * @returns {Promise<undefined>} The promise resolves when the personalization was saved successfully
1820
+ * @returns {Promise} The promise resolves when the personalization was saved successfully
1870
1821
  *
1871
1822
  * @since 1.83
1872
1823
  * @private
1873
1824
  */
1874
- Pages.prototype._updateVisualizationCDMData = function (sPageId, sSectionId, sVizRefId, oUpdatedVisualization) {
1875
- return this._oCdmServicePromise
1876
- .then(function (oCDMService) {
1877
- return oCDMService.getPage(sPageId);
1878
- })
1879
- .catch(function (oError) {
1880
- Log.error("Pages - updateVisualization: Personalization cannot be saved: CDM Service or Page cannot be retrieved.", oError, this.COMPONENT_NAME);
1881
- return Promise.reject(oError);
1882
- }.bind(this))
1883
- .then(function (oPage) {
1884
- var oVizRef = oPage.payload.sections[sSectionId].viz[sVizRefId];
1885
- // This makes sure that only valid properties end up in the vizReference
1886
- var oUpdatedVizRefProperties = readUtils.getVizRef(oUpdatedVisualization);
1887
- oUpdatedVizRefProperties.vizConfig = oUpdatedVisualization.vizConfig;
1888
- // Add only changed properties to the vizReference. See also updateVisualization.
1889
- extend(oVizRef, oUpdatedVizRefProperties);
1890
-
1891
- return this._conditionalSavePersonalization(oPage.identification.id);
1892
- }.bind(this))
1893
- .catch(function (oError) {
1894
- this.setPersonalizationActive(false);
1895
- return Promise.reject(oError);
1896
- }.bind(this));
1825
+ Pages.prototype._updateVisualizationCDMData = async function (sPageId, sSectionId, sVizRefId, oUpdatedVisualization) {
1826
+ let oPage;
1827
+ try {
1828
+ const oCDMService = await this._oCdmServicePromise;
1829
+ oPage = await oCDMService.getPage(sPageId);
1830
+ } catch (oError) {
1831
+ this.setPersonalizationActive(false);
1832
+ Log.error("Pages - updateVisualization: Personalization cannot be saved: CDM Service or Page cannot be retrieved.", oError, this.COMPONENT_NAME);
1833
+ return Promise.reject(oError);
1834
+ }
1835
+
1836
+ try {
1837
+ const oVizRef = oPage.payload.sections[sSectionId].viz[sVizRefId];
1838
+ // This makes sure that only valid properties end up in the vizReference
1839
+ const oUpdatedVizRefProperties = readUtils.getVizRef(oUpdatedVisualization);
1840
+ oUpdatedVizRefProperties.vizConfig = oUpdatedVisualization.vizConfig;
1841
+ // Add only changed properties to the vizReference. See also updateVisualization.
1842
+ extend(oVizRef, oUpdatedVizRefProperties);
1843
+
1844
+ return await this._conditionalSavePersonalization(oPage.identification.id);
1845
+ } catch (oError) {
1846
+ this.setPersonalizationActive(false);
1847
+ return Promise.reject(oError);
1848
+ }
1897
1849
  };
1898
1850
 
1899
1851
  /**
@@ -1917,4 +1869,4 @@ sap.ui.define([
1917
1869
 
1918
1870
  Pages.hasNoAdapter = true;
1919
1871
  return Pages;
1920
- }, /*export=*/ true);
1872
+ }, /* export=*/ true);