@sapui5/sap.ushell 1.138.1 → 1.139.1

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 (790) 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/urlTemplateResolution.js +0 -9
  5. package/src/main/js/sap/ushell/ApplicationType/wcfResolution.js +32 -26
  6. package/src/main/js/sap/ushell/Container.js +0 -1
  7. package/src/main/js/sap/ushell/Fiori20Adapter.js +1 -1
  8. package/src/main/js/sap/ushell/Fiori20AdapterTest.js +1 -1
  9. package/src/main/js/sap/ushell/NWBCInterface.js +1 -1
  10. package/src/main/js/sap/ushell/TechnicalParameters.js +1 -1
  11. package/src/main/js/sap/ushell/URLTemplateProcessor/DefinitionParameterSetBuilder.js +1 -1
  12. package/src/main/js/sap/ushell/URLTemplateProcessor/DependencyGraph.js +1 -1
  13. package/src/main/js/sap/ushell/URLTemplateProcessor/Functions.js +1 -1
  14. package/src/main/js/sap/ushell/URLTemplateProcessor/Resolvers.js +1 -1
  15. package/src/main/js/sap/ushell/URLTemplateProcessor/TemplateParameterParser.js +1 -1
  16. package/src/main/js/sap/ushell/URLTemplateProcessor/utils.js +1 -1
  17. package/src/main/js/sap/ushell/URLTemplateProcessor.js +1 -1
  18. package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +12 -12
  19. package/src/main/js/sap/ushell/Ui5ServiceFactory.js +1 -1
  20. package/src/main/js/sap/ushell/User.js +32 -12
  21. package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +1 -1
  22. package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +1 -1
  23. package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
  24. package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +1 -1
  25. package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +1 -1
  26. package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +1 -1
  27. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
  28. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationV2Adapter.js +1 -1
  29. package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +1 -1
  30. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +1 -1
  31. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +1 -1
  32. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +1 -1
  33. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +1 -1
  34. package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +1 -1
  35. package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +1 -1
  36. package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +1 -1
  37. package/src/main/js/sap/ushell/adapters/cdm/v3/FlpLaunchPageAdapter.js +1 -1
  38. package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +1 -1
  39. package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +1 -1
  40. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +1 -1
  41. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +1 -1
  42. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +1 -1
  43. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +1 -1
  44. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +1 -1
  45. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +1 -1
  46. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +1 -1
  47. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionInternalAdapter.js +1 -1
  48. package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +1 -1
  49. package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +1 -1
  50. package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +1 -1
  51. package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +1 -1
  52. package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +1 -1
  53. package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +1 -1
  54. package/src/main/js/sap/ushell/adapters/local/FlpLaunchPageAdapter.js +1 -1
  55. package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +1 -1
  56. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +1 -1
  57. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionInternalAdapter.js +1 -1
  58. package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +1 -1
  59. package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +1 -1
  60. package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +1 -1
  61. package/src/main/js/sap/ushell/adapters/local/PersonalizationV2Adapter.js +1 -1
  62. package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +1 -1
  63. package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +1 -1
  64. package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +1 -1
  65. package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +1 -1
  66. package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +1 -1
  67. package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +1 -1
  68. package/src/main/js/sap/ushell/appIntegration/AppLifeCycle.js +6 -5
  69. package/src/main/js/sap/ushell/appIntegration/ApplicationContainer.js +14 -1
  70. package/src/main/js/sap/ushell/appIntegration/ApplicationHandle.js +8 -3
  71. package/src/main/js/sap/ushell/appIntegration/IframeApplicationContainer.js +8 -8
  72. package/src/main/js/sap/ushell/appIntegration/PostMessageManager/AppruntimeHandler.js +17 -12
  73. package/src/main/js/sap/ushell/appIntegration/PostMessageManager/ExtensionItems.js +6 -23
  74. package/src/main/js/sap/ushell/appIntegration/PostMessageManager/LifecycleHandler.js +114 -91
  75. package/src/main/js/sap/ushell/appIntegration/PostMessageManager/NWBCHandler.js +15 -7
  76. package/src/main/js/sap/ushell/appIntegration/PostMessageManager/ServiceHandler.js +257 -214
  77. package/src/main/js/sap/ushell/appIntegration/PostMessageManager.js +347 -117
  78. package/src/main/js/sap/ushell/appIntegration/UI5ApplicationContainer.js +1 -0
  79. package/src/main/js/sap/ushell/appIntegration/contracts/EmbeddedUI5Handler.js +15 -19
  80. package/src/main/js/sap/ushell/appIntegration/contracts/StatefulContainerV1Handler.js +15 -14
  81. package/src/main/js/sap/ushell/appIntegration/contracts/StatefulContainerV2Handler.js +38 -40
  82. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/RendererExtensions.js +1 -1
  83. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppConfiguration.js +1 -1
  84. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppLifeCycle.js +1 -1
  85. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppState.js +1 -8
  86. package/src/main/js/sap/ushell/appRuntime/ui5/services/Bookmark.js +1 -1
  87. package/src/main/js/sap/ushell/appRuntime/ui5/services/BookmarkV2.js +1 -1
  88. package/src/main/js/sap/ushell/appRuntime/ui5/services/CommonDataModel.js +1 -1
  89. package/src/main/js/sap/ushell/appRuntime/ui5/services/Container.js +1 -1
  90. package/src/main/js/sap/ushell/appRuntime/ui5/services/CrossApplicationNavigation.js +74 -17
  91. package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension/Item.js +1 -1
  92. package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension.js +25 -1
  93. package/src/main/js/sap/ushell/appRuntime/ui5/services/FlpLaunchPage.js +1 -1
  94. package/src/main/js/sap/ushell/appRuntime/ui5/services/FrameBoundExtension.js +1 -1
  95. package/src/main/js/sap/ushell/appRuntime/ui5/services/LaunchPage.js +1 -1
  96. package/src/main/js/sap/ushell/appRuntime/ui5/services/MessageBroker.js +1 -1
  97. package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolution.js +1 -1
  98. package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolutionInternal.js +1 -1
  99. package/src/main/js/sap/ushell/appRuntime/ui5/services/Navigation.js +17 -21
  100. package/src/main/js/sap/ushell/appRuntime/ui5/services/ReferenceResolver.js +1 -1
  101. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigation.js +1 -1
  102. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigationInternal.js +1 -1
  103. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellUIService.js +4 -4
  104. package/src/main/js/sap/ushell/appRuntime/ui5/services/UserInfo.js +1 -1
  105. package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
  106. package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/StepConfiguration.json +0 -2
  107. package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/logger.js +1 -1
  108. package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/state.js +1 -1
  109. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5datetimeformat.js +1 -1
  110. package/src/main/js/sap/ushell/bootstrap/common/common.create.configcontract.core.js +4 -0
  111. package/src/main/js/sap/ushell/bootstrap/sandbox2.js +1 -1
  112. package/src/main/js/sap/ushell/components/CatalogsManager.js +157 -157
  113. package/src/main/js/sap/ushell/components/ComponentKeysHandler.js +180 -187
  114. package/src/main/js/sap/ushell/components/DestroyHelper.js +4 -4
  115. package/src/main/js/sap/ushell/components/GroupsHelper.js +21 -21
  116. package/src/main/js/sap/ushell/components/HomepageManager.js +465 -424
  117. package/src/main/js/sap/ushell/components/MessagingHelper.js +24 -24
  118. package/src/main/js/sap/ushell/components/SharedComponentUtils.js +16 -16
  119. package/src/main/js/sap/ushell/components/_HomepageManager/DashboardLoadingManager.js +43 -43
  120. package/src/main/js/sap/ushell/components/_HomepageManager/PagingManager.js +43 -39
  121. package/src/main/js/sap/ushell/components/_HomepageManager/PersistentPageOperationAdapter.js +166 -175
  122. package/src/main/js/sap/ushell/components/_HomepageManager/TransientPageOperationAdapter.js +57 -57
  123. package/src/main/js/sap/ushell/components/appfinder/AppFinder.controller.js +96 -99
  124. package/src/main/js/sap/ushell/components/appfinder/AppFinderView.js +27 -21
  125. package/src/main/js/sap/ushell/components/appfinder/Catalog.controller.js +180 -178
  126. package/src/main/js/sap/ushell/components/appfinder/CatalogView.js +56 -56
  127. package/src/main/js/sap/ushell/components/appfinder/Component.js +12 -16
  128. package/src/main/js/sap/ushell/components/appfinder/EasyAccess.controller.js +129 -133
  129. package/src/main/js/sap/ushell/components/appfinder/EasyAccessView.js +10 -10
  130. package/src/main/js/sap/ushell/components/appfinder/GroupListPopover.controller.js +22 -22
  131. package/src/main/js/sap/ushell/components/appfinder/GroupListPopoverView.js +14 -14
  132. package/src/main/js/sap/ushell/components/appfinder/HierarchyApps.controller.js +75 -78
  133. package/src/main/js/sap/ushell/components/appfinder/HierarchyAppsView.js +24 -27
  134. package/src/main/js/sap/ushell/components/appfinder/HierarchyFolders.controller.js +44 -46
  135. package/src/main/js/sap/ushell/components/appfinder/HierarchyFoldersView.js +22 -22
  136. package/src/main/js/sap/ushell/components/appfinder/VisualizationOrganizerHelper.js +28 -28
  137. package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
  138. package/src/main/js/sap/ushell/components/cards/Card.controller.js +16 -20
  139. package/src/main/js/sap/ushell/components/cards/Configuration.controller.js +35 -37
  140. package/src/main/js/sap/ushell/components/cards/ManifestPropertyHelper.js +32 -34
  141. package/src/main/js/sap/ushell/components/cepsearchresult/app/Main.controller.js +7 -12
  142. package/src/main/js/sap/ushell/components/cepsearchresult/app/Main.view.xml +2 -9
  143. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/Extension.js +0 -1
  144. package/src/main/js/sap/ushell/components/cepsearchresult/app/css/style.css +58 -0
  145. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/AdvancedFormatters.js +0 -1
  146. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/Edition.js +0 -1
  147. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/EditionAdvanced.js +0 -1
  148. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/appendStyleVars.js +0 -1
  149. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/Category.js +13 -13
  150. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/Highlighter.js +2 -5
  151. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/Paginator.js +0 -2
  152. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/categories/Event.js +4 -3
  153. package/src/main/js/sap/ushell/components/contentFinder/CatalogService.js +8 -9
  154. package/src/main/js/sap/ushell/components/contentFinder/Component.js +2 -2
  155. package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +1 -3
  156. package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +1 -1
  157. package/src/main/js/sap/ushell/components/contentFinder/dialog/Component.js +2 -2
  158. package/src/main/js/sap/ushell/components/contentFinder/dialog/manifest.json +1 -1
  159. package/src/main/js/sap/ushell/components/contentFinder/manifest.json +1 -1
  160. package/src/main/js/sap/ushell/components/contentFinder/model/GraphQLListBinding.js +3 -5
  161. package/src/main/js/sap/ushell/components/contentFinder/model/GraphQLModel.js +2 -2
  162. package/src/main/js/sap/ushell/components/contentFinder/model/formatter.js +13 -6
  163. package/src/main/js/sap/ushell/components/contentFinder/resources/resources.properties +3 -3
  164. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_en_US_saprigi.properties +1 -1
  165. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearch.view.xml +2 -14
  166. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchCategoryTreeTable.fragment.xml +14 -7
  167. package/src/main/js/sap/ushell/components/contentFinder/view/VisualizationsNoDataIllustratedMessage.fragment.xml +1 -1
  168. package/src/main/js/sap/ushell/components/contentFinderStandalone/Component.js +2 -2
  169. package/src/main/js/sap/ushell/components/contentFinderStandalone/controller/ContentFinderStandalone.controller.js +2 -4
  170. package/src/main/js/sap/ushell/components/contentFinderStandalone/manifest.json +1 -1
  171. package/src/main/js/sap/ushell/components/factsheet/Component.js +13 -8
  172. package/src/main/js/sap/ushell/components/factsheet/annotation/Mapping.js +166 -118
  173. package/src/main/js/sap/ushell/components/factsheet/controls/PictureTile.js +20 -16
  174. package/src/main/js/sap/ushell/components/factsheet/controls/PictureTileRenderer.js +3 -3
  175. package/src/main/js/sap/ushell/components/factsheet/controls/PictureViewer.js +84 -77
  176. package/src/main/js/sap/ushell/components/factsheet/controls/PictureViewerItem.js +4 -4
  177. package/src/main/js/sap/ushell/components/factsheet/controls/PictureViewerRenderer.js +2 -2
  178. package/src/main/js/sap/ushell/components/factsheet/factory/ThingInspector.js +1356 -1139
  179. package/src/main/js/sap/ushell/components/factsheet/tools/ODataUrlTemplating.js +9 -5
  180. package/src/main/js/sap/ushell/components/factsheet/views/ThingViewer.controller.js +1 -1
  181. package/src/main/js/sap/ushell/components/factsheet/views/ThingViewer.view.js +9 -6
  182. package/src/main/js/sap/ushell/components/homeApp/error/Component.js +1 -1
  183. package/src/main/js/sap/ushell/components/homeApp/error/HomeAppError.controller.js +4 -4
  184. package/src/main/js/sap/ushell/components/homepage/ActionMode.js +51 -48
  185. package/src/main/js/sap/ushell/components/homepage/Component.js +11 -11
  186. package/src/main/js/sap/ushell/components/homepage/DashboardContent.controller.js +185 -192
  187. package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +60 -50
  188. package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +199 -202
  189. package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +152 -160
  190. package/src/main/js/sap/ushell/components/homepage/manifest.json +1 -1
  191. package/src/main/js/sap/ushell/components/pages/ActionMode.js +72 -74
  192. package/src/main/js/sap/ushell/components/pages/Component.js +7 -32
  193. package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +46 -46
  194. package/src/main/js/sap/ushell/components/pages/StateManager.js +9 -10
  195. package/src/main/js/sap/ushell/components/pages/controller/MyHome.controller.js +4 -4
  196. package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +243 -215
  197. package/src/main/js/sap/ushell/components/pages/controller/PagesAndSpaceId.js +23 -24
  198. package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
  199. package/src/main/js/sap/ushell/components/runtimeSwitcher/Component.js +1 -1
  200. package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +60 -70
  201. package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
  202. package/src/main/js/sap/ushell/components/shell/FloatingContainer/Component.js +0 -5
  203. package/src/main/js/sap/ushell/components/shell/FloatingContainer/controls/FloatingContainer.js +3 -3
  204. package/src/main/js/sap/ushell/components/shell/FloatingContainer/manifest.json +1 -1
  205. package/src/main/js/sap/ushell/components/shell/MenuBar/Component.js +18 -50
  206. package/src/main/js/sap/ushell/components/shell/MenuBar/controller/MenuBar.controller.js +73 -83
  207. package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +1 -1
  208. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/Component.js +1 -1
  209. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +49 -50
  210. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenuButton.controller.js +5 -5
  211. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +1 -1
  212. package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +35 -33
  213. package/src/main/js/sap/ushell/components/shell/Notifications/Notifications.controller.js +8 -9
  214. package/src/main/js/sap/ushell/components/shell/Notifications/NotificationsList.controller.js +5 -11
  215. package/src/main/js/sap/ushell/components/shell/PostLoadingHeaderEnhancement/Component.js +63 -42
  216. package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +20 -22
  217. package/src/main/js/sap/ushell/components/shell/Search/Component.js +20 -12
  218. package/src/main/js/sap/ushell/components/shell/Search/ESearch.js +18 -21
  219. package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
  220. package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +21 -14
  221. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchCEP.controller.js +204 -250
  222. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +25 -24
  223. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +9 -9
  224. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +4 -4
  225. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchServiceProvider.js +63 -65
  226. package/src/main/js/sap/ushell/components/shell/SearchCEPNew/Component.js +420 -0
  227. package/src/main/js/sap/ushell/components/shell/SearchCEPNew/SearchProviders/FrequentActivityProvider.js +84 -0
  228. package/src/main/js/sap/ushell/components/shell/SearchCEPNew/SearchProviders/RecentSearchProvider.js +63 -0
  229. package/src/main/js/sap/ushell/components/shell/SearchCEPNew/SearchProviders/SearchProvider.js +141 -0
  230. package/src/main/js/sap/ushell/components/shell/SearchCEPNew/SearchProviders/SearchServiceProvider.js +177 -0
  231. package/src/main/js/sap/ushell/components/shell/SearchCEPNew/manifest.json +43 -0
  232. package/src/main/js/sap/ushell/components/shell/SearchCEPNew/resources/resources.properties +17 -0
  233. package/src/main/js/sap/ushell/components/shell/Settings/Component.js +50 -35
  234. package/src/main/js/sap/ushell/components/shell/Settings/ErrorMessageHelper.js +10 -10
  235. package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.controller.js +150 -150
  236. package/src/main/js/sap/ushell/components/shell/Settings/appearance/Appearance.controller.js +66 -63
  237. package/src/main/js/sap/ushell/components/shell/Settings/appearance/AppearanceEntry.js +12 -15
  238. package/src/main/js/sap/ushell/components/shell/Settings/homepage/HomepageEntry.js +34 -37
  239. package/src/main/js/sap/ushell/components/shell/Settings/notifications/NotificationsEntry.js +6 -7
  240. package/src/main/js/sap/ushell/components/shell/Settings/notifications/NotificationsSetting.controller.js +46 -48
  241. package/src/main/js/sap/ushell/components/shell/Settings/search/Search.controller.js +4 -4
  242. package/src/main/js/sap/ushell/components/shell/Settings/search/SearchEntry.js +13 -13
  243. package/src/main/js/sap/ushell/components/shell/Settings/spaces/SpacesEntry.js +11 -13
  244. package/src/main/js/sap/ushell/components/shell/Settings/spaces/SpacesSetting.controller.js +41 -42
  245. package/src/main/js/sap/ushell/components/shell/Settings/userAccount/UserAccountEntry.js +11 -15
  246. package/src/main/js/sap/ushell/components/shell/Settings/userAccount/UserAccountSelector.controller.js +35 -37
  247. package/src/main/js/sap/ushell/components/shell/Settings/userActivities/UserActivitiesEntry.js +6 -7
  248. package/src/main/js/sap/ushell/components/shell/Settings/userActivities/UserActivitiesSetting.controller.js +7 -8
  249. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/Component.js +2 -2
  250. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/UserDefaultsEntry.js +16 -16
  251. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/UserDefaultsForm.js +17 -17
  252. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/controller/ExtendedValueDialog.controller.js +21 -24
  253. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/controller/UserDefaultsSetting.controller.js +136 -137
  254. package/src/main/js/sap/ushell/components/shell/Settings/userLanguageRegion/LanguageRegionSelector.controller.js +73 -78
  255. package/src/main/js/sap/ushell/components/shell/Settings/userLanguageRegion/UserLanguageRegionEntry.js +8 -8
  256. package/src/main/js/sap/ushell/components/shell/ShellBar/Component.js +69 -24
  257. package/src/main/js/sap/ushell/components/shell/ShellBar/controller/ShellBar.controller.js +42 -22
  258. package/src/main/js/sap/ushell/components/shell/ShellBar/manifest.json +1 -1
  259. package/src/main/js/sap/ushell/components/shell/ShellBar/view/ShellBar.view.xml +24 -10
  260. package/src/main/js/sap/ushell/components/shell/SideNavigation/Component.js +7 -11
  261. package/src/main/js/sap/ushell/components/shell/SideNavigation/controller/SideNavigation.controller.js +3 -3
  262. package/src/main/js/sap/ushell/components/shell/SideNavigation/manifest.json +1 -1
  263. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/AllSpaces.js +3 -4
  264. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/AppFinder.js +2 -2
  265. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/Favorites.js +14 -4
  266. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/GenericFixedNavigationListProvider.js +2 -2
  267. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/GenericNavigationListProvider.js +2 -2
  268. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/MyHome.js +2 -2
  269. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/NavigationHelper.js +4 -4
  270. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/RecentActivity.js +4 -4
  271. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/Spaces.js +5 -6
  272. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/SpacesNavigationListProvider.js +2 -3
  273. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +3 -4
  274. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/UserActionsMenu.controller.js +47 -48
  275. package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +27 -30
  276. package/src/main/js/sap/ushell/components/tiles/action/ActionTile.controller.js +55 -55
  277. package/src/main/js/sap/ushell/components/tiles/action/Configuration.controller.js +39 -41
  278. package/src/main/js/sap/ushell/components/tiles/applauncher/Component.js +3 -3
  279. package/src/main/js/sap/ushell/components/tiles/applauncher/Configuration.controller.js +26 -27
  280. package/src/main/js/sap/ushell/components/tiles/applauncher/StaticTile.controller.js +66 -66
  281. package/src/main/js/sap/ushell/components/tiles/applauncher/StaticTile.view.js +5 -5
  282. package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/Component.js +2 -2
  283. package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/Configuration.controller.js +27 -27
  284. package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/DynamicTile.controller.js +107 -107
  285. package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/DynamicTile.view.js +7 -7
  286. package/src/main/js/sap/ushell/components/tiles/cdm/applauncher/Component.js +7 -7
  287. package/src/main/js/sap/ushell/components/tiles/cdm/applauncher/StaticTile.controller.js +31 -31
  288. package/src/main/js/sap/ushell/components/tiles/cdm/applauncher/StaticTile.view.js +2 -2
  289. package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/Component.js +15 -15
  290. package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.controller.js +85 -86
  291. package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.view.js +4 -4
  292. package/src/main/js/sap/ushell/components/tiles/generic.js +133 -131
  293. package/src/main/js/sap/ushell/components/tiles/indicatorArea/AreaChartTile.controller.js +71 -71
  294. package/src/main/js/sap/ushell/components/tiles/indicatorArea/AreaChartTile.view.js +17 -17
  295. package/src/main/js/sap/ushell/components/tiles/indicatorDual/DualTile.controller.js +49 -49
  296. package/src/main/js/sap/ushell/components/tiles/indicatorDual/DualTile.view.js +9 -9
  297. package/src/main/js/sap/ushell/components/tiles/indicatorDualComparison/DualComparison.controller.js +80 -80
  298. package/src/main/js/sap/ushell/components/tiles/indicatorDualComparison/DualComparison.view.js +3 -3
  299. package/src/main/js/sap/ushell/components/tiles/indicatorDualContribution/DualContribution.controller.js +74 -75
  300. package/src/main/js/sap/ushell/components/tiles/indicatorDualContribution/DualContribution.view.js +3 -3
  301. package/src/main/js/sap/ushell/components/tiles/indicatorDualDeviation/DualDeviation.controller.js +55 -55
  302. package/src/main/js/sap/ushell/components/tiles/indicatorDualDeviation/DualDeviation.view.js +12 -12
  303. package/src/main/js/sap/ushell/components/tiles/indicatorDualTrend/DualTrend.controller.js +83 -84
  304. package/src/main/js/sap/ushell/components/tiles/indicatorDualTrend/DualTrend.view.js +15 -15
  305. package/src/main/js/sap/ushell/components/tiles/indicatorHarveyBall/HarveyBallTile.controller.js +71 -71
  306. package/src/main/js/sap/ushell/components/tiles/indicatorHarveyBall/HarveyBallTile.view.js +7 -7
  307. package/src/main/js/sap/ushell/components/tiles/indicatorTileUtils/cache.js +4 -4
  308. package/src/main/js/sap/ushell/components/tiles/indicatorTileUtils/indicatorTileHelper.js +4 -4
  309. package/src/main/js/sap/ushell/components/tiles/indicatorTileUtils/oData4Analytics.js +230 -232
  310. package/src/main/js/sap/ushell/components/tiles/indicatorTileUtils/smartBusinessUtil.js +271 -272
  311. package/src/main/js/sap/ushell/components/tiles/indicatorcomparison/ComparisonTile.controller.js +55 -55
  312. package/src/main/js/sap/ushell/components/tiles/indicatorcomparison/ComparisonTile.view.js +4 -4
  313. package/src/main/js/sap/ushell/components/tiles/indicatorcontribution/ContributionTile.controller.js +53 -53
  314. package/src/main/js/sap/ushell/components/tiles/indicatorcontribution/ContributionTile.view.js +5 -5
  315. package/src/main/js/sap/ushell/components/tiles/indicatordeviation/DeviationTile.controller.js +20 -20
  316. package/src/main/js/sap/ushell/components/tiles/indicatordeviation/DeviationTile.view.js +11 -11
  317. package/src/main/js/sap/ushell/components/tiles/indicatornumeric/NumericTile.controller.js +14 -15
  318. package/src/main/js/sap/ushell/components/tiles/indicatornumeric/NumericTile.view.js +10 -10
  319. package/src/main/js/sap/ushell/components/tiles/sbtilecontent.js +6 -6
  320. package/src/main/js/sap/ushell/components/tiles/utils.js +699 -664
  321. package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +217 -217
  322. package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +4 -8
  323. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility.js +40 -42
  324. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +257 -262
  325. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.layout.js +19 -20
  326. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +6 -6
  327. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +37 -38
  328. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +97 -100
  329. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +81 -82
  330. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnRenderer.js +9 -9
  331. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +38 -39
  332. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRenderer.js +5 -5
  333. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +8 -9
  334. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRowRenderer.js +9 -9
  335. package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
  336. package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +4 -4
  337. package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +15 -15
  338. package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +1 -1
  339. package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
  340. package/src/main/js/sap/ushell/gen/ui5/webcomponents/dist/Avatar.js +111 -107
  341. package/src/main/js/sap/ushell/gen/ui5/webcomponents/dist/Button.js +215 -137
  342. package/src/main/js/sap/ushell/gen/ui5/webcomponents/dist/Label.js +68 -70
  343. package/src/main/js/sap/ushell/gen/ui5/webcomponents/dist/ListItem.js +81 -80
  344. package/src/main/js/sap/ushell/gen/ui5/webcomponents/dist/ListItemBase.js +40 -39
  345. package/src/main/js/sap/ushell/gen/ui5/webcomponents/dist/ListItemGroup.js +152 -0
  346. package/src/main/js/sap/ushell/gen/ui5/webcomponents/dist/Menu.js +178 -120
  347. package/src/main/js/sap/ushell/gen/ui5/webcomponents/dist/MenuItem.js +186 -146
  348. package/src/main/js/sap/ushell/gen/ui5/webcomponents-base.js +517 -360
  349. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/NotificationList.js +128 -79
  350. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/NotificationListGroupItem.js +76 -75
  351. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/NotificationListItem.js +119 -99
  352. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/NotificationListItemBase.js +48 -46
  353. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/Search.js +162 -0
  354. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/SearchItem.js +74 -0
  355. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/SearchItemGroup.js +35 -0
  356. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/SearchMessageArea.js +52 -0
  357. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/SearchScope.js +54 -0
  358. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/ShellBar.js +373 -209
  359. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/ShellBarBranding.js +77 -0
  360. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/ShellBarItem.js +81 -64
  361. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/ShellBarSearch.js +156 -0
  362. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/ShellBarSpacer.js +42 -41
  363. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/UserMenu.js +190 -137
  364. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/UserMenuAccount.js +76 -75
  365. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/UserMenuItem.js +35 -34
  366. package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori.js +1706 -1307
  367. package/src/main/js/sap/ushell/gen/ui5/webcomponents.js +3011 -2372
  368. package/src/main/js/sap/ushell/library.js +1 -1
  369. package/src/main/js/sap/ushell/navigation/NavigationState.js +126 -0
  370. package/src/main/js/sap/ushell/navigationMode.js +1 -1
  371. package/src/main/js/sap/ushell/performance/ShellAnalytics.js +1 -1
  372. package/src/main/js/sap/ushell/performance/StatisticalRecord.js +1 -1
  373. package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
  374. package/src/main/js/sap/ushell/renderer/AccessKeysHandler.js +25 -17
  375. package/src/main/js/sap/ushell/renderer/NavContainer.js +6 -0
  376. package/src/main/js/sap/ushell/renderer/Renderer.js +19 -7
  377. package/src/main/js/sap/ushell/renderer/Shell.controller.js +10 -21
  378. package/src/main/js/sap/ushell/renderer/Shell.view.js +4 -1
  379. package/src/main/js/sap/ushell/renderer/resources/resources_ar.properties +2 -0
  380. package/src/main/js/sap/ushell/renderer/resources/resources_bg.properties +2 -0
  381. package/src/main/js/sap/ushell/renderer/resources/resources_ca.properties +2 -0
  382. package/src/main/js/sap/ushell/renderer/resources/resources_cnr.properties +2 -0
  383. package/src/main/js/sap/ushell/renderer/resources/resources_cs.properties +2 -0
  384. package/src/main/js/sap/ushell/renderer/resources/resources_cy.properties +2 -0
  385. package/src/main/js/sap/ushell/renderer/resources/resources_da.properties +2 -0
  386. package/src/main/js/sap/ushell/renderer/resources/resources_de.properties +2 -0
  387. package/src/main/js/sap/ushell/renderer/resources/resources_el.properties +2 -0
  388. package/src/main/js/sap/ushell/renderer/resources/resources_en.properties +2 -0
  389. package/src/main/js/sap/ushell/renderer/resources/resources_en_GB.properties +2 -0
  390. package/src/main/js/sap/ushell/renderer/resources/resources_en_US_saprigi.properties +2 -0
  391. package/src/main/js/sap/ushell/renderer/resources/resources_es.properties +2 -0
  392. package/src/main/js/sap/ushell/renderer/resources/resources_es_MX.properties +2 -0
  393. package/src/main/js/sap/ushell/renderer/resources/resources_et.properties +2 -0
  394. package/src/main/js/sap/ushell/renderer/resources/resources_fi.properties +2 -0
  395. package/src/main/js/sap/ushell/renderer/resources/resources_fr.properties +2 -0
  396. package/src/main/js/sap/ushell/renderer/resources/resources_fr_CA.properties +2 -0
  397. package/src/main/js/sap/ushell/renderer/resources/resources_hi.properties +2 -0
  398. package/src/main/js/sap/ushell/renderer/resources/resources_hr.properties +2 -0
  399. package/src/main/js/sap/ushell/renderer/resources/resources_hu.properties +3 -1
  400. package/src/main/js/sap/ushell/renderer/resources/resources_id.properties +2 -0
  401. package/src/main/js/sap/ushell/renderer/resources/resources_it.properties +2 -0
  402. package/src/main/js/sap/ushell/renderer/resources/resources_iw.properties +2 -0
  403. package/src/main/js/sap/ushell/renderer/resources/resources_ja.properties +2 -0
  404. package/src/main/js/sap/ushell/renderer/resources/resources_kk.properties +2 -0
  405. package/src/main/js/sap/ushell/renderer/resources/resources_ko.properties +2 -0
  406. package/src/main/js/sap/ushell/renderer/resources/resources_lt.properties +2 -0
  407. package/src/main/js/sap/ushell/renderer/resources/resources_lv.properties +2 -0
  408. package/src/main/js/sap/ushell/renderer/resources/resources_mk.properties +2 -0
  409. package/src/main/js/sap/ushell/renderer/resources/resources_ms.properties +2 -0
  410. package/src/main/js/sap/ushell/renderer/resources/resources_nl.properties +2 -0
  411. package/src/main/js/sap/ushell/renderer/resources/resources_no.properties +2 -0
  412. package/src/main/js/sap/ushell/renderer/resources/resources_pl.properties +2 -0
  413. package/src/main/js/sap/ushell/renderer/resources/resources_pt.properties +2 -0
  414. package/src/main/js/sap/ushell/renderer/resources/resources_pt_PT.properties +2 -0
  415. package/src/main/js/sap/ushell/renderer/resources/resources_ro.properties +2 -0
  416. package/src/main/js/sap/ushell/renderer/resources/resources_ru.properties +2 -0
  417. package/src/main/js/sap/ushell/renderer/resources/resources_sh.properties +2 -0
  418. package/src/main/js/sap/ushell/renderer/resources/resources_sk.properties +2 -0
  419. package/src/main/js/sap/ushell/renderer/resources/resources_sl.properties +3 -1
  420. package/src/main/js/sap/ushell/renderer/resources/resources_sr.properties +2 -0
  421. package/src/main/js/sap/ushell/renderer/resources/resources_sv.properties +2 -0
  422. package/src/main/js/sap/ushell/renderer/resources/resources_th.properties +2 -0
  423. package/src/main/js/sap/ushell/renderer/resources/resources_tr.properties +2 -0
  424. package/src/main/js/sap/ushell/renderer/resources/resources_uk.properties +2 -0
  425. package/src/main/js/sap/ushell/renderer/resources/resources_vi.properties +3 -1
  426. package/src/main/js/sap/ushell/renderer/resources/resources_zh_CN.properties +2 -0
  427. package/src/main/js/sap/ushell/renderer/resources/resources_zh_TW.properties +2 -0
  428. package/src/main/js/sap/ushell/renderer/search/searchComponent/manifest.json +1 -1
  429. package/src/main/js/sap/ushell/services/AllMyApps.js +5 -5
  430. package/src/main/js/sap/ushell/services/AppConfiguration.js +3 -5
  431. package/src/main/js/sap/ushell/services/AppLifeCycle.js +27 -4
  432. package/src/main/js/sap/ushell/services/AppState.js +86 -102
  433. package/src/main/js/sap/ushell/services/AppType.js +2 -2
  434. package/src/main/js/sap/ushell/services/Bookmark.js +156 -164
  435. package/src/main/js/sap/ushell/services/BookmarkV2.js +10 -13
  436. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Formatter.js +1 -1
  437. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/InboundIndex.js +1 -1
  438. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/InboundProvider.js +1 -1
  439. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/PrelaunchOperations.js +1 -1
  440. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Search.js +1 -1
  441. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/StagedLogger.js +1 -1
  442. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/SystemContext.js +1 -1
  443. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Utils.js +1 -1
  444. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/VirtualInbounds.js +1 -1
  445. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/XAppStateProcessing.js +1 -1
  446. package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +27 -31
  447. package/src/main/js/sap/ushell/services/CommonDataModel/SiteConverter.js +1 -1
  448. package/src/main/js/sap/ushell/services/CommonDataModel/vizTypeDefaults/VizTypeDefaults.js +1 -1
  449. package/src/main/js/sap/ushell/services/CommonDataModel.js +295 -353
  450. package/src/main/js/sap/ushell/services/Configuration.js +14 -12
  451. package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +34 -35
  452. package/src/main/js/sap/ushell/services/Container.js +2 -2
  453. package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +29 -62
  454. package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +227 -266
  455. package/src/main/js/sap/ushell/services/DarkModeSupport.js +17 -16
  456. package/src/main/js/sap/ushell/services/EndUserFeedback.js +5 -4
  457. package/src/main/js/sap/ushell/services/Extension/Item.js +7 -12
  458. package/src/main/js/sap/ushell/services/Extension.js +54 -19
  459. package/src/main/js/sap/ushell/services/FlpLaunchPage.js +209 -213
  460. package/src/main/js/sap/ushell/services/FrameBoundExtension/FloatingContainer.js +3 -3
  461. package/src/main/js/sap/ushell/services/FrameBoundExtension/Footer.js +3 -3
  462. package/src/main/js/sap/ushell/services/FrameBoundExtension/Item.js +6 -6
  463. package/src/main/js/sap/ushell/services/FrameBoundExtension/SidePane.js +1 -1
  464. package/src/main/js/sap/ushell/services/FrameBoundExtension/ToolArea.js +1 -1
  465. package/src/main/js/sap/ushell/services/FrameBoundExtension/UserSettingsEntry.js +4 -4
  466. package/src/main/js/sap/ushell/services/FrameBoundExtension.js +3 -3
  467. package/src/main/js/sap/ushell/services/LaunchPage.js +1 -2
  468. package/src/main/js/sap/ushell/services/Menu.js +264 -289
  469. package/src/main/js/sap/ushell/services/Message.js +3 -3
  470. package/src/main/js/sap/ushell/services/MessageBroker/MessageBrokerEngine.js +6 -29
  471. package/src/main/js/sap/ushell/services/MessageBroker.js +14 -10
  472. package/src/main/js/sap/ushell/services/MessageInternal.js +37 -38
  473. package/src/main/js/sap/ushell/services/NavTargetResolution.js +2 -5
  474. package/src/main/js/sap/ushell/services/NavTargetResolutionInternal.js +153 -157
  475. package/src/main/js/sap/ushell/services/Navigation/compatibility.js +4 -6
  476. package/src/main/js/sap/ushell/services/Navigation/utils.js +62 -64
  477. package/src/main/js/sap/ushell/services/Navigation.js +10 -14
  478. package/src/main/js/sap/ushell/services/NavigationDataProvider.js +2 -2
  479. package/src/main/js/sap/ushell/services/Notifications.js +29 -15
  480. package/src/main/js/sap/ushell/services/NotificationsV2.js +86 -98
  481. package/src/main/js/sap/ushell/services/PageBuilding.js +9 -6
  482. package/src/main/js/sap/ushell/services/PagePersistence.js +3 -3
  483. package/src/main/js/sap/ushell/services/PageReferencing.js +4 -2
  484. package/src/main/js/sap/ushell/services/Pages.js +635 -683
  485. package/src/main/js/sap/ushell/services/Personalization.js +103 -134
  486. package/src/main/js/sap/ushell/services/PersonalizationV2/ContextContainer.js +29 -32
  487. package/src/main/js/sap/ushell/services/PersonalizationV2/Personalizer.js +21 -6
  488. package/src/main/js/sap/ushell/services/PersonalizationV2/TransientPersonalizer.js +1 -2
  489. package/src/main/js/sap/ushell/services/PersonalizationV2/Variant.js +5 -1
  490. package/src/main/js/sap/ushell/services/PersonalizationV2/VariantSet.js +5 -8
  491. package/src/main/js/sap/ushell/services/PersonalizationV2/VariantSetAdapter.js +2 -2
  492. package/src/main/js/sap/ushell/services/PersonalizationV2/WindowAdapter.js +10 -11
  493. package/src/main/js/sap/ushell/services/PersonalizationV2/WindowAdapterContainer.js +27 -27
  494. package/src/main/js/sap/ushell/services/PersonalizationV2/constants.js +1 -2
  495. package/src/main/js/sap/ushell/services/PersonalizationV2/constants.private.js +1 -1
  496. package/src/main/js/sap/ushell/services/PersonalizationV2/utils.js +5 -5
  497. package/src/main/js/sap/ushell/services/PersonalizationV2.js +92 -105
  498. package/src/main/js/sap/ushell/services/PluginManager/Extensions.js +9 -9
  499. package/src/main/js/sap/ushell/services/PluginManager/HeaderExtensions.js +2 -2
  500. package/src/main/js/sap/ushell/services/PluginManager/MenuExtensions.js +4 -4
  501. package/src/main/js/sap/ushell/services/PluginManager/SimpleExpression.js +5 -8
  502. package/src/main/js/sap/ushell/services/PluginManager.js +12 -8
  503. package/src/main/js/sap/ushell/services/ReferenceResolver.js +21 -28
  504. package/src/main/js/sap/ushell/services/Search.js +25 -21
  505. package/src/main/js/sap/ushell/services/SearchCEP.js +38 -32
  506. package/src/main/js/sap/ushell/services/SearchableContent.js +203 -223
  507. package/src/main/js/sap/ushell/services/ShellNavigation.js +5 -3
  508. package/src/main/js/sap/ushell/services/ShellNavigationHashChanger.js +160 -164
  509. package/src/main/js/sap/ushell/services/ShellNavigationInternal.js +23 -19
  510. package/src/main/js/sap/ushell/services/SmartNavigation.js +86 -82
  511. package/src/main/js/sap/ushell/services/SpaceContent.js +73 -106
  512. package/src/main/js/sap/ushell/services/SupportTicket.js +1 -1
  513. package/src/main/js/sap/ushell/services/UITracer.js +48 -62
  514. package/src/main/js/sap/ushell/services/URLShortening.js +2 -2
  515. package/src/main/js/sap/ushell/services/URLTemplate.js +7 -8
  516. package/src/main/js/sap/ushell/services/Ui5ComponentHandle.js +5 -5
  517. package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +1 -1
  518. package/src/main/js/sap/ushell/services/UsageAnalytics.js +2 -3
  519. package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +10 -10
  520. package/src/main/js/sap/ushell/services/UserDefaultParameters.js +12 -13
  521. package/src/main/js/sap/ushell/services/UserInfo.js +27 -15
  522. package/src/main/js/sap/ushell/services/UserRecents/RecentActivity.js +6 -7
  523. package/src/main/js/sap/ushell/services/UserRecents/RecentAppsUsage.js +5 -5
  524. package/src/main/js/sap/ushell/services/UserRecents/RecentsList.js +2 -2
  525. package/src/main/js/sap/ushell/services/UserRecents/UserRecentsBase.js +2 -2
  526. package/src/main/js/sap/ushell/services/UserRecents.js +3 -3
  527. package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +63 -66
  528. package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +11 -11
  529. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +1 -1
  530. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +1 -1
  531. package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +1 -1
  532. package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +1 -1
  533. package/src/main/js/sap/ushell/services/personalization/VariantSetAdapter.js +10 -10
  534. package/src/main/js/sap/ushell/state/BaseState.js +2 -3
  535. package/src/main/js/sap/ushell/state/BindingHelper.js +2 -4
  536. package/src/main/js/sap/ushell/state/ControlManager.js +2 -3
  537. package/src/main/js/sap/ushell/state/CurrentState.js +2 -2
  538. package/src/main/js/sap/ushell/state/KeepAlive.js +2 -2
  539. package/src/main/js/sap/ushell/state/ShellModel.js +2 -3
  540. package/src/main/js/sap/ushell/state/StateManager/LaunchpadState.js +2 -2
  541. package/src/main/js/sap/ushell/state/StateManager/Operation.js +2 -2
  542. package/src/main/js/sap/ushell/state/StateManager/ShellMode.js +2 -2
  543. package/src/main/js/sap/ushell/state/StateManager.js +3 -3
  544. package/src/main/js/sap/ushell/state/StateRules.js +2 -3
  545. package/src/main/js/sap/ushell/state/StrategyFactory/DefaultStrategy.js +2 -3
  546. package/src/main/js/sap/ushell/state/StrategyFactory/FloatingActionsStrategy.js +2 -3
  547. package/src/main/js/sap/ushell/state/StrategyFactory/FloatingContainerStrategy.js +2 -3
  548. package/src/main/js/sap/ushell/state/StrategyFactory/HeadEndItemsStrategy.js +10 -4
  549. package/src/main/js/sap/ushell/state/StrategyFactory/HeadItemsStrategy.js +3 -4
  550. package/src/main/js/sap/ushell/state/StrategyFactory/SidePaneStrategy.js +2 -3
  551. package/src/main/js/sap/ushell/state/StrategyFactory/SubHeaderStrategy.js +2 -3
  552. package/src/main/js/sap/ushell/state/StrategyFactory/UserActionsStrategy.js +3 -4
  553. package/src/main/js/sap/ushell/state/StrategyFactory.js +2 -3
  554. package/src/main/js/sap/ushell/state/modules/BackNavigation.js +2 -5
  555. package/src/main/js/sap/ushell/state/modules/ContentDensity.js +3 -3
  556. package/src/main/js/sap/ushell/state/modules/Favicon.js +3 -3
  557. package/src/main/js/sap/ushell/state/modules/HeaderLogo.js +3 -3
  558. package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +123 -123
  559. package/src/main/js/sap/ushell/themes/base/ShellBar.less +2 -1
  560. package/src/main/js/sap/ushell/themes/base/ShellHeader.less +1 -1
  561. package/src/main/js/sap/ushell/themes/base/ToolAreaItem.less +2 -1
  562. package/src/main/js/sap/ushell/themes/sap_fiori_3/ShellBar.less +9 -0
  563. package/src/main/js/sap/ushell/themes/sap_fiori_3/ShellHeader.less +6 -0
  564. package/src/main/js/sap/ushell/themes/sap_fiori_3/library.source.less +1 -0
  565. package/src/main/js/sap/ushell/themes/sap_fiori_3_dark/ShellBar.less +9 -0
  566. package/src/main/js/sap/ushell/themes/sap_fiori_3_dark/library.source.less +1 -0
  567. package/src/main/js/sap/ushell/themes/sap_fiori_3_hcb/ShellBar.less +9 -0
  568. package/src/main/js/sap/ushell/themes/sap_fiori_3_hcb/library.source.less +1 -0
  569. package/src/main/js/sap/ushell/themes/sap_fiori_3_hcw/ShellBar.less +9 -0
  570. package/src/main/js/sap/ushell/themes/sap_fiori_3_hcw/library.source.less +1 -0
  571. package/src/main/js/sap/ushell/themes/sap_hcb/base_ShellHeader.less +1 -1
  572. package/src/main/js/sap/ushell/thirdparty/Avatar.js +86 -19
  573. package/src/main/js/sap/ushell/thirdparty/BusyIndicator.js +23 -245
  574. package/src/main/js/sap/ushell/thirdparty/Button.js +1 -1
  575. package/src/main/js/sap/ushell/thirdparty/Button2.js +100 -28
  576. package/src/main/js/sap/ushell/thirdparty/FocusableElements.js +10 -0
  577. package/src/main/js/sap/ushell/thirdparty/Icon.js +37 -20
  578. package/src/main/js/sap/ushell/thirdparty/Icons.js +151 -111
  579. package/src/main/js/sap/ushell/thirdparty/Label.js +6 -6
  580. package/src/main/js/sap/ushell/thirdparty/Link.js +14 -13
  581. package/src/main/js/sap/ushell/thirdparty/List.js +76 -549
  582. package/src/main/js/sap/ushell/thirdparty/ListBoxItemGroupTemplate.js +14 -0
  583. package/src/main/js/sap/ushell/thirdparty/ListItemAdditionalText.css.js +10 -0
  584. package/src/main/js/sap/ushell/thirdparty/ListItemBase.js +251 -0
  585. package/src/main/js/sap/ushell/thirdparty/ListItemCustom.js +1685 -91
  586. package/src/main/js/sap/ushell/thirdparty/ListItemGroup.js +637 -0
  587. package/src/main/js/sap/ushell/thirdparty/Menu.js +78 -90
  588. package/src/main/js/sap/ushell/thirdparty/MenuItem.js +1 -1
  589. package/src/main/js/sap/ushell/thirdparty/MenuItem2.js +391 -49
  590. package/src/main/js/sap/ushell/thirdparty/NotificationList.js +10 -10
  591. package/src/main/js/sap/ushell/thirdparty/NotificationListGroupItem.js +21 -21
  592. package/src/main/js/sap/ushell/thirdparty/NotificationListItem.js +520 -517
  593. package/src/main/js/sap/ushell/thirdparty/NotificationListItemBase.js +6 -6
  594. package/src/main/js/sap/ushell/thirdparty/ResponsivePopover.js +2306 -0
  595. package/src/main/js/sap/ushell/thirdparty/SearchItem.js +128 -0
  596. package/src/main/js/sap/ushell/thirdparty/SearchItemGroup.js +44 -0
  597. package/src/main/js/sap/ushell/thirdparty/SearchMessageArea.js +49 -0
  598. package/src/main/js/sap/ushell/thirdparty/SearchScope.js +39 -0
  599. package/src/main/js/sap/ushell/thirdparty/ShellBar.js +226 -185
  600. package/src/main/js/sap/ushell/thirdparty/ShellBarBranding.js +119 -0
  601. package/src/main/js/sap/ushell/thirdparty/ShellBarSearch.js +7 -0
  602. package/src/main/js/sap/ushell/thirdparty/ShellBarSearch2.js +3380 -0
  603. package/src/main/js/sap/ushell/thirdparty/Tag.js +16 -15
  604. package/src/main/js/sap/ushell/thirdparty/Text.js +10 -10
  605. package/src/main/js/sap/ushell/thirdparty/Title.js +167 -0
  606. package/src/main/js/sap/ushell/thirdparty/UserMenu.js +60 -59
  607. package/src/main/js/sap/ushell/thirdparty/UserMenuItem.js +5 -5
  608. package/src/main/js/sap/ushell/thirdparty/ValueState.js +7 -0
  609. package/src/main/js/sap/ushell/thirdparty/WrappingType.js +24 -0
  610. package/src/main/js/sap/ushell/thirdparty/_dynamics/InputSuggestions.js +397 -0
  611. package/src/main/js/sap/ushell/thirdparty/_dynamics/ListItemStandardExpandableTextTemplate.js +8 -8
  612. package/src/main/js/sap/ushell/thirdparty/_dynamics/SAP-icons-TNT.js +202 -178
  613. package/src/main/js/sap/ushell/thirdparty/_dynamics/SAP-icons-TNT2.js +145 -121
  614. package/src/main/js/sap/ushell/thirdparty/_dynamics/SAP-icons.js +2 -1
  615. package/src/main/js/sap/ushell/thirdparty/_dynamics/SAP-icons2.js +2 -1
  616. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ar2.js +183 -18
  617. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ar3.js +32 -8
  618. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_bg2.js +184 -19
  619. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_bg3.js +32 -8
  620. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ca2.js +185 -20
  621. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ca3.js +33 -9
  622. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cnr2.js +182 -17
  623. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cnr3.js +31 -7
  624. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cs2.js +182 -17
  625. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cs3.js +31 -7
  626. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cy2.js +182 -17
  627. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cy3.js +32 -8
  628. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_da2.js +182 -17
  629. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_da3.js +31 -7
  630. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_de2.js +182 -17
  631. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_de3.js +32 -8
  632. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_el2.js +182 -17
  633. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_el3.js +31 -7
  634. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en.js +3 -174
  635. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en2.js +174 -672
  636. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en3.js +837 -564
  637. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en4.js +602 -0
  638. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_GB2.js +182 -17
  639. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_GB3.js +32 -8
  640. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_sappsd.js +3 -174
  641. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_sappsd2.js +174 -672
  642. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_sappsd3.js +837 -564
  643. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_sappsd4.js +596 -0
  644. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saprigi.js +3 -174
  645. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saprigi2.js +174 -672
  646. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saprigi3.js +837 -567
  647. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saprigi4.js +602 -0
  648. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saptrc.js +3 -174
  649. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saptrc2.js +174 -672
  650. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saptrc3.js +837 -564
  651. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saptrc4.js +596 -0
  652. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es2.js +185 -20
  653. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es3.js +33 -9
  654. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es_MX2.js +185 -20
  655. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es_MX3.js +34 -10
  656. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_et2.js +182 -17
  657. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_et3.js +31 -7
  658. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fi2.js +182 -17
  659. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fi3.js +31 -7
  660. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr2.js +182 -17
  661. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr3.js +32 -8
  662. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr_CA2.js +182 -17
  663. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr_CA3.js +31 -7
  664. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hi2.js +182 -17
  665. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hi3.js +31 -7
  666. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hr2.js +183 -18
  667. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hr3.js +31 -7
  668. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hu2.js +182 -17
  669. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hu3.js +31 -7
  670. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_id2.js +184 -19
  671. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_id3.js +33 -9
  672. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_it2.js +186 -21
  673. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_it3.js +35 -11
  674. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_iw2.js +182 -17
  675. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_iw3.js +33 -9
  676. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ja2.js +182 -17
  677. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ja3.js +32 -8
  678. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_kk2.js +183 -18
  679. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_kk3.js +32 -8
  680. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ko2.js +182 -17
  681. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ko3.js +31 -7
  682. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lt2.js +182 -17
  683. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lt3.js +31 -7
  684. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lv2.js +184 -19
  685. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lv3.js +33 -9
  686. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_mk2.js +183 -18
  687. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_mk3.js +31 -7
  688. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ms2.js +183 -18
  689. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ms3.js +33 -9
  690. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_nl2.js +182 -17
  691. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_nl3.js +31 -7
  692. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_no2.js +182 -17
  693. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_no3.js +32 -8
  694. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pl2.js +182 -17
  695. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pl3.js +32 -8
  696. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt2.js +182 -17
  697. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt3.js +31 -7
  698. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt_PT2.js +182 -17
  699. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt_PT3.js +32 -8
  700. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ro2.js +182 -17
  701. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ro3.js +31 -7
  702. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ru2.js +183 -18
  703. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ru3.js +31 -7
  704. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sh2.js +182 -17
  705. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sh3.js +31 -7
  706. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sk2.js +182 -17
  707. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sk3.js +31 -7
  708. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sl2.js +185 -20
  709. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sl3.js +32 -8
  710. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sr2.js +182 -17
  711. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sr3.js +31 -7
  712. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sv2.js +182 -17
  713. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sv3.js +32 -8
  714. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_th2.js +182 -17
  715. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_th3.js +31 -7
  716. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_tr2.js +182 -17
  717. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_tr3.js +31 -7
  718. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_uk2.js +183 -18
  719. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_uk3.js +31 -7
  720. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_vi2.js +182 -17
  721. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_vi3.js +32 -8
  722. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_CN2.js +182 -17
  723. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_CN3.js +32 -8
  724. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_TW2.js +184 -19
  725. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_TW3.js +31 -7
  726. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css10.js +1 -1
  727. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css11.js +1 -1
  728. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css12.js +1 -1
  729. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css13.js +1 -1
  730. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css14.js +1 -1
  731. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css15.js +1 -1
  732. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css16.js +1 -1
  733. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css17.js +1 -1
  734. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css18.js +1 -1
  735. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css19.js +1 -1
  736. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css20.js +1 -1
  737. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css21.js +1 -1
  738. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css22.js +1 -1
  739. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css23.js +1 -1
  740. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css24.js +1 -1
  741. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css25.js +1 -1
  742. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css26.js +7 -0
  743. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css3.js +1 -1
  744. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css4.js +1 -1
  745. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css5.js +1 -1
  746. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css6.js +1 -1
  747. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css7.js +1 -1
  748. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css8.js +1 -1
  749. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css9.js +1 -1
  750. package/src/main/js/sap/ushell/thirdparty/encodeXML.js +87 -0
  751. package/src/main/js/sap/ushell/thirdparty/generateHighlightedMarkup.js +9 -0
  752. package/src/main/js/sap/ushell/thirdparty/i18n-defaults.js +157 -149
  753. package/src/main/js/sap/ushell/thirdparty/i18n-defaults2.js +18 -0
  754. package/src/main/js/sap/ushell/thirdparty/information.js +10 -13
  755. package/src/main/js/sap/ushell/thirdparty/information2.js +13 -0
  756. package/src/main/js/sap/ushell/thirdparty/overflow.js +16 -36
  757. package/src/main/js/sap/ushell/thirdparty/parameters-bundle.css.js +40 -4
  758. package/src/main/js/sap/ushell/thirdparty/parameters-bundle.css2.js +8 -0
  759. package/src/main/js/sap/ushell/thirdparty/query.js +1 -4
  760. package/src/main/js/sap/ushell/thirdparty/slim-arrow-down.js +44 -0
  761. package/src/main/js/sap/ushell/thirdparty/sys-enter-2.js +7 -0
  762. package/src/main/js/sap/ushell/thirdparty/toLowercaseEnumValue.js +0 -8
  763. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-icons/AllIcons.js +2 -2
  764. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-icons-business-suite/AllIcons.js +2 -2
  765. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-icons-tnt/AllIcons.js +2 -2
  766. package/src/main/js/sap/ushell/thirdparty/webcomponents-base.js +96 -79
  767. package/src/main/js/sap/ushell/thirdparty/webcomponents-fiori.js +14 -14
  768. package/src/main/js/sap/ushell/thirdparty/webcomponents.js +29 -29
  769. package/src/main/js/sap/ushell/thirdparty/willShowContent.js +7 -0
  770. package/src/main/js/sap/ushell/ui/ShellHeader.js +0 -1
  771. package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +1 -1
  772. package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
  773. package/src/main/js/sap/ushell/ui/launchpad/Section.js +1 -1
  774. package/src/main/js/sap/ushell/ui/launchpad/VizInstance.js +6 -1
  775. package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +1 -1
  776. package/src/main/js/sap/ushell/ui/shell/ShellAppTitle.js +1 -0
  777. package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +5 -2
  778. package/src/main/js/sap/ushell/ui/utils.js +1 -1
  779. package/src/main/js/sap/ushell/ui5service/ShellUIServiceFactory.js +1 -1
  780. package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
  781. package/src/main/js/sap/ushell/utils/UrlShortening.js +1 -1
  782. package/src/main/js/sap/ushell/utils/workpage/WorkPageHost.js +1 -1
  783. package/src/main/js/sap/ushell/utils/workpage/WorkPageService.js +1 -1
  784. package/src/main/js/sap/ushell/utils/workpage/WorkPageVizInstantiation.js +1 -1
  785. package/src/main/js/sap/ushell/utils.js +32 -1
  786. package/src/test/js/sap/ushell/bootstrap/sandbox.js +1 -1
  787. package/ui5.yaml +2 -0
  788. package/src/main/js/sap/ushell/thirdparty/ListItemTemplate.js +0 -3920
  789. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css2.js +0 -7
  790. /package/src/main/js/sap/ushell/components/shell/SearchCEP/{SearchFieldFragment.fragment.xml → SearchField.fragment.xml} +0 -0
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  "sap/ui/performance/Measurement",
37
37
  "sap/ushell/Config",
38
38
  "sap/ushell/Container"
39
- ], function (
39
+ ], (
40
40
  jQuery,
41
41
  Core,
42
42
  Theming,
@@ -67,13 +67,13 @@ sap.ui.define([
67
67
  Measurement,
68
68
  Config,
69
69
  Container
70
- ) {
70
+ ) => {
71
71
  "use strict";
72
72
 
73
73
  // shortcut for sap.m.GenericTileScope
74
- var GenericTileScope = mobileLibrary.GenericTileScope;
74
+ const GenericTileScope = mobileLibrary.GenericTileScope;
75
75
 
76
- var analyticsConstants = {
76
+ const analyticsConstants = {
77
77
  PERSONALIZATION: "FLP: Personalization",
78
78
  RENAME_GROUP: "FLP: Rename Group",
79
79
  MOVE_GROUP: "FLP: Move Group",
@@ -84,10 +84,10 @@ sap.ui.define([
84
84
  MOVE_TILE: "FLP: Move Tile"
85
85
  };
86
86
 
87
- var aDoables = [];
87
+ const aDoables = [];
88
88
 
89
- var oHomepageManagerInstance;
90
- var oHomepageManager = BaseObject.extend("sap.ushell.components.HomepageManager", {
89
+ let oHomepageManagerInstance;
90
+ const oHomepageManager = BaseObject.extend("sap.ushell.components.HomepageManager", {
91
91
  metadata: {
92
92
  publicMethods: [
93
93
  "getModel",
@@ -111,13 +111,13 @@ sap.ui.define([
111
111
  }
112
112
 
113
113
  this.oServiceLoadingPromise = Container.getServiceAsync("FlpLaunchPage")
114
- .then(function (oLaunchPageService) {
114
+ .then((oLaunchPageService) => {
115
115
  this.oPageBuilderService = oLaunchPageService;
116
116
  // add Remove action for all tiles
117
117
  this.oPageBuilderService.registerTileActionsProvider(this._addFLPActionsToTile.bind(this));
118
118
  this.oPageOperationAdapter = PersistentPageOperationAdapter.getInstance(oLaunchPageService);
119
119
  this.bLinkPersonalizationSupported = this.oPageOperationAdapter.isLinkPersonalizationSupported();
120
- }.bind(this));
120
+ });
121
121
 
122
122
  // when the core theme changes, it's required to calculate again, which tiles are visible. In case of
123
123
  // dynamic tiles, a request should be triggered. In some cases it can happen, that the tile visibility
@@ -150,24 +150,24 @@ sap.ui.define([
150
150
  });
151
151
  // get 'home' view from the router
152
152
  if (this.oRouter) {
153
- var oTarget = this.oRouter.getTarget("home");
154
- oTarget.attachDisplay(function (oEvent) {
153
+ const oTarget = this.oRouter.getTarget("home");
154
+ oTarget.attachDisplay((oEvent) => {
155
155
  this.oDashboardView = oEvent.getParameter("view");
156
- }.bind(this));
156
+ });
157
157
  }
158
158
  // Workaround:
159
159
  // Event hub emits event when we register. It emits value 'false' and without the workaround it would trigger
160
160
  // loading of the content again. So we keep the value when we register.
161
161
 
162
- var bEnableTransientMode = oShellConfig.last("/core/home/enableTransientMode");
162
+ let bEnableTransientMode = oShellConfig.last("/core/home/enableTransientMode");
163
163
  aDoables.push(oShellConfig.on("/core/home/enableTransientMode").do(
164
- function (bNewEnableTransientMode) {
164
+ (bNewEnableTransientMode) => {
165
165
  if (bEnableTransientMode === bNewEnableTransientMode) {
166
166
  return;
167
167
  }
168
168
  bEnableTransientMode = bNewEnableTransientMode;
169
169
  this._changeMode(bNewEnableTransientMode);
170
- }.bind(this)
170
+ }
171
171
  ));
172
172
 
173
173
  this.oModel.bindProperty("/tileActionModeActive").attachChange(this._changeLinksScope.bind(this));
@@ -200,7 +200,7 @@ sap.ui.define([
200
200
  },
201
201
 
202
202
  isBlindLoading: function () {
203
- var homePageGroupDisplay = oShellConfig.last("/core/home/homePageGroupDisplay");
203
+ const homePageGroupDisplay = oShellConfig.last("/core/home/homePageGroupDisplay");
204
204
  if ((homePageGroupDisplay === undefined || homePageGroupDisplay === "scroll") && this.bIsScrollModeAccordingKPI) {
205
205
  Log.info("isBlindLoading reason IsScrollModeAccordingKPI and IsScrollMode: true");
206
206
  return true;
@@ -213,18 +213,18 @@ sap.ui.define([
213
213
  },
214
214
 
215
215
  createMoveActionDialog: function (sId) {
216
- var oMoveDialog = new SelectDialog(sId, {
216
+ const oMoveDialog = new SelectDialog(sId, {
217
217
  title: oResources.i18n.getText("moveTileDialog_title"),
218
218
  rememberSelections: false,
219
219
  // search: a search handler is attached by the calling function
220
220
  contentWidth: "400px",
221
221
  contentHeight: "auto",
222
222
  confirm: function (oEvent) {
223
- var aContexts = oEvent.getParameter("selectedContexts");
223
+ const aContexts = oEvent.getParameter("selectedContexts");
224
224
  this.publishMoveActionEvents(aContexts, sId);
225
225
  }.bind(this),
226
226
  cancel: function () {
227
- var oCurrentlyFocusedTile = document.querySelector(".sapUshellTile[tabindex=\"0\"]");
227
+ const oCurrentlyFocusedTile = document.querySelector(".sapUshellTile[tabindex=\"0\"]");
228
228
  if (oCurrentlyFocusedTile) {
229
229
  oCurrentlyFocusedTile.focus();
230
230
  }
@@ -241,11 +241,11 @@ sap.ui.define([
241
241
  },
242
242
 
243
243
  publishMoveActionEvents: function (aContexts, sSource) {
244
- var oEventBus = Core.getEventBus();
244
+ const oEventBus = Core.getEventBus();
245
245
  if (aContexts.length) {
246
- var stileType = this.tileType === "link" ? "links" : "tiles";
247
- var sGroupId = aContexts[0].getObject().groupId;
248
- var oEventData = {
246
+ const stileType = this.tileType === "link" ? "links" : "tiles";
247
+ const sGroupId = aContexts[0].getObject().groupId;
248
+ const oEventData = {
249
249
  sTileId: this.tileUuid,
250
250
  sToItems: stileType,
251
251
  sFromItems: stileType,
@@ -256,8 +256,8 @@ sap.ui.define([
256
256
  };
257
257
 
258
258
  if (Device.system.desktop) {
259
- sap.ui.require(["sap/ushell/components/ComponentKeysHandler"], function (ComponentKeysHandler) {
260
- ComponentKeysHandler.getInstance().then(function (ComponentKeysHandlerInstance) {
259
+ sap.ui.require(["sap/ushell/components/ComponentKeysHandler"], (ComponentKeysHandler) => {
260
+ ComponentKeysHandler.getInstance().then((ComponentKeysHandlerInstance) => {
261
261
  oEventData.callBack = ComponentKeysHandlerInstance.callbackSetFocus.bind(ComponentKeysHandlerInstance);
262
262
  oEventBus.publish("launchpad", "scrollToGroup", { groupId: sGroupId });
263
263
  oEventBus.publish("launchpad", "movetile", oEventData);
@@ -271,10 +271,10 @@ sap.ui.define([
271
271
  },
272
272
 
273
273
  _changeLinksScope: function (oEvent) {
274
- var that = this;
274
+ const that = this;
275
275
  if (this.bLinkPersonalizationSupported) {
276
- var bIsTileActionModeActive = oEvent.getSource().getValue();
277
- this.oModel.getProperty("/groups").forEach(function (oGroup, index) {
276
+ const bIsTileActionModeActive = oEvent.getSource().getValue();
277
+ this.oModel.getProperty("/groups").forEach((oGroup, index) => {
278
278
  if (!oGroup.isGroupLocked) {
279
279
  that._changeGroupLinksScope(oGroup, bIsTileActionModeActive ? "Actions" : "Display");
280
280
  }
@@ -283,15 +283,15 @@ sap.ui.define([
283
283
  },
284
284
 
285
285
  _changeGroupLinksScope: function (oGroup, scope) {
286
- var that = this;
286
+ const that = this;
287
287
 
288
- oGroup.links.forEach(function (oLink, index) {
288
+ oGroup.links.forEach((oLink, index) => {
289
289
  that._changeLinkScope(oLink.content[0], scope);
290
290
  });
291
291
  },
292
292
 
293
293
  _changeLinkScope: function (oLink, scope) {
294
- var oLinkView;
294
+ let oLinkView;
295
295
  if (oLink.getScope) {
296
296
  oLinkView = oLink;
297
297
  } else if (oLink.getContent) { // hack for demo content
@@ -305,7 +305,7 @@ sap.ui.define([
305
305
  },
306
306
 
307
307
  registerEvents: function () {
308
- var oEventBus = Core.getEventBus();
308
+ const oEventBus = Core.getEventBus();
309
309
  oEventBus.subscribe("launchpad", "addBookmarkTile", this._createBookmark, this);
310
310
  oEventBus.subscribe("launchpad", "tabSelected", this.getSegmentTabContentViews, this);
311
311
  oEventBus.subscribe("sap.ushell.services.Bookmark", "bookmarkTileAdded", this._addBookmarkToModel, this);
@@ -327,11 +327,11 @@ sap.ui.define([
327
327
  },
328
328
 
329
329
  _changeMode: function (bTransientMode) {
330
- var aGroups = this.getModel().getProperty("/groups");
330
+ const aGroups = this.getModel().getProperty("/groups");
331
331
  if (bTransientMode) {
332
332
  this.oPageOperationAdapter = TransientPageOperationAdapter.getInstance();
333
333
  // remove all references to server object
334
- var aTransformedGroupModel = this.oPageOperationAdapter.transformGroupModel(aGroups);
334
+ const aTransformedGroupModel = this.oPageOperationAdapter.transformGroupModel(aGroups);
335
335
  this.getModel().setProperty("/groups", aTransformedGroupModel);
336
336
  } else {
337
337
  this.oPageOperationAdapter = PersistentPageOperationAdapter.getInstance();
@@ -343,9 +343,9 @@ sap.ui.define([
343
343
  },
344
344
 
345
345
  _addFLPActionsToTile: function (oTile) {
346
- var aActions = [];
346
+ const aActions = [];
347
347
  if (oShellConfig.last("/core/shell/enablePersonalization")) {
348
- var bLinkPersonalizationSupportedForTile = this.bLinkPersonalizationSupported
348
+ const bLinkPersonalizationSupportedForTile = this.bLinkPersonalizationSupported
349
349
  && this.oPageOperationAdapter.isLinkPersonalizationSupported(oTile);
350
350
  aActions.push(this._getMoveTileAction(oTile));
351
351
 
@@ -362,25 +362,25 @@ sap.ui.define([
362
362
  * @since 1.107.0
363
363
  */
364
364
  getPersonalizableGroups: function () {
365
- var aGroups = this.getModel().getProperty("/groups");
366
- return aGroups.filter(function (oGroup) {
365
+ const aGroups = this.getModel().getProperty("/groups");
366
+ return aGroups.filter((oGroup) => {
367
367
  return !oGroup.isGroupLocked;
368
368
  });
369
369
  },
370
370
 
371
371
  _getConvertTileAction: function (oTile) {
372
- var oEventBus = Core.getEventBus();
373
- var sTileType = this.oPageOperationAdapter.getTileType(oTile);
374
- var sKey = ((sTileType === "tile") ? "ConvertToLink" : "ConvertToTile");
372
+ const oEventBus = Core.getEventBus();
373
+ const sTileType = this.oPageOperationAdapter.getTileType(oTile);
374
+ const sKey = ((sTileType === "tile") ? "ConvertToLink" : "ConvertToTile");
375
375
  return {
376
376
  id: sKey,
377
377
  text: oResources.i18n.getText(sKey),
378
378
  press: function (oSourceTile) {
379
- var oConvertInfo = { tile: oSourceTile };
379
+ const oConvertInfo = { tile: oSourceTile };
380
380
 
381
381
  if (Device.system.desktop) {
382
- sap.ui.require(["sap/ushell/components/ComponentKeysHandler"], function (ComponentKeysHandler) {
383
- ComponentKeysHandler.getInstance().then(function (ComponentKeysHandlerInstance) {
382
+ sap.ui.require(["sap/ushell/components/ComponentKeysHandler"], (ComponentKeysHandler) => {
383
+ ComponentKeysHandler.getInstance().then((ComponentKeysHandlerInstance) => {
384
384
  oConvertInfo.callBack = ComponentKeysHandlerInstance.callbackSetFocus.bind(ComponentKeysHandlerInstance);
385
385
  oEventBus.publish("launchpad", "convertTile", oConvertInfo);
386
386
  });
@@ -393,26 +393,26 @@ sap.ui.define([
393
393
  },
394
394
 
395
395
  _getMoveTileAction: function (oTile) {
396
- var sKey = "moveTile_action";
396
+ const sKey = "moveTile_action";
397
397
  return {
398
398
  id: sKey,
399
399
  text: oResources.i18n.getText(sKey),
400
400
  press: function (oPressedTile) {
401
401
  this.tileType = this.oPageOperationAdapter.getTileType(oTile);
402
- var bIsTile = (this.tileType === "tile");
402
+ const bIsTile = (this.tileType === "tile");
403
403
  this.tileUuid = this.getModelTileById(this.oPageOperationAdapter.getTileId(oTile), (bIsTile ? "tiles" : "links")).uuid;
404
- var sGroupId = oPressedTile.getParent().getProperty("groupId");
405
- var oSameGroupFilter = new Filter("groupId", FilterOperator.NE, sGroupId);
406
- var fnSearchHandler = function (oEvent) {
407
- var sValue = oEvent.getParameter("value");
408
- var oFilter = new Filter("title", FilterOperator.Contains, sValue);
409
- var oBinding = oEvent.getSource().getBinding("items");
404
+ const sGroupId = oPressedTile.getParent().getProperty("groupId");
405
+ const oSameGroupFilter = new Filter("groupId", FilterOperator.NE, sGroupId);
406
+ const fnSearchHandler = function (oEvent) {
407
+ const sValue = oEvent.getParameter("value");
408
+ const oFilter = new Filter("title", FilterOperator.Contains, sValue);
409
+ const oBinding = oEvent.getSource().getBinding("items");
410
410
  oBinding.filter([oFilter, this.oGroupNotLockedFilter, oSameGroupFilter]);
411
411
  }.bind(this);
412
412
 
413
- var oMoveDialog = (bIsTile ? this.moveTileDialog : this.moveLinkDialog);
413
+ let oMoveDialog = (bIsTile ? this.moveTileDialog : this.moveLinkDialog);
414
414
  if (!oMoveDialog) {
415
- oMoveDialog = this.createMoveActionDialog("move" + this.tileType + "Dialog");
415
+ oMoveDialog = this.createMoveActionDialog(`move${this.tileType}Dialog`);
416
416
  oMoveDialog.setModel(this.oModel);
417
417
  if (bIsTile) {
418
418
  this.moveTileDialog = oMoveDialog;
@@ -434,11 +434,11 @@ sap.ui.define([
434
434
  if (!oSourceTile) {
435
435
  return;
436
436
  }
437
- var pfx = ["webkit", ""];
437
+ const pfx = ["webkit", ""];
438
438
  function prefixedEvent (element, type) {
439
- for (var i = 0; i < pfx.length; i++) {
439
+ for (let i = 0; i < pfx.length; i++) {
440
440
  type = type.toLowerCase();
441
- oSourceTile.attachBrowserEvent(pfx[i] + type, function (oEvent) {
441
+ oSourceTile.attachBrowserEvent(pfx[i] + type, (oEvent) => {
442
442
  if (oEvent.originalEvent && oEvent.originalEvent.animationName === "sapUshellTileEntranceAnimation") {
443
443
  oSourceTile.removeStyleClass("sapUshellTileEntrance");
444
444
  }
@@ -450,7 +450,7 @@ sap.ui.define([
450
450
  },
451
451
 
452
452
  destroy: function () {
453
- var oEventBus = Core.getEventBus();
453
+ const oEventBus = Core.getEventBus();
454
454
  oEventBus.unsubscribe("launchpad", "addBookmarkTile", this._createBookmark, this);
455
455
  oEventBus.unsubscribe("launchpad", "loadDashboardGroups", this.loadPersonalizedGroups, this);
456
456
  oEventBus.unsubscribe("launchpad", "createGroupAt", this._createGroupAt, this);
@@ -465,7 +465,7 @@ sap.ui.define([
465
465
  oEventBus.unsubscribe("launchpad", "dashboardModelContentLoaded", this._modelLoaded, this);
466
466
  Theming.detachApplied(oUtils.handleTilesVisibility);
467
467
 
468
- aDoables.forEach(function (oDoable) {
468
+ aDoables.forEach((oDoable) => {
469
469
  oDoable.off();
470
470
  });
471
471
 
@@ -481,18 +481,18 @@ sap.ui.define([
481
481
  },
482
482
 
483
483
  _createBookmark: function (sChannelId, sEventId, oData) {
484
- var tileGroup = oData.group ? oData.group.object : "";
484
+ const tileGroup = oData.group ? oData.group.object : "";
485
485
 
486
486
  delete oData.group;
487
487
 
488
488
  function addBookmark () {
489
- Container.getServiceAsync("BookmarkV2").then(function (oBookmarkService) {
489
+ Container.getServiceAsync("BookmarkV2").then((oBookmarkService) => {
490
490
  oBookmarkService.addBookmark(oData, tileGroup)
491
- .then(function () {
491
+ .then(() => {
492
492
  // the tile is added to our model in "_addBookmarkToModel" here we just show the success toast.
493
493
  oMessagingHelper.showLocalizedMessage("tile_created_msg");
494
494
  })
495
- .catch(function (sMsg) {
495
+ .catch((sMsg) => {
496
496
  Log.error(
497
497
  "Failed to add bookmark",
498
498
  sMsg,
@@ -501,7 +501,7 @@ sap.ui.define([
501
501
  oMessagingHelper.showLocalizedError("fail_to_add_tile_msg");
502
502
  })
503
503
  .finally(this._checkRequestQueue.bind(this));
504
- }.bind(this));
504
+ });
505
505
  }
506
506
 
507
507
  this._addRequest(addBookmark.bind(this));
@@ -513,10 +513,14 @@ sap.ui.define([
513
513
  * This function will be called also if an application used the bookmark service directly to add a bookmark.
514
514
  * the bookmark service publishes an event so that we will be able to update the model.
515
515
  * This method doesn't display a success toast since the application should show success or failure messages
516
+ *
517
+ * @param {string} sChannelId the channel id.
518
+ * @param {string} sEventId the event id.
519
+ * @param {object} oData the event data.
516
520
  */
517
521
  _addBookmarkToModel: function (sChannelId, sEventId, oData) {
518
- var oTile = oData.tile;
519
- var oGroup = oData.group;
522
+ const oTile = oData.tile;
523
+ let oGroup = oData.group;
520
524
 
521
525
  if (!oData || !oTile) {
522
526
  this.bIsGroupsModelDirty = true;
@@ -528,8 +532,8 @@ sap.ui.define([
528
532
 
529
533
  // If no group was specified then the target group is the default one.
530
534
  if (!oGroup) {
531
- var aGroups = this.getModel().getProperty("/groups");
532
- for (var iIndex = 0; iIndex < aGroups.length; iIndex++) {
535
+ const aGroups = this.getModel().getProperty("/groups");
536
+ for (let iIndex = 0; iIndex < aGroups.length; iIndex++) {
533
537
  if (aGroups[iIndex].isDefaultGroup === true) {
534
538
  oGroup = aGroups[iIndex].object;
535
539
  break;
@@ -539,36 +543,36 @@ sap.ui.define([
539
543
 
540
544
  // The create bookmark popup should not contain the locked groups anyway,
541
545
  // so this call not suppose to happen for a target locked group (we may as well always send false)
542
- var indexOfGroup = this._getIndexOfGroupByObject(oGroup);
543
- var targetGroup = this.oModel.getProperty("/groups/" + indexOfGroup);
544
- var newTile = this.oPageOperationAdapter.getPreparedTileModel(oTile, targetGroup.isGroupLocked);
546
+ const indexOfGroup = this._getIndexOfGroupByObject(oGroup);
547
+ const targetGroup = this.oModel.getProperty(`/groups/${indexOfGroup}`);
548
+ const newTile = this.oPageOperationAdapter.getPreparedTileModel(oTile, targetGroup.isGroupLocked);
545
549
  this.getTileView(newTile);
546
550
 
547
551
  // The function calcVisibilityModes requires the group from the model
548
552
  targetGroup.tiles.push(newTile);
549
553
  targetGroup.visibilityModes = oUtils.calcVisibilityModes(targetGroup, true);
550
- var iNumTiles = targetGroup.tiles.length;
554
+ const iNumTiles = targetGroup.tiles.length;
551
555
  this._updateModelWithTileView(indexOfGroup, iNumTiles);
552
556
 
553
- this.oModel.setProperty("/groups/" + indexOfGroup, targetGroup);
557
+ this.oModel.setProperty(`/groups/${indexOfGroup}`, targetGroup);
554
558
  },
555
559
 
556
560
  _refreshGroupInModel: function (sChannelId, sEventId, sGroupId) {
557
- var that = this;
561
+ const that = this;
558
562
 
559
563
  this.oPageOperationAdapter.refreshGroup(sGroupId).then(
560
- function (oGroupModel) {
564
+ (oGroupModel) => {
561
565
  if (!oGroupModel) {
562
566
  return;
563
567
  }
564
- var indexOfGroup = that._getIndexOfGroupByObject(oGroupModel.object);
568
+ const indexOfGroup = that._getIndexOfGroupByObject(oGroupModel.object);
565
569
 
566
570
  oGroupModel.visibilityModes = oUtils.calcVisibilityModes(oGroupModel.object, true);
567
- that.oModel.setProperty("/groups/" + indexOfGroup, oGroupModel);
571
+ that.oModel.setProperty(`/groups/${indexOfGroup}`, oGroupModel);
568
572
 
569
573
  // The old group tiles are lost, get the tile views
570
574
  if (oGroupModel.tiles) {
571
- oGroupModel.tiles.forEach(function (tile) {
575
+ oGroupModel.tiles.forEach((tile) => {
572
576
  that.getTileView(tile);
573
577
  });
574
578
  }
@@ -582,8 +586,8 @@ sap.ui.define([
582
586
 
583
587
  _handleAfterSortable: function (fFunc) {
584
588
  return function () {
585
- var outerArgs = Array.prototype.slice.call(arguments);
586
- this.oSortableDeferred.done(function () {
589
+ const outerArgs = Array.prototype.slice.call(arguments);
590
+ this.oSortableDeferred.done(() => {
587
591
  fFunc.apply(null, outerArgs);
588
592
  });
589
593
  }.bind(this);
@@ -593,13 +597,17 @@ sap.ui.define([
593
597
  * oData should have the following parameters:
594
598
  * title
595
599
  * location
600
+ *
601
+ * @param {string} sChannelId the channel id.
602
+ * @param {string} sEventId the event id.
603
+ * @param {object} oData the event data.
596
604
  */
597
605
  _createGroupAt: function (sChannelId, sEventId, oData) {
598
- var newGroupIndex = parseInt(oData.location, 10);
599
- var aGroups = this.oModel.getProperty("/groups");
600
- var oGroup = this.oPageOperationAdapter.getPreparedGroupModel(null, false, newGroupIndex === aGroups.length, oData);
601
- var oModel = this.oModel;
602
- var i;
606
+ const newGroupIndex = parseInt(oData.location, 10);
607
+ const aGroups = this.oModel.getProperty("/groups");
608
+ const oGroup = this.oPageOperationAdapter.getPreparedGroupModel(null, false, newGroupIndex === aGroups.length, oData);
609
+ const oModel = this.oModel;
610
+ let i;
603
611
 
604
612
  oGroup.index = newGroupIndex;
605
613
 
@@ -616,7 +624,7 @@ sap.ui.define([
616
624
  },
617
625
 
618
626
  _getIndexOfGroupByObject: function (oServerGroupObject) {
619
- var aGroups = this.oModel.getProperty("/groups");
627
+ const aGroups = this.oModel.getProperty("/groups");
620
628
  return this.oPageOperationAdapter.getIndexOfGroup(aGroups, oServerGroupObject);
621
629
  },
622
630
 
@@ -625,14 +633,14 @@ sap.ui.define([
625
633
  },
626
634
 
627
635
  addTileToGroup: function (sGroupPath, oTile) {
628
- var sTilePath = sGroupPath + "/tiles";
629
- var oGroup = this.oModel.getProperty(sGroupPath);
630
- var iNumTiles = this.oModel.getProperty(sTilePath).length;
636
+ const sTilePath = `${sGroupPath}/tiles`;
637
+ const oGroup = this.oModel.getProperty(sGroupPath);
638
+ const iNumTiles = this.oModel.getProperty(sTilePath).length;
631
639
 
632
640
  // Locked groups cannot be added with tiles,
633
641
  // so the target group will not be locked, however just for safety we will check the target group locking state
634
- var isGroupLocked = this.oModel.getProperty(sGroupPath + "/isGroupLocked");
635
- var personalization = this.oModel.getProperty("/personalization");
642
+ const isGroupLocked = this.oModel.getProperty(`${sGroupPath}/isGroupLocked`);
643
+ const personalization = this.oModel.getProperty("/personalization");
636
644
 
637
645
  oGroup.tiles[iNumTiles] = this.oPageOperationAdapter.getPreparedTileModel(oTile, isGroupLocked);
638
646
  this.getTileView(oGroup.tiles[iNumTiles]);
@@ -648,9 +656,9 @@ sap.ui.define([
648
656
  * @param {string[]} aCatalogTileIds Array of catalog tile ids
649
657
  */
650
658
  addTilesToGroupByCatalogTileId: function (oGroup, aCatalogTileIds) {
651
- var oGroupContext = oGroup.getBindingContext();
659
+ const oGroupContext = oGroup.getBindingContext();
652
660
 
653
- for (var i = 0; i < aCatalogTileIds.length; i++) {
661
+ for (let i = 0; i < aCatalogTileIds.length; i++) {
654
662
  this.addTileToGroupByCatalogTileId(oGroupContext.sPath, aCatalogTileIds[i]);
655
663
  }
656
664
  },
@@ -660,34 +668,34 @@ sap.ui.define([
660
668
  return;
661
669
  }
662
670
 
663
- var oTileModel = this.oPageOperationAdapter.getTileModelByCatalogTileId(sCatalogTileId);
671
+ const oTileModel = this.oPageOperationAdapter.getTileModelByCatalogTileId(sCatalogTileId);
664
672
 
665
673
  if (!oTileModel) {
666
674
  return;
667
675
  }
668
676
  this.oDashboardLoadingManager.setTileResolved(oTileModel);
669
- var iNumTiles = this.oModel.getProperty(sGroupPath + "/tiles").length;
670
- var oGroupModel = this.oModel.getProperty(sGroupPath);
677
+ const iNumTiles = this.oModel.getProperty(`${sGroupPath}/tiles`).length;
678
+ const oGroupModel = this.oModel.getProperty(sGroupPath);
671
679
  oGroupModel.tiles[iNumTiles] = oTileModel;
672
680
  this.oModel.setProperty(sGroupPath, oGroupModel);
673
681
  },
674
682
 
675
683
  _getPathOfTile: function (sTileId) {
676
- var aGroups = this.oModel.getProperty("/groups");
684
+ const aGroups = this.oModel.getProperty("/groups");
677
685
 
678
- for (var nGroupIndex = 0; nGroupIndex < aGroups.length; ++nGroupIndex) {
679
- var oGroup = aGroups[nGroupIndex];
680
- var aTiles = oGroup.tiles;
681
- var aLinks = oGroup.links;
686
+ for (let nGroupIndex = 0; nGroupIndex < aGroups.length; ++nGroupIndex) {
687
+ const oGroup = aGroups[nGroupIndex];
688
+ const aTiles = oGroup.tiles;
689
+ const aLinks = oGroup.links;
682
690
 
683
- for (var nTileIndex = 0; nTileIndex < aTiles.length; ++nTileIndex) {
691
+ for (let nTileIndex = 0; nTileIndex < aTiles.length; ++nTileIndex) {
684
692
  if (aTiles[nTileIndex].uuid === sTileId) {
685
- return "/groups/" + nGroupIndex + "/tiles/" + nTileIndex;
693
+ return `/groups/${nGroupIndex}/tiles/${nTileIndex}`;
686
694
  }
687
695
  }
688
- for (var nLinkIndex = 0; nLinkIndex < aLinks.length; ++nLinkIndex) {
696
+ for (let nLinkIndex = 0; nLinkIndex < aLinks.length; ++nLinkIndex) {
689
697
  if (aLinks[nLinkIndex].uuid === sTileId) {
690
- return "/groups/" + nGroupIndex + "/links/" + nLinkIndex;
698
+ return `/groups/${nGroupIndex}/links/${nLinkIndex}`;
691
699
  }
692
700
  }
693
701
  }
@@ -698,7 +706,7 @@ sap.ui.define([
698
706
  // see http://stackoverflow.com/questions/5306680/move-an-array-element-from-one-array-position-to-another
699
707
  _moveInArray: function (aArray, nFromIndex, nToIndex) {
700
708
  if (nToIndex >= aArray.length) {
701
- var k = nToIndex - aArray.length;
709
+ let k = nToIndex - aArray.length;
702
710
  while ((k--) + 1) {
703
711
  aArray.push(undefined);
704
712
  }
@@ -707,7 +715,7 @@ sap.ui.define([
707
715
  },
708
716
 
709
717
  _updateGroupIndices: function (aArray) {
710
- for (var k = 0; k < aArray.length; k++) {
718
+ for (let k = 0; k < aArray.length; k++) {
711
719
  aArray[k].index = k;
712
720
  }
713
721
  },
@@ -715,28 +723,32 @@ sap.ui.define([
715
723
  /**
716
724
  * oData should have the following parameters
717
725
  * groupId
726
+ *
727
+ * @param {string} sChannelId the channel id.
728
+ * @param {string} sEventId the event id.
729
+ * @param {object} oData the event data.
718
730
  */
719
731
  _deleteGroup: function (sChannelId, sEventId, oData) {
720
- var oModel = this.oModel;
721
- var sGroupId = oData.groupId;
722
- var aGroups = oModel.getProperty("/groups");
723
- var nGroupIndex = oGroupsHelper.getIndexOfGroup(aGroups, sGroupId);
724
- var bIsLast = aGroups.length - 1 === nGroupIndex;
725
-
726
- var nextSelectedItemIndex = bIsLast ? nGroupIndex - 1 : nGroupIndex;
727
- oDestroyHelper.destroyFLPAggregationModel(oModel.getProperty("/groups/" + nGroupIndex));
732
+ const oModel = this.oModel;
733
+ const sGroupId = oData.groupId;
734
+ const aGroups = oModel.getProperty("/groups");
735
+ const nGroupIndex = oGroupsHelper.getIndexOfGroup(aGroups, sGroupId);
736
+ const bIsLast = aGroups.length - 1 === nGroupIndex;
737
+
738
+ const nextSelectedItemIndex = bIsLast ? nGroupIndex - 1 : nGroupIndex;
739
+ oDestroyHelper.destroyFLPAggregationModel(oModel.getProperty(`/groups/${nGroupIndex}`));
728
740
  // remove deleted group from the model
729
- var oDeletedGroupModel = aGroups.splice(nGroupIndex, 1)[0];
741
+ const oDeletedGroupModel = aGroups.splice(nGroupIndex, 1)[0];
730
742
 
731
743
  if (bIsLast) {
732
- oModel.setProperty("/groups/" + nextSelectedItemIndex + "/isLastGroup", bIsLast);
744
+ oModel.setProperty(`/groups/${nextSelectedItemIndex}/isLastGroup`, bIsLast);
733
745
  }
734
746
 
735
747
  oModel.setProperty("/groups", aGroups);
736
748
  this._updateGroupIndices(aGroups);
737
749
 
738
750
  if (nextSelectedItemIndex >= 0) {
739
- window.setTimeout(function () {
751
+ window.setTimeout(() => {
740
752
  Core.getEventBus().publish("launchpad", "scrollToGroup", {
741
753
  groupId: oModel.getProperty("/groups")[nextSelectedItemIndex].groupId
742
754
  });
@@ -745,13 +757,13 @@ sap.ui.define([
745
757
 
746
758
  function deleteGroup () {
747
759
  this.oPageOperationAdapter.deleteGroup(oDeletedGroupModel).then(
748
- function () {
760
+ () => {
749
761
  oMessagingHelper.showLocalizedMessage("group_deleted_msg", [oDeletedGroupModel.title]);
750
762
  this._checkRequestQueue();
751
- }.bind(this),
752
- function () {
763
+ },
764
+ () => {
753
765
  this._resetGroupsOnFailure("fail_to_delete_group_msg");
754
- }.bind(this)
766
+ }
755
767
  );
756
768
  }
757
769
 
@@ -761,31 +773,35 @@ sap.ui.define([
761
773
  /**
762
774
  * oData should have the following parameters
763
775
  * groupId
776
+ *
777
+ * @param {string} sChannelId the channel id.
778
+ * @param {string} sEventId the event id.
779
+ * @param {object} oData the event data.
764
780
  */
765
781
  _resetGroup: function (sChannelId, sEventId, oData) {
766
- var that = this;
767
- var sGroupId = oData.groupId;
768
- var oModel = this.oModel;
769
- var aGroups = oModel.getProperty("/groups");
770
- var nGroupIndex = oGroupsHelper.getIndexOfGroup(aGroups, sGroupId);
771
- var bDefaultGroup = that.oModel.getProperty("/groups/indexOfDefaultGroup") === nGroupIndex;
772
- var oGroupModel = oModel.getProperty("/groups/" + nGroupIndex);
782
+ const that = this;
783
+ const sGroupId = oData.groupId;
784
+ const oModel = this.oModel;
785
+ const aGroups = oModel.getProperty("/groups");
786
+ const nGroupIndex = oGroupsHelper.getIndexOfGroup(aGroups, sGroupId);
787
+ const bDefaultGroup = that.oModel.getProperty("/groups/indexOfDefaultGroup") === nGroupIndex;
788
+ const oGroupModel = oModel.getProperty(`/groups/${nGroupIndex}`);
773
789
 
774
- oModel.setProperty("/groups/" + nGroupIndex + "/sortable", false);
790
+ oModel.setProperty(`/groups/${nGroupIndex}/sortable`, false);
775
791
 
776
792
  function resetGroup () {
777
793
  that.oPageOperationAdapter.resetGroup(oGroupModel, bDefaultGroup).then(
778
- function (oResetedObject) {
779
- that._handleAfterSortable(function (sGroupId, oOldGroupModel, oResetedGroupModel) {
780
- var aGroups = that.oModel.getProperty("/groups");
781
- var nGroupIndex = oGroupsHelper.getIndexOfGroup(aGroups, sGroupId);
794
+ (oResetedObject) => {
795
+ that._handleAfterSortable((sGroupId, oOldGroupModel, oResetedGroupModel) => {
796
+ const aGroups = that.oModel.getProperty("/groups");
797
+ const nGroupIndex = oGroupsHelper.getIndexOfGroup(aGroups, sGroupId);
782
798
 
783
799
  that._loadGroup(nGroupIndex, oResetedGroupModel || oOldGroupModel);
784
800
  oMessagingHelper.showLocalizedMessage("group_reset_msg", [oOldGroupModel.title]);
785
- that.oModel.setProperty("/groups/" + nGroupIndex + "/sortable", true);
801
+ that.oModel.setProperty(`/groups/${nGroupIndex}/sortable`, true);
786
802
 
787
- var oGroupControl = Core.byId("dashboardGroups").getGroupControlByGroupId(sGroupId);
788
- var oLinks = oGroupControl.getBindingContext().getObject().links;
803
+ const oGroupControl = Core.byId("dashboardGroups").getGroupControlByGroupId(sGroupId);
804
+ const oLinks = oGroupControl.getBindingContext().getObject().links;
789
805
 
790
806
  if (oLinks && oLinks.length && !oGroupControl.getIsGroupLocked()) {
791
807
  that._changeGroupLinksScope(
@@ -802,7 +818,7 @@ sap.ui.define([
802
818
  }
803
819
  })(sGroupId, oGroupModel, oResetedObject);
804
820
  that._checkRequestQueue();
805
- }, function () {
821
+ }, () => {
806
822
  that._resetGroupsOnFailure("fail_to_reset_group_msg");
807
823
  }
808
824
  );
@@ -814,6 +830,10 @@ sap.ui.define([
814
830
  * oData should have the following parameters
815
831
  * fromIndex
816
832
  * toIndex
833
+ *
834
+ * @param {string} sChannelId the channel id.
835
+ * @param {string} sEventId the event id.
836
+ * @param {object} oData the event data.
817
837
  */
818
838
  _moveGroup: function (sChannelId, sEventId, oData) {
819
839
  if (isNaN(oData.fromIndex)) {
@@ -821,12 +841,12 @@ sap.ui.define([
821
841
  return;
822
842
  }
823
843
 
824
- var iFromIndex = oData.fromIndex;
825
- var iToIndex = oData.toIndex;
826
- var oModel = this.oModel;
827
- var aGroups = oModel.getProperty("/groups");
828
- var bActionMode = oModel.getProperty("/tileActionModeActive");
829
- var that = this;
844
+ let iFromIndex = oData.fromIndex;
845
+ let iToIndex = oData.toIndex;
846
+ const oModel = this.oModel;
847
+ let aGroups = oModel.getProperty("/groups");
848
+ const bActionMode = oModel.getProperty("/tileActionModeActive");
849
+ const that = this;
830
850
 
831
851
  // Fix the indices to support hidden groups
832
852
  if (!bActionMode) {
@@ -834,32 +854,32 @@ sap.ui.define([
834
854
  }
835
855
 
836
856
  // Move var definition after fixing the from index.
837
- var oGroup = aGroups[iFromIndex];
838
- var sGroupId = oGroup.groupId;
857
+ const oGroup = aGroups[iFromIndex];
858
+ const sGroupId = oGroup.groupId;
839
859
  // Fix the to index accordingly
840
860
  if (!bActionMode) {
841
861
  iToIndex = this._adjustToGroupIndex(iToIndex, aGroups, sGroupId);
842
862
  }
843
863
 
844
- var oDestinationGroup = aGroups[iToIndex];
864
+ const oDestinationGroup = aGroups[iToIndex];
845
865
  this._moveInArray(aGroups, iFromIndex, iToIndex);
846
866
  this._updateGroupIndices(aGroups);
847
- for (var i = 0; i < aGroups.length - 1; i++) {
867
+ for (let i = 0; i < aGroups.length - 1; i++) {
848
868
  aGroups[i].isLastGroup = false;
849
869
  }
850
870
  aGroups[aGroups.length - 1].isLastGroup = true;
851
871
  oModel.setProperty("/groups", aGroups);
852
872
 
853
873
  function moveGroup () {
854
- aGroups = oModel.getProperty("/groups"); //Update aGroups. Can be change before callback
855
- var oGroup = oModel.getProperty(oGroupsHelper.getModelPathOfGroup(aGroups, sGroupId));
874
+ aGroups = oModel.getProperty("/groups"); // Update aGroups. Can be change before callback
875
+ const oGroup = oModel.getProperty(oGroupsHelper.getModelPathOfGroup(aGroups, sGroupId));
856
876
  if (!oGroup.object) {
857
877
  return;
858
878
  }
859
879
 
860
880
  that.oPageOperationAdapter.getOriginalGroupIndex(oDestinationGroup, aGroups).then(
861
- function (iIndexTo) {
862
- var oIndicesInModel = {
881
+ (iIndexTo) => {
882
+ const oIndicesInModel = {
863
883
  iFromIndex: iFromIndex,
864
884
  iToIndex: iToIndex
865
885
  };
@@ -867,7 +887,7 @@ sap.ui.define([
867
887
  }
868
888
  ).then(
869
889
  that._checkRequestQueue.bind(that),
870
- function () {
890
+ () => {
871
891
  that._resetGroupsOnFailure("fail_to_move_group_msg");
872
892
  }
873
893
  );
@@ -877,14 +897,18 @@ sap.ui.define([
877
897
  },
878
898
 
879
899
  /**
880
- * toIndex - The index in the UI of the required group new index. (it is not including the group itself)
881
- * groups - The list of groups in the model (including hidden and visible groups)
882
- * The function returns the new index to be used in the model - since there might be hidden groups that should be taken in account
900
+ * The function returns the new index to be used in the model - since there might be hidden groups,
901
+ * that should be taken in account
902
+ *
903
+ * @param {int} toIndex The index in the UI of the required group new index. (it is not including the group itself)
904
+ * @param {object[]} groups The list of groups in the model. (including hidden and visible groups)
905
+ * @param {int} groupId The group id.
906
+ * @returns {int} the new index to be used in the model.
883
907
  */
884
908
  _adjustToGroupIndex: function (toIndex, groups, groupId) {
885
- var visibleCounter = 0;
886
- var bIsGroupIncluded = false;
887
- var i = 0;
909
+ let visibleCounter = 0;
910
+ let bIsGroupIncluded = false;
911
+ let i;
888
912
  // In order to get the new index, count all groups (visible+hidden) up to the new index received from the UI.
889
913
  for (i = 0; i < groups.length && visibleCounter < toIndex; i++) {
890
914
  if (groups[i].isGroupVisible) {
@@ -902,8 +926,8 @@ sap.ui.define([
902
926
  },
903
927
 
904
928
  _adjustFromGroupIndex: function (index, groups) {
905
- var visibleGroupsCounter = 0;
906
- for (var i = 0; i < groups.length; i++) {
929
+ let visibleGroupsCounter = 0;
930
+ for (let i = 0; i < groups.length; i++) {
907
931
  if (groups[i].isGroupVisible) {
908
932
  visibleGroupsCounter++;
909
933
  }
@@ -919,47 +943,51 @@ sap.ui.define([
919
943
  * oData should have the following parameters
920
944
  * groupId
921
945
  * newTitle
946
+ *
947
+ * @param {string} sChannelId the channel id.
948
+ * @param {string} sEventId the event id.
949
+ * @param {object} oData the event data.
922
950
  */
923
951
  _changeGroupTitle: function (sChannelId, sEventId, oData) {
924
- var that = this;
925
- var sNewTitle = oData.newTitle;
926
- var aGroups = this.oModel.getProperty("/groups");
927
- var sModelGroupId = oData.groupId;
928
- var nGroupIndex = oGroupsHelper.getIndexOfGroup(aGroups, sModelGroupId);
929
- var bDefaultGroup = that.oModel.getProperty("/groups/indexOfDefaultGroup") === nGroupIndex;
930
- var oGroupModel = this.oModel.getProperty("/groups/" + nGroupIndex);
931
- var sOldTitle = oGroupModel.title;
952
+ const that = this;
953
+ const sNewTitle = oData.newTitle;
954
+ const aGroups = this.oModel.getProperty("/groups");
955
+ const sModelGroupId = oData.groupId;
956
+ const nGroupIndex = oGroupsHelper.getIndexOfGroup(aGroups, sModelGroupId);
957
+ const bDefaultGroup = that.oModel.getProperty("/groups/indexOfDefaultGroup") === nGroupIndex;
958
+ const oGroupModel = this.oModel.getProperty(`/groups/${nGroupIndex}`);
959
+ const sOldTitle = oGroupModel.title;
932
960
 
933
- this.oModel.setProperty("/groups/" + nGroupIndex + "/title", sNewTitle);
961
+ this.oModel.setProperty(`/groups/${nGroupIndex}/title`, sNewTitle);
934
962
 
935
963
  function addGroup () {
936
- var oAddGroupPromise;
964
+ let oAddGroupPromise;
937
965
  if (oGroupModel.isLastGroup) {
938
966
  oAddGroupPromise = that.oPageOperationAdapter.addGroupAt(oGroupModel, undefined, bDefaultGroup);
939
967
  } else {
940
- var oNextGroup = that.oModel.getProperty("/groups")[nGroupIndex + 1];
968
+ const oNextGroup = that.oModel.getProperty("/groups")[nGroupIndex + 1];
941
969
  // groups can be sorted in PageAdapter and have different order compare to the model
942
970
  // For this reason we need firstly get the correct index of the next group and then add new group before it.
943
971
  oAddGroupPromise = that.oPageOperationAdapter.getOriginalGroupIndex(oNextGroup, aGroups).then(
944
- function (iIndex) {
972
+ (iIndex) => {
945
973
  return that.oPageOperationAdapter.addGroupAt(oGroupModel, iIndex, bDefaultGroup);
946
974
  }
947
975
  );
948
976
  }
949
977
 
950
978
  oAddGroupPromise.then(
951
- function (oNewPreparedGroupModel) {
979
+ (oNewPreparedGroupModel) => {
952
980
  // Theoretically can be case that the server is slow and user start the dnd tiles.
953
- that._handleAfterSortable(function (sGroupId, oNewGroupModel) {
981
+ that._handleAfterSortable((sGroupId, oNewGroupModel) => {
954
982
  // group model can be changed
955
- var aUpdatedGroups = that.oModel.getProperty("/groups");
956
- var iGroupIndex = oGroupsHelper.getIndexOfGroup(aUpdatedGroups, sGroupId);
957
- var oOldGroupModel = aUpdatedGroups[iGroupIndex];
983
+ const aUpdatedGroups = that.oModel.getProperty("/groups");
984
+ const iGroupIndex = oGroupsHelper.getIndexOfGroup(aUpdatedGroups, sGroupId);
985
+ const oOldGroupModel = aUpdatedGroups[iGroupIndex];
958
986
 
959
987
  // The group might be already further personalized therefore update all properties
960
988
  // but the tiles and the links. Otherwise the tiles which were already added to model get removed
961
989
  // BCP: 2030578465
962
- Object.keys(oNewGroupModel).forEach(function (sKey) {
990
+ Object.keys(oNewGroupModel).forEach((sKey) => {
963
991
  if (sKey === "tiles" || sKey === "links") {
964
992
  return;
965
993
  }
@@ -969,7 +997,7 @@ sap.ui.define([
969
997
 
970
998
  that._checkRequestQueue();
971
999
  })(sModelGroupId, oNewPreparedGroupModel);
972
- }, function () {
1000
+ }, () => {
973
1001
  that._resetGroupsOnFailure("fail_to_create_group_msg");
974
1002
  }
975
1003
  );
@@ -977,9 +1005,9 @@ sap.ui.define([
977
1005
 
978
1006
  function renameGroup () {
979
1007
  this.oPageOperationAdapter.renameGroup(oGroupModel, sNewTitle, sOldTitle).then(
980
- function () {
1008
+ () => {
981
1009
  that._checkRequestQueue();
982
- }, function () {
1010
+ }, () => {
983
1011
  that._resetGroupsOnFailure("fail_to_rename_group_msg");
984
1012
  }
985
1013
  );
@@ -1004,9 +1032,9 @@ sap.ui.define([
1004
1032
  * @returns {object} The group context
1005
1033
  */
1006
1034
  addGroupToModel: function (oGroup) {
1007
- var oGroupModel = this.oPageOperationAdapter.getPreparedGroupModel(oGroup, false, true, { isRendered: true });
1008
- var aGroups = this.oModel.getProperty("/groups");
1009
- var nGroupIndex = aGroups.length; //push new group at the end of list
1035
+ const oGroupModel = this.oPageOperationAdapter.getPreparedGroupModel(oGroup, false, true, { isRendered: true });
1036
+ const aGroups = this.oModel.getProperty("/groups");
1037
+ const nGroupIndex = aGroups.length; // push new group at the end of list
1010
1038
 
1011
1039
  if (nGroupIndex > 0) {
1012
1040
  aGroups[nGroupIndex - 1].isLastGroup = false;
@@ -1015,7 +1043,7 @@ sap.ui.define([
1015
1043
  aGroups.push(oGroupModel);
1016
1044
  this.oModel.setProperty("/groups/", aGroups);
1017
1045
 
1018
- var oContextGroup = new Context(this.oModel, "/groups/" + nGroupIndex);
1046
+ const oContextGroup = new Context(this.oModel, `/groups/${nGroupIndex}`);
1019
1047
  return oContextGroup;
1020
1048
  },
1021
1049
 
@@ -1024,11 +1052,15 @@ sap.ui.define([
1024
1052
  * oData should have the following parameters
1025
1053
  * tileId
1026
1054
  * groupId
1055
+ *
1056
+ * @param {string} sChannelId the channel id.
1057
+ * @param {string} sEventId the event id.
1058
+ * @param {object} oData the event data.
1027
1059
  */
1028
1060
  _deleteTile: function (sChannelId, sEventId, oData) {
1029
- var sTileId = oData.tileId;
1030
- var aGroups = this.oModel.getProperty("/groups");
1031
- var sItems = oData.items || "tiles";
1061
+ const sTileId = oData.tileId;
1062
+ const aGroups = this.oModel.getProperty("/groups");
1063
+ const sItems = oData.items || "tiles";
1032
1064
 
1033
1065
  function deleteTile (group, tileModel) {
1034
1066
  this.oPageOperationAdapter.removeTile(group, tileModel)
@@ -1045,9 +1077,9 @@ sap.ui.define([
1045
1077
  * @param {string} tileType determines the aggregation, the tile was in (tiles or links)
1046
1078
  */
1047
1079
  function focusNextTile (tileIndex, group, tileType) {
1048
- var oDashboardGroups = Core.byId("dashboardGroups");
1049
- var oGroupControl = oDashboardGroups.getGroupControlByGroupId(group.groupId);
1050
- var oNextTile;
1080
+ const oDashboardGroups = Core.byId("dashboardGroups");
1081
+ const oGroupControl = oDashboardGroups.getGroupControlByGroupId(group.groupId);
1082
+ let oNextTile;
1051
1083
 
1052
1084
  if (tileType === "tiles") {
1053
1085
  if (tileIndex + 1 === group[tileType].length) {
@@ -1055,7 +1087,7 @@ sap.ui.define([
1055
1087
  }
1056
1088
  // the tiles aggregation already behaves correctly in all other cases.
1057
1089
  } else {
1058
- var aLinks = oGroupControl.getLinks();
1090
+ const aLinks = oGroupControl.getLinks();
1059
1091
 
1060
1092
  if (tileIndex + 1 === aLinks.length) {
1061
1093
  if (aLinks.length === 1) {
@@ -1068,29 +1100,29 @@ sap.ui.define([
1068
1100
  }
1069
1101
  }
1070
1102
  if (oNextTile) {
1071
- sap.ui.require(["sap/ushell/components/ComponentKeysHandler"], function (ComponentKeysHandler) {
1072
- ComponentKeysHandler.getInstance().then(function (ComponentKeysHandlerInstance) {
1103
+ sap.ui.require(["sap/ushell/components/ComponentKeysHandler"], (ComponentKeysHandler) => {
1104
+ ComponentKeysHandler.getInstance().then((ComponentKeysHandlerInstance) => {
1073
1105
  ComponentKeysHandlerInstance.moveScrollDashboard(oNextTile.$());
1074
1106
  });
1075
1107
  });
1076
1108
  }
1077
1109
  }
1078
1110
 
1079
- for (var nGroupIndex = 0; nGroupIndex < aGroups.length; ++nGroupIndex) {
1080
- var oGroup = aGroups[nGroupIndex];
1081
- for (var nTileIndex = 0; nTileIndex < oGroup[sItems].length; ++nTileIndex) {
1082
- var oTmpTile = oGroup[sItems][nTileIndex];
1111
+ for (let nGroupIndex = 0; nGroupIndex < aGroups.length; ++nGroupIndex) {
1112
+ const oGroup = aGroups[nGroupIndex];
1113
+ for (let nTileIndex = 0; nTileIndex < oGroup[sItems].length; ++nTileIndex) {
1114
+ const oTmpTile = oGroup[sItems][nTileIndex];
1083
1115
  if (oTmpTile.uuid === sTileId) {
1084
1116
  if (Device.system.desktop) {
1085
1117
  focusNextTile(nTileIndex, oGroup, sItems);
1086
1118
  }
1087
1119
  // Remove tile from group.
1088
- oDestroyHelper.destroyTileModel(this.oModel.getProperty("/groups/" + nGroupIndex + "/" + sItems + "/" + nTileIndex));
1089
- var oTileModel = oGroup[sItems].splice(nTileIndex, 1)[0];
1090
- var personalization = this.oModel.getProperty("/personalization");
1120
+ oDestroyHelper.destroyTileModel(this.oModel.getProperty(`/groups/${nGroupIndex}/${sItems}/${nTileIndex}`));
1121
+ const oTileModel = oGroup[sItems].splice(nTileIndex, 1)[0];
1122
+ const personalization = this.oModel.getProperty("/personalization");
1091
1123
 
1092
1124
  oGroup.visibilityModes = oUtils.calcVisibilityModes(oGroup, personalization);
1093
- this.oModel.setProperty("/groups/" + nGroupIndex, oGroup);
1125
+ this.oModel.setProperty(`/groups/${nGroupIndex}`, oGroup);
1094
1126
  this._addRequest(deleteTile.bind(this, oGroup, oTileModel));
1095
1127
  oUtils.handleTilesVisibility();
1096
1128
  return;
@@ -1106,25 +1138,25 @@ sap.ui.define([
1106
1138
  * @param {string[]} aRemovedTilesIds Array of the tile uuids to remove
1107
1139
  */
1108
1140
  deleteTilesFromGroup: function (sGroupId, aRemovedTilesIds) {
1109
- var aGroups = this.oModel.getProperty("/groups");
1110
- var iGroupIndex = oGroupsHelper.getIndexOfGroup(aGroups, sGroupId);
1111
- var oGroup = this.oModel.getProperty("/groups/" + iGroupIndex);
1112
- var aFilteredTiles = [];
1141
+ const aGroups = this.oModel.getProperty("/groups");
1142
+ const iGroupIndex = oGroupsHelper.getIndexOfGroup(aGroups, sGroupId);
1143
+ const oGroup = this.oModel.getProperty(`/groups/${iGroupIndex}`);
1144
+ let aFilteredTiles = [];
1113
1145
 
1114
- ["tiles", "links"].forEach(function (sAttribute) {
1115
- aFilteredTiles = oGroup[sAttribute].filter(function (oTile) {
1146
+ ["tiles", "links"].forEach((sAttribute) => {
1147
+ aFilteredTiles = oGroup[sAttribute].filter((oTile) => {
1116
1148
  return aRemovedTilesIds.indexOf(oTile.uuid) < 0;
1117
1149
  });
1118
1150
  oGroup[sAttribute] = aFilteredTiles;
1119
1151
  });
1120
1152
 
1121
1153
  oGroup.visibilityModes = oUtils.calcVisibilityModes(oGroup, true);
1122
- this.oModel.setProperty("/groups/" + iGroupIndex, oGroup);
1154
+ this.oModel.setProperty(`/groups/${iGroupIndex}`, oGroup);
1123
1155
  },
1124
1156
 
1125
1157
  _getGroupIndex: function (sId) {
1126
- var aGroups = this.oModel.getProperty("/groups");
1127
- var oGroupInfo = this._getNewGroupInfo(aGroups, sId);
1158
+ const aGroups = this.oModel.getProperty("/groups");
1159
+ const oGroupInfo = this._getNewGroupInfo(aGroups, sId);
1128
1160
  if (oGroupInfo) {
1129
1161
  return oGroupInfo.newGroupIndex;
1130
1162
  }
@@ -1141,24 +1173,24 @@ sap.ui.define([
1141
1173
  * @deprecated since 1.112
1142
1174
  */
1143
1175
  _convertTile: function (sChannelId, sEventId, oData) {
1144
- var oSourceTile = oData.tile ? oData.tile : oData;
1145
- var nGroupIndex = oData.srcGroupId ? this._getGroupIndex(oData.srcGroupId) : undefined;
1146
- var oSourceGroup = oData.srcGroupId
1147
- ? this.oModel.getProperty("/groups/" + nGroupIndex)
1176
+ const oSourceTile = oData.tile ? oData.tile : oData;
1177
+ const nGroupIndex = oData.srcGroupId ? this._getGroupIndex(oData.srcGroupId) : undefined;
1178
+ const oSourceGroup = oData.srcGroupId
1179
+ ? this.oModel.getProperty(`/groups/${nGroupIndex}`)
1148
1180
  : oSourceTile.getParent().getBindingContext().getObject();
1149
- var aTileBindingContext = oSourceTile.getBindingContext().sPath.split("/");
1150
- var oTileModel = oSourceTile.getBindingContext().getObject();
1151
- var sOldType = aTileBindingContext[aTileBindingContext.length - 2];
1152
- var sTileId = oTileModel.uuid;
1153
- var curTileIndex = parseInt(aTileBindingContext[aTileBindingContext.length - 1], 10);
1154
- var newTileIndex = oData.toIndex !== undefined ? oData.toIndex : undefined;
1155
- var bActionMode = this.oModel.getProperty("/tileActionModeActive");
1156
- var newGroupIndex = oData.toGroupId ? this._getGroupIndex(oData.toGroupId) : oSourceGroup.index;
1157
- var oTargetGroup = oData.toGroupId ? this.oModel.getProperty("/groups/" + newGroupIndex) : oSourceGroup;
1158
- var that = this;
1159
-
1160
- var oIndexInfo = this._getIndexForConvert(sOldType, curTileIndex, newTileIndex, oSourceGroup, oTargetGroup);
1161
- var sourceInfo = {
1181
+ const aTileBindingContext = oSourceTile.getBindingContext().sPath.split("/");
1182
+ const oTileModel = oSourceTile.getBindingContext().getObject();
1183
+ const sOldType = aTileBindingContext[aTileBindingContext.length - 2];
1184
+ const sTileId = oTileModel.uuid;
1185
+ const curTileIndex = parseInt(aTileBindingContext[aTileBindingContext.length - 1], 10);
1186
+ const newTileIndex = oData.toIndex !== undefined ? oData.toIndex : undefined;
1187
+ const bActionMode = this.oModel.getProperty("/tileActionModeActive");
1188
+ const newGroupIndex = oData.toGroupId ? this._getGroupIndex(oData.toGroupId) : oSourceGroup.index;
1189
+ const oTargetGroup = oData.toGroupId ? this.oModel.getProperty(`/groups/${newGroupIndex}`) : oSourceGroup;
1190
+ const that = this;
1191
+
1192
+ const oIndexInfo = this._getIndexForConvert(sOldType, curTileIndex, newTileIndex, oSourceGroup, oTargetGroup);
1193
+ const sourceInfo = {
1162
1194
  tileIndex: curTileIndex,
1163
1195
  groupIndex: nGroupIndex,
1164
1196
  group: oSourceGroup
@@ -1167,7 +1199,7 @@ sap.ui.define([
1167
1199
  function convertTile () {
1168
1200
  // setting a flag on the Tile's object to disable opening the Tile's action until backend requests finish (see DashboardContent.view)
1169
1201
  oTileModel.tileIsBeingMoved = true;
1170
- var oResultPromise = this.oPageOperationAdapter.moveTile(
1202
+ const oResultPromise = this.oPageOperationAdapter.moveTile(
1171
1203
  oTileModel,
1172
1204
  oIndexInfo,
1173
1205
  oSourceGroup,
@@ -1175,11 +1207,11 @@ sap.ui.define([
1175
1207
  (sOldType === "links") ? "tile" : "link"
1176
1208
  );
1177
1209
 
1178
- oResultPromise.then(function (oNewTileInfo) {
1210
+ oResultPromise.then((oNewTileInfo) => {
1179
1211
  // we call to _handleAfterSortable to handle the case in which convertTile is called by dragAndDrop flow
1180
- that._handleAfterSortable(function (sTileId, oNewTileInfo) {
1181
- var sTilePath = that._getPathOfTile(sTileId);
1182
- var oView = oNewTileInfo.content;
1212
+ that._handleAfterSortable((sTileId, oNewTileInfo) => {
1213
+ const sTilePath = that._getPathOfTile(sTileId);
1214
+ const oView = oNewTileInfo.content;
1183
1215
 
1184
1216
  // If we cannot find the tile, it might have been deleted -> Check!
1185
1217
  if (sTilePath) {
@@ -1194,12 +1226,12 @@ sap.ui.define([
1194
1226
  MessageToast.show(oResources.i18n.getText("PageRuntime.Message.VisualizationMovedAndConverted"));
1195
1227
  }
1196
1228
 
1197
- var oTargetGroupInfo = {
1229
+ const oTargetGroupInfo = {
1198
1230
  tileIndex: newTileIndex,
1199
1231
  groupIndex: newGroupIndex,
1200
1232
  group: oTargetGroup
1201
1233
  };
1202
- var tileInfo = {
1234
+ const tileInfo = {
1203
1235
  tile: oTileModel,
1204
1236
  view: oView,
1205
1237
  type: sOldType,
@@ -1216,7 +1248,7 @@ sap.ui.define([
1216
1248
  }
1217
1249
  })(sTileId, oNewTileInfo);
1218
1250
  that._checkRequestQueue();
1219
- }, function () {
1251
+ }, () => {
1220
1252
  that._handleAfterSortable(that._resetGroupsOnFailure.bind(that))("fail_to_move_tile_msg");
1221
1253
  });
1222
1254
  }
@@ -1225,8 +1257,8 @@ sap.ui.define([
1225
1257
 
1226
1258
  replaceTileViewAfterConvert: function (oSourceInfo, oDstInfo, oTileInfo) {
1227
1259
  // get the old view from tile's model
1228
- var oTile = oTileInfo.tile;
1229
- var oldViewContent = oTile.content;
1260
+ const oTile = oTileInfo.tile;
1261
+ const oldViewContent = oTile.content;
1230
1262
  // first we set new view, new tile object and new Id. And reset the move-scenario flag
1231
1263
  oTile.tileIsBeingMoved = false;
1232
1264
  oTile.content = [oTileInfo.view];
@@ -1241,8 +1273,8 @@ sap.ui.define([
1241
1273
  oDstInfo.group[oTileInfo.type === "tiles" ? "links" : "tiles"].push(oTile);
1242
1274
  }
1243
1275
 
1244
- this.oModel.setProperty("/groups/" + oDstInfo.groupIndex, oDstInfo.group);
1245
- this.oModel.setProperty("/groups/" + oSourceInfo.groupIndex, oSourceInfo.group);
1276
+ this.oModel.setProperty(`/groups/${oDstInfo.groupIndex}`, oDstInfo.group);
1277
+ this.oModel.setProperty(`/groups/${oSourceInfo.groupIndex}`, oSourceInfo.group);
1246
1278
 
1247
1279
  // handle animation
1248
1280
  if (oTileInfo.type === "links") {
@@ -1257,10 +1289,15 @@ sap.ui.define([
1257
1289
  },
1258
1290
 
1259
1291
  /**
1260
- * sType: the type of the tile (lineMode/ContentMode) before the convert action
1292
+ * @param {string} sType the type of the tile (lineMode/ContentMode) before the convert action.
1293
+ * @param {int} curTileIndex the index of the current tile.
1294
+ * @param {int} newTileIndexInShellModel the index of the new tile.
1295
+ * @param {object} oGroup the group object.
1296
+ * @param {object} oDstGroup the destination group object.
1297
+ * @returns {object} that contains the current tile index and the new tile index.
1261
1298
  */
1262
1299
  _getIndexForConvert: function (sType, curTileIndex, newTileIndexInShellModel, oGroup, oDstGroup) {
1263
- var nNewTileIndex;
1300
+ let nNewTileIndex;
1264
1301
  if (sType === "tiles") {
1265
1302
  // If we convert ContentMode-tile to link
1266
1303
  // then we want to enter the new link to the end of the array or to provided newTileIndex
@@ -1281,7 +1318,7 @@ sap.ui.define([
1281
1318
  },
1282
1319
 
1283
1320
  _getIndexForMove: function (sType, curTileIndex, newTileIndexInShellModel, oDstGroup, oSourceGroup) {
1284
- var nNewTileIndex;
1321
+ let nNewTileIndex;
1285
1322
  if (sType === "tiles") {
1286
1323
  // case move tile
1287
1324
  nNewTileIndex = newTileIndexInShellModel !== undefined ? newTileIndexInShellModel : oDstGroup[sType].length;
@@ -1298,10 +1335,10 @@ sap.ui.define([
1298
1335
  },
1299
1336
 
1300
1337
  _getTileInfo: function (aGroups, sTileId, sItems) {
1301
- for (var nTmpGroupIndex = 0; nTmpGroupIndex < aGroups.length; ++nTmpGroupIndex) {
1302
- var oTmpGroup = aGroups[nTmpGroupIndex];
1303
- for (var nTmpTileIndex = 0; nTmpTileIndex < oTmpGroup[sItems].length; ++nTmpTileIndex) {
1304
- var oTmpTile = oTmpGroup[sItems][nTmpTileIndex];
1338
+ for (let nTmpGroupIndex = 0; nTmpGroupIndex < aGroups.length; ++nTmpGroupIndex) {
1339
+ const oTmpGroup = aGroups[nTmpGroupIndex];
1340
+ for (let nTmpTileIndex = 0; nTmpTileIndex < oTmpGroup[sItems].length; ++nTmpTileIndex) {
1341
+ const oTmpTile = oTmpGroup[sItems][nTmpTileIndex];
1305
1342
  if (oTmpTile.uuid === sTileId) {
1306
1343
  // the order is oTile, nTileIndex, oOldGroup, nOldGroupIndex
1307
1344
  return {
@@ -1319,8 +1356,8 @@ sap.ui.define([
1319
1356
 
1320
1357
  // should be considered to improve by inserting the logic into _getTileInfo function
1321
1358
  _getNewGroupInfo: function (aGroups, sNewGroupId) {
1322
- for (var nTmpGroupIndex = 0; nTmpGroupIndex < aGroups.length; ++nTmpGroupIndex) {
1323
- var oTmpGroup = aGroups[nTmpGroupIndex];
1359
+ for (let nTmpGroupIndex = 0; nTmpGroupIndex < aGroups.length; ++nTmpGroupIndex) {
1360
+ const oTmpGroup = aGroups[nTmpGroupIndex];
1324
1361
  if (oTmpGroup.groupId === sNewGroupId) {
1325
1362
  // order is oNewGroup, nNewGroupIndex
1326
1363
  return {
@@ -1339,22 +1376,26 @@ sap.ui.define([
1339
1376
  * toGroupId
1340
1377
  * fromIndex
1341
1378
  * toIndex can be null => append as last tile in group
1379
+ *
1380
+ * @param {string} sChannelId the channel id.
1381
+ * @param {string} sEventId the event id.
1382
+ * @param {object} oData the event data.
1342
1383
  */
1343
1384
  _moveTile: function (sChannelId, sEventId, oData) {
1344
- var nNewIndex = oData.toIndex;
1345
- var sNewGroupId = oData.toGroupId;
1346
- var sTileId = oData.sTileId;
1347
- var sSource = oData.source;
1348
- var sType = oData.sTileType === "tiles" || oData.sTileType === "tile" ? "tile" : "link";
1349
- var sToItems = oData.sToItems;
1350
- var sFromItems = oData.sFromItems;
1351
- var bActionMode = this.oModel.getProperty("/tileActionModeActive");
1352
- var aGroups = this.oModel.getProperty("/groups");
1353
- var oTileInfo = this._getTileInfo(aGroups, sTileId, sFromItems);
1354
- var oGroupInfo = this._getNewGroupInfo(aGroups, sNewGroupId);
1355
- var that = this;
1356
-
1357
- var bIsLastTileMovingOverPlusButton = (oTileInfo.tileIndex === oGroupInfo.oNewGroup.tiles.length - 1) && (nNewIndex >= oGroupInfo.oNewGroup.tiles.length);
1385
+ let nNewIndex = oData.toIndex;
1386
+ const sNewGroupId = oData.toGroupId;
1387
+ const sTileId = oData.sTileId;
1388
+ const sSource = oData.source;
1389
+ const sType = oData.sTileType === "tiles" || oData.sTileType === "tile" ? "tile" : "link";
1390
+ const sToItems = oData.sToItems;
1391
+ const sFromItems = oData.sFromItems;
1392
+ const bActionMode = this.oModel.getProperty("/tileActionModeActive");
1393
+ const aGroups = this.oModel.getProperty("/groups");
1394
+ const oTileInfo = this._getTileInfo(aGroups, sTileId, sFromItems);
1395
+ const oGroupInfo = this._getNewGroupInfo(aGroups, sNewGroupId);
1396
+ const that = this;
1397
+
1398
+ const bIsLastTileMovingOverPlusButton = (oTileInfo.tileIndex === oGroupInfo.oNewGroup.tiles.length - 1) && (nNewIndex >= oGroupInfo.oNewGroup.tiles.length);
1358
1399
  if ((oTileInfo.tileIndex === nNewIndex || bIsLastTileMovingOverPlusButton) && (oTileInfo.oGroup.groupId === oGroupInfo.oNewGroup.groupId)) {
1359
1400
  return; // aborting because the action is not a real move
1360
1401
  }
@@ -1393,13 +1434,13 @@ sap.ui.define([
1393
1434
  this._moveInArray(oTileInfo.oGroup[sToItems], oTileInfo.tileIndex, nNewIndex);
1394
1435
  }
1395
1436
 
1396
- this.oModel.setProperty("/groups/" + oTileInfo.groupIndex + "/" + sToItems, oTileInfo.oGroup[sToItems]);
1437
+ this.oModel.setProperty(`/groups/${oTileInfo.groupIndex}/${sToItems}`, oTileInfo.oGroup[sToItems]);
1397
1438
  } else {
1398
1439
  // remove from old group
1399
- var personalization = this.oModel.getProperty("/personalization");
1440
+ const personalization = this.oModel.getProperty("/personalization");
1400
1441
  oTileInfo.oGroup[sFromItems].splice(oTileInfo.tileIndex, 1);
1401
1442
  oTileInfo.oGroup.visibilityModes = oUtils.calcVisibilityModes(oTileInfo.oGroup, personalization);
1402
- this.oModel.setProperty("/groups/" + oTileInfo.groupIndex + "/" + sFromItems, oTileInfo.oGroup[sFromItems]);
1443
+ this.oModel.setProperty(`/groups/${oTileInfo.groupIndex}/${sFromItems}`, oTileInfo.oGroup[sFromItems]);
1403
1444
 
1404
1445
  // add to new group
1405
1446
  if (nNewIndex === null || nNewIndex === undefined) {
@@ -1412,7 +1453,7 @@ sap.ui.define([
1412
1453
  oGroupInfo.oNewGroup[sToItems].splice(nNewIndex, 0, oTileInfo.oTile);
1413
1454
  }
1414
1455
  oGroupInfo.oNewGroup.visibilityModes = oUtils.calcVisibilityModes(oGroupInfo.oNewGroup, personalization);
1415
- this.oModel.setProperty("/groups/" + oGroupInfo.newGroupIndex + "/" + sToItems, oGroupInfo.oNewGroup[sToItems]);
1456
+ this.oModel.setProperty(`/groups/${oGroupInfo.newGroupIndex}/${sToItems}`, oGroupInfo.oNewGroup[sToItems]);
1416
1457
  }
1417
1458
 
1418
1459
  // recalculate the associated groups for catalog tiles
@@ -1422,9 +1463,9 @@ sap.ui.define([
1422
1463
 
1423
1464
  // change in backend
1424
1465
  function moveTile () {
1425
- var oSourceGroup = this.oModel.getProperty("/groups/" + oTileInfo.groupIndex);
1426
- var oTargetGroup = this.oModel.getProperty("/groups/" + oGroupInfo.newGroupIndex);
1427
- var oIndexInfo = this._getIndexForMove(sFromItems, oTileInfo.tileIndex, nNewIndex, oGroupInfo.oNewGroup, oSourceGroup);
1466
+ const oSourceGroup = this.oModel.getProperty(`/groups/${oTileInfo.groupIndex}`);
1467
+ const oTargetGroup = this.oModel.getProperty(`/groups/${oGroupInfo.newGroupIndex}`);
1468
+ const oIndexInfo = this._getIndexForMove(sFromItems, oTileInfo.tileIndex, nNewIndex, oGroupInfo.oNewGroup, oSourceGroup);
1428
1469
 
1429
1470
  // setting a flag on the Tile's object to disable opening the Tile's action until backend requests finish (see DashboardContent.view)
1430
1471
  oTileInfo.oTile.tileIsBeingMoved = true;
@@ -1434,14 +1475,14 @@ sap.ui.define([
1434
1475
  oSourceGroup,
1435
1476
  oTargetGroup,
1436
1477
  sType
1437
- ).then(function (oNewTileInfo) {
1438
- var sTilePath = that._getPathOfTile(sTileId);
1478
+ ).then((oNewTileInfo) => {
1479
+ const sTilePath = that._getPathOfTile(sTileId);
1439
1480
  if (sTilePath) {
1440
- that.oModel.setProperty(sTilePath + "/object", oNewTileInfo.object);
1441
- that.oModel.setProperty(sTilePath + "/originalTileId", oNewTileInfo.originalTileId);
1481
+ that.oModel.setProperty(`${sTilePath}/object`, oNewTileInfo.object);
1482
+ that.oModel.setProperty(`${sTilePath}/originalTileId`, oNewTileInfo.originalTileId);
1442
1483
 
1443
- var oldViewContent = that.oModel.getProperty(sTilePath + "/content");
1444
- var oView = oNewTileInfo.content;
1484
+ const oldViewContent = that.oModel.getProperty(`${sTilePath}/content`);
1485
+ const oView = oNewTileInfo.content;
1445
1486
 
1446
1487
  // set the new view
1447
1488
  if (sToItems === "links") {
@@ -1451,16 +1492,16 @@ sap.ui.define([
1451
1492
  oTileInfo.oTile.content = [oView];
1452
1493
  that.oModel.setProperty(sTilePath, extend({}, oTileInfo.oTile));
1453
1494
  that.oModel.setProperty(
1454
- "/groups/" + oGroupInfo.newGroupIndex + "/" + sToItems,
1455
- that.oModel.getProperty("/groups/" + oGroupInfo.newGroupIndex + "/" + sToItems)
1495
+ `/groups/${oGroupInfo.newGroupIndex}/${sToItems}`,
1496
+ that.oModel.getProperty(`/groups/${oGroupInfo.newGroupIndex}/${sToItems}`)
1456
1497
  );
1457
1498
  } else {
1458
- that.oModel.setProperty(sTilePath + "/content", [oView]);
1499
+ that.oModel.setProperty(`${sTilePath}/content`, [oView]);
1459
1500
  }
1460
1501
 
1461
1502
  // destroy the old view
1462
1503
  if (oldViewContent && oldViewContent[0]) {
1463
- var origOnAfterRendering = oView.onAfterRendering;
1504
+ const origOnAfterRendering = oView.onAfterRendering;
1464
1505
  oView.onAfterRendering = function () {
1465
1506
  origOnAfterRendering.apply(this);
1466
1507
  oldViewContent[0].destroy();
@@ -1469,7 +1510,7 @@ sap.ui.define([
1469
1510
  }
1470
1511
 
1471
1512
  // reset the move-scenario flag
1472
- that.oModel.setProperty(sTilePath + "/tileIsBeingMoved", false);
1513
+ that.oModel.setProperty(`${sTilePath}/tileIsBeingMoved`, false);
1473
1514
  if (oData.callBack) {
1474
1515
  oData.callBack(oView);
1475
1516
  }
@@ -1477,7 +1518,7 @@ sap.ui.define([
1477
1518
  MessageToast.show(oResources.i18n.getText("PageRuntime.Message.VisualizationMoved"));
1478
1519
  }
1479
1520
  that._checkRequestQueue();
1480
- }, function () {
1521
+ }, () => {
1481
1522
  that._resetGroupsOnFailure("fail_to_move_tile_msg");
1482
1523
  });
1483
1524
  }
@@ -1486,9 +1527,9 @@ sap.ui.define([
1486
1527
 
1487
1528
  // Adjust the moved-tile new index according to the visible+hidden tiles
1488
1529
  _adjustTileIndex: function (newLocationIndex, oTile, newGroup, sItems) {
1489
- var visibleCounter = 0;
1490
- var bIsTileIncluded = false;
1491
- var i = 0;
1530
+ let visibleCounter = 0;
1531
+ let bIsTileIncluded = false;
1532
+ let i = 0;
1492
1533
  // In order to get the new index, count all tiles (visible+hidden) up to the new index received from the UI.
1493
1534
  for (i = 0; i < newGroup[sItems].length && visibleCounter < newLocationIndex; i++) {
1494
1535
  if (newGroup[sItems][i].isTileIntentSupported) {
@@ -1561,10 +1602,10 @@ sap.ui.define([
1561
1602
  },
1562
1603
 
1563
1604
  _bindSegment: function (aGroups, segment) {
1564
- for (var segIndex = 0; segIndex < segment.length; segIndex++) {
1565
- var oSegGroup = segment[segIndex];
1566
- var groupIndex = oSegGroup.index;
1567
- var oGrp = aGroups[groupIndex];
1605
+ for (let segIndex = 0; segIndex < segment.length; segIndex++) {
1606
+ const oSegGroup = segment[segIndex];
1607
+ const groupIndex = oSegGroup.index;
1608
+ const oGrp = aGroups[groupIndex];
1568
1609
  if (oGrp) {
1569
1610
  oGrp.isRendered = true;
1570
1611
  oGrp.tiles = oGrp.tiles.concat(oSegGroup.tiles);
@@ -1576,17 +1617,17 @@ sap.ui.define([
1576
1617
  },
1577
1618
 
1578
1619
  createGroupsModelFrame: function (aGroups, personalization) {
1579
- var aCloneGroups = [];
1580
- var fnCreateFlatGroupClone = function (oGroup) {
1581
- var clnGroup = extend({}, oGroup);
1620
+ const aCloneGroups = [];
1621
+ function fnCreateFlatGroupClone (oGroup) {
1622
+ const clnGroup = extend({}, oGroup);
1582
1623
  clnGroup.tiles = [];
1583
1624
  clnGroup.pendingLinks = [];
1584
1625
  clnGroup.links = [];
1585
1626
  return clnGroup;
1586
- };
1627
+ }
1587
1628
 
1588
- for (var iGroupIndex = 0; iGroupIndex < aGroups.length; iGroupIndex++) {
1589
- var oOrgGroup = aGroups[iGroupIndex];
1629
+ for (let iGroupIndex = 0; iGroupIndex < aGroups.length; iGroupIndex++) {
1630
+ const oOrgGroup = aGroups[iGroupIndex];
1590
1631
  aCloneGroups[iGroupIndex] = fnCreateFlatGroupClone(oOrgGroup);
1591
1632
  // group variable setup.
1592
1633
  aCloneGroups[iGroupIndex].isRendered = false;
@@ -1597,16 +1638,16 @@ sap.ui.define([
1597
1638
  },
1598
1639
 
1599
1640
  _splitGroups: function (aGroups, iFirstVisibleGroupIndex) {
1600
- var tempSegment = [];
1601
- var segmentHeight = 0;
1602
- var bIsTabsMode = this.oModel.getProperty("/homePageGroupDisplay") === "tabs";
1603
- var bEnablePersonalization = this.oModel.getProperty("/personalization");
1604
- var iCurrentSegmentSize = 0;
1641
+ let tempSegment = [];
1642
+ let segmentHeight = 0;
1643
+ const bIsTabsMode = this.oModel.getProperty("/homePageGroupDisplay") === "tabs";
1644
+ const bEnablePersonalization = this.oModel.getProperty("/personalization");
1645
+ let iCurrentSegmentSize = 0;
1605
1646
 
1606
- var maxSegmentSize = 500;
1647
+ const maxSegmentSize = 500;
1607
1648
 
1608
- for (var iGroupIndex = 0; iGroupIndex < aGroups.length; iGroupIndex++) {
1609
- var oGroup = aGroups[iGroupIndex];
1649
+ for (let iGroupIndex = 0; iGroupIndex < aGroups.length; iGroupIndex++) {
1650
+ const oGroup = aGroups[iGroupIndex];
1610
1651
  tempSegment.push(oGroup);
1611
1652
 
1612
1653
  if (!this.segmentsStore.length) {
@@ -1647,7 +1688,7 @@ sap.ui.define([
1647
1688
  * If segmentStore is empty, return the input model without changes.
1648
1689
  */
1649
1690
  _processSegment: function (modelGroups) {
1650
- var groupSegment = this.segmentsStore.shift();
1691
+ const groupSegment = this.segmentsStore.shift();
1651
1692
 
1652
1693
  if (!groupSegment) {
1653
1694
  return modelGroups;
@@ -1664,11 +1705,11 @@ sap.ui.define([
1664
1705
  },
1665
1706
 
1666
1707
  getSegmentContentViews: function (groupSegment) {
1667
- var nTilesIndex;
1668
- var oSegmentTile;
1708
+ let nTilesIndex;
1709
+ let oSegmentTile;
1669
1710
 
1670
- for (var nGroupSegmentIndex = 0; nGroupSegmentIndex < groupSegment.length; nGroupSegmentIndex++) {
1671
- var oSegmentGroup = groupSegment[nGroupSegmentIndex];
1711
+ for (let nGroupSegmentIndex = 0; nGroupSegmentIndex < groupSegment.length; nGroupSegmentIndex++) {
1712
+ const oSegmentGroup = groupSegment[nGroupSegmentIndex];
1672
1713
  for (nTilesIndex = 0; nTilesIndex < oSegmentGroup.tiles.length; nTilesIndex++) {
1673
1714
  oSegmentTile = oSegmentGroup.tiles[nTilesIndex];
1674
1715
  if (oSegmentTile.isTileIntentSupported) {
@@ -1687,10 +1728,10 @@ sap.ui.define([
1687
1728
  },
1688
1729
 
1689
1730
  getSegmentTabContentViews: function (sChannelId, sEventId, iProcessTileViewSegmentsForGroup) {
1690
- var nTilesIndex;
1691
- var oSegmentTile;
1692
- var iSegmentsGroup = iProcessTileViewSegmentsForGroup.iSelectedGroup;
1693
- var oGroup = this.oModel.getProperty("/groups/" + iSegmentsGroup);
1731
+ let nTilesIndex;
1732
+ let oSegmentTile;
1733
+ const iSegmentsGroup = iProcessTileViewSegmentsForGroup.iSelectedGroup;
1734
+ const oGroup = this.oModel.getProperty(`/groups/${iSegmentsGroup}`);
1694
1735
 
1695
1736
  for (nTilesIndex = 0; nTilesIndex < oGroup.tiles.length; nTilesIndex++) {
1696
1737
  oSegmentTile = oGroup.tiles[nTilesIndex];
@@ -1734,7 +1775,7 @@ sap.ui.define([
1734
1775
  // Frames of the remain groups are copied to the model because:
1735
1776
  // 1) To show the AnchorNavigationBar with all groups
1736
1777
  // 2) Avoid rerendering of the DashboardContainer if there are > 2 segments (avoid "jumping" of the page)
1737
- var aGroupModel = this.oModel.getProperty("/groups");
1778
+ const aGroupModel = this.oModel.getProperty("/groups");
1738
1779
 
1739
1780
  if (this.aGroupsFrame) {
1740
1781
  Array.prototype.push.apply(aGroupModel, this.aGroupsFrame);
@@ -1753,8 +1794,8 @@ sap.ui.define([
1753
1794
  * @private
1754
1795
  */
1755
1796
  _initializeAnchorNavigationBar: function () {
1756
- var oDashboardView = oHomepageManagerInstance.getDashboardView();
1757
- var oAnchorItemTemplate = oDashboardView.getAnchorItemTemplate();
1797
+ const oDashboardView = oHomepageManagerInstance.getDashboardView();
1798
+ const oAnchorItemTemplate = oDashboardView.getAnchorItemTemplate();
1758
1799
  this.oDashboardView.oAnchorNavigationBar.bindAggregation("groups", {
1759
1800
  path: "/groups",
1760
1801
  template: oAnchorItemTemplate
@@ -1770,22 +1811,22 @@ sap.ui.define([
1770
1811
  * @private
1771
1812
  */
1772
1813
  _processRemainingSegments: function () {
1773
- var aUpdatedGroupModel;
1814
+ let aUpdatedGroupModel;
1774
1815
 
1775
1816
  if (this.segmentsStore.length > 0) {
1776
- window.setTimeout(function () {
1817
+ window.setTimeout(() => {
1777
1818
  aUpdatedGroupModel = this._processSegment(this.oModel.getProperty("/groups"));
1778
1819
  this.oModel.setProperty("/groups", aUpdatedGroupModel);
1779
1820
  this.bIsFirstSegment = false;
1780
1821
  this._processRemainingSegments();
1781
- }.bind(this), 0);
1822
+ }, 0);
1782
1823
  } else {
1783
- //publish event dashboard model finished loading.
1824
+ // publish event dashboard model finished loading.
1784
1825
  this.bIsGroupsModelLoading = false;
1785
1826
  this._updateModelWithTileView(0, 0);
1786
1827
  oUtils.handleTilesVisibility();
1787
1828
  Core.getEventBus().publish("launchpad", "dashboardModelContentLoaded");
1788
- //update pin in the AppFinder
1829
+ // update pin in the AppFinder
1789
1830
  oEventHub.emit("updateGroups", Date.now());
1790
1831
  }
1791
1832
  },
@@ -1819,13 +1860,13 @@ sap.ui.define([
1819
1860
  return;
1820
1861
  }
1821
1862
 
1822
- var i = 0;
1823
- var indexOfDefaultGroup;
1824
- var iGroupsInModel = 0;
1825
- var numberOfVisibleTiles = 0;
1826
- var numberOfVisibleGroup = 0;
1827
- var iFirstVisibleGroup = null;
1828
- var aPreparedGroupModel = [];
1863
+ let i = 0;
1864
+ let indexOfDefaultGroup;
1865
+ let iGroupsInModel = 0;
1866
+ let numberOfVisibleTiles = 0;
1867
+ let numberOfVisibleGroup = 0;
1868
+ let iFirstVisibleGroup = null;
1869
+ let aPreparedGroupModel = [];
1829
1870
 
1830
1871
  this.bIsGroupsModelLoading = true;
1831
1872
  try {
@@ -1835,16 +1876,16 @@ sap.ui.define([
1835
1876
  }
1836
1877
 
1837
1878
  for (i = aGroups.length; i < iGroupsInModel; ++i) {
1838
- oDestroyHelper.destroyFLPAggregationModel(this.oModel.getProperty("/groups/" + i));
1879
+ oDestroyHelper.destroyFLPAggregationModel(this.oModel.getProperty(`/groups/${i}`));
1839
1880
  }
1840
1881
 
1841
1882
  if (!this.PagingManager) {
1842
- var iAvailableWidth = jQuery("#dashboardGroups").width();
1883
+ let iAvailableWidth = jQuery("#dashboardGroups").width();
1843
1884
  if (!iAvailableWidth) {
1844
1885
  iAvailableWidth = window.innerWidth;
1845
1886
  }
1846
1887
 
1847
- var iAvailableHeight = jQuery("#sapUshellDashboardPage-cont").height();
1888
+ let iAvailableHeight = jQuery("#sapUshellDashboardPage-cont").height();
1848
1889
  if (iAvailableHeight < 100) {
1849
1890
  iAvailableHeight = window.innerHeight;
1850
1891
  }
@@ -1858,7 +1899,7 @@ sap.ui.define([
1858
1899
  });
1859
1900
  }
1860
1901
 
1861
- aGroups.forEach(function (oGroup) {
1902
+ aGroups.forEach((oGroup) => {
1862
1903
  if (oGroup.isGroupVisible) {
1863
1904
  // Hidden tilesAndLinks not calculate for the bIsScrollModeAccordingKPI
1864
1905
  numberOfVisibleTiles += oGroup.tiles.length;
@@ -1885,10 +1926,10 @@ sap.ui.define([
1885
1926
  }
1886
1927
 
1887
1928
  this._splitGroups(aGroups, iFirstVisibleGroup);
1888
- var iFirstSegmentSize = this.segmentsStore[0]
1929
+ const iFirstSegmentSize = this.segmentsStore[0]
1889
1930
  ? this.segmentsStore[0].length
1890
1931
  : 0;
1891
- var aFirstSegmentFrame = this.aGroupsFrame.splice(0, iFirstSegmentSize);
1932
+ const aFirstSegmentFrame = this.aGroupsFrame.splice(0, iFirstSegmentSize);
1892
1933
 
1893
1934
  Measurement.start("FLP:DashboardManager._processSegment", "_processSegment", "FLP");
1894
1935
  // remain frames will be added to the model in handleFirstSegmentLoaded,
@@ -1897,7 +1938,7 @@ sap.ui.define([
1897
1938
 
1898
1939
  // save default group index
1899
1940
 
1900
- aGroups.every(function (oGroup, iGroupIndex) {
1941
+ aGroups.every((oGroup, iGroupIndex) => {
1901
1942
  if (oGroup.isDefaultGroup) {
1902
1943
  indexOfDefaultGroup = iGroupIndex;
1903
1944
  return false;
@@ -1907,10 +1948,10 @@ sap.ui.define([
1907
1948
  aPreparedGroupModel.indexOfDefaultGroup = indexOfDefaultGroup;
1908
1949
 
1909
1950
  if (this.oModel.getProperty("/homePageGroupDisplay") === "tabs") {
1910
- var oDashboardView = this.getDashboardView();
1951
+ const oDashboardView = this.getDashboardView();
1911
1952
  if (oDashboardView) { // oDashboardView may be not yet available if the AppFinder opens at start
1912
- var oDashboardGroupsBox = oDashboardView.oDashboardGroupsBox;
1913
- var oGroupsBinding = oDashboardGroupsBox.getBinding("groups");
1953
+ const oDashboardGroupsBox = oDashboardView.oDashboardGroupsBox;
1954
+ const oGroupsBinding = oDashboardGroupsBox.getBinding("groups");
1914
1955
  if (oGroupsBinding) {
1915
1956
  oGroupsBinding.filter([oDashboardView.oFilterSelectedGroup]);
1916
1957
  }
@@ -1922,9 +1963,9 @@ sap.ui.define([
1922
1963
  this.oModel.setProperty("/groups", aPreparedGroupModel);
1923
1964
  this.aGroupModel = aPreparedGroupModel;
1924
1965
  // start to load other segments when first segment was completely loaded (placeholders and static views)
1925
- if (this.oDashboardView) { //Homepage start
1966
+ if (this.oDashboardView) { // Homepage start
1926
1967
  oEventHub.once("firstSegmentCompleteLoaded")
1927
- .do(function () {
1968
+ .do(() => {
1928
1969
  // the first segment has been loaded and rendered; this is valid with and without blind-loading
1929
1970
  oUtils.setPerformanceMark("FLP-TTI-Homepage", { bUseUniqueMark: true });
1930
1971
  })
@@ -1938,12 +1979,12 @@ sap.ui.define([
1938
1979
  * For the cases different from homepage, we don't wait "firstSegmentCompleteLoaded" event and
1939
1980
  * start to load remain segment.
1940
1981
  */
1941
- setTimeout(function () {
1982
+ setTimeout(() => {
1942
1983
  Array.prototype.push.apply(this.aGroupModel, this.aGroupsFrame);
1943
1984
  this.aGroupsFrame = null;
1944
1985
  this.bStartLoadRemainSegment = true;
1945
1986
  this._processRemainingSegments();
1946
- }.bind(this), 0);
1987
+ }, 0);
1947
1988
  }
1948
1989
 
1949
1990
  if (!this.bIsFirstSegmentViewLoaded && this.isBlindLoading()) {
@@ -1966,11 +2007,11 @@ sap.ui.define([
1966
2007
  * @returns {boolean} whether at least one tile in the given Segment is visible.
1967
2008
  */
1968
2009
  _isAtLeastOneTileVisibleInASegment: function (aSegment) {
1969
- var oGroup;
1970
- var oTile;
1971
- for (var i = 0; i < aSegment.length; ++i) {
2010
+ let oGroup;
2011
+ let oTile;
2012
+ for (let i = 0; i < aSegment.length; ++i) {
1972
2013
  oGroup = aSegment[i];
1973
- for (var j = 0; j < oGroup.tiles.length; ++j) {
2014
+ for (let j = 0; j < oGroup.tiles.length; ++j) {
1974
2015
  oTile = oGroup.tiles[j];
1975
2016
  if (oTile.isTileIntentSupported) {
1976
2017
  return true;
@@ -1992,11 +2033,11 @@ sap.ui.define([
1992
2033
  * The prepared group model
1993
2034
  */
1994
2035
  _loadGroup: function (nIndex, oNewGroupModel) {
1995
- var that = this;
1996
- var sGroupPath = "/groups/" + nIndex;
1997
- var oOldGroupModel = that.oModel.getProperty(sGroupPath);
1998
- var bIsLast = oOldGroupModel.isLastGroup;
1999
- var sOldGroupId = oOldGroupModel.groupId;
2036
+ const that = this;
2037
+ const sGroupPath = `/groups/${nIndex}`;
2038
+ const oOldGroupModel = that.oModel.getProperty(sGroupPath);
2039
+ const bIsLast = oOldGroupModel.isLastGroup;
2040
+ const sOldGroupId = oOldGroupModel.groupId;
2000
2041
 
2001
2042
  oDestroyHelper.destroyFLPAggregationModel(oOldGroupModel);
2002
2043
 
@@ -2012,7 +2053,7 @@ sap.ui.define([
2012
2053
  },
2013
2054
 
2014
2055
  _hasPendingLinks: function (aModelLinks) {
2015
- for (var i = 0; i < aModelLinks.length; i++) {
2056
+ for (let i = 0; i < aModelLinks.length; i++) {
2016
2057
  if (aModelLinks[i].content[0] === undefined) {
2017
2058
  return true;
2018
2059
  }
@@ -2026,7 +2067,7 @@ sap.ui.define([
2026
2067
  },
2027
2068
 
2028
2069
  _updateModelWithTileView: function (startGroup, startTile) {
2029
- var that = this;
2070
+ const that = this;
2030
2071
 
2031
2072
  /*
2032
2073
  * in order to avoid many updates to the model we wait to allow
@@ -2037,24 +2078,24 @@ sap.ui.define([
2037
2078
  if (this.tileViewUpdateTimeoutID) {
2038
2079
  clearTimeout(this.tileViewUpdateTimeoutID);
2039
2080
  }
2040
- this.tileViewUpdateTimeoutID = window.setTimeout(function () {
2081
+ this.tileViewUpdateTimeoutID = window.setTimeout(() => {
2041
2082
  that.tileViewUpdateTimeoutID = undefined;
2042
2083
  // wait to update until the personalization operation is done to avoid rendering the tiles during D&D operation
2043
- that.oSortableDeferred.done(function () {
2084
+ that.oSortableDeferred.done(() => {
2044
2085
  that._updateModelWithTilesViews(startGroup, startTile);
2045
2086
  });
2046
2087
  }, 50);
2047
2088
  },
2048
2089
 
2049
2090
  _updateGroupModelWithTilesViews: function (aTiles, startTile, handledUpdatesIndex, isLink) {
2050
- var stTile = startTile || 0;
2091
+ const stTile = startTile || 0;
2051
2092
 
2052
- for (var j = stTile; j < aTiles.length; j = j + 1) {
2093
+ for (let j = stTile; j < aTiles.length; j = j + 1) {
2053
2094
  // group tiles loop - get the tile model
2054
- var oTileModel = aTiles[j];
2055
- for (var q = 0; q < this.tileViewUpdateQueue.length; q++) {
2095
+ const oTileModel = aTiles[j];
2096
+ for (let q = 0; q < this.tileViewUpdateQueue.length; q++) {
2056
2097
  // updated tiles view queue loop - check if the current tile was updated
2057
- var oUpdatedTile = this.tileViewUpdateQueue[q];
2098
+ const oUpdatedTile = this.tileViewUpdateQueue[q];
2058
2099
  if (oTileModel.uuid === oUpdatedTile.uuid) {
2059
2100
  // mark tileViewUpdate index for removal oUpdatedTile from tileViewUpdateQueue.
2060
2101
  handledUpdatesIndex.push(q);
@@ -2070,8 +2111,8 @@ sap.ui.define([
2070
2111
  this.oDashboardLoadingManager.setTileResolved(oTileModel);
2071
2112
 
2072
2113
  // in some cases tile size can be different then the initial value, therefore we read and set the size again
2073
- var sSize = this.oPageOperationAdapter.getTileSize(oTileModel.object);
2074
- var bLong = ((sSize !== null) && (sSize === "1x2")) || false;
2114
+ const sSize = this.oPageOperationAdapter.getTileSize(oTileModel.object);
2115
+ const bLong = ((sSize !== null) && (sSize === "1x2")) || false;
2075
2116
  if (oTileModel.long !== bLong) {
2076
2117
  oTileModel.long = bLong;
2077
2118
  }
@@ -2086,9 +2127,9 @@ sap.ui.define([
2086
2127
  },
2087
2128
 
2088
2129
  _updateModelWithTilesViews: function (startGroup, startTile) {
2089
- var aGroups = this.oModel.getProperty("/groups");
2090
- var stGroup = startGroup || 0;
2091
- var handledUpdatesIndex = [];
2130
+ const aGroups = this.oModel.getProperty("/groups");
2131
+ const stGroup = startGroup || 0;
2132
+ const handledUpdatesIndex = [];
2092
2133
 
2093
2134
  if (!aGroups || this.tileViewUpdateQueue.length === 0) {
2094
2135
  return;
@@ -2096,8 +2137,8 @@ sap.ui.define([
2096
2137
 
2097
2138
  // go over the tiles in the model and search for tiles to update.
2098
2139
  // tiles are identified using uuid
2099
- for (var i = stGroup; i < aGroups.length; i = i + 1) {
2100
- //group loop - get the groups tiles
2140
+ for (let i = stGroup; i < aGroups.length; i = i + 1) {
2141
+ // group loop - get the groups tiles
2101
2142
  this._updateGroupModelWithTilesViews(aGroups[i].tiles, startTile, handledUpdatesIndex);
2102
2143
  if (aGroups[i].links) {
2103
2144
  this._updateGroupModelWithTilesViews(aGroups[i].links, startTile, handledUpdatesIndex, true);
@@ -2112,7 +2153,7 @@ sap.ui.define([
2112
2153
  }
2113
2154
 
2114
2155
  // clear the handled updates from the tempTileViewUpdateQueue and set the model
2115
- var tempTileViewUpdateQueue = []; var tileViewUpdateQueueIndex;
2156
+ const tempTileViewUpdateQueue = []; let tileViewUpdateQueueIndex;
2116
2157
  for (tileViewUpdateQueueIndex = 0; tileViewUpdateQueueIndex < this.tileViewUpdateQueue.length; tileViewUpdateQueueIndex++) {
2117
2158
  if (handledUpdatesIndex.indexOf(tileViewUpdateQueueIndex) === -1) {
2118
2159
  tempTileViewUpdateQueue.push(this.tileViewUpdateQueue[tileViewUpdateQueueIndex]);
@@ -2124,11 +2165,11 @@ sap.ui.define([
2124
2165
  },
2125
2166
 
2126
2167
  getModelTileById: function (sId, sItems) {
2127
- var aGroups = this.oModel.getProperty("/groups");
2128
- var oModelTile;
2129
- var bFound = false;
2130
- aGroups.every(function (oGroup) {
2131
- oGroup[sItems].every(function (oTile) {
2168
+ const aGroups = this.oModel.getProperty("/groups");
2169
+ let oModelTile;
2170
+ let bFound = false;
2171
+ aGroups.every((oGroup) => {
2172
+ oGroup[sItems].every((oTile) => {
2132
2173
  if (oTile.uuid === sId || oTile.originalTileId === sId) {
2133
2174
  oModelTile = oTile;
2134
2175
  bFound = true;
@@ -2141,16 +2182,16 @@ sap.ui.define([
2141
2182
  },
2142
2183
 
2143
2184
  _attachLinkPressHandlers: function (oView) {
2144
- var oEventBus = Core.getEventBus();
2145
- var oTileView = oView.attachPress ? oView : oView.getContent()[0]; // a hack to support demoContent
2185
+ const oEventBus = Core.getEventBus();
2186
+ const oTileView = oView.attachPress ? oView : oView.getContent()[0]; // a hack to support demoContent
2146
2187
  oTileView.attachPress(function (oEvent) {
2147
- var bTileBeingMoved = oView.getBindingContext().getObject().tileIsBeingMoved;
2188
+ const bTileBeingMoved = oView.getBindingContext().getObject().tileIsBeingMoved;
2148
2189
  if (!bTileBeingMoved && this.getScope && this.getScope() === "Actions") {
2149
2190
  switch (oEvent.getParameters().action) {
2150
2191
  case "Press":
2151
- var sState = oView.getState ? oView.getState() : "";
2192
+ const sState = oView.getState ? oView.getState() : "";
2152
2193
  if (sState !== "Failed") {
2153
- var oActionMode = sap.ui.require("sap/ushell/components/homepage/ActionMode");
2194
+ const oActionMode = sap.ui.require("sap/ushell/components/homepage/ActionMode");
2154
2195
 
2155
2196
  if (oActionMode) {
2156
2197
  oActionMode._openActionsMenu(oEvent);
@@ -2160,7 +2201,7 @@ sap.ui.define([
2160
2201
  }
2161
2202
  break;
2162
2203
  case "Remove":
2163
- var tileUuid = oView.getBindingContext().getObject().uuid;
2204
+ const tileUuid = oView.getBindingContext().getObject().uuid;
2164
2205
  oEventBus.publish("launchpad", "deleteTile", { tileId: tileUuid, items: "links" });
2165
2206
  break;
2166
2207
  default: break;
@@ -2180,23 +2221,23 @@ sap.ui.define([
2180
2221
  case "tabs":
2181
2222
  this._handleDisplayModeChangeToTabs();
2182
2223
  break;
2183
- //no default
2224
+ // no default
2184
2225
  }
2185
2226
  },
2186
2227
 
2187
2228
  _handleDisplayModeChangeToTabs: function () {
2188
- var iSelectedGroup = this.oModel.getProperty("/iSelectedGroup");
2189
- var aGroups = this.oModel.getProperty("/groups");
2229
+ const iSelectedGroup = this.oModel.getProperty("/iSelectedGroup");
2230
+ const aGroups = this.oModel.getProperty("/groups");
2190
2231
 
2191
2232
  this.oDashboardLoadingManager.manageTilesView();
2192
2233
 
2193
2234
  if (aGroups.length > 0) {
2194
2235
  // update selected group based on selected anchor item
2195
- for (var i = 0; i < aGroups.length; i++) {
2196
- this.oModel.setProperty("/groups/" + i + "/isGroupSelected", false);
2236
+ for (let i = 0; i < aGroups.length; i++) {
2237
+ this.oModel.setProperty(`/groups/${i}/isGroupSelected`, false);
2197
2238
  }
2198
2239
 
2199
- this.oModel.setProperty("/groups/" + iSelectedGroup + "/isGroupSelected", true);
2240
+ this.oModel.setProperty(`/groups/${iSelectedGroup}/isGroupSelected`, true);
2200
2241
  }
2201
2242
  },
2202
2243
 
@@ -2205,15 +2246,15 @@ sap.ui.define([
2205
2246
  return;
2206
2247
  }
2207
2248
 
2208
- var aGroups = this.oModel.getProperty("/groups");
2209
- var aLinks = [];
2210
- var j;
2249
+ const aGroups = this.oModel.getProperty("/groups");
2250
+ let aLinks = [];
2251
+ let j;
2211
2252
 
2212
- for (var i = 0; i < aGroups.length; i++) {
2213
- var oGroup = aGroups[i];
2214
- var aTiles = oGroup.tiles || [];
2253
+ for (let i = 0; i < aGroups.length; i++) {
2254
+ const oGroup = aGroups[i];
2255
+ const aTiles = oGroup.tiles || [];
2215
2256
  for (j = 0; j < aTiles.length; j++) {
2216
- var oTile = aTiles[j];
2257
+ const oTile = aTiles[j];
2217
2258
  if (oTile.content.length === 0) {
2218
2259
  this.getTileView(oTile, i);
2219
2260
  }
@@ -2226,10 +2267,10 @@ sap.ui.define([
2226
2267
  }
2227
2268
  this.oModel.refresh(false);
2228
2269
 
2229
- var iSelectedGroupIndex = this.oModel.getProperty("/iSelectedGroup");
2270
+ const iSelectedGroupIndex = this.oModel.getProperty("/iSelectedGroup");
2230
2271
 
2231
2272
  if (iSelectedGroupIndex) {
2232
- setTimeout(function () {
2273
+ setTimeout(() => {
2233
2274
  Core.getEventBus().publish("launchpad", "scrollToGroup", {
2234
2275
  groupId: aGroups[iSelectedGroupIndex].groupId
2235
2276
  });
@@ -2238,12 +2279,12 @@ sap.ui.define([
2238
2279
  },
2239
2280
 
2240
2281
  getTileViewsFromArray: function (aRequestTileViews) {
2241
- var that = this;
2282
+ const that = this;
2242
2283
 
2243
2284
  if (aRequestTileViews.length === 0) {
2244
2285
  return;
2245
2286
  }
2246
- aRequestTileViews.forEach(function (oRequestTileView) {
2287
+ aRequestTileViews.forEach((oRequestTileView) => {
2247
2288
  that.getTileView(oRequestTileView.oTile, oRequestTileView.iGroup);
2248
2289
  });
2249
2290
  // trigger to refresh binding.
@@ -2264,7 +2305,7 @@ sap.ui.define([
2264
2305
  * @private
2265
2306
  */
2266
2307
  getTileView: function (tileOrCard, groupPosition) {
2267
- var sType = this.oPageOperationAdapter.getTileType(tileOrCard.object);
2308
+ const sType = this.oPageOperationAdapter.getTileType(tileOrCard.object);
2268
2309
 
2269
2310
  if (this.oDashboardLoadingManager.isTileViewRequestIssued(tileOrCard)) {
2270
2311
  // No need to get the tile view, the request was already issued.
@@ -2286,7 +2327,7 @@ sap.ui.define([
2286
2327
  * @private
2287
2328
  */
2288
2329
  _loadCardData: function (card) {
2289
- var oCard = Core.byId(card.controlId);
2330
+ const oCard = Core.byId(card.controlId);
2290
2331
 
2291
2332
  if (oCard && oCard.setManifest && this.isBlindLoading()) {
2292
2333
  oCard.setManifest(card.manifest);
@@ -2308,14 +2349,14 @@ sap.ui.define([
2308
2349
  * @private
2309
2350
  */
2310
2351
  _loadTileData: function (tile, groupPosition, tileType) {
2311
- var that = this;
2312
- var oDfd = this.oPageOperationAdapter.getTileView(tile);
2313
- var oGroupLinks;
2314
- var fUpdateModelWithView = this._addModelToTileViewUpdateQueue;
2315
- var oTileView;
2316
- var bNeedRefreshLinks = false;
2317
- var sTileUUID = tile.uuid;
2318
- var bSkipModelUpdate = false;
2352
+ const that = this;
2353
+ const oDfd = this.oPageOperationAdapter.getTileView(tile);
2354
+ let oGroupLinks;
2355
+ const fUpdateModelWithView = this._addModelToTileViewUpdateQueue;
2356
+ let oTileView;
2357
+ let bNeedRefreshLinks = false;
2358
+ const sTileUUID = tile.uuid;
2359
+ let bSkipModelUpdate = false;
2319
2360
 
2320
2361
  // The Deferred is already resolved for standard tiles.
2321
2362
  // The goal is to update the model for standard tiles in one place in order to trigger invalidation once.
@@ -2325,7 +2366,7 @@ sap.ui.define([
2325
2366
  }
2326
2367
 
2327
2368
  // Register done and fail handlers for the getTileView API.
2328
- oDfd.done(function (oView) {
2369
+ oDfd.done((oView) => {
2329
2370
  // Set the value of the target when the view is valid and make sure it is not a custom tile
2330
2371
  if (oView.oController && oView.oController.navigationTargetUrl && !tile.isCustomTile) {
2331
2372
  tile.target = oView.oController.navigationTargetUrl;
@@ -2336,7 +2377,7 @@ sap.ui.define([
2336
2377
  // In CDM content, the tile's view should have this function
2337
2378
  if (oTileView.getComponentInstance) {
2338
2379
  Measurement.average("FLP:getComponentInstance", "get info for navMode", "FLP1");
2339
- var oCompData = oTileView.getComponentInstance().getComponentData();
2380
+ const oCompData = oTileView.getComponentInstance().getComponentData();
2340
2381
 
2341
2382
  if (oCompData && oCompData.properties) {
2342
2383
  tile.navigationMode = oCompData.properties.navigationMode;
@@ -2346,7 +2387,7 @@ sap.ui.define([
2346
2387
  }
2347
2388
 
2348
2389
  that.oDashboardLoadingManager.setTileResolved(tile);
2349
- var sMode = oView.getMode ? oView.getMode() : "ContentMode";
2390
+ const sMode = oView.getMode ? oView.getMode() : "ContentMode";
2350
2391
 
2351
2392
  // If the tileType is link and the personalization is supported by the platform, the the link must support personalization
2352
2393
  if (that.bLinkPersonalizationSupported && sMode === "LineMode") {
@@ -2354,13 +2395,13 @@ sap.ui.define([
2354
2395
  that._attachLinkPressHandlers(oTileView);
2355
2396
 
2356
2397
  if (groupPosition >= 0) {
2357
- var aGroups = that.oModel.getProperty("/groups");
2398
+ const aGroups = that.oModel.getProperty("/groups");
2358
2399
 
2359
2400
  if (aGroups[groupPosition]) {
2360
2401
  tile.content = [oTileView];
2361
- oGroupLinks = that.oModel.getProperty("/groups/" + groupPosition + "/links");
2362
- that.oModel.setProperty("/groups/" + groupPosition + "/links", []);
2363
- that.oModel.setProperty("/groups/" + groupPosition + "/links", oGroupLinks);
2402
+ oGroupLinks = that.oModel.getProperty(`/groups/${groupPosition}/links`);
2403
+ that.oModel.setProperty(`/groups/${groupPosition}/links`, []);
2404
+ that.oModel.setProperty(`/groups/${groupPosition}/links`, oGroupLinks);
2364
2405
  }
2365
2406
  }
2366
2407
  } else if (that.isBlindLoading()) {
@@ -2377,8 +2418,8 @@ sap.ui.define([
2377
2418
 
2378
2419
  if (that.isBlindLoading()) {
2379
2420
  // in some cases tile size can be different then the initial value therefore we read and set the size again
2380
- var sSize = that.oPageOperationAdapter.getTileSize(tile.object);
2381
- var bLong = sSize === "1x2";
2421
+ const sSize = that.oPageOperationAdapter.getTileSize(tile.object);
2422
+ const bLong = sSize === "1x2";
2382
2423
  if (tile.long !== bLong) {
2383
2424
  tile.long = bLong;
2384
2425
  that.oModel.refresh(false);
@@ -2387,9 +2428,9 @@ sap.ui.define([
2387
2428
  tile.content = [oTileView];
2388
2429
 
2389
2430
  if (bNeedRefreshLinks) {
2390
- oGroupLinks = that.oModel.getProperty("/groups/" + groupPosition + "/links");
2391
- that.oModel.setProperty("/groups/" + groupPosition + "/links", []);
2392
- that.oModel.setProperty("/groups/" + groupPosition + "/links", oGroupLinks);
2431
+ oGroupLinks = that.oModel.getProperty(`/groups/${groupPosition}/links`);
2432
+ that.oModel.setProperty(`/groups/${groupPosition}/links`, []);
2433
+ that.oModel.setProperty(`/groups/${groupPosition}/links`, oGroupLinks);
2393
2434
  }
2394
2435
  } else if (tile.content.length === 0) {
2395
2436
  tile.content = [oTileView];
@@ -2399,7 +2440,7 @@ sap.ui.define([
2399
2440
  }
2400
2441
  });
2401
2442
 
2402
- oDfd.fail(function () {
2443
+ oDfd.fail(() => {
2403
2444
  if (that.oPageOperationAdapter.getTileType(tile.object) === "link" && that.bLinkPersonalizationSupported) {
2404
2445
  // In case call is synchronize we set the view with 'TileState' control with 'Failed' status
2405
2446
  oTileView = that.oPageOperationAdapter.getFailedLinkView(tile);
@@ -2440,8 +2481,8 @@ sap.ui.define([
2440
2481
  * @deprecated since 1.112. Deprecated together with the classic homepage.
2441
2482
  */
2442
2483
  loadPersonalizedGroups: function () {
2443
- var that = this;
2444
- var oDeferred = new jQuery.Deferred();
2484
+ const that = this;
2485
+ const oDeferred = new jQuery.Deferred();
2445
2486
 
2446
2487
  if (this.bIsGroupsRequestPending) {
2447
2488
  Log.info("loadPersonalizedGroups was skipped because there is already a pending request.");
@@ -2452,15 +2493,15 @@ sap.ui.define([
2452
2493
 
2453
2494
  this.oServiceLoadingPromise
2454
2495
  .then(that.loadLibraryForCardModuleIfNeeded)
2455
- .then(function () {
2496
+ .then(() => {
2456
2497
  return that.oPageOperationAdapter.getPage();
2457
2498
  })
2458
- .then(function (aGroups) {
2499
+ .then((aGroups) => {
2459
2500
  that._setGroupModel(aGroups);
2460
2501
  that.bIsGroupsRequestPending = false;
2461
2502
  oDeferred.resolve();
2462
2503
  })
2463
- .catch(function (vError) {
2504
+ .catch((vError) => {
2464
2505
  Log.error("Loading of personalized groups failed.", vError, "sap.ushell.components.HomepageManager");
2465
2506
  oMessagingHelper.showLocalizedError("fail_to_load_groups_msg");
2466
2507
  that.bIsGroupsRequestPending = false;