@sapui5/sap.ushell 1.115.1 → 1.117.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (667) hide show
  1. package/package.json +7 -2
  2. package/src/main/js/sap/ushell/.library +1 -1
  3. package/src/main/js/sap/ushell/ApplicationType.js +47 -939
  4. package/src/main/js/sap/ushell/CanvasShapesManager.js +2 -2
  5. package/src/main/js/sap/ushell/Container.js +10 -2
  6. package/src/main/js/sap/ushell/Fiori20Adapter.js +1 -1
  7. package/src/main/js/sap/ushell/Fiori20AdapterTest.js +1 -1
  8. package/src/main/js/sap/ushell/Layout.js +1 -1
  9. package/src/main/js/sap/ushell/NWBCInterface.js +1 -1
  10. package/src/main/js/sap/ushell/SessionHandler.js +7 -5
  11. package/src/main/js/sap/ushell/TechnicalParameters.js +1 -1
  12. package/src/main/js/sap/ushell/URLTemplateProcessor.js +1 -1
  13. package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +1 -1
  14. package/src/main/js/sap/ushell/Ui5ServiceFactory.js +1 -1
  15. package/src/main/js/sap/ushell/User.js +2 -2
  16. package/src/main/js/sap/ushell/_ApplicationType/guiResolution.js +3 -4
  17. package/src/main/js/sap/ushell/_ApplicationType/ui5Resolution.js +121 -0
  18. package/src/main/js/sap/ushell/_ApplicationType/urlResolution.js +105 -0
  19. package/src/main/js/sap/ushell/_ApplicationType/urlTemplateResolution.js +626 -0
  20. package/src/main/js/sap/ushell/_ApplicationType/utils.js +94 -3
  21. package/src/main/js/sap/ushell/_ApplicationType/wcfResolution.js +61 -0
  22. package/src/main/js/sap/ushell/_ApplicationType/wdaResolution.js +28 -0
  23. package/src/main/js/sap/ushell/_URLTemplateProcessor/DefinitionParameterSetBuilder.js +1 -1
  24. package/src/main/js/sap/ushell/_URLTemplateProcessor/DependencyGraph.js +1 -1
  25. package/src/main/js/sap/ushell/_URLTemplateProcessor/Functions.js +1 -1
  26. package/src/main/js/sap/ushell/_URLTemplateProcessor/Resolvers.js +1 -1
  27. package/src/main/js/sap/ushell/_URLTemplateProcessor/TemplateParameterParser.js +1 -1
  28. package/src/main/js/sap/ushell/_URLTemplateProcessor/utils.js +1 -1
  29. package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +1 -1
  30. package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +1 -1
  31. package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
  32. package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +1 -1
  33. package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +12 -3
  34. package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +1 -1
  35. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
  36. package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +1 -1
  37. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +1 -1
  38. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +1 -1
  39. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +1 -1
  40. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +1 -1
  41. package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +1 -1
  42. package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +1 -1
  43. package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +1 -1
  44. package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +52 -3
  45. package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +3 -4
  46. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +1 -1
  47. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +1 -1
  48. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +1 -1
  49. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +1 -1
  50. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +1 -1
  51. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +1 -1
  52. package/src/main/js/sap/ushell/adapters/cep/MenuAdapter.js +61 -53
  53. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +1 -1
  54. package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +222 -59
  55. package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +1 -1
  56. package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +1 -1
  57. package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +2 -2
  58. package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +1 -1
  59. package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +2 -2
  60. package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +20 -4
  61. package/src/main/js/sap/ushell/adapters/local/MenuAdapter.js +35 -0
  62. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +1 -1
  63. package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +1 -1
  64. package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +1 -1
  65. package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +1 -1
  66. package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +2 -10
  67. package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +902 -218
  68. package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +2 -3
  69. package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +1 -1
  70. package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +1 -1
  71. package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +12 -2
  72. package/src/main/js/sap/ushell/appRuntime/ui5/AppCommunicationMgr.js +11 -6
  73. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +20 -13
  74. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntimeContext.js +43 -2
  75. package/src/main/js/sap/ushell/appRuntime/ui5/SessionHandlerAgent.js +14 -12
  76. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/baseRta/Trigger.js +1 -2
  77. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/Component.js +8 -8
  78. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/RendererExtensions.js +7 -27
  79. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppLifeCycleAgent.js +10 -7
  80. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppState.js +7 -3
  81. package/src/main/js/sap/ushell/appRuntime/ui5/services/Bookmark.js +18 -7
  82. package/src/main/js/sap/ushell/appRuntime/ui5/services/Container.js +99 -3
  83. package/src/main/js/sap/ushell/appRuntime/ui5/services/CrossApplicationNavigation.js +1 -1
  84. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellUIService.js +15 -66
  85. package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
  86. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/logger.js +1 -1
  87. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/state.js +1 -1
  88. package/src/main/js/sap/ushell/bootstrap/cdm/cdm.constants.js +8 -8
  89. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5datetimeformat.js +1 -1
  90. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5language.js +2 -2
  91. package/src/main/js/sap/ushell/bootstrap/common/common.create.configcontract.core.js +32 -2
  92. package/src/main/js/sap/ushell/components/ComponentKeysHandler.js +4 -2
  93. package/src/main/js/sap/ushell/components/GroupsHelper.js +15 -13
  94. package/src/main/js/sap/ushell/components/HeaderManager.js +6 -1
  95. package/src/main/js/sap/ushell/components/HomepageManager.js +4 -7
  96. package/src/main/js/sap/ushell/components/MessagingHelper.js +2 -2
  97. package/src/main/js/sap/ushell/components/_HeaderManager/AddHeadEndItemsStrategy.js +4 -3
  98. package/src/main/js/sap/ushell/components/_HeaderManager/ControlManager.js +5 -7
  99. package/src/main/js/sap/ushell/components/_HeaderManager/ShellHeader.controller.js +12 -10
  100. package/src/main/js/sap/ushell/components/_HomepageManager/DashboardLoadingManager.js +3 -1
  101. package/src/main/js/sap/ushell/components/appfinder/AppFinderView.js +7 -4
  102. package/src/main/js/sap/ushell/components/appfinder/Catalog.controller.js +19 -5
  103. package/src/main/js/sap/ushell/components/appfinder/CatalogView.js +8 -12
  104. package/src/main/js/sap/ushell/components/appfinder/EasyAccess.controller.js +3 -3
  105. package/src/main/js/sap/ushell/components/appfinder/GroupListPopover.controller.js +3 -1
  106. package/src/main/js/sap/ushell/components/appfinder/HierarchyFolders.controller.js +1 -1
  107. package/src/main/js/sap/ushell/components/appfinder/HierarchyFoldersView.js +3 -1
  108. package/src/main/js/sap/ushell/components/appfinder/VisualizationOrganizerHelper.js +4 -3
  109. package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
  110. package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +299 -563
  111. package/src/main/js/sap/ushell/components/applicationIntegration/Storage.js +25 -183
  112. package/src/main/js/sap/ushell/components/applicationIntegration/application/Application.js +41 -159
  113. package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxHandler.js +288 -315
  114. package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxesCache.js +66 -13
  115. package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPI.js +124 -58
  116. package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPIInterface.js +3 -4
  117. package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageUtils.js +185 -0
  118. package/src/main/js/sap/ushell/components/applicationIntegration/application/WebGUIStatefulHandler.js +88 -0
  119. package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +3 -3
  120. package/src/main/js/sap/ushell/components/applicationIntegration/elements/model.js +1 -1
  121. package/src/main/js/sap/ushell/components/applicationIntegration/relatedServices/RelatedServices.js +1 -1
  122. package/src/main/js/sap/ushell/components/applicationIntegration/relatedShellElements/RelatedShellElements.js +1 -1
  123. package/src/main/js/sap/ushell/components/cards/Configuration.controller.js +2 -3
  124. package/src/main/js/sap/ushell/components/cepsearchresult/app/Main.controller.js +4 -2
  125. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n.properties +7 -7
  126. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_ar.properties +27 -27
  127. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_bg.properties +27 -27
  128. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_ca.properties +26 -26
  129. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_cy.properties +27 -27
  130. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_da.properties +27 -27
  131. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_de.properties +27 -27
  132. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_el.properties +27 -27
  133. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_en_GB.properties +3 -3
  134. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_en_US_sappsd.properties +5 -5
  135. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_es_MX.properties +26 -26
  136. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_fi.properties +27 -27
  137. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_fr_CA.properties +26 -26
  138. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_hi.properties +27 -27
  139. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_hr.properties +27 -27
  140. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_hu.properties +27 -27
  141. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_id.properties +27 -27
  142. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_it.properties +26 -26
  143. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_iw.properties +27 -27
  144. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_ja.properties +27 -27
  145. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_ko.properties +27 -27
  146. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_lt.properties +27 -27
  147. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_lv.properties +27 -27
  148. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_ms.properties +27 -27
  149. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_nl.properties +27 -27
  150. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_no.properties +27 -27
  151. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_pl.properties +27 -27
  152. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_pt.properties +27 -27
  153. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_pt_PT.properties +27 -27
  154. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_ro.properties +26 -26
  155. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_ru.properties +27 -27
  156. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_sh.properties +27 -27
  157. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_sl.properties +27 -27
  158. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_sv.properties +27 -27
  159. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_th.properties +27 -27
  160. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_uk.properties +27 -27
  161. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_vi.properties +27 -27
  162. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_zh_CN.properties +27 -27
  163. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_zh_TW.properties +27 -27
  164. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/categories/Application.js +39 -79
  165. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_ar.properties +18 -18
  166. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_bg.properties +18 -18
  167. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_ca.properties +15 -15
  168. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_cy.properties +18 -18
  169. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_da.properties +18 -18
  170. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_de.properties +15 -15
  171. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_el.properties +18 -18
  172. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_en_GB.properties +2 -2
  173. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_es_MX.properties +15 -15
  174. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_fi.properties +18 -18
  175. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_fr_CA.properties +15 -15
  176. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_hi.properties +18 -18
  177. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_hr.properties +18 -18
  178. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_hu.properties +18 -18
  179. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_id.properties +18 -18
  180. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_it.properties +17 -17
  181. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_iw.properties +18 -18
  182. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_ja.properties +18 -18
  183. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_ko.properties +18 -18
  184. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_lt.properties +18 -18
  185. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_lv.properties +18 -18
  186. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_ms.properties +18 -18
  187. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_nl.properties +18 -18
  188. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_no.properties +18 -18
  189. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_pl.properties +18 -18
  190. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_pt.properties +18 -18
  191. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_pt_PT.properties +18 -18
  192. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_ro.properties +17 -17
  193. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_ru.properties +18 -18
  194. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_sl.properties +18 -18
  195. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_th.properties +17 -17
  196. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_uk.properties +18 -18
  197. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_vi.properties +18 -18
  198. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_zh_CN.properties +18 -18
  199. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_zh_TW.properties +18 -18
  200. package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +28 -589
  201. package/src/main/js/sap/ushell/components/container/IframePOSTUtils.js +225 -0
  202. package/src/main/js/sap/ushell/components/contentFinder/Component.js +28 -28
  203. package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +2 -2
  204. package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +1 -1
  205. package/src/main/js/sap/ushell/components/contentFinder/controller/WidgetGallery.controller.js +1 -1
  206. package/src/main/js/sap/ushell/components/contentFinder/manifest.json +1 -1
  207. package/src/main/js/sap/ushell/components/contentFinder/model/GraphQLListBinding.js +2 -2
  208. package/src/main/js/sap/ushell/components/contentFinder/model/GraphQLModel.js +2 -2
  209. package/src/main/js/sap/ushell/components/contentFinder/model/formatter.js +2 -2
  210. package/src/main/js/sap/ushell/components/contentFinder/resources/resources.properties +2 -2
  211. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ar.properties +8 -10
  212. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_bg.properties +8 -10
  213. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ca.properties +8 -10
  214. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_cs.properties +1 -3
  215. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_cy.properties +8 -10
  216. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_da.properties +8 -10
  217. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_de.properties +8 -10
  218. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_el.properties +7 -9
  219. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_en.properties +1 -3
  220. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_en_GB.properties +1 -3
  221. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_en_US_sappsd.properties +1 -3
  222. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_en_US_saprigi.properties +1 -3
  223. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_en_US_saptrc.properties +1 -3
  224. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_es.properties +1 -3
  225. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_es_MX.properties +8 -10
  226. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_et.properties +1 -3
  227. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_fi.properties +8 -10
  228. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_fr.properties +1 -3
  229. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_fr_CA.properties +8 -10
  230. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_hi.properties +7 -9
  231. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_hr.properties +7 -9
  232. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_hu.properties +8 -10
  233. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_id.properties +8 -10
  234. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_it.properties +10 -12
  235. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_iw.properties +8 -10
  236. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ja.properties +7 -9
  237. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_kk.properties +1 -3
  238. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ko.properties +7 -9
  239. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_lt.properties +7 -9
  240. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_lv.properties +7 -9
  241. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ms.properties +8 -10
  242. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_nl.properties +7 -9
  243. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_no.properties +8 -10
  244. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_pl.properties +8 -10
  245. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_pt.properties +8 -10
  246. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_pt_PT.properties +8 -10
  247. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ro.properties +8 -10
  248. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ru.properties +8 -10
  249. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sh.properties +1 -3
  250. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sk.properties +1 -3
  251. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sl.properties +8 -10
  252. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sv.properties +1 -3
  253. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_th.properties +7 -9
  254. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_tr.properties +1 -3
  255. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_uk.properties +8 -10
  256. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_vi.properties +8 -10
  257. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_zh_CN.properties +8 -10
  258. package/src/main/js/sap/ushell/components/contentFinder/resources/resources_zh_TW.properties +7 -9
  259. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearch.view.xml +7 -1
  260. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchBox.fragment.xml +1 -1
  261. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchPaginated.view.xml +2 -3
  262. package/src/main/js/sap/ushell/components/contentFinder/view/WidgetGallery.view.xml +2 -8
  263. package/src/main/js/sap/ushell/components/factsheet/Component.js +1 -1
  264. package/src/main/js/sap/ushell/components/homepage/ActionMode.js +12 -3
  265. package/src/main/js/sap/ushell/components/homepage/Component.js +3 -1
  266. package/src/main/js/sap/ushell/components/homepage/DashboardContent.controller.js +25 -0
  267. package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +12 -10
  268. package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +1 -3
  269. package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +13 -11
  270. package/src/main/js/sap/ushell/components/homepage/FLPAnalytics.js +11 -11
  271. package/src/main/js/sap/ushell/components/homepage/manifest.json +1 -1
  272. package/src/main/js/sap/ushell/components/pages/ActionMode.js +6 -6
  273. package/src/main/js/sap/ushell/components/pages/Component.js +1 -1
  274. package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +1 -1
  275. package/src/main/js/sap/ushell/components/pages/StateManager.js +3 -2
  276. package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +90 -20
  277. package/src/main/js/sap/ushell/components/pages/controller/PagesAndSpaceId.js +1 -1
  278. package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
  279. package/src/main/js/sap/ushell/components/pages/view/PageRuntime.view.xml +1 -45
  280. package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +4 -4
  281. package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
  282. package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +1 -1
  283. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +182 -46
  284. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +1 -1
  285. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/view/CustomTreeItem.fragment.xml +4 -4
  286. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/view/NavigationBarMenu.view.xml +1 -1
  287. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/view/NavigationBarMenuPopover.fragment.xml +8 -1
  288. package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +14 -12
  289. package/src/main/js/sap/ushell/components/shell/PostLoadingHeaderEnhancement/Component.js +1 -3
  290. package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +8 -6
  291. package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
  292. package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +16 -4
  293. package/src/main/js/sap/ushell/components/shell/SearchCEP/ProvidersExecuter.js +4 -4
  294. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchCEP.controller.js +634 -612
  295. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchFieldFragment.fragment.xml +2 -102
  296. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +28 -33
  297. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +12 -14
  298. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +80 -17
  299. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchServiceProvider.js +161 -0
  300. package/src/main/js/sap/ushell/components/shell/Settings/Component.js +1 -1
  301. package/src/main/js/sap/ushell/components/shell/Settings/ContentWrapper.fragment.xml +1 -3
  302. package/src/main/js/sap/ushell/components/shell/Settings/ErrorMessageHelper.js +4 -2
  303. package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.controller.js +24 -26
  304. package/src/main/js/sap/ushell/components/shell/Settings/appearance/Appearance.controller.js +8 -7
  305. package/src/main/js/sap/ushell/components/shell/Settings/appearance/Appearance.view.xml +6 -5
  306. package/src/main/js/sap/ushell/components/shell/Settings/userAccount/UserAccountSelector.controller.js +3 -1
  307. package/src/main/js/sap/ushell/components/shell/Settings/userAccount/UserAccountSetting.fragment.xml +2 -0
  308. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/UserDefaultsForm.js +5 -1
  309. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/controller/UserDefaultsSetting.controller.js +20 -2
  310. package/src/main/js/sap/ushell/components/shell/Settings/userLanguageRegion/LanguageRegionSelector.controller.js +21 -10
  311. package/src/main/js/sap/ushell/components/shell/Settings/userLanguageRegion/LanguageRegionSelector.view.xml +8 -1
  312. package/src/main/js/sap/ushell/components/shell/Settings/userLanguageRegion/UserLanguageRegionEntry.js +12 -22
  313. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +4 -2
  314. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/UserActionsMenu.controller.js +50 -46
  315. package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +1 -1
  316. package/src/main/js/sap/ushell/components/tiles/applauncher/StaticTile.controller.js +11 -3
  317. package/src/main/js/sap/ushell/components/tiles/applauncher/StaticTile.view.js +5 -0
  318. package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/DynamicTile.controller.js +11 -2
  319. package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/DynamicTile.view.js +5 -0
  320. package/src/main/js/sap/ushell/components/tiles/cdm/applauncher/Component.js +12 -0
  321. package/src/main/js/sap/ushell/components/tiles/cdm/applauncher/StaticTile.controller.js +24 -7
  322. package/src/main/js/sap/ushell/components/tiles/cdm/applauncher/StaticTile.view.js +1 -1
  323. package/src/main/js/sap/ushell/components/tiles/cdm/applauncher/StaticTile.view.xml +1 -1
  324. package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/Component.js +24 -0
  325. package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.controller.js +71 -7
  326. package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.view.js +1 -1
  327. package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.view.xml +1 -1
  328. package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +28 -28
  329. package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +71 -34
  330. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility.js +35 -1
  331. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +550 -241
  332. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.layout.js +369 -0
  333. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageHost.js +60 -4
  334. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +24 -5
  335. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +2 -2
  336. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +69 -39
  337. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +16 -11
  338. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnRenderer.js +13 -1
  339. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +2 -2
  340. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRenderer.js +7 -1
  341. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +11 -10
  342. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRowRenderer.js +5 -0
  343. package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
  344. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources.properties +15 -3
  345. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ar.properties +36 -29
  346. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_bg.properties +36 -29
  347. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ca.properties +36 -29
  348. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_cs.properties +32 -25
  349. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_cy.properties +36 -29
  350. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_da.properties +36 -29
  351. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_de.properties +36 -29
  352. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_el.properties +36 -29
  353. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_en.properties +26 -19
  354. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_en_GB.properties +26 -19
  355. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_en_US_sappsd.properties +38 -6
  356. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_en_US_saprigi.properties +9 -2
  357. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_en_US_saptrc.properties +35 -6
  358. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_es.properties +31 -24
  359. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_es_MX.properties +36 -29
  360. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_et.properties +31 -24
  361. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_fi.properties +36 -29
  362. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_fr.properties +31 -24
  363. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_fr_CA.properties +36 -29
  364. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_hi.properties +36 -29
  365. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_hr.properties +38 -31
  366. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_hu.properties +36 -29
  367. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_id.properties +36 -29
  368. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_it.properties +35 -28
  369. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_iw.properties +37 -30
  370. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ja.properties +36 -29
  371. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_kk.properties +31 -24
  372. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ko.properties +36 -29
  373. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_lt.properties +37 -30
  374. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_lv.properties +36 -29
  375. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ms.properties +36 -29
  376. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_nl.properties +36 -29
  377. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_no.properties +36 -29
  378. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_pl.properties +36 -29
  379. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_pt.properties +36 -29
  380. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_pt_PT.properties +36 -29
  381. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ro.properties +36 -29
  382. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ru.properties +36 -29
  383. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_sh.properties +31 -24
  384. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_sk.properties +31 -24
  385. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_sl.properties +36 -29
  386. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_sv.properties +36 -29
  387. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_th.properties +36 -29
  388. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_tr.properties +31 -24
  389. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_uk.properties +36 -29
  390. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_vi.properties +36 -29
  391. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_zh_CN.properties +36 -29
  392. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_zh_TW.properties +36 -29
  393. package/src/main/js/sap/ushell/components/workPageBuilder/view/WorkPageBuilder.view.xml +88 -42
  394. package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +1 -1
  395. package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +7 -6
  396. package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +1 -1
  397. package/src/main/js/sap/ushell/components/workPageRuntime/services/NavigationResolver.js +11 -11
  398. package/src/main/js/sap/ushell/components/workPageRuntime/services/WorkPage.js +35 -33
  399. package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
  400. package/src/main/js/sap/ushell/library.js +1 -1
  401. package/src/main/js/sap/ushell/navigationMode.js +1 -1
  402. package/src/main/js/sap/ushell/performance/FesrEnhancer.js +20 -21
  403. package/src/main/js/sap/ushell/performance/ShellAnalytics.js +47 -32
  404. package/src/main/js/sap/ushell/performance/StatisticalRecord.js +65 -31
  405. package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
  406. package/src/main/js/sap/ushell/renderers/fiori2/Renderer.js +7 -5
  407. package/src/main/js/sap/ushell/renderers/fiori2/RendererExtensions.js +0 -48
  408. package/src/main/js/sap/ushell/renderers/fiori2/Shell.controller.js +94 -90
  409. package/src/main/js/sap/ushell/renderers/fiori2/Shell.view.js +8 -3
  410. package/src/main/js/sap/ushell/renderers/fiori2/ShellAsync.view.js +1 -1
  411. package/src/main/js/sap/ushell/renderers/fiori2/ShellLayout.js +1 -1
  412. package/src/main/js/sap/ushell/renderers/fiori2/allMyApps/AllMyApps.controller.js +93 -94
  413. package/src/main/js/sap/ushell/renderers/fiori2/allMyApps/AllMyAppsKeyboardHandler.js +8 -8
  414. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources.properties +4 -2
  415. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_ar.properties +3 -1
  416. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_bg.properties +21 -19
  417. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_ca.properties +3 -1
  418. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_cs.properties +9 -7
  419. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_cy.properties +4 -2
  420. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_da.properties +3 -1
  421. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_de.properties +16 -14
  422. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_el.properties +4 -2
  423. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_en.properties +4 -2
  424. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_en_GB.properties +3 -1
  425. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_en_US_sappsd.properties +3 -1
  426. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_en_US_saprigi.properties +3 -1
  427. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_en_US_saptrc.properties +2 -1
  428. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_es.properties +3 -1
  429. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_es_MX.properties +3 -1
  430. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_et.properties +3 -1
  431. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_fi.properties +3 -1
  432. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_fr.properties +5 -3
  433. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_fr_CA.properties +3 -1
  434. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_hi.properties +3 -1
  435. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_hr.properties +15 -13
  436. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_hu.properties +3 -1
  437. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_id.properties +3 -1
  438. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_it.properties +3 -1
  439. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_iw.properties +3 -1
  440. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_ja.properties +3 -1
  441. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_kk.properties +3 -1
  442. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_ko.properties +5 -3
  443. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_lt.properties +3 -1
  444. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_lv.properties +3 -1
  445. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_ms.properties +6 -4
  446. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_nl.properties +3 -1
  447. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_no.properties +4 -2
  448. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_pl.properties +9 -7
  449. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_pt.properties +3 -1
  450. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_pt_PT.properties +3 -1
  451. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_ro.properties +3 -1
  452. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_ru.properties +3 -1
  453. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_sh.properties +3 -1
  454. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_sk.properties +4 -2
  455. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_sl.properties +3 -1
  456. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_sv.properties +3 -1
  457. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_th.properties +3 -1
  458. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_tr.properties +4 -2
  459. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_uk.properties +3 -1
  460. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_vi.properties +3 -1
  461. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_zh_CN.properties +3 -1
  462. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_zh_TW.properties +3 -1
  463. package/src/main/js/sap/ushell/renderers/fiori2/search/searchComponent/manifest.json +1 -1
  464. package/src/main/js/sap/ushell/renderers/fiori2/utils.js +28 -0
  465. package/src/main/js/sap/ushell/services/AppConfiguration.js +24 -2
  466. package/src/main/js/sap/ushell/services/AppLifeCycle.js +52 -23
  467. package/src/main/js/sap/ushell/services/AppState.js +19 -7
  468. package/src/main/js/sap/ushell/services/Bookmark.js +55 -21
  469. package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +1 -1
  470. package/src/main/js/sap/ushell/services/CommonDataModel.js +1 -1
  471. package/src/main/js/sap/ushell/services/Configuration.js +1 -1
  472. package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +1 -1
  473. package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +1 -1
  474. package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +4 -4
  475. package/src/main/js/sap/ushell/services/DarkModeSupport.js +1 -1
  476. package/src/main/js/sap/ushell/services/EndUserFeedback.js +3 -3
  477. package/src/main/js/sap/ushell/services/LaunchPage.js +22 -4
  478. package/src/main/js/sap/ushell/services/Menu.js +5 -1
  479. package/src/main/js/sap/ushell/services/Message.js +8 -7
  480. package/src/main/js/sap/ushell/services/MessageBroker.js +1 -1
  481. package/src/main/js/sap/ushell/services/NavTargetResolution.js +1 -1
  482. package/src/main/js/sap/ushell/services/NavigationDataProvider.js +1 -1
  483. package/src/main/js/sap/ushell/services/Notifications.js +18 -15
  484. package/src/main/js/sap/ushell/services/PageBuilding.js +1 -1
  485. package/src/main/js/sap/ushell/services/PagePersistence.js +1 -1
  486. package/src/main/js/sap/ushell/services/PageReferencing.js +1 -1
  487. package/src/main/js/sap/ushell/services/Pages.js +1 -1
  488. package/src/main/js/sap/ushell/services/Personalization.js +10 -8
  489. package/src/main/js/sap/ushell/services/PluginManager.js +30 -8
  490. package/src/main/js/sap/ushell/services/ReferenceResolver.js +1 -1
  491. package/src/main/js/sap/ushell/services/Search.js +1 -1
  492. package/src/main/js/sap/ushell/services/SearchCEP.js +284 -30
  493. package/src/main/js/sap/ushell/services/SearchableContent.js +77 -18
  494. package/src/main/js/sap/ushell/services/SmartNavigation.js +1 -1
  495. package/src/main/js/sap/ushell/services/SpaceContent.js +12 -4
  496. package/src/main/js/sap/ushell/services/SupportTicket.js +10 -7
  497. package/src/main/js/sap/ushell/services/UITracer.js +506 -0
  498. package/src/main/js/sap/ushell/services/URLParsing.js +11 -8
  499. package/src/main/js/sap/ushell/services/URLShortening.js +1 -1
  500. package/src/main/js/sap/ushell/services/URLTemplate.js +1 -1
  501. package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +1 -1
  502. package/src/main/js/sap/ushell/services/UsageAnalytics.js +6 -3
  503. package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +1 -1
  504. package/src/main/js/sap/ushell/services/UserDefaultParameters.js +19 -27
  505. package/src/main/js/sap/ushell/services/UserInfo.js +6 -5
  506. package/src/main/js/sap/ushell/services/UserRecents.js +1 -1
  507. package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +1 -1
  508. package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +1 -1
  509. package/src/main/js/sap/ushell/services/_AppState/AppStatePersistencyMethod.js +13 -2
  510. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Formatter.js +1 -1
  511. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundIndex.js +1 -1
  512. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundProvider.js +1 -1
  513. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/PrelaunchOperations.js +1 -1
  514. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Search.js +1 -1
  515. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/StagedLogger.js +1 -1
  516. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/SystemContext.js +1 -1
  517. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Utils.js +1 -1
  518. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/VirtualInbounds.js +1 -1
  519. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/XAppStateProcessing.js +1 -1
  520. package/src/main/js/sap/ushell/services/_CommonDataModel/SiteConverter.js +1 -1
  521. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +1 -1
  522. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +1 -1
  523. package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +1 -1
  524. package/src/main/js/sap/ushell/services/_MessageBroker/MessageBrokerEngine.js +9 -46
  525. package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +1 -1
  526. package/src/main/js/sap/ushell/services/_Personalization/TransientPersonalizer.js +10 -16
  527. package/src/main/js/sap/ushell/services/_PluginManager/Extensions.js +1 -1
  528. package/src/main/js/sap/ushell/services/_PluginManager/HeaderExtensions.js +1 -1
  529. package/src/main/js/sap/ushell/services/_PluginManager/MenuExtensions.js +1 -1
  530. package/src/main/js/sap/ushell/services/_Ui5ComponentLoader/utils.js +1 -1
  531. package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstance.js +43 -11
  532. package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstanceCdm.js +44 -2
  533. package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstanceLink.js +12 -4
  534. package/src/main/js/sap/ushell/services/{_AppState → appstate}/AppState.js +1 -1
  535. package/src/main/js/sap/ushell/services/appstate/AppStatePersistencyMethod.js +14 -0
  536. package/src/main/js/sap/ushell/services/{_AppState → appstate}/SequentializingAdapter.js +1 -1
  537. package/src/main/js/sap/ushell/services/{_AppState → appstate}/WindowAdapter.js +1 -1
  538. package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
  539. package/src/main/js/sap/ushell/themes/base/ContentFinder.less +0 -9
  540. package/src/main/js/sap/ushell/themes/base/MenuBar.less +3 -3
  541. package/src/main/js/sap/ushell/themes/base/SearchCEP.less +32 -198
  542. package/src/main/js/sap/ushell/themes/base/SearchFLP.less +5 -0
  543. package/src/main/js/sap/ushell/themes/base/ShellAppTitle.less +10 -30
  544. package/src/main/js/sap/ushell/themes/base/WorkPage.less +7 -24
  545. package/src/main/js/sap/ushell/themes/base/WorkPageCell.less +57 -20
  546. package/src/main/js/sap/ushell/themes/base/WorkPageColumn.less +37 -12
  547. package/src/main/js/sap/ushell/themes/base/WorkPageColumnResizer.less +59 -0
  548. package/src/main/js/sap/ushell/themes/base/WorkPageRow.less +12 -37
  549. package/src/main/js/sap/ushell/themes/base/fonts/BusinessSuiteInAppSymbols.eot +0 -0
  550. package/src/main/js/sap/ushell/themes/base/fonts/BusinessSuiteInAppSymbols.json +2 -1
  551. package/src/main/js/sap/ushell/themes/base/fonts/BusinessSuiteInAppSymbols.ttf +0 -0
  552. package/src/main/js/sap/ushell/themes/base/fonts/BusinessSuiteInAppSymbols.woff +0 -0
  553. package/src/main/js/sap/ushell/themes/base/fonts/BusinessSuiteInAppSymbols.woff2 +0 -0
  554. package/src/main/js/sap/ushell/themes/base/fonts/horizon/BusinessSuiteInAppSymbols.eot +0 -0
  555. package/src/main/js/sap/ushell/themes/base/fonts/horizon/BusinessSuiteInAppSymbols.ttf +0 -0
  556. package/src/main/js/sap/ushell/themes/base/fonts/horizon/BusinessSuiteInAppSymbols.woff +0 -0
  557. package/src/main/js/sap/ushell/themes/base/fonts/horizon/BusinessSuiteInAppSymbols.woff2 +0 -0
  558. package/src/main/js/sap/ushell/themes/sap_belize/ShellHeader.less +1 -11
  559. package/src/main/js/sap/ushell/themes/sap_belize_hcb/ShellHeader.less +0 -11
  560. package/src/main/js/sap/ushell/themes/sap_belize_hcw/ShellHeader.less +1 -13
  561. package/src/main/js/sap/ushell/themes/sap_fiori_3/ShellHeader.less +1 -9
  562. package/src/main/js/sap/ushell/themes/sap_fiori_3_dark/ShellHeader.less +1 -9
  563. package/src/main/js/sap/ushell/themes/sap_fiori_3_hcb/ShellHeader.less +1 -10
  564. package/src/main/js/sap/ushell/themes/sap_fiori_3_hcw/ShellHeader.less +0 -12
  565. package/src/main/js/sap/ushell/themes/sap_hcb/ShellHeader.less +0 -12
  566. package/src/main/js/sap/ushell/themes/sap_horizon/SearchCEP.less +16 -96
  567. package/src/main/js/sap/ushell/themes/sap_horizon/ShellAppTitle.less +1 -9
  568. package/src/main/js/sap/ushell/themes/sap_horizon/WorkPageCell.less +2 -7
  569. package/src/main/js/sap/ushell/themes/sap_horizon_dark/SearchCEP.less +15 -124
  570. package/src/main/js/sap/ushell/themes/sap_horizon_dark/ShellAppTitle.less +1 -7
  571. package/src/main/js/sap/ushell/themes/sap_horizon_dark/WorkPageCell.less +2 -7
  572. package/src/main/js/sap/ushell/themes/sap_horizon_hcb/SearchCEP.less +10 -196
  573. package/src/main/js/sap/ushell/themes/sap_horizon_hcb/ShellAppTitle.less +0 -9
  574. package/src/main/js/sap/ushell/themes/sap_horizon_hcb/WorkPageCell.less +2 -7
  575. package/src/main/js/sap/ushell/themes/sap_horizon_hcw/SearchCEP.less +9 -189
  576. package/src/main/js/sap/ushell/themes/sap_horizon_hcw/ShellAppTitle.less +0 -11
  577. package/src/main/js/sap/ushell/themes/sap_horizon_hcw/WorkPageCell.less +2 -7
  578. package/src/main/js/sap/ushell/ui/ContentNodeSelector.js +5 -0
  579. package/src/main/js/sap/ushell/ui/QuickAccess.js +11 -2
  580. package/src/main/js/sap/ushell/ui/ShellHeader.fragment.xml +5 -1
  581. package/src/main/js/sap/ushell/ui/ShellHeader.js +5 -1
  582. package/src/main/js/sap/ushell/ui/ShellHeaderRenderer.js +1 -1
  583. package/src/main/js/sap/ushell/ui/bookmark/SaveOnPage.view.xml +15 -17
  584. package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +1 -1
  585. package/src/main/js/sap/ushell/ui/footerbar/AddBookmarkButton.js +9 -8
  586. package/src/main/js/sap/ushell/ui/footerbar/SaveAsTile.view.js +6 -6
  587. package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
  588. package/src/main/js/sap/ushell/ui/launchpad/Page.js +8 -16
  589. package/src/main/js/sap/ushell/ui/launchpad/Section.js +732 -171
  590. package/src/main/js/sap/ushell/ui/launchpad/SectionRenderer.js +66 -0
  591. package/src/main/js/sap/ushell/ui/launchpad/Tile.js +16 -2
  592. package/src/main/js/sap/ushell/ui/launchpad/TileRenderer.js +3 -2
  593. package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +14 -1
  594. package/src/main/js/sap/ushell/ui/shell/ShellAppTitle.js +115 -63
  595. package/src/main/js/sap/ushell/ui/shell/ShellHeadItem.js +1 -1
  596. package/src/main/js/sap/ushell/ui/shell/ShellNavigationMenu.js +30 -76
  597. package/src/main/js/sap/ushell/ui/shell/SysInfoBar.js +1 -1
  598. package/src/main/js/sap/ushell/ui/shell/ToolArea.js +9 -5
  599. package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +1 -1
  600. package/src/main/js/sap/ushell/ui/utils.js +1 -1
  601. package/src/main/js/sap/ushell/ui5service/ShellUIService.js +7 -2
  602. package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
  603. package/src/main/js/sap/ushell/utils/DynamicTileRequest.js +23 -2
  604. package/src/main/js/sap/ushell/utils/UrlShortening.js +1 -1
  605. package/src/main/js/sap/ushell/utils/WindowUtils.js +2 -2
  606. package/src/main/js/sap/ushell/utils.js +108 -0
  607. package/src/test/js/sap/ushell/bootstrap/sandbox.js +1 -1
  608. package/ui5.yaml +27 -26
  609. package/src/main/js/sap/ushell/adapters/cep/SearchCEPApplicationAdapter.js +0 -264
  610. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntimePostMessage.js +0 -82
  611. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntimePostMessageAPI.js +0 -34
  612. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n.properties +0 -5
  613. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_ar.properties +0 -2
  614. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_bg.properties +0 -2
  615. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_ca.properties +0 -2
  616. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_cs.properties +0 -2
  617. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_cy.properties +0 -2
  618. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_da.properties +0 -2
  619. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_de.properties +0 -2
  620. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_el.properties +0 -2
  621. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_en.properties +0 -2
  622. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_en_GB.properties +0 -2
  623. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_en_US_sappsd.properties +0 -2
  624. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_en_US_saprigi.properties +0 -2
  625. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_en_US_saptrc.properties +0 -2
  626. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_es.properties +0 -2
  627. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_es_MX.properties +0 -2
  628. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_et.properties +0 -2
  629. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_fi.properties +0 -2
  630. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_fr.properties +0 -2
  631. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_fr_CA.properties +0 -2
  632. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_hi.properties +0 -2
  633. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_hr.properties +0 -2
  634. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_hu.properties +0 -2
  635. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_id.properties +0 -2
  636. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_it.properties +0 -2
  637. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_iw.properties +0 -2
  638. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_ja.properties +0 -2
  639. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_kk.properties +0 -2
  640. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_ko.properties +0 -2
  641. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_lt.properties +0 -2
  642. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_lv.properties +0 -2
  643. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_ms.properties +0 -2
  644. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_nl.properties +0 -2
  645. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_no.properties +0 -2
  646. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_pl.properties +0 -2
  647. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_pt.properties +0 -2
  648. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_pt_PT.properties +0 -2
  649. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_ro.properties +0 -2
  650. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_ru.properties +0 -2
  651. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_sh.properties +0 -2
  652. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_sk.properties +0 -2
  653. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_sl.properties +0 -2
  654. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_sv.properties +0 -2
  655. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_th.properties +0 -2
  656. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_tr.properties +0 -2
  657. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_uk.properties +0 -2
  658. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_vi.properties +0 -2
  659. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_zh_CN.properties +0 -2
  660. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_zh_TW.properties +0 -2
  661. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/manifest.json +0 -66
  662. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/jsSearch.js +0 -919
  663. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/NavigationSvcSearchProvider.js +0 -126
  664. package/src/main/js/sap/ushell/ui/launchpad/Section.control.xml +0 -243
  665. /package/src/main/js/sap/ushell/services/{_AppState → appstate}/AppStatePersistencySettings.js +0 -0
  666. /package/src/main/js/sap/ushell/services/{_AppState → appstate}/LimitedBuffer.js +0 -0
  667. /package/src/main/js/sap/ushell/services/{_AppState → appstate}/Sequentializer.js +0 -0
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @file WorkPageBuilder controller for WorkPageBuilder view
5
- * @version 1.115.1
5
+ * @version 1.117.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/base/Log",
@@ -11,26 +11,25 @@ sap.ui.define([
11
11
  "sap/f/GridContainerItemLayoutData",
12
12
  "sap/m/library",
13
13
  "sap/ui/core/Component",
14
+ "sap/ui/core/Configuration",
14
15
  "sap/ui/core/Core",
15
16
  "sap/ui/core/Fragment",
16
17
  "sap/ui/core/InvisibleMessage",
17
18
  "sap/ui/core/library",
18
19
  "sap/ui/core/mvc/Controller",
19
- "sap/ui/core/theming/Parameters",
20
20
  "sap/ui/integration/ActionDefinition",
21
21
  "sap/ushell/components/workPageBuilder/controller/WorkPageHost",
22
- "sap/ui/integration/designtime/editor/CardEditor",
23
22
  "sap/ui/integration/widgets/Card",
24
23
  "sap/ui/model/json/JSONModel",
25
- "sap/ushell/Config",
26
- "sap/ushell/EventHub",
27
24
  "sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils",
28
25
  "sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations",
29
26
  "sap/ushell/adapters/cdm/v3/utilsCdm",
30
- "sap/ushell/resources",
31
27
  "sap/ushell/services/_VisualizationInstantiation/VizInstanceCdm",
32
28
  "sap/ushell/utils",
33
- "sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility"
29
+ "sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility",
30
+ "sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.layout",
31
+ "sap/ui/integration/library",
32
+ "sap/ushell/EventHub"
34
33
  ], function (
35
34
  Log,
36
35
  ObjectPath,
@@ -38,26 +37,25 @@ sap.ui.define([
38
37
  GridContainerItemLayoutData,
39
38
  mLibrary,
40
39
  Component,
40
+ Configuration,
41
41
  Core,
42
42
  Fragment,
43
43
  InvisibleMessage,
44
44
  coreLibrary,
45
45
  Controller,
46
- Parameters,
47
46
  ActionDefinition,
48
47
  WorkPageHost,
49
- CardEditor,
50
48
  Card,
51
49
  JSONModel,
52
- Config,
53
- EventHub,
54
50
  readUtils,
55
51
  readVisualizations,
56
52
  utilsCdm,
57
- resources,
58
53
  VizInstanceCdm,
59
54
  utils,
60
- WorkPageBuilderAccessibility
55
+ WorkPageBuilderAccessibility,
56
+ WorkPageBuilderLayoutHelper,
57
+ integrationLibrary,
58
+ EventHub
61
59
  ) {
62
60
  "use strict";
63
61
 
@@ -72,6 +70,8 @@ sap.ui.define([
72
70
  var LoadState = mLibrary.LoadState;
73
71
  var InvisibleMessageMode = coreLibrary.InvisibleMessageMode;
74
72
 
73
+ var CardPreviewMode = integrationLibrary.CardPreviewMode;
74
+
75
75
  /**
76
76
  * Controller of the WorkPageBuilder view.
77
77
  *
@@ -87,37 +87,30 @@ sap.ui.define([
87
87
  /** @lends sap.ushell.components.workPageBuilder.controller.WorkPageBuilder.prototype */ {
88
88
 
89
89
  onInit: function () {
90
+ var oWorkPage = this.byId("sapCepWorkPage");
90
91
  this._fnDeleteRowHandler = this.deleteRow.bind(this);
91
92
  this._fnSaveCardConfiguration = this._onSaveCardEditor.bind(this);
93
+ this._fnResetCardConfiguration = this._onResetCardConfigurations.bind(this);
92
94
 
93
95
  this.oModel = new JSONModel({
94
96
  maxColumns: MAX_COLUMNS_PER_ROW,
95
97
  editMode: false,
98
+ previewMode: true,
96
99
  loaded: false,
97
100
  navigationDisabled: false,
98
101
  showFooter: false,
102
+ showPageTitle: true,
99
103
  data: {
100
- WorkPage: null,
101
- Visualizations: [],
102
- UsedVisualizations: []
104
+ workPage: null,
105
+ visualizations: [],
106
+ usedVisualizations: []
103
107
  }
104
108
  });
105
109
  this.oModel.setSizeLimit(Infinity);
106
110
  this._saveHost();
107
111
 
108
- this._oViewSettingsModel = new JSONModel({
109
- gridContainerGap: {},
110
- gridContainerRowSize: {}
111
- });
112
- this.getView().setModel(this._oViewSettingsModel, "viewSettings");
113
-
114
- var fnBoundSetGridContainerSizes = this._setGridContainerSizes.bind(this);
115
- Config.on("/core/home/sizeBehavior").do(fnBoundSetGridContainerSizes);
116
- EventHub.on("themeChanged").do(fnBoundSetGridContainerSizes);
117
- this._setGridContainerSizes();
118
-
119
- this.byId("sapCepWorkPage").bindElement({
120
- path: "/data/WorkPage"
112
+ oWorkPage.bindElement({
113
+ path: "/data/workPage"
121
114
  });
122
115
 
123
116
  this.oWorkPageBuilderAccessibility = new WorkPageBuilderAccessibility();
@@ -126,6 +119,9 @@ sap.ui.define([
126
119
  .then(function (oVisualizationInstantiation) {
127
120
  this._oVizInstantiationService = oVisualizationInstantiation;
128
121
  this.getView().setModel(this.oModel);
122
+
123
+ WorkPageBuilderLayoutHelper.register(oWorkPage);
124
+ this.getView().setModel(WorkPageBuilderLayoutHelper.getModel(), "viewSettings");
129
125
  }.bind(this));
130
126
  },
131
127
 
@@ -154,8 +150,8 @@ sap.ui.define([
154
150
  var oRow = oColumnControl.getParent();
155
151
  var iColumnIndex = oRow.indexOfAggregation("columns", oColumnControl);
156
152
  var sRowBindingContextPath = oRow.getBindingContext().getPath();
157
- var sColumnPath = sRowBindingContextPath + "/Columns/";
158
- var sColumnColumnWidthPath = oColumnControl.getBindingContext().getPath() + "/Descriptor/columnWidth";
153
+ var sColumnPath = sRowBindingContextPath + "/columns/";
154
+ var sColumnColumnWidthPath = oColumnControl.getBindingContext().getPath() + "/descriptor/value/columnWidth";
159
155
  var aColumnsData = oModel.getProperty(sColumnPath);
160
156
  var iColumnCount = aColumnsData.length;
161
157
  var bAddToLeft = oEvent.getParameter("left");
@@ -184,6 +180,18 @@ sap.ui.define([
184
180
  this.getOwnerComponent().fireEvent("workPageEdited");
185
181
  },
186
182
 
183
+ /**
184
+ * Sets the focus on the first item in the first GridContainer on the WorkPage.
185
+ *
186
+ * @param {sap.base.Event} oEvent The afterRendering event.
187
+ * @since 1.116.0
188
+ * @private
189
+ */
190
+ focusFirstItem: function (oEvent) {
191
+ var oWorkPage = oEvent.getSource();
192
+ this.oWorkPageBuilderAccessibility.focusFirstItem(oWorkPage);
193
+ },
194
+
187
195
  /**
188
196
  * Set the editMode to true or false
189
197
  * @param {boolean} bEditMode true or false
@@ -195,6 +203,27 @@ sap.ui.define([
195
203
  this.oModel.setProperty("/editMode", !!bEditMode);
196
204
  },
197
205
 
206
+ /**
207
+ * Set the previewMode to true or false
208
+ * @param {boolean} bPreviewMode true or false
209
+ *
210
+ * @private
211
+ * @since 1.116.0
212
+ */
213
+ setPreviewMode: function (bPreviewMode) {
214
+ this.oModel.setProperty("/previewMode", !!bPreviewMode);
215
+ },
216
+
217
+ /**
218
+ * Get the previewMode property from the model
219
+ * @returns {boolean} the previewMode property value
220
+ * @private
221
+ * @since 1.116.0
222
+ */
223
+ getPreviewMode: function () {
224
+ return this.oModel.getProperty("/previewMode");
225
+ },
226
+
198
227
  /**
199
228
  * Get the editMode property from the model
200
229
  * @returns {boolean} the editMode property value
@@ -216,46 +245,57 @@ sap.ui.define([
216
245
  this.oModel.setProperty("/showFooter", !!bVisible);
217
246
  },
218
247
 
248
+ /**
249
+ * Set the showPageTitle property to true or false
250
+ * @param {boolean} bVisible true or false
251
+ *
252
+ * @private
253
+ * @since 1.116.0
254
+ */
255
+ setShowPageTitle: function (bVisible) {
256
+ this.oModel.setProperty("/showPageTitle", !!bVisible);
257
+ },
258
+
219
259
  /**
220
260
  * Set the model data with the WorkPage data
221
- * @param {{WorkPage: object, UsedVisualizations: object[]}} oPageData WorkPage data object
261
+ * @param {{workPage: object, usedVisualizations: object[]}} oPageData WorkPage data object
222
262
  *
223
263
  * @private
224
264
  * @since 1.109.0
225
265
  */
226
266
  setPageData: function (oPageData) {
227
267
  var oMappedVisualizations = {};
228
- var aUsedVisualizations = ObjectPath.get("WorkPage.UsedVisualizations.nodes", oPageData);
229
- var oWorkPageContents = ObjectPath.get("WorkPage.Contents", oPageData);
268
+ var aUsedVisualizations = ObjectPath.get("workPage.usedVisualizations.nodes", oPageData);
269
+ var oWorkPageContents = ObjectPath.get("workPage.contents", oPageData);
230
270
 
231
271
  if (aUsedVisualizations && aUsedVisualizations.length > 0) {
232
- // create a map for the UsedVisualizations using the Id as a key.
272
+ // create a map for the usedVisualizations using the id as a key.
233
273
  oMappedVisualizations = aUsedVisualizations.reduce(function (oAcc, oViz) {
234
- oAcc[oViz.Id] = oViz;
274
+ oAcc[oViz.id] = oViz;
235
275
  return oAcc;
236
276
  }, {});
237
277
  }
238
278
 
239
- this.oModel.setProperty("/data/UsedVisualizations", oMappedVisualizations);
240
- this.oModel.setProperty("/data/WorkPage", oWorkPageContents);
279
+ this.oModel.setProperty("/data/usedVisualizations", oMappedVisualizations);
280
+ this.oModel.setProperty("/data/workPage", oWorkPageContents);
241
281
  this.oModel.setProperty("/loaded", true);
242
282
  },
243
283
 
244
284
  /**
245
285
  * Get the WorkPage data from the model.
246
- * It must also include the UsedVisualizations array, because of the reuse scenario.
286
+ * It must also include the usedVisualizations array, because of the reuse scenario.
247
287
  * It is necessary that the same data structure is returned that is put into setPageData.
248
288
  *
249
- * @returns {{WorkPage: {Contents: object, UsedVisualizations: {nodes: object[]} }}} The WorkPage data to save.
289
+ * @returns {{workPage: {contents: object, usedVisualizations: {nodes: object[]} }}} The WorkPage data to save.
250
290
  * @private
251
291
  * @since 1.109.0
252
292
  */
253
293
  getPageData: function () {
254
- var oMappedVisualizations = this.oModel.getProperty("/data/UsedVisualizations") || {};
294
+ var oMappedVisualizations = this.oModel.getProperty("/data/usedVisualizations") || {};
255
295
  return {
256
- WorkPage: {
257
- Contents: this.oModel.getProperty("/data/WorkPage"),
258
- UsedVisualizations: {
296
+ workPage: {
297
+ contents: this.oModel.getProperty("/data/workPage"),
298
+ usedVisualizations: {
259
299
  nodes: Object.values(oMappedVisualizations)
260
300
  }
261
301
  }
@@ -265,7 +305,7 @@ sap.ui.define([
265
305
  /**
266
306
  * Set the visualization data for the ContentFinder.
267
307
  *
268
- * @param {{Visualizations: {nodes: object[]}}} oVizNodes an Array of Visualizations' objects
308
+ * @param {{visualizations: {nodes: object[]}}} oVizNodes an Array of Visualizations' objects
269
309
  * @returns {Promise} A promise resolving when the data has been set to the contentFinder
270
310
  *
271
311
  * @private
@@ -280,7 +320,7 @@ sap.ui.define([
280
320
  /**
281
321
  * Set the paginated visualization data for the ContentFinder.
282
322
  *
283
- * @param {{Visualizations: {nodes: object[]}}} oVizNodes an Array of Visualizations' objects
323
+ * @param {{visualizations: {nodes: object[]}}} oVizNodes an Array of Visualizations' objects
284
324
  * @returns {Promise} A promise resolving when the data has been set to the contentFinder
285
325
  *
286
326
  * @private
@@ -325,7 +365,7 @@ sap.ui.define([
325
365
  var oRow = oColumn.getParent();
326
366
  var iColumnIndex = oRow.indexOfAggregation("columns", oColumn);
327
367
  var sRowBindingContextPath = oRow.getBindingContext().getPath();
328
- var sColumnPath = sRowBindingContextPath + "/Columns/";
368
+ var sColumnPath = sRowBindingContextPath + "/columns/";
329
369
  var aColumns = oModel.getProperty(sColumnPath);
330
370
 
331
371
  // filter out the column at the iColumnIndex instead of splicing to avoid mutation of the original array.
@@ -353,7 +393,7 @@ sap.ui.define([
353
393
  *
354
394
  */
355
395
  onAddFirstRow: function () {
356
- var sRowsPath = "/data/WorkPage/Rows/";
396
+ var sRowsPath = "/data/workPage/rows/";
357
397
  this.getView().getModel().setProperty(sRowsPath, [this._createEmptyRow()]);
358
398
  this.getOwnerComponent().fireEvent("workPageEdited");
359
399
  },
@@ -368,7 +408,7 @@ sap.ui.define([
368
408
  var oModel = this.getView().getModel();
369
409
  var oRow = oEvent.getSource();
370
410
  var oPage = this.byId("sapCepWorkPage");
371
- var sRowsPath = "/data/WorkPage/Rows/";
411
+ var sRowsPath = "/data/workPage/rows/";
372
412
  var aRows = oModel.getProperty(sRowsPath);
373
413
  var oNewRow = this._createEmptyRow();
374
414
 
@@ -437,7 +477,7 @@ sap.ui.define([
437
477
  var oModel = this.getView().getModel();
438
478
  var oColumn = oCell.getParent();
439
479
  var iCellIndex = oColumn.indexOfAggregation("cells", oCell);
440
- var sCellsPath = oColumn.getBindingContext().getPath() + "/Cells";
480
+ var sCellsPath = oColumn.getBindingContext().getPath() + "/cells";
441
481
  var aCells = oModel.getProperty(sCellsPath);
442
482
 
443
483
  // Filter out the cell at iCellIndex instead of splicing to avoid mutation of the original array.
@@ -501,7 +541,6 @@ sap.ui.define([
501
541
 
502
542
  var aWidgetGroups = [{
503
543
  id: "applicationWidgets",
504
- title: oResourceBundle.getText("ContentFinder.Categories.Applications.Title"),
505
544
  widgets: [{
506
545
  id: "widgets-tiles",
507
546
  title: oResourceBundle.getText("ContentFinder.Widgets.Tiles.Title"),
@@ -619,7 +658,7 @@ sap.ui.define([
619
658
 
620
659
  if (aSelectedVisualizations.length > 0) {
621
660
  aSelectedVisualizations.forEach(function (oVisualization) {
622
- var sVizSelectedItemPath = "/data/UsedVisualizations/" + oVisualization.id;
661
+ var sVizSelectedItemPath = "/data/usedVisualizations/" + oVisualization.id;
623
662
  if (!this.oModel.getProperty(sVizSelectedItemPath)) {
624
663
  this.oModel.setProperty(sVizSelectedItemPath, oVisualization.vizData);
625
664
  }
@@ -653,12 +692,9 @@ sap.ui.define([
653
692
  sId = this._generateUniqueId(aIds);
654
693
  aIds = aIds.concat([sId]);
655
694
  return {
656
- Id: sId,
657
- DescriptorSchemaVersion: "3.2.0",
658
- Descriptor: {},
659
- Visualization: {
660
- Id: oTile.vizData.Id,
661
- Type: oTile.type
695
+ id: sId,
696
+ visualization: {
697
+ id: oTile.vizData.id
662
698
  }
663
699
  };
664
700
  }.bind(this));
@@ -676,7 +712,7 @@ sap.ui.define([
676
712
  var sCellPath = oCell.getBindingContext().getPath();
677
713
  var oCellData = Object.assign({}, this.oModel.getProperty(sCellPath));
678
714
 
679
- oCellData.Widgets = oCellData.Widgets.concat(aWidgetData);
715
+ oCellData.widgets = oCellData.widgets.concat(aWidgetData);
680
716
 
681
717
  this.oModel.setProperty(sCellPath, oCellData);
682
718
  this.onWidgetAdded();
@@ -694,15 +730,17 @@ sap.ui.define([
694
730
  var sColumnPath = oColumn.getBindingContext().getPath();
695
731
  var oColumnData = Object.assign({}, this.oModel.getProperty(sColumnPath));
696
732
 
697
- if (!oColumnData.Cells) {
698
- oColumnData.Cells = [];
733
+ if (!oColumnData.cells) {
734
+ oColumnData.cells = [];
699
735
  }
700
736
 
701
- oColumnData.Cells = oColumnData.Cells.concat([{
702
- Id: this._generateUniqueId(),
703
- DescriptorSchemaVersion: "3.2.0",
704
- Descriptor: {},
705
- Widgets: aWidgetData.concat([])
737
+ oColumnData.cells = oColumnData.cells.concat([{
738
+ id: this._generateUniqueId(),
739
+ descriptor: {
740
+ value: {},
741
+ schemaVersion: "3.2.0"
742
+ },
743
+ widgets: aWidgetData.concat([])
706
744
  }]);
707
745
 
708
746
  this.oModel.setProperty(sColumnPath, oColumnData);
@@ -750,15 +788,15 @@ sap.ui.define([
750
788
  deleteRow: function (oEvent, oRowData) {
751
789
  var oModel = this.getView().getModel();
752
790
  var oWorkPageRowContext = oRowData.rowContext;
753
- var aRows = oModel.getProperty("/data/WorkPage/Rows");
791
+ var aRows = oModel.getProperty("/data/workPage/rows");
754
792
  var oRowContextData = oWorkPageRowContext.getObject();
755
793
 
756
794
  // Filter out the row with the given id to avoid mutation of the original array.
757
795
  var aFilteredRows = aRows.filter(function (oRow) {
758
- return oRow.Id !== oRowContextData.Id;
796
+ return oRow.id !== oRowContextData.id;
759
797
  });
760
798
 
761
- oModel.setProperty("/data/WorkPage/Rows", aFilteredRows);
799
+ oModel.setProperty("/data/workPage/rows", aFilteredRows);
762
800
  this.getOwnerComponent().fireEvent("workPageEdited");
763
801
  return this.oLoadDeleteDialog.then(function (oDialog) {
764
802
  oDialog.close();
@@ -787,6 +825,7 @@ sap.ui.define([
787
825
  })
788
826
  .attachPress(this.onVisualizationPress, this)
789
827
  .bindEditable("/editMode")
828
+ .bindSizeBehavior("viewSettings>/currentBreakpoint/sizeBehavior")
790
829
  .setLayoutData(new GridContainerItemLayoutData({
791
830
  columns: 2,
792
831
  rows: 2
@@ -801,43 +840,42 @@ sap.ui.define([
801
840
  * @returns {sap.ushell.ui.launchpad.VizInstance|sap.m.GenericTile|sap.ui.integration.widgets.Card} The resulting control.
802
841
  */
803
842
  widgetFactory: function (sWidgetId, oWidgetContext) {
804
- var sVizId = oWidgetContext.getProperty("Visualization/Id");
843
+ var sVizId = oWidgetContext.getProperty("visualization/id");
805
844
 
806
845
  if (!sVizId) {
807
846
  Log.error("No vizId found in widget context.");
808
847
  return this._createErrorTile();
809
848
  }
810
849
 
811
- var oVizData = this.getView().getModel().getProperty("/data/UsedVisualizations/" + sVizId);
850
+ var oVizData = this.getView().getModel().getProperty("/data/usedVisualizations/" + sVizId);
812
851
 
813
- if (!oVizData || !oVizData.Type) {
852
+ if (!oVizData || !oVizData.type) {
814
853
  Log.error("No viz or vizType found for vizId " + sVizId);
815
854
  return this._createErrorTile();
816
855
  }
817
856
 
818
- var aWidgetConfigurations = oWidgetContext.getProperty("Configurations") || [];
819
- var aVizConfigurations = oVizData.Configurations || [];
857
+ var aWidgetConfigurations = oWidgetContext.getProperty("configurations") || [];
858
+ var aVizConfigurations = oVizData.configurations || [];
820
859
  var aMergedAndSortedConfigurations = this._getMergedAndSortedConfigurations(aWidgetConfigurations, aVizConfigurations);
821
860
  var sWidgetContextPath = oWidgetContext.getPath();
822
861
 
823
- switch (oVizData.Type) {
862
+ switch (oVizData.type) {
824
863
  case "sap.card":
825
- return this._createCard(oVizData, aMergedAndSortedConfigurations, sWidgetContextPath);
864
+ return this._createCard(oVizData, aWidgetConfigurations, aMergedAndSortedConfigurations, sWidgetContextPath);
826
865
  case "sap.ushell.StaticAppLauncher":
827
866
  case "sap.ushell.DynamicAppLauncher":
828
867
  return this._createVizInstance(oVizData);
829
868
  default:
830
- Log.error("Unknown type for widget " + oVizData.Type);
869
+ Log.error("Unknown type for widget " + oVizData.type);
831
870
  return this._createErrorTile();
832
871
  }
833
872
  },
834
873
 
835
874
  /**
836
875
  * @typedef {object} Configuration A configuration entry.
837
- * @property {string} Id the Id of the configuration entry.
838
- * @property {string} Level the level of the configuration entry.
839
- * @property {string} SettingsSchemaVersion the schema version.
840
- * @property {object} Settings map of values that the configuration entry overrides.
876
+ * @property {string} id the id of the configuration entry.
877
+ * @property {string} level the level of the configuration entry.
878
+ * @property {object} settings map of values that the configuration entry overrides.
841
879
  */
842
880
 
843
881
  /**
@@ -860,10 +898,10 @@ sap.ui.define([
860
898
  // Second, the merged configurations are sorted
861
899
  var oConfigurations = CONFIGURATION_LEVELS.reduce(function (oMergedConfigurations, sLevel) {
862
900
  var oWidgetConfigByLevel = aWidgetConfigurations.find(function (oWidgetConfig) {
863
- return oWidgetConfig.Level === sLevel;
901
+ return oWidgetConfig.level === sLevel;
864
902
  });
865
903
  var oVizConfigByLevel = aVizConfigurations.find(function (oVizConfig) {
866
- return oVizConfig.Level === sLevel;
904
+ return oVizConfig.level === sLevel;
867
905
  });
868
906
 
869
907
  var oMergedConfigurationsByLevel = deepExtend({}, oVizConfigByLevel, oWidgetConfigByLevel);
@@ -884,18 +922,18 @@ sap.ui.define([
884
922
  *
885
923
  * @since 1.114.0
886
924
  * @param {Configuration[]} aConfigurations The configurations.
887
- * @return {Configuration[]} The configurations sorted by level.
925
+ * @returns {Configuration[]} The configurations sorted by level.
888
926
  * @private
889
927
  */
890
928
 
891
929
  _sortConfigurations: function (aConfigurations) {
892
930
  var oSortedConfigurations = aConfigurations.sort(function (oWidgetConfigA, oWidgetConfigB) {
893
- return CONFIGURATION_LEVELS.indexOf(oWidgetConfigA.Level) - CONFIGURATION_LEVELS.indexOf(oWidgetConfigB.Level);
931
+ return CONFIGURATION_LEVELS.indexOf(oWidgetConfigA.level) - CONFIGURATION_LEVELS.indexOf(oWidgetConfigB.level);
894
932
  });
895
933
 
896
934
  // PR —> CO —> PG —> US
897
935
  return oSortedConfigurations.map(function (oWidgetConfiguration) {
898
- return oWidgetConfiguration.Settings;
936
+ return oWidgetConfiguration.settings.value;
899
937
  });
900
938
  },
901
939
 
@@ -908,35 +946,35 @@ sap.ui.define([
908
946
  * @private
909
947
  */
910
948
  _createVizInstance: function (oVizData) {
911
- var oIndicatorDataSource = ObjectPath.get(["Descriptor", "sap.flp", "indicatorDataSource"], oVizData);
912
- var sAppId = ObjectPath.get(["Descriptor", "sap.flp", "target", "appId"], oVizData);
949
+ var oIndicatorDataSource = ObjectPath.get(["descriptor", "value", "sap.flp", "indicatorDataSource"], oVizData);
950
+ var sAppId = ObjectPath.get(["descriptor", "value", "sap.flp", "target", "appId"], oVizData);
913
951
  var oApplication = this.getOwnerComponent().getSiteApplication(sAppId);
914
952
  var oDataSources = ObjectPath.get(["sap.app", "dataSources"], oApplication);
915
- var oVizType = this.getOwnerComponent().getSiteVizType(oVizData.Type);
953
+ var oVizType = this.getOwnerComponent().getSiteVizType(oVizData.type);
916
954
  var oApplicationAsMap = {};
917
955
  oApplicationAsMap[sAppId] = oApplication;
918
956
 
919
957
  var oInstantiationVizData = {
920
- id: oVizData.Id,
921
- title: ObjectPath.get(["Descriptor", "sap.app", "title"], oVizData),
922
- subtitle: ObjectPath.get(["Descriptor", "sap.app", "subTitle"], oVizData),
923
- info: ObjectPath.get(["Descriptor", "sap.app", "info"], oVizData),
924
- icon: ObjectPath.get(["Descriptor", "sap.ui", "icons", "icon"], oVizData),
925
- keywords: ObjectPath.get(["Descriptor", "sap.app", "tags", "keywords"], oVizData) || [],
958
+ id: oVizData.id,
959
+ title: ObjectPath.get(["descriptor", "value", "sap.app", "title"], oVizData),
960
+ subtitle: ObjectPath.get(["descriptor", "value", "sap.app", "subTitle"], oVizData),
961
+ info: ObjectPath.get(["descriptor", "value", "sap.app", "info"], oVizData),
962
+ icon: ObjectPath.get(["descriptor", "value", "sap.ui", "icons", "icon"], oVizData),
963
+ keywords: ObjectPath.get(["descriptor", "value", "sap.app", "tags", "keywords"], oVizData) || [],
926
964
  _instantiationData: {
927
965
  platform: "CDM",
928
966
  vizType: oVizType
929
967
  },
930
968
  indicatorDataSource: oIndicatorDataSource,
931
- vizType: ObjectPath.get("Type", oVizData),
969
+ vizType: ObjectPath.get("type", oVizData),
932
970
  dataSource: this._getDataSource(oDataSources, oIndicatorDataSource),
933
971
  contentProviderId: ObjectPath.get(["sap.app", "contentProviderId"], oApplication),
934
- vizConfig: ObjectPath.get(["Descriptor"], oVizData),
935
- supportedDisplayFormats: ObjectPath.get(["Descriptor", "sap.flp", "vizOptions", "displayFormats", "supported"], oVizData),
936
- displayFormatHint: ObjectPath.get(["Descriptor", "sap.flp", "vizOptions", "displayFormats", "default"], oVizData),
937
- numberUnit: ObjectPath.get(["Descriptor", "sap.flp", "numberUnit"], oVizData),
938
- vizId: oVizData.Id,
939
- preview: false
972
+ vizConfig: ObjectPath.get(["descriptor", "value"], oVizData),
973
+ supportedDisplayFormats: ObjectPath.get(["descriptor", "value", "sap.flp", "vizOptions", "displayFormats", "supported"], oVizData),
974
+ displayFormatHint: ObjectPath.get(["descriptor", "value", "sap.flp", "vizOptions", "displayFormats", "default"], oVizData),
975
+ numberUnit: ObjectPath.get(["descriptor", "value", "sap.flp", "numberUnit"], oVizData),
976
+ vizId: oVizData.id,
977
+ preview: this.oModel.getProperty("/previewMode")
940
978
  };
941
979
 
942
980
  if (!this.oModel.getProperty("/navigationDisabled")) {
@@ -953,8 +991,10 @@ sap.ui.define([
953
991
 
954
992
  return oVizInstance
955
993
  .setActive(true)
994
+ .bindPreview("/previewMode")
956
995
  .attachPress(this.onVisualizationPress, this)
957
996
  .bindEditable("/editMode")
997
+ .bindSizeBehavior("viewSettings>/currentBreakpoint/sizeBehavior")
958
998
  .bindClickable({
959
999
  path: "/navigationDisabled",
960
1000
  formatter: function (bValue) {
@@ -998,19 +1038,24 @@ sap.ui.define([
998
1038
  *
999
1039
  * @since 1.110.0
1000
1040
  * @param {object} oViz The visualization data.
1001
- * @param {object[]} aConfigurations The configurations to apply to the card.
1041
+ * @param {Configuration[]} aWidgetConfigurations The configurations on widget level.
1042
+ * @param {object[]} aManifestChangesToApply The configurations to apply to the card.
1002
1043
  * @param {string} sWidgetContextPath The widget configurations path.
1003
1044
  * @returns {sap.ui.integration.widgets.Card} The card instance.
1004
1045
  * @private
1005
1046
  */
1006
- _createCard: function (oViz, aConfigurations, sWidgetContextPath) {
1047
+ _createCard: function (oViz, aWidgetConfigurations, aManifestChangesToApply, sWidgetContextPath) {
1048
+ aWidgetConfigurations = aWidgetConfigurations || [];
1049
+ aManifestChangesToApply = aManifestChangesToApply || [];
1050
+
1007
1051
  var oOptions = {};
1008
- var bHasDescriptor = oViz.Descriptor && oViz.Descriptor["sap.card"];
1009
- var bHasDescriptorResources = oViz.DescriptorResources && (oViz.DescriptorResources.BaseUrl || oViz.DescriptorResources.DescriptorPath);
1010
- var bHasConfig;
1052
+ var bHasDescriptor = oViz.descriptor && oViz.descriptor.value && oViz.descriptor.value["sap.card"];
1053
+ var bHasDescriptorResources = oViz.descriptorResources && (oViz.descriptorResources.baseUrl || oViz.descriptorResources.descriptorPath);
1054
+ var bPgLevelConfigurationsExist = aWidgetConfigurations.some(function (oConfig) { return oConfig.level === "PG"; });
1055
+ var bIsConfigurable;
1011
1056
 
1012
1057
  if (!bHasDescriptor && !bHasDescriptorResources) {
1013
- Log.error("No Descriptor or DescriptorResources for Card");
1058
+ Log.error("No descriptor or descriptorResources for Card");
1014
1059
  return new Card().setLayoutData(new GridContainerItemLayoutData({
1015
1060
  columns: 2,
1016
1061
  rows: 2
@@ -1018,14 +1063,23 @@ sap.ui.define([
1018
1063
  }
1019
1064
 
1020
1065
  if (bHasDescriptor) {
1021
- oOptions.manifest = oViz.Descriptor;
1022
- bHasConfig = ObjectPath.get(["Descriptor", "sap.card", "configuration"], oViz);
1066
+ oOptions.manifest = oViz.descriptor.value;
1067
+ bIsConfigurable = !!ObjectPath.get(["descriptor", "value", "sap.card", "configuration"], oViz);
1023
1068
 
1024
1069
  if (bHasDescriptorResources) {
1025
- oOptions.baseUrl = oViz.DescriptorResources.BaseUrl + oViz.DescriptorResources.DescriptorPath;
1070
+ oOptions.baseUrl = oViz.descriptorResources.baseUrl + oViz.descriptorResources.descriptorPath;
1026
1071
  }
1027
1072
  } else if (bHasDescriptorResources) {
1028
- oOptions.manifest = oViz.DescriptorResources.BaseUrl + oViz.DescriptorResources.DescriptorPath + "/manifest.json";
1073
+ oOptions.manifest = oViz.descriptorResources.baseUrl + oViz.descriptorResources.descriptorPath + "/manifest.json";
1074
+ }
1075
+
1076
+ oOptions.referenceId = "";
1077
+ if (oViz.id) {
1078
+ var iProviderPrefixIndex = oViz.id.indexOf("_");
1079
+ if (iProviderPrefixIndex > 0) {
1080
+ var sProvider = oViz.id.substring(0, iProviderPrefixIndex);
1081
+ oOptions.referenceId = sProvider;
1082
+ }
1029
1083
  }
1030
1084
 
1031
1085
  // Ensure trailing slash for base url
@@ -1035,13 +1089,33 @@ sap.ui.define([
1035
1089
 
1036
1090
  var oCard = new Card(oOptions);
1037
1091
 
1038
- if (bHasConfig) {
1039
- var oActionDefinition = this._createCardConfigurationActionDefinition(oCard, sWidgetContextPath, this._openCardConfigurationEditor.bind(this));
1040
- oCard.addActionDefinition(oActionDefinition);
1092
+ if (bIsConfigurable) {
1093
+ var oConfigureActionDefinition = this._createCardConfigurationActionDefinition(
1094
+ oCard,
1095
+ sWidgetContextPath,
1096
+ this._openCardConfigurationEditor.bind(this)
1097
+ );
1098
+ oCard.addActionDefinition(oConfigureActionDefinition);
1099
+ }
1100
+
1101
+ if (bPgLevelConfigurationsExist) {
1102
+ var oResetActionDefinition = this._createCardResetActionDefinition(
1103
+ aWidgetConfigurations,
1104
+ sWidgetContextPath,
1105
+ this._openResetCardConfigurationDialog.bind(this)
1106
+ );
1107
+ oCard.addActionDefinition(oResetActionDefinition);
1041
1108
  }
1042
1109
 
1043
1110
  return oCard
1044
- .setManifestChanges(aConfigurations)
1111
+ .setModel(this.oModel, "workPageModel")
1112
+ .bindProperty("previewMode", {
1113
+ path: "workPageModel>/previewMode",
1114
+ formatter: function (bValue) {
1115
+ return bValue ? CardPreviewMode.MockData : CardPreviewMode.Off;
1116
+ }
1117
+ })
1118
+ .setManifestChanges(aManifestChangesToApply)
1045
1119
  .addStyleClass("sapCepWidget")
1046
1120
  .setHost(this.oHost)
1047
1121
  .setLayoutData(new GridContainerItemLayoutData({
@@ -1067,7 +1141,6 @@ sap.ui.define([
1067
1141
  type: "Custom",
1068
1142
  visible: "{/editMode}",
1069
1143
  buttonType: "Transparent",
1070
- icon: "sap-icon://wrench",
1071
1144
  text: sActionDefinitionText
1072
1145
  });
1073
1146
 
@@ -1079,13 +1152,41 @@ sap.ui.define([
1079
1152
  return oActionDefinition;
1080
1153
  },
1081
1154
 
1155
+ /**
1156
+ * Create an ActionDefinition to enable the user to reset the card when some configuration was made.
1157
+ *
1158
+ * @since 1.117.0
1159
+ * @param {Configuration[]} aWidgetConfigurations The widget configuration items.
1160
+ * @param {string} sWidgetContextPath The path the the card data in the model.
1161
+ * @param {function} fnOnPress Handler function, called when the ActionDefinition button is pressed.
1162
+ *
1163
+ * @returns {sap.ui.integration.ActionDefinition} The ActionDefinition item.
1164
+ * @private
1165
+ */
1166
+ _createCardResetActionDefinition: function (aWidgetConfigurations, sWidgetContextPath, fnOnPress) {
1167
+ var sActionDefinitionText = this.getView().getModel("i18n").getResourceBundle().getText("WorkPage.Card.ActionDefinition.Reset");
1168
+ var oActionDefinition = new ActionDefinition({
1169
+ type: "Custom",
1170
+ visible: "{/editMode}",
1171
+ buttonType: "Transparent",
1172
+ text: sActionDefinitionText
1173
+ });
1174
+
1175
+ oActionDefinition.setModel(this.oModel);
1176
+ oActionDefinition.attachPress({
1177
+ widgetContextPath: sWidgetContextPath,
1178
+ widgetConfigurations: aWidgetConfigurations
1179
+ }, fnOnPress);
1180
+ return oActionDefinition;
1181
+ },
1182
+
1082
1183
  /**
1083
1184
  * Adds the CardEditor into the Dialog and opens it.
1084
1185
  *
1085
1186
  * @since 1.113.0
1086
1187
  * @param {sap.base.Event} oEvent The event object.
1087
1188
  * @param {{card: sap.ui.integration.widgets.Card, widgetContextPath: string}} oContextData The context data.
1088
- * @returns {Promise} Promise that will resolve the the Dialog
1189
+ * @returns {Promise} Promise that will resolve the Dialog
1089
1190
  * @private
1090
1191
  */
1091
1192
  _openCardConfigurationEditor: function (oEvent, oContextData) {
@@ -1093,20 +1194,116 @@ sap.ui.define([
1093
1194
  this.oCardEditorDialogPromise = this._createCardEditorDialog(oContextData.card);
1094
1195
  }
1095
1196
 
1096
- var oCardEditor = this._createCardEditor(oContextData.card);
1197
+ var oCardEditorPromise = this._createCardEditor(oContextData.card);
1097
1198
 
1098
- return this.oCardEditorDialogPromise.then(function (oCardEditorDialog) {
1099
- this.oCardEditorDialog = oCardEditorDialog;
1199
+ return Promise.all([oCardEditorPromise, this.oCardEditorDialogPromise]).then(function (aInstances) {
1200
+ this.oCardEditorDialog = aInstances[1];
1100
1201
  this.oCardEditorDialog.removeAllContent();
1101
1202
  this.oCardEditorDialog.getBeginButton()
1102
1203
  .detachPress(this._fnSaveCardConfiguration)
1103
1204
  .attachPress(oContextData.widgetContextPath, this._fnSaveCardConfiguration);
1104
1205
  this._setCardDialogTitle(this.oCardEditorDialog, oContextData.card);
1105
- this.oCardEditorDialog.addContent(oCardEditor);
1206
+ this.oCardEditorDialog.addContent(aInstances[0]);
1106
1207
  this.oCardEditorDialog.open();
1107
1208
  }.bind(this));
1108
1209
  },
1109
1210
 
1211
+
1212
+ /**
1213
+ * Opens the card reset dialog and attaches the reset button handler.
1214
+ *
1215
+ * @since 1.117.0
1216
+ * @param {sap.base.Event} oEvent The press event.
1217
+ * @param { {
1218
+ * card: sap.ui.integration.widgets.Card,
1219
+ * widgetContextPath: string,
1220
+ * widgetConfigurations: Configuration[],
1221
+ * vizConfigurations: Configuration[]
1222
+ * } } oContextData The required context data.
1223
+ * @returns {Promise} A promise resolving when the card dialog was opened.
1224
+ * @private
1225
+ */
1226
+ _openResetCardConfigurationDialog: function (oEvent, oContextData) {
1227
+ if (!this.oCardResetDialogPromise) {
1228
+ this.oCardResetDialogPromise = this._createResetCardConfigurationDialog();
1229
+ }
1230
+
1231
+ return this.oCardResetDialogPromise.then(function (oCardResetDialog) {
1232
+ this.oCardResetDialog = oCardResetDialog;
1233
+ this.getView().addDependent(this.oCardResetDialog);
1234
+ this.oCardResetDialog.getBeginButton()
1235
+ .detachPress(this._fnResetCardConfiguration)
1236
+ .attachPress(oContextData, this._fnResetCardConfiguration);
1237
+ this.oCardResetDialog.open();
1238
+ }.bind(this));
1239
+ },
1240
+
1241
+ /**
1242
+ *
1243
+ * @param {sap.base.Event} oEvent The press event.
1244
+ * @param {{ widgetContextPath: string, widgetConfigurations: Configuration[] }} oContextData The context data object.
1245
+ * @since 1.117.0
1246
+ * @private
1247
+ */
1248
+ _onResetCardConfigurations: function (oEvent, oContextData) {
1249
+ var aWidgetConfigurations = oContextData.widgetConfigurations;
1250
+ var sWidgetConfigurationsPath = oContextData.widgetContextPath + "/configurations";
1251
+ var aRemainingConfigurations = aWidgetConfigurations.filter(function (oConfig) {
1252
+ return oConfig.level !== "PG";
1253
+ });
1254
+
1255
+ this.oModel.setProperty(sWidgetConfigurationsPath, aRemainingConfigurations);
1256
+
1257
+ this.oCardResetDialog.close();
1258
+ },
1259
+
1260
+ /**
1261
+ * Resets the configuration of the card after confirming a failsafe dialog.
1262
+ * @returns {Promise<sap.m.Dialog>} A Promise resolving the the sap.m.Dialog control.
1263
+ *
1264
+ * @since 1.117.0
1265
+ * @private
1266
+ */
1267
+ _createResetCardConfigurationDialog: function () {
1268
+ var oI18nBundle = this.getView().getModel("i18n").getResourceBundle();
1269
+ var sDialogTitle = oI18nBundle.getText("WorkPage.CardEditor.DeleteConfigurationDialog.Title");
1270
+ var sDialogContent = oI18nBundle.getText("WorkPage.CardEditor.DeleteConfigurationDialog.Content");
1271
+ var sBeginButtonText = oI18nBundle.getText("WorkPage.CardEditor.DeleteConfigurationDialog.Accept");
1272
+ var sEndButtonText = oI18nBundle.getText("WorkPage.CardEditor.DeleteConfigurationDialog.Deny");
1273
+
1274
+ return new Promise(function (resolve, reject) {
1275
+ sap.ui.require(["sap/m/Dialog", "sap/m/Button", "sap/m/ButtonType", "sap/m/DialogType", "sap/m/Text"], function (Dialog, Button, ButtonType, DialogType, Text) {
1276
+ var oDialog = new Dialog({
1277
+ id: "sapCepCardConfigurationResetDialog",
1278
+ type: DialogType.Message,
1279
+ title: sDialogTitle,
1280
+ content: new Text({
1281
+ id: "sapCepCardConfigurationResetDialogContent",
1282
+ text: sDialogContent}),
1283
+ beginButton: new Button({
1284
+ id: "sapCepCardConfigurationResetDialogBeginButton",
1285
+ type: ButtonType.Emphasized,
1286
+ text: sBeginButtonText
1287
+ }),
1288
+ endButton: new Button({
1289
+ id: "sapCepCardConfigurationResetDialogEndButton",
1290
+ text: sEndButtonText,
1291
+ press: function () {
1292
+ oDialog.close();
1293
+ }
1294
+ })
1295
+ });
1296
+ resolve(oDialog);
1297
+ }, reject);
1298
+ });
1299
+ },
1300
+
1301
+ /**
1302
+ *
1303
+ * @param {sap.m.Dialog} oDialog The dialog control.
1304
+ * @param {sap.ui.integration.widgets.Card} oCard The card control.
1305
+ * @private
1306
+ */
1110
1307
  _setCardDialogTitle: function (oDialog, oCard) {
1111
1308
  var oI18nBundle = this.getView().getModel("i18n").getResourceBundle();
1112
1309
  var sCardEditorTitle = this._getCardTitle(oCard)
@@ -1124,10 +1321,23 @@ sap.ui.define([
1124
1321
  * @private
1125
1322
  */
1126
1323
  _createCardEditor: function (oCard) {
1127
- return new CardEditor({
1128
- previewPosition: "right",
1129
- card: oCard,
1130
- mode: "content"
1324
+ return new Promise(function (fResolve, fReject) {
1325
+ sap.ui.require(["sap-ui-integration-card-editor"],
1326
+ function () {
1327
+ sap.ui.require(["sap/ui/integration/designtime/editor/CardEditor"], function (CardEditor) {
1328
+ fResolve(
1329
+ new CardEditor({
1330
+ previewPosition: "right",
1331
+ card: oCard,
1332
+ mode: "content"
1333
+ })
1334
+ );
1335
+ },
1336
+ fReject
1337
+ );
1338
+ },
1339
+ fReject
1340
+ );
1131
1341
  });
1132
1342
  },
1133
1343
 
@@ -1187,25 +1397,27 @@ sap.ui.define([
1187
1397
  var oDialog = oEvent.getSource().getParent();
1188
1398
  var oCardEditor = oDialog.getContent()[0];
1189
1399
  var oCard = oCardEditor.getCard();
1190
- var sWidgetConfigurationsPath = sWidgetContextPath + "/Configurations";
1400
+ var sWidgetConfigurationsPath = sWidgetContextPath + "/configurations";
1191
1401
  var oCurrentSettings = oCardEditor.getCurrentSettings();
1192
1402
  var aWidgetConfigurations = this.oModel.getProperty(sWidgetConfigurationsPath) || [];
1193
1403
 
1194
1404
  var oWidgetConfiguration = aWidgetConfigurations.find(function (oConfiguration) {
1195
- return oConfiguration.Level === "PG";
1405
+ return oConfiguration.level === "PG";
1196
1406
  });
1197
1407
 
1198
1408
  if (!oWidgetConfiguration) {
1199
1409
  oWidgetConfiguration = {};
1200
- oWidgetConfiguration.Id = this._generateUniqueId();
1201
- oWidgetConfiguration.Level = "PG";
1202
- oWidgetConfiguration.Settings = oCurrentSettings;
1203
- oWidgetConfiguration.SettingsSchemaVersion = "3.2";
1410
+ oWidgetConfiguration.id = this._generateUniqueId();
1411
+ oWidgetConfiguration.level = "PG";
1412
+ oWidgetConfiguration.settings = {
1413
+ value: oCurrentSettings,
1414
+ schemaVersion: "3.2.0"
1415
+ };
1204
1416
  aWidgetConfigurations.push(oWidgetConfiguration);
1205
1417
  } else {
1206
1418
  aWidgetConfigurations = aWidgetConfigurations.map(function (oConfiguration) {
1207
- if (oConfiguration.Level === "PG") {
1208
- oConfiguration.Settings = deepExtend({}, oConfiguration.Settings, oCurrentSettings);
1419
+ if (oConfiguration.level === "PG") {
1420
+ oConfiguration.settings.value = deepExtend({}, oConfiguration.settings.value, oCurrentSettings);
1209
1421
  }
1210
1422
  return oConfiguration;
1211
1423
  });
@@ -1224,29 +1436,54 @@ sap.ui.define([
1224
1436
  * Executes the Navigation. If event's type is Navigation, a new window will be opened
1225
1437
  *
1226
1438
  * @param {sap.base.Event} oEvent Event triggered by the card
1227
- * @returns {Promise} Promise that will resolve if Navigation is succesfull
1439
+ * @returns {Promise} Promise that will resolve if Navigation is successful
1228
1440
  */
1229
1441
  executeNavigation: function (oEvent) {
1230
- var oParameters = oEvent.getParameter("parameters");
1442
+ var oParameters = oEvent.getParameter("parameters"),
1443
+ oCard = oEvent.getParameter("card");
1231
1444
 
1232
- if (oEvent.getParameter("type") !== "Navigation" ||
1233
- this.oModel.getProperty("/navigationDisabled") ||
1234
- (oParameters && oParameters.hasOwnProperty("url"))) {
1445
+ if (oEvent.getParameter("type") !== "Navigation" || this.oModel.getProperty("/navigationDisabled")) {
1446
+ return Promise.resolve();
1447
+ }
1448
+ if (oParameters && oParameters.hasOwnProperty("url")) {
1449
+ EventHub.emit("UITracer.trace", {
1450
+ reason: "LaunchApp",
1451
+ source: "Card",
1452
+ data: {
1453
+ cardId: oCard.getManifestEntry("/sap.app/id"),
1454
+ providerId: oCard.getReferenceId(),
1455
+ targetUrl: oParameters.url
1456
+ }
1457
+ });
1235
1458
  return Promise.resolve();
1236
1459
  }
1237
1460
 
1461
+
1238
1462
  // Prevent event bubbling here, to avoid opening the same target twice
1239
1463
  oEvent.preventDefault(true);
1240
1464
 
1241
1465
  return this.getOwnerComponent().getUshellContainer().getServiceAsync("CrossApplicationNavigation")
1242
1466
  .then(function (oCrossAppNavigation) {
1243
- return oCrossAppNavigation.toExternal({
1244
- target: {
1245
- semanticObject: oParameters.ibnTarget.semanticObject,
1246
- action: oParameters.ibnTarget.action
1247
- },
1248
- params: oParameters.ibnParams
1467
+ var oToExternalObject = {};
1468
+ if (oParameters.hasOwnProperty("ibnTarget")) {
1469
+ oToExternalObject.target = oParameters.ibnTarget;
1470
+ }
1471
+ if (oParameters.hasOwnProperty("ibnParams")) {
1472
+ oToExternalObject.params = oParameters.ibnParams;
1473
+ }
1474
+ if (oParameters.hasOwnProperty("ibnAppSpecificRoute")) {
1475
+ oToExternalObject.appSpecificRoute = oParameters.ibnAppSpecificRoute;
1476
+ }
1477
+ EventHub.emit("UITracer.trace", {
1478
+ reason: "LaunchApp",
1479
+ source: "Card",
1480
+ data: {
1481
+ cardId: oCard.getManifestEntry("/sap.app/id"),
1482
+ providerId: oCard.getReferenceId(),
1483
+ targetUrl: "#" + oToExternalObject.target.semanticObject + "-" + oToExternalObject.target.action
1484
+ }
1249
1485
  });
1486
+ return oCrossAppNavigation.toExternal(oToExternalObject);
1250
1487
  });
1251
1488
  },
1252
1489
 
@@ -1271,16 +1508,114 @@ sap.ui.define([
1271
1508
  },
1272
1509
 
1273
1510
  /**
1274
- * Called if a widget is dropped on the WorkPageCell.
1275
- * @since 1.110.0
1511
+ * Called if a WorkPageCell is dropped before or after another WorkPageCell in a WorkPageColumn.
1512
+ *
1276
1513
  * @param {sap.base.Event} oEvent The drop event.
1514
+ *
1515
+ * @since 1.116.0
1516
+ * @private
1277
1517
  */
1278
1518
  onCellDrop: function (oEvent) {
1519
+ var oSourceCell = oEvent.getParameter("draggedControl");
1520
+ var oTargetCell = oEvent.getParameter("droppedControl");
1521
+ var sDropPosition = oEvent.getParameter("dropPosition");
1522
+ var oSourceColumn = oSourceCell.getParent();
1523
+ var oTargetColumn = oTargetCell.getParent();
1524
+
1525
+ var iSourceIndex = oSourceColumn.indexOfAggregation("cells", oSourceCell);
1526
+ var iTargetIndex = oTargetColumn.indexOfAggregation("cells", oTargetCell);
1527
+
1528
+ // Increase the drop position if the dragged element is moved below the target element.
1529
+ if (sDropPosition === "After") {
1530
+ iTargetIndex++;
1531
+ }
1532
+
1533
+ this._moveCell(oSourceColumn, oTargetColumn, iSourceIndex, iTargetIndex);
1534
+ },
1535
+
1536
+ /**
1537
+ * Called if a WorkPageCell is dropped on an empty WorkPageColumn.
1538
+ *
1539
+ * @param {sap.base.Event} oEvent The drop event.
1540
+ *
1541
+ * @since 1.116.0
1542
+ * @private
1543
+ */
1544
+ onCellDropOnEmptyColumn: function (oEvent) {
1545
+ var oSourceCell = oEvent.getParameter("draggedControl");
1546
+ var oTargetColumn = oEvent.getParameter("droppedControl");
1547
+ var oSourceColumn = oSourceCell.getParent();
1548
+
1549
+ var iSourceIndex = oSourceColumn.indexOfAggregation("cells", oSourceCell);
1550
+ var iTargetIndex = 0;
1551
+
1552
+ this._moveCell(oSourceColumn, oTargetColumn, iSourceIndex, iTargetIndex);
1553
+ },
1554
+
1555
+ /**
1556
+ * Moves a cell between two columns and updates the model accordingly.
1557
+ *
1558
+ * @param {sap.ushell.components.workPageBuilder.controls.WorkPageColumn} oSourceColumn The column from where the cell originates from
1559
+ * @param {sap.ushell.components.workPageBuilder.controls.WorkPageColumn} oTargetColumn The column where the cell will be moved to
1560
+ * @param {int} iSourceIndex The position in the column where the cell originates from
1561
+ * @param {int} iTargetIndex The position in the column where the cell will be moved to
1562
+ *
1563
+ * @private
1564
+ * @since 1.116.0
1565
+ */
1566
+ _moveCell: function (oSourceColumn, oTargetColumn, iSourceIndex, iTargetIndex) {
1567
+ var oModel = this.getView().getModel();
1568
+
1569
+ var bSameContainer = oTargetColumn.getId() === oSourceColumn.getId();
1570
+
1571
+ var sSourceColumnCellsPath = oSourceColumn.getBindingContext().getPath() + "/cells";
1572
+ var sTargetColumnCellsPath = oTargetColumn.getBindingContext().getPath() + "/cells";
1573
+
1574
+ var aSourceColumnCells = oModel.getProperty(sSourceColumnCellsPath);
1575
+ var aTargetColumnCells = oModel.getProperty(sTargetColumnCellsPath);
1576
+
1577
+ if (bSameContainer) {
1578
+ // Decrease drop position if the dragged element is taken from before the drop position in the same container.
1579
+ if (iSourceIndex < iTargetIndex) {
1580
+ iTargetIndex--;
1581
+ }
1582
+ // Return if the result is the same for drag position and drop position in the same container (and prevent the MessageToast).
1583
+ if (iSourceIndex === iTargetIndex) {
1584
+ return;
1585
+ }
1586
+ }
1587
+
1588
+ // Filter the dragged item from the source array instead of splicing to avoid mutation.
1589
+ var aNewDragColumnCells = aSourceColumnCells.filter(function (oWidget, iIndex) {
1590
+ return iIndex !== iSourceIndex;
1591
+ });
1592
+
1593
+ // If dnd happened in the same cell, the drop cells become the dragged cells without the dragged object.
1594
+ if (bSameContainer) {
1595
+ aTargetColumnCells = aNewDragColumnCells;
1596
+ }
1597
+
1598
+ // Insert the dragged object into a new target array to avoid mutation.
1599
+ var aNewDropColumnCells = [aTargetColumnCells.slice(0, iTargetIndex), aSourceColumnCells[iSourceIndex], aTargetColumnCells.slice(iTargetIndex)].flat();
1600
+
1601
+ oModel.setProperty(sSourceColumnCellsPath, aNewDragColumnCells);
1602
+ oModel.setProperty(sTargetColumnCellsPath, aNewDropColumnCells);
1603
+
1604
+ InvisibleMessage.getInstance().announce(this.getView().getModel("i18n").getResourceBundle().getText("WorkPage.Message.WidgetMoved"), InvisibleMessageMode.Assertive);
1605
+ this.getOwnerComponent().fireEvent("workPageEdited");
1606
+ },
1607
+
1608
+ /**
1609
+ * Called if a widget is dropped on the WorkPageCell.
1610
+ * @since 1.116.0
1611
+ * @param {sap.base.Event} oEvent The drop event.
1612
+ */
1613
+ onWidgetOnCellDrop: function (oEvent) {
1279
1614
  var oDragged = oEvent.getParameter("draggedControl");
1280
1615
  var oSourceCell = oDragged.getParent().getParent();
1281
1616
  var oTargetCell = oEvent.getParameter("droppedControl");
1282
1617
  var iDragPosition = oSourceCell.indexOfAggregation("widgets", oDragged);
1283
- var iDropPosition = oTargetCell.getBindingContext().getProperty("Widgets").length;
1618
+ var iDropPosition = oTargetCell.getBindingContext().getProperty("widgets").length;
1284
1619
 
1285
1620
  this._moveVisualization(oSourceCell, oTargetCell, iDragPosition, iDropPosition);
1286
1621
  },
@@ -1290,9 +1625,9 @@ sap.ui.define([
1290
1625
  *
1291
1626
  * @param {sap.base.Event} oEvent The dragenter event.
1292
1627
  */
1293
- onCellDragEnter: function (oEvent) {
1628
+ onWidgetOnCellDragEnter: function (oEvent) {
1294
1629
  var oCell = oEvent.getParameter("target");
1295
- if (!this.tileMode(oCell.getBindingContext().getProperty("Widgets"))) {
1630
+ if (!this.tileMode(oCell.getBindingContext().getProperty("widgets"))) {
1296
1631
  oEvent.preventDefault();
1297
1632
  }
1298
1633
  },
@@ -1348,8 +1683,8 @@ sap.ui.define([
1348
1683
  _moveVisualization: function (oSourceCell, oTargetCell, iDragPosition, iDropPosition) {
1349
1684
  var oModel = this.getView().getModel();
1350
1685
 
1351
- var sDragContainerWidgetsPath = oSourceCell.getBindingContext().getPath() + "/Widgets";
1352
- var sDropContainerWidgetsPath = oTargetCell.getBindingContext().getPath() + "/Widgets";
1686
+ var sDragContainerWidgetsPath = oSourceCell.getBindingContext().getPath() + "/widgets";
1687
+ var sDropContainerWidgetsPath = oTargetCell.getBindingContext().getPath() + "/widgets";
1353
1688
  var bSameCell = sDragContainerWidgetsPath === sDropContainerWidgetsPath;
1354
1689
 
1355
1690
  var aDragContainerWidgets = oModel.getProperty(sDragContainerWidgetsPath);
@@ -1386,10 +1721,11 @@ sap.ui.define([
1386
1721
  tileMode: function (aWidgets) {
1387
1722
  var oModel = this.getView().getModel();
1388
1723
  var oUsedViz;
1389
- return !!aWidgets && !aWidgets.some(function (oWidget) {
1390
- oUsedViz = oModel.getProperty("/data/UsedVisualizations/" + ObjectPath.get("Visualization.Id", oWidget));
1391
- return ObjectPath.get("Type", oUsedViz) === "sap.card";
1392
- });
1724
+
1725
+ return !!aWidgets && (aWidgets.length > 1 || !aWidgets.some(function (oWidget) {
1726
+ oUsedViz = oModel.getProperty("/data/usedVisualizations/" + ObjectPath.get("visualization.id", oWidget));
1727
+ return ObjectPath.get("type", oUsedViz) === "sap.card";
1728
+ }));
1393
1729
  },
1394
1730
 
1395
1731
  /**
@@ -1417,8 +1753,8 @@ sap.ui.define([
1417
1753
  var oModel = this.getView().getModel();
1418
1754
  var oRowBindingContext = oRow.getBindingContext();
1419
1755
  var sRowBindingContextPath = oRowBindingContext.getPath();
1420
- var sLeftColumnPath = sRowBindingContextPath + "/Columns/" + iLeftColumnIndex + "/Descriptor/columnWidth";
1421
- var sRightColumnPath = sRowBindingContextPath + "/Columns/" + iRightColumnIndex + "/Descriptor/columnWidth";
1756
+ var sLeftColumnPath = sRowBindingContextPath + "/columns/" + iLeftColumnIndex + "/descriptor/value/columnWidth";
1757
+ var sRightColumnPath = sRowBindingContextPath + "/columns/" + iRightColumnIndex + "/descriptor/value/columnWidth";
1422
1758
  oModel.setProperty(sLeftColumnPath, iNewLeftColumnWidth);
1423
1759
  oModel.setProperty(sRightColumnPath, iNewRightColumnWidth);
1424
1760
  },
@@ -1454,7 +1790,7 @@ sap.ui.define([
1454
1790
  * @private
1455
1791
  */
1456
1792
  _doColumnResizeStep: function (oRow, iLeftColumnIndex, iRightColumnIndex, iLeftColumnWidth, iRightColumnWidth, sDirection) {
1457
- var bRtl = Core.getConfiguration().getRTL();
1793
+ var bRtl = Configuration.getRTL();
1458
1794
  var iStep;
1459
1795
 
1460
1796
  if (!bRtl) {
@@ -1489,7 +1825,7 @@ sap.ui.define([
1489
1825
  */
1490
1826
  _getCurrentColumnWidth: function (oRow, iLeftColumnIndex) {
1491
1827
  var sRowBindingContextPath = oRow.getBindingContext().getPath();
1492
- var sColumnPath = sRowBindingContextPath + "/Columns/" + iLeftColumnIndex + "/Descriptor/columnWidth";
1828
+ var sColumnPath = sRowBindingContextPath + "/columns/" + iLeftColumnIndex + "/descriptor/value/columnWidth";
1493
1829
  return this.getView().getModel().getProperty(sColumnPath);
1494
1830
  },
1495
1831
 
@@ -1501,7 +1837,7 @@ sap.ui.define([
1501
1837
  * @private
1502
1838
  */
1503
1839
  _getColumnWidth: function (oColumn) {
1504
- return ObjectPath.get("Descriptor.columnWidth", oColumn) || MAX_GRID_COLUMN_WIDTH;
1840
+ return ObjectPath.get("descriptor.value.columnWidth", oColumn) || MAX_GRID_COLUMN_WIDTH;
1505
1841
  },
1506
1842
 
1507
1843
  /**
@@ -1512,7 +1848,7 @@ sap.ui.define([
1512
1848
  * @private
1513
1849
  */
1514
1850
  _setColumnWidth: function (oColumn, iColumnWidth) {
1515
- ObjectPath.set("Descriptor.columnWidth", iColumnWidth, oColumn);
1851
+ ObjectPath.set("descriptor.value.columnWidth", iColumnWidth, oColumn);
1516
1852
  },
1517
1853
 
1518
1854
  /**
@@ -1548,13 +1884,15 @@ sap.ui.define([
1548
1884
  */
1549
1885
  _createEmptyColumn: function (iColumnWidth) {
1550
1886
  return {
1551
- Id: this._generateUniqueId(),
1552
- DescriptorSchemaVersion: "3.2.0",
1553
- Descriptor: {
1554
- columnWidth: iColumnWidth
1887
+ id: this._generateUniqueId(),
1888
+ descriptor: {
1889
+ value: {
1890
+ columnWidth: iColumnWidth
1891
+ },
1892
+ schemaVersion: "3.2.0"
1555
1893
  },
1556
- Configurations: [],
1557
- Cells: []
1894
+ configurations: [],
1895
+ cells: []
1558
1896
  };
1559
1897
  },
1560
1898
 
@@ -1566,15 +1904,15 @@ sap.ui.define([
1566
1904
  */
1567
1905
  _createEmptyRow: function () {
1568
1906
  return {
1569
- Id: this._generateUniqueId(),
1570
- DescriptorSchemaVersion: "3.2.0",
1571
- Descriptor: {
1572
- title: "",
1573
- description: "this is not yet rendered",
1574
- fillRowHeight: false,
1575
- fullWidth: false
1907
+ id: this._generateUniqueId(),
1908
+ descriptor: {
1909
+ value: {
1910
+ title: "",
1911
+ description: "this is not yet rendered"
1912
+ },
1913
+ schemaVersion: "3.2.0"
1576
1914
  },
1577
- Columns: [this._createEmptyColumn(MAX_GRID_COLUMN_WIDTH)]
1915
+ columns: [this._createEmptyColumn(MAX_GRID_COLUMN_WIDTH)]
1578
1916
  };
1579
1917
  },
1580
1918
 
@@ -1619,59 +1957,6 @@ sap.ui.define([
1619
1957
  this.oModel.setProperty("/navigationDisabled", bNavigation);
1620
1958
  },
1621
1959
 
1622
- /**
1623
- * Set the section grid container gap and row size for different screen sizes
1624
- */
1625
- _setGridContainerSizes: function () {
1626
- var sSizeBehavior = Config.last("/core/home/sizeBehavior");
1627
- var oViewSettingsModel = this.getView().getModel("viewSettings");
1628
-
1629
- var sTileGapParam = (sSizeBehavior === "Small")
1630
- ? "_sap_ushell_Tile_SpacingXS"
1631
- : "_sap_ushell_Tile_Spacing";
1632
-
1633
- var sTileGapParamS = (sSizeBehavior === "Small")
1634
- ? "_sap_ushell_Tile_SpacingXS"
1635
- : "_sap_ushell_Tile_SpacingS";
1636
-
1637
-
1638
- oViewSettingsModel.setProperty("/gridContainerGap/gridContainerGap", this._getNumericThemeParam(sTileGapParam));
1639
- oViewSettingsModel.setProperty("/gridContainerGap/gridContainerGapXS", this._getNumericThemeParam("_sap_ushell_Tile_SpacingXS"));
1640
- oViewSettingsModel.setProperty("/gridContainerGap/gridContainerGapS", this._getNumericThemeParam(sTileGapParamS));
1641
- oViewSettingsModel.setProperty("/gridContainerGap/gridContainerGapM", this._getNumericThemeParam(sTileGapParam));
1642
- oViewSettingsModel.setProperty("/gridContainerGap/gridContainerGapL", this._getNumericThemeParam(sTileGapParam));
1643
- oViewSettingsModel.setProperty("/gridContainerGap/gridContainerGapXL", this._getNumericThemeParam(sTileGapParam));
1644
-
1645
- var sTileWidthParam = (sSizeBehavior === "Small")
1646
- ? "_sap_ushell_Tile_WidthXS"
1647
- : "_sap_ushell_Tile_Width";
1648
-
1649
- var sTileWidthParamS = (sSizeBehavior === "Small")
1650
- ? "_sap_ushell_Tile_WidthXS"
1651
- : "_sap_ushell_Tile_WidthS";
1652
-
1653
- oViewSettingsModel.setProperty("/gridContainerRowSize/gridContainerRowSize", this._getNumericThemeParam(sTileWidthParam));
1654
- oViewSettingsModel.setProperty("/gridContainerRowSize/gridContainerRowSizeXS", this._getNumericThemeParam("_sap_ushell_Tile_WidthXS"));
1655
- oViewSettingsModel.setProperty("/gridContainerRowSize/gridContainerRowSizeS", this._getNumericThemeParam(sTileWidthParamS));
1656
- oViewSettingsModel.setProperty("/gridContainerRowSize/gridContainerRowSizeM", this._getNumericThemeParam(sTileWidthParam));
1657
- oViewSettingsModel.setProperty("/gridContainerRowSize/gridContainerRowSizeL", this._getNumericThemeParam(sTileWidthParam));
1658
- oViewSettingsModel.setProperty("/gridContainerRowSize/gridContainerRowSizeXL", this._getNumericThemeParam(sTileWidthParam));
1659
- },
1660
-
1661
- /**
1662
- * Returns a .rem value based on the tile gap or width parameter
1663
- *
1664
- * @param {string} sParam Tile spacing parameter
1665
- * @returns {string} Value in .rem
1666
- */
1667
- _getNumericThemeParam: function (sParam) {
1668
- var sValue = Parameters.get(sParam);
1669
- if (sValue && sValue.indexOf(".") === 0) {
1670
- sValue = "0" + sValue;
1671
- }
1672
- return sValue;
1673
- },
1674
-
1675
1960
  /**
1676
1961
  * Returns a unique id which does not yet exist on the WorkPage.
1677
1962
  * Optionally an array of existing IDs can be given as an argument.
@@ -1685,24 +1970,48 @@ sap.ui.define([
1685
1970
  _generateUniqueId: function (aExistingIds) {
1686
1971
  // make a copy to not change the passed array.
1687
1972
  var aIds = (aExistingIds || []).concat([]);
1688
- var oWorkPage = this.oModel.getProperty("/data/WorkPage");
1689
-
1690
- aIds.push(oWorkPage.Id);
1691
-
1692
- (oWorkPage.Rows || []).forEach(function (oRow) {
1693
- aIds.push(oRow.Id);
1694
- (oRow.Columns || []).forEach(function (oColumn) {
1695
- aIds.push(oColumn.Id);
1696
- (oColumn.Cells || []).forEach(function (oCell) {
1697
- aIds.push(oCell.Id);
1698
- (oCell.Widgets || []).forEach(function (oWidget) {
1699
- aIds.push(oWidget.Id);
1973
+ var oWorkPage = this.oModel.getProperty("/data/workPage");
1974
+ var fnCollectIds = this._collectIds.bind(this);
1975
+
1976
+ aIds = aIds.concat(fnCollectIds(oWorkPage));
1977
+
1978
+ (oWorkPage.rows || []).forEach(function (oRow) {
1979
+ aIds = aIds.concat(fnCollectIds(oRow));
1980
+ (oRow.columns || []).forEach(function (oColumn) {
1981
+ aIds = aIds.concat(fnCollectIds(oColumn));
1982
+ (oColumn.cells || []).forEach(function (oCell) {
1983
+ aIds = aIds.concat(fnCollectIds(oCell));
1984
+ (oCell.widgets || []).forEach(function (oWidget) {
1985
+ aIds = aIds.concat(fnCollectIds(oWidget));
1700
1986
  });
1701
1987
  });
1702
1988
  });
1703
1989
  });
1704
1990
 
1991
+ aIds = aIds.filter(function (sId) {
1992
+ return !!sId;
1993
+ });
1994
+
1705
1995
  return utils.generateUniqueId(aIds);
1996
+ },
1997
+
1998
+ /**
1999
+ * Collects the id and all the configuration ids of an entity on the WorkPage.
2000
+ *
2001
+ * @param {object} oEntity An entity on the WorkPage
2002
+ * @returns {string[]} An array of all ids related to this entity.
2003
+ * @private
2004
+ * @since 1.116.0
2005
+ */
2006
+ _collectIds: function (oEntity) {
2007
+ var aIds = [oEntity.id];
2008
+ var aSettings = oEntity.configurations || [];
2009
+
2010
+ var aConfigIds = aSettings.map(function (oConfig) {
2011
+ return oConfig.id;
2012
+ });
2013
+
2014
+ return aIds.concat(aConfigIds);
1706
2015
  }
1707
2016
  });
1708
2017
  });