@sapui5/sap.ushell 1.113.0 → 1.114.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 (473) hide show
  1. package/package.json +1 -1
  2. package/src/main/js/sap/ushell/.library +1 -1
  3. package/src/main/js/sap/ushell/ApplicationType.js +29 -12
  4. package/src/main/js/sap/ushell/CanvasShapesManager.js +39 -17
  5. package/src/main/js/sap/ushell/Container.js +12 -8
  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 +3 -0
  9. package/src/main/js/sap/ushell/NWBCInterface.js +1 -1
  10. package/src/main/js/sap/ushell/System.js +50 -0
  11. package/src/main/js/sap/ushell/TechnicalParameters.js +1 -1
  12. package/src/main/js/sap/ushell/UIActions.js +8 -23
  13. package/src/main/js/sap/ushell/URLTemplateProcessor.js +1 -1
  14. package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +1 -1
  15. package/src/main/js/sap/ushell/Ui5ServiceFactory.js +1 -1
  16. package/src/main/js/sap/ushell/User.js +0 -10
  17. package/src/main/js/sap/ushell/_ApplicationType/wdaResolution.js +1 -1
  18. package/src/main/js/sap/ushell/_URLTemplateProcessor/DefinitionParameterSetBuilder.js +1 -1
  19. package/src/main/js/sap/ushell/_URLTemplateProcessor/DependencyGraph.js +1 -1
  20. package/src/main/js/sap/ushell/_URLTemplateProcessor/Functions.js +1 -1
  21. package/src/main/js/sap/ushell/_URLTemplateProcessor/Resolvers.js +1 -1
  22. package/src/main/js/sap/ushell/_URLTemplateProcessor/TemplateParameterParser.js +1 -1
  23. package/src/main/js/sap/ushell/_URLTemplateProcessor/utils.js +1 -1
  24. package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +1 -1
  25. package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +1 -1
  26. package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
  27. package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +1 -1
  28. package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +1 -1
  29. package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +1 -1
  30. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
  31. package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +1 -1
  32. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +1 -1
  33. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +1 -1
  34. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +1 -1
  35. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +1 -1
  36. package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +1 -1
  37. package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +1 -1
  38. package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +1 -1
  39. package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +1 -1
  40. package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +1 -1
  41. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +1 -1
  42. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +1 -1
  43. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +1 -1
  44. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +1 -1
  45. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +1 -1
  46. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +1 -1
  47. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +1 -1
  48. package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +1 -1
  49. package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +1 -1
  50. package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +1 -1
  51. package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +1 -1
  52. package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +1 -1
  53. package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +1 -1
  54. package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +1 -1
  55. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +1 -1
  56. package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +1 -1
  57. package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +1 -1
  58. package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +1 -1
  59. package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +1 -1
  60. package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +1 -1
  61. package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +1 -1
  62. package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +1 -1
  63. package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +1 -1
  64. package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +1 -1
  65. package/src/main/js/sap/ushell/appRuntime/ui5/AppCommunicationMgr.js +6 -1
  66. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +89 -26
  67. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntimeService.js +2 -2
  68. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/Component.js +24 -4
  69. package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
  70. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/logger.js +1 -1
  71. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/state.js +1 -1
  72. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5datetimeformat.js +1 -1
  73. package/src/main/js/sap/ushell/bootstrap/common/common.create.configcontract.core.js +7 -1
  74. package/src/main/js/sap/ushell/components/_HeaderManager/ShellHeader.controller.js +1 -1
  75. package/src/main/js/sap/ushell/components/_HomepageManager/PersistentPageOperationAdapter.js +1 -1
  76. package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
  77. package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +1 -1
  78. package/src/main/js/sap/ushell/components/applicationIntegration/Storage.js +1 -1
  79. package/src/main/js/sap/ushell/components/applicationIntegration/application/Application.js +12 -7
  80. package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxHandler.js +2 -2
  81. package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxesCache.js +33 -19
  82. package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPI.js +51 -19
  83. package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +1 -1
  84. package/src/main/js/sap/ushell/components/applicationIntegration/elements/model.js +1 -1
  85. package/src/main/js/sap/ushell/components/applicationIntegration/relatedServices/RelatedServices.js +1 -1
  86. package/src/main/js/sap/ushell/components/applicationIntegration/relatedShellElements/RelatedShellElements.js +1 -1
  87. package/src/main/js/sap/ushell/components/cepsearchresult/app/Component.js +3 -76
  88. package/src/main/js/sap/ushell/components/cepsearchresult/app/Main.controller.js +189 -204
  89. package/src/main/js/sap/ushell/components/cepsearchresult/app/Main.view.xml +11 -24
  90. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/Component.js +108 -50
  91. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n.properties +8 -2
  92. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_en_US_saprigi.properties +4 -0
  93. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/manifest.json +31 -30
  94. package/src/main/js/sap/ushell/components/cepsearchresult/app/css/style.css +18 -13
  95. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/Edition.js +153 -0
  96. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/EditionAdvanced.js +333 -0
  97. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/EditionStandard.js +59 -0
  98. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/Category.css +209 -0
  99. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/Category.js +772 -0
  100. package/src/main/js/sap/ushell/components/cepsearchresult/app/{cards/searchresultwidget → util}/controls/Highlighter.js +19 -44
  101. package/src/main/js/sap/ushell/components/cepsearchresult/app/{cards/searchresultwidget → util}/controls/Paginator.css +5 -5
  102. package/src/main/js/sap/ushell/components/cepsearchresult/app/{cards/searchresultwidget → util}/controls/Paginator.js +14 -17
  103. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/categories/All.js +65 -0
  104. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/categories/Application.js +190 -0
  105. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/categories/Event.js +182 -0
  106. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/categories/People.js +116 -0
  107. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/categories/Workpage.js +36 -0
  108. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n.properties +14 -0
  109. package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +73 -39
  110. package/src/main/js/sap/ushell/components/contentFinder/Component.js +1 -1
  111. package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +1 -1
  112. package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +1 -1
  113. package/src/main/js/sap/ushell/components/contentFinder/controller/WidgetGallery.controller.js +1 -1
  114. package/src/main/js/sap/ushell/components/contentFinder/manifest.json +1 -1
  115. package/src/main/js/sap/ushell/components/contentFinder/view/AppSearch.view.xml +1 -2
  116. package/src/main/js/sap/ushell/components/contentFinder/view/ContentFinderDialog.view.xml +1 -1
  117. package/src/main/js/sap/ushell/components/contentFinder/view/WidgetGallery.view.xml +1 -2
  118. package/src/main/js/sap/ushell/components/factsheet/Component.js +1 -1
  119. package/src/main/js/sap/ushell/components/homepage/ActionMode.js +7 -4
  120. package/src/main/js/sap/ushell/components/homepage/DashboardContent.controller.js +10 -5
  121. package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +34 -29
  122. package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +6 -6
  123. package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +1 -1
  124. package/src/main/js/sap/ushell/components/homepage/manifest.json +1 -1
  125. package/src/main/js/sap/ushell/components/pages/ActionMode.js +1 -1
  126. package/src/main/js/sap/ushell/components/pages/Component.js +1 -1
  127. package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +1 -1
  128. package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +42 -6
  129. package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
  130. package/src/main/js/sap/ushell/components/pages/view/PageRuntime.view.xml +0 -2
  131. package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +1 -1
  132. package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
  133. package/src/main/js/sap/ushell/components/shell/MenuBar/Component.js +44 -41
  134. package/src/main/js/sap/ushell/components/shell/MenuBar/controller/MenuBar.controller.js +17 -3
  135. package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +5 -9
  136. package/src/main/js/sap/ushell/components/shell/MenuBar/view/MenuBar.view.xml +0 -1
  137. package/src/main/js/sap/ushell/components/shell/MenuBar/view/MenuBarPersonalization.view.xml +37 -0
  138. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/Component.js +16 -0
  139. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +363 -0
  140. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +52 -0
  141. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/view/CustomTreeItem.fragment.xml +28 -0
  142. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/view/NavigationBarMenu.view.xml +23 -0
  143. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/view/NavigationBarMenuPopover.fragment.xml +58 -0
  144. package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +1 -1
  145. package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +1 -1
  146. package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
  147. package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +1 -1
  148. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +1 -1
  149. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/NavigationSvcSearchProvider.js +1 -1
  150. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +1 -1
  151. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +1 -1
  152. package/src/main/js/sap/ushell/components/shell/Settings/Component.js +1 -1
  153. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/controller/UserDefaultsSetting.controller.js +31 -5
  154. package/src/main/js/sap/ushell/components/shell/Settings/userLanguageRegion/LanguageRegionSelector.controller.js +13 -9
  155. package/src/main/js/sap/ushell/components/shell/Settings/userLanguageRegion/LanguageRegionSelector.view.xml +15 -6
  156. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +1 -1
  157. package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +1 -1
  158. package/src/main/js/sap/ushell/components/tiles/utils.js +1 -1
  159. package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +1 -1
  160. package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +1 -1
  161. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility.js +141 -0
  162. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +276 -19
  163. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +1 -1
  164. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +1 -1
  165. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +29 -9
  166. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +30 -1
  167. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnRenderer.js +5 -4
  168. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +1 -1
  169. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +36 -2
  170. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRowRenderer.js +9 -3
  171. package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
  172. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources.properties +12 -0
  173. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ar.properties +7 -0
  174. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_bg.properties +7 -0
  175. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ca.properties +7 -0
  176. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_cs.properties +7 -0
  177. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_cy.properties +7 -0
  178. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_da.properties +7 -0
  179. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_de.properties +7 -0
  180. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_el.properties +7 -0
  181. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_en.properties +7 -0
  182. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_en_GB.properties +7 -0
  183. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_en_US_sappsd.properties +7 -0
  184. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_en_US_saprigi.properties +7 -0
  185. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_en_US_saptrc.properties +7 -0
  186. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_es.properties +7 -0
  187. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_es_MX.properties +7 -0
  188. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_et.properties +7 -0
  189. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_fi.properties +7 -0
  190. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_fr.properties +7 -0
  191. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_fr_CA.properties +7 -0
  192. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_hi.properties +7 -0
  193. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_hr.properties +7 -0
  194. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_hu.properties +7 -0
  195. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_id.properties +7 -0
  196. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_it.properties +7 -0
  197. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_iw.properties +7 -0
  198. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ja.properties +7 -0
  199. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_kk.properties +7 -0
  200. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ko.properties +7 -0
  201. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_lt.properties +7 -0
  202. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_lv.properties +7 -0
  203. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ms.properties +7 -0
  204. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_nl.properties +7 -0
  205. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_no.properties +7 -0
  206. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_pl.properties +7 -0
  207. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_pt.properties +7 -0
  208. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_pt_PT.properties +7 -0
  209. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ro.properties +7 -0
  210. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ru.properties +7 -0
  211. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_sh.properties +7 -0
  212. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_sk.properties +7 -0
  213. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_sl.properties +7 -0
  214. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_sv.properties +7 -0
  215. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_th.properties +7 -0
  216. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_tr.properties +7 -0
  217. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_uk.properties +7 -0
  218. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_vi.properties +7 -0
  219. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_zh_CN.properties +7 -0
  220. package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_zh_TW.properties +7 -0
  221. package/src/main/js/sap/ushell/components/workPageBuilder/view/WorkPageBuilder.view.xml +11 -1
  222. package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +1 -1
  223. package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +1 -1
  224. package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +1 -1
  225. package/src/main/js/sap/ushell/components/workPageRuntime/services/NavigationResolver.js +1 -1
  226. package/src/main/js/sap/ushell/components/workPageRuntime/services/WorkPage.js +1 -1
  227. package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
  228. package/src/main/js/sap/ushell/library.js +4 -2
  229. package/src/main/js/sap/ushell/navigationMode.js +1 -1
  230. package/src/main/js/sap/ushell/performance/ShellAnalytics.js +1 -1
  231. package/src/main/js/sap/ushell/performance/StatisticalRecord.js +1 -1
  232. package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
  233. package/src/main/js/sap/ushell/plugins/rta/manifest.json +2 -1
  234. package/src/main/js/sap/ushell/plugins/rta-personalize/Component.js +1 -1
  235. package/src/main/js/sap/ushell/renderers/fiori2/Renderer.js +68 -12
  236. package/src/main/js/sap/ushell/renderers/fiori2/Shell.controller.js +348 -274
  237. package/src/main/js/sap/ushell/renderers/fiori2/Shell.view.js +536 -122
  238. package/src/main/js/sap/ushell/renderers/fiori2/ShellAsync.view.js +539 -150
  239. package/src/main/js/sap/ushell/renderers/fiori2/ShellLayout.js +105 -0
  240. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources.properties +27 -2
  241. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_ar.properties +4 -2
  242. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_bg.properties +4 -2
  243. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_ca.properties +4 -2
  244. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_cs.properties +4 -2
  245. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_cy.properties +4 -2
  246. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_da.properties +4 -2
  247. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_de.properties +6 -4
  248. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_el.properties +4 -2
  249. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_en.properties +4 -2
  250. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_en_GB.properties +4 -2
  251. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_en_US_sappsd.properties +11 -2
  252. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_en_US_saprigi.properties +11 -2
  253. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_en_US_saptrc.properties +4 -2
  254. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_es.properties +4 -2
  255. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_es_MX.properties +4 -2
  256. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_et.properties +4 -2
  257. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_fi.properties +4 -2
  258. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_fr.properties +4 -2
  259. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_fr_CA.properties +4 -2
  260. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_hi.properties +4 -2
  261. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_hr.properties +4 -2
  262. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_hu.properties +4 -2
  263. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_id.properties +4 -2
  264. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_it.properties +4 -2
  265. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_iw.properties +4 -2
  266. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_ja.properties +4 -2
  267. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_kk.properties +4 -2
  268. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_ko.properties +4 -2
  269. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_lt.properties +4 -2
  270. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_lv.properties +4 -2
  271. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_ms.properties +4 -2
  272. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_nl.properties +4 -2
  273. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_no.properties +4 -2
  274. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_pl.properties +4 -2
  275. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_pt.properties +4 -2
  276. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_pt_PT.properties +4 -2
  277. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_ro.properties +4 -2
  278. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_ru.properties +4 -2
  279. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_sh.properties +4 -2
  280. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_sk.properties +4 -2
  281. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_sl.properties +4 -2
  282. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_sv.properties +4 -2
  283. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_th.properties +4 -2
  284. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_tr.properties +4 -2
  285. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_uk.properties +4 -2
  286. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_vi.properties +4 -2
  287. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_zh_CN.properties +4 -2
  288. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_zh_TW.properties +4 -2
  289. package/src/main/js/sap/ushell/renderers/fiori2/search/searchComponent/manifest.json +1 -1
  290. package/src/main/js/sap/ushell/services/AppLifeCycle.js +34 -16
  291. package/src/main/js/sap/ushell/services/AppState.js +30 -1
  292. package/src/main/js/sap/ushell/services/Bookmark.js +1 -1
  293. package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +1 -1
  294. package/src/main/js/sap/ushell/services/CommonDataModel.js +1 -1
  295. package/src/main/js/sap/ushell/services/Configuration.js +1 -1
  296. package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +1 -1
  297. package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +1 -1
  298. package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +1 -1
  299. package/src/main/js/sap/ushell/services/DarkModeSupport.js +1 -1
  300. package/src/main/js/sap/ushell/services/LaunchPage.js +1 -1
  301. package/src/main/js/sap/ushell/services/Menu.js +251 -18
  302. package/src/main/js/sap/ushell/services/Message.js +1 -1
  303. package/src/main/js/sap/ushell/services/MessageBroker.js +20 -4
  304. package/src/main/js/sap/ushell/services/NavigationDataProvider.js +1 -1
  305. package/src/main/js/sap/ushell/services/PageBuilding.js +1 -1
  306. package/src/main/js/sap/ushell/services/PagePersistence.js +1 -1
  307. package/src/main/js/sap/ushell/services/PageReferencing.js +1 -1
  308. package/src/main/js/sap/ushell/services/Pages.js +1 -1
  309. package/src/main/js/sap/ushell/services/Personalization.js +1 -1
  310. package/src/main/js/sap/ushell/services/PluginManager.js +1 -1
  311. package/src/main/js/sap/ushell/services/ReferenceResolver.js +1 -1
  312. package/src/main/js/sap/ushell/services/Search.js +1 -1
  313. package/src/main/js/sap/ushell/services/SearchCEP.js +1 -1
  314. package/src/main/js/sap/ushell/services/SearchableContent.js +1 -1
  315. package/src/main/js/sap/ushell/services/SmartNavigation.js +1 -1
  316. package/src/main/js/sap/ushell/services/SpaceContent.js +1 -1
  317. package/src/main/js/sap/ushell/services/URLShortening.js +1 -1
  318. package/src/main/js/sap/ushell/services/URLTemplate.js +1 -1
  319. package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +1 -1
  320. package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +1 -1
  321. package/src/main/js/sap/ushell/services/UserDefaultParameters.js +1 -1
  322. package/src/main/js/sap/ushell/services/UserInfo.js +1 -1
  323. package/src/main/js/sap/ushell/services/UserRecents.js +1 -1
  324. package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +1 -1
  325. package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +1 -1
  326. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Formatter.js +1 -1
  327. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundIndex.js +1 -1
  328. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundProvider.js +1 -1
  329. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/PrelaunchOperations.js +1 -1
  330. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Search.js +1 -1
  331. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/StagedLogger.js +1 -1
  332. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/SystemContext.js +1 -1
  333. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Utils.js +1 -1
  334. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/VirtualInbounds.js +1 -1
  335. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/XAppStateProcessing.js +1 -1
  336. package/src/main/js/sap/ushell/services/_CommonDataModel/SiteConverter.js +1 -1
  337. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +1 -1
  338. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +1 -1
  339. package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +1 -1
  340. package/src/main/js/sap/ushell/services/_MessageBroker/MessageBrokerEngine.js +73 -32
  341. package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +1 -1
  342. package/src/main/js/sap/ushell/services/_PluginManager/Extensions.js +1 -1
  343. package/src/main/js/sap/ushell/services/_PluginManager/HeaderExtensions.js +1 -1
  344. package/src/main/js/sap/ushell/services/_PluginManager/MenuExtensions.js +1 -1
  345. package/src/main/js/sap/ushell/services/_Ui5ComponentLoader/utils.js +11 -3
  346. package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstanceLink.js +1 -1
  347. package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
  348. package/src/main/js/sap/ushell/themes/base/Dashboard.less +0 -2
  349. package/src/main/js/sap/ushell/themes/base/FloatingContainer.less +83 -9
  350. package/src/main/js/sap/ushell/themes/base/MenuBar.less +23 -0
  351. package/src/main/js/sap/ushell/themes/base/SearchCEP.less +5 -1
  352. package/src/main/js/sap/ushell/themes/base/ShellHeader.less +1 -14
  353. package/src/main/js/sap/ushell/themes/base/ShellLayout.less +131 -183
  354. package/src/main/js/sap/ushell/themes/base/SidePane.less +8 -0
  355. package/src/main/js/sap/ushell/themes/base/SubHeader.less +3 -0
  356. package/src/main/js/sap/ushell/themes/base/SysInfoBar.less +114 -0
  357. package/src/main/js/sap/ushell/themes/base/ToolAreaItem.less +1 -5
  358. package/src/main/js/sap/ushell/themes/base/WorkPageCell.less +4 -0
  359. package/src/main/js/sap/ushell/themes/base/WorkPageRow.less +7 -0
  360. package/src/main/js/sap/ushell/themes/base/library.source.less +5 -2
  361. package/src/main/js/sap/ushell/themes/sap_belize/FloatingContainer.less +5 -2
  362. package/src/main/js/sap/ushell/themes/sap_belize/ShellLayout.less +11 -9
  363. package/src/main/js/sap/ushell/themes/sap_belize/SidePane.less +7 -0
  364. package/src/main/js/sap/ushell/themes/sap_belize/library.source.less +1 -1
  365. package/src/main/js/sap/ushell/themes/sap_belize_hcb/ShellHeader.less +1 -1
  366. package/src/main/js/sap/ushell/themes/sap_belize_hcb/ShellLayout.less +4 -4
  367. package/src/main/js/sap/ushell/themes/sap_belize_hcb/SidePane.less +7 -0
  368. package/src/main/js/sap/ushell/themes/sap_belize_hcb/SysInfoBar.less +42 -0
  369. package/src/main/js/sap/ushell/themes/sap_belize_hcb/library.source.less +2 -1
  370. package/src/main/js/sap/ushell/themes/sap_belize_hcw/ShellHeader.less +1 -1
  371. package/src/main/js/sap/ushell/themes/sap_belize_hcw/ShellLayout.less +4 -4
  372. package/src/main/js/sap/ushell/themes/sap_belize_hcw/SidePane.less +7 -0
  373. package/src/main/js/sap/ushell/themes/sap_belize_hcw/SysInfoBar.less +42 -0
  374. package/src/main/js/sap/ushell/themes/sap_belize_hcw/library.source.less +2 -1
  375. package/src/main/js/sap/ushell/themes/sap_belize_plus/ShellLayout.less +4 -4
  376. package/src/main/js/sap/ushell/themes/sap_bluecrystal/ShellLayout.less +7 -5
  377. package/src/main/js/sap/ushell/themes/sap_bluecrystal/SidePane.less +7 -0
  378. package/src/main/js/sap/ushell/themes/sap_bluecrystal/library.source.less +1 -1
  379. package/src/main/js/sap/ushell/themes/sap_fiori_3/ShellLayout.less +11 -7
  380. package/src/main/js/sap/ushell/themes/sap_fiori_3/SidePane.less +7 -0
  381. package/src/main/js/sap/ushell/themes/sap_fiori_3/library.source.less +1 -1
  382. package/src/main/js/sap/ushell/themes/sap_fiori_3_dark/ShellLayout.less +11 -7
  383. package/src/main/js/sap/ushell/themes/sap_fiori_3_dark/SidePane.less +7 -0
  384. package/src/main/js/sap/ushell/themes/sap_fiori_3_dark/library.source.less +1 -1
  385. package/src/main/js/sap/ushell/themes/sap_fiori_3_hcb/SidePane.less +7 -0
  386. package/src/main/js/sap/ushell/themes/sap_fiori_3_hcb/SysInfoBar.less +42 -0
  387. package/src/main/js/sap/ushell/themes/sap_fiori_3_hcb/library.source.less +2 -1
  388. package/src/main/js/sap/ushell/themes/sap_fiori_3_hcw/SidePane.less +7 -0
  389. package/src/main/js/sap/ushell/themes/sap_fiori_3_hcw/SysInfoBar.less +42 -0
  390. package/src/main/js/sap/ushell/themes/sap_fiori_3_hcw/library.source.less +2 -1
  391. package/src/main/js/sap/ushell/themes/sap_hcb/ShellLayout.less +3 -3
  392. package/src/main/js/sap/ushell/themes/sap_hcb/SidePane.less +7 -0
  393. package/src/main/js/sap/ushell/themes/sap_hcb/library.source.less +1 -1
  394. package/src/main/js/sap/ushell/themes/sap_horizon/ShellLayout.less +12 -15
  395. package/src/main/js/sap/ushell/themes/sap_horizon/SidePane.less +7 -0
  396. package/src/main/js/sap/ushell/themes/sap_horizon/library.source.less +1 -1
  397. package/src/main/js/sap/ushell/themes/sap_horizon_dark/ShellLayout.less +12 -14
  398. package/src/main/js/sap/ushell/themes/sap_horizon_dark/SidePane.less +7 -0
  399. package/src/main/js/sap/ushell/themes/sap_horizon_dark/library.source.less +1 -1
  400. package/src/main/js/sap/ushell/themes/sap_horizon_hcb/ShellLayout.less +3 -3
  401. package/src/main/js/sap/ushell/themes/sap_horizon_hcb/SidePane.less +7 -0
  402. package/src/main/js/sap/ushell/themes/sap_horizon_hcb/SysInfoBar.less +42 -0
  403. package/src/main/js/sap/ushell/themes/sap_horizon_hcb/library.source.less +2 -1
  404. package/src/main/js/sap/ushell/themes/sap_horizon_hcw/ShellLayout.less +3 -3
  405. package/src/main/js/sap/ushell/themes/sap_horizon_hcw/SidePane.less +7 -0
  406. package/src/main/js/sap/ushell/themes/sap_horizon_hcw/SysInfoBar.less +42 -0
  407. package/src/main/js/sap/ushell/themes/sap_horizon_hcw/library.source.less +2 -1
  408. package/src/main/js/sap/ushell/ui/AppContainerRenderer.js +9 -3
  409. package/src/main/js/sap/ushell/ui/QuickAccess.js +1 -1
  410. package/src/main/js/sap/ushell/ui/RendererRootView.fragment.xml +8 -0
  411. package/src/main/js/sap/ushell/ui/ShellHeader.js +3 -32
  412. package/src/main/js/sap/ushell/ui/ShellHeaderRenderer.js +1 -1
  413. package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +1 -1
  414. package/src/main/js/sap/ushell/ui/contentFinder/AppBox.js +1 -1
  415. package/src/main/js/sap/ushell/ui/launchpad/AnchorNavigationBarRenderer.js +11 -2
  416. package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
  417. package/src/main/js/sap/ushell/ui/launchpad/LinkTileWrapperRenderer.js +3 -2
  418. package/src/main/js/sap/ushell/ui/launchpad/Page.js +1 -1
  419. package/src/main/js/sap/ushell/ui/launchpad/Section.js +2 -2
  420. package/src/main/js/sap/ushell/ui/launchpad/Tile.js +7 -7
  421. package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +1 -1
  422. package/src/main/js/sap/ushell/ui/shell/FloatingContainer.js +90 -63
  423. package/src/main/js/sap/ushell/ui/shell/RightFloatingContainer.js +6 -3
  424. package/src/main/js/sap/ushell/ui/shell/ShellHeadItem.js +1 -1
  425. package/src/main/js/sap/ushell/ui/shell/SidePane.js +70 -0
  426. package/src/main/js/sap/ushell/ui/shell/SubHeader.js +81 -0
  427. package/src/main/js/sap/ushell/ui/shell/SysInfoBar.js +194 -0
  428. package/src/main/js/sap/ushell/ui/shell/SysInfoBarRenderer.js +41 -0
  429. package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +1 -1
  430. package/src/main/js/sap/ushell/ui/utils.js +1 -1
  431. package/src/main/js/sap/ushell/ui5service/ShellUIService.js +1 -1
  432. package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
  433. package/src/main/js/sap/ushell/utils/UrlShortening.js +1 -1
  434. package/src/main/js/sap/ushell/utils.js +8 -8
  435. package/src/test/js/sap/ushell/bootstrap/sandbox.js +1 -1
  436. package/ui5.yaml +2 -1
  437. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/Main.controller.js +0 -140
  438. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/Main.view.xml +0 -10
  439. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/controls/SearchResultList.css +0 -248
  440. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/controls/SearchResultList.js +0 -486
  441. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/controls/Tile.js +0 -61
  442. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/css/style.css +0 -13
  443. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/templates/appTile.fragment.xml +0 -8
  444. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/templates/default.fragment.xml +0 -34
  445. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/templates/peopleCard.fragment.xml +0 -39
  446. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/templates/peopleList.fragment.xml +0 -41
  447. package/src/main/js/sap/ushell/components/cepsearchresult/app/controls/FilterField.js +0 -65
  448. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/AppDataExtension.js +0 -96
  449. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/SearchResultManager.js +0 -292
  450. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/SearchResultModel.js +0 -166
  451. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/config.advanced.json +0 -136
  452. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/config.standard.json +0 -73
  453. package/src/main/js/sap/ushell/components/shell/Settings/UserSettingsErrorMessagePopover.fragment.xml +0 -23
  454. package/src/main/js/sap/ushell/components/shell/Settings/UserSettingsErrorMessagePopover.js +0 -49
  455. package/src/main/js/sap/ushell/themes/base/SplitContainer.less +0 -72
  456. package/src/main/js/sap/ushell/themes/sap_belize/SplitContainer.less +0 -3
  457. package/src/main/js/sap/ushell/themes/sap_belize_hcb/SplitContainer.less +0 -3
  458. package/src/main/js/sap/ushell/themes/sap_belize_hcw/SplitContainer.less +0 -3
  459. package/src/main/js/sap/ushell/themes/sap_bluecrystal/SplitContainer.less +0 -3
  460. package/src/main/js/sap/ushell/themes/sap_fiori_3/SplitContainer.less +0 -3
  461. package/src/main/js/sap/ushell/themes/sap_fiori_3_dark/SplitContainer.less +0 -3
  462. package/src/main/js/sap/ushell/themes/sap_fiori_3_hcb/SplitContainer.less +0 -3
  463. package/src/main/js/sap/ushell/themes/sap_fiori_3_hcw/SplitContainer.less +0 -3
  464. package/src/main/js/sap/ushell/themes/sap_hcb/SplitContainer.less +0 -3
  465. package/src/main/js/sap/ushell/themes/sap_horizon/SplitContainer.less +0 -8
  466. package/src/main/js/sap/ushell/themes/sap_horizon_dark/SplitContainer.less +0 -7
  467. package/src/main/js/sap/ushell/themes/sap_horizon_hcb/SplitContainer.less +0 -3
  468. package/src/main/js/sap/ushell/themes/sap_horizon_hcw/SplitContainer.less +0 -3
  469. package/src/main/js/sap/ushell/ui/ShellLayout.fragment.xml +0 -34
  470. package/src/main/js/sap/ushell/ui/shell/ShellLayout.js +0 -386
  471. package/src/main/js/sap/ushell/ui/shell/ShellLayoutRenderer.js +0 -102
  472. package/src/main/js/sap/ushell/ui/shell/SplitContainer.js +0 -343
  473. package/src/main/js/sap/ushell/ui/shell/SplitContainerRenderer.js +0 -107
@@ -1,129 +1,137 @@
1
1
  // Copyright (c) 2009-2023 SAP SE, All Rights Reserved
2
2
 
3
3
  sap.ui.define([
4
- "sap/ui/core/library",
5
- "sap/ushell/library",
4
+ "sap/base/Log",
6
5
  "sap/ui/Device",
7
6
  "sap/ushell/components/_HeaderManager/ControlManager",
8
7
  "sap/ushell/components/_HeaderManager/ShellHeader.controller",
9
8
  "sap/ushell/ui/launchpad/AccessibilityCustomData",
9
+ "sap/ushell/EventHub",
10
10
  "sap/ushell/resources",
11
11
  "sap/ushell/utils",
12
12
  "sap/ushell/Config",
13
- "sap/ushell/EventHub",
14
13
  "sap/ui/model/json/JSONModel",
15
- "sap/ui/core/mvc/XMLView"
14
+ "sap/ui/core/mvc/XMLView",
15
+ "sap/ui/core/Core",
16
+ "sap/ushell/renderers/fiori2/ShellLayout"
16
17
  ], function (
17
- coreLibrary,
18
- library,
18
+ Log,
19
19
  Device,
20
20
  HeaderControlManager,
21
21
  ShellHeaderController,
22
22
  AccessibilityCustomData,
23
+ EventHub,
23
24
  resources,
24
25
  utils,
25
26
  Config,
26
- EventHub,
27
27
  JSONModel,
28
- XMLView
28
+ XMLView,
29
+ Core,
30
+ ShellLayout
29
31
  ) {
30
32
  "use strict";
33
+
34
+ var ShellLayoutMapping = ShellLayout.LAYOUT_MAPPING;
35
+
31
36
  function fnShellUpdateAggItem (sId, oContext) {
32
37
  return sap.ui.getCore().byId(oContext.getObject());
33
38
  }
34
39
 
40
+ // eslint-disable-next-line ushell/no-deprecated
35
41
  sap.ui.jsview("sap.ushell.renderers.fiori2.Shell", { // LEGACY API (deprecated)
42
+ getControllerName: function () {
43
+ return "sap.ushell.renderers.fiori2.Shell";
44
+ },
45
+
46
+ waitForShellLayout: function () {
47
+ if (!this._oShellLayoutPromise) {
48
+ this._oShellLayoutPromise = new Promise(function (resolve) {
49
+ this.aDoables.push(EventHub.once("ShellLayoutApplied").do(resolve));
50
+ }.bind(this));
51
+ }
52
+ return this._oShellLayoutPromise;
53
+ },
54
+
55
+ getShellModel: function () {
56
+ return this.getViewData().shellModel;
57
+ },
58
+
59
+ getHelperModel: function () {
60
+ return this.getViewData().helperModel;
61
+ },
62
+
36
63
  /**
37
64
  * Most of the following code acts just as placeholder for new Unified Shell Control.
38
- * Shell.view.js uses deprecated and synchronious APIs. It is replaced by ShellAsync.view.js
65
+ * Shell.view.js uses deprecated and synchronous APIs. It is replaced by ShellAsync.view.js
39
66
  *
40
- * @param {Object} oController oController
67
+ * @param {object} oController oController
41
68
  * @returns {sap.ushell.ui.Shell} oUnifiedShell
42
69
  *
43
70
  * @deprecated since 1.99. Please use {@link sap.ushell.renderers.fiori2.ShellAsync.view} instead.
44
71
  */
45
72
  createContent: function (oController) {
46
73
  this.oController = oController;
47
- var oViewData = this.getViewData() || {},
48
- oConfig = oViewData.config || {};
74
+ var oViewData = this.getViewData() || {};
75
+ var oConfig = oViewData.config || {};
49
76
 
50
77
  this.oConfig = oConfig;
78
+ this.aDoables = [];
51
79
  this.aDanglingControls = [];
80
+ this.aDanglingBindings = [];
81
+ this.aPendingInitializations = [];
52
82
 
53
83
  // Change config if more then three buttons moved to the header
54
84
  this._allowUpToThreeActionInShellHeader(oConfig);
55
85
 
56
- var oUnifiedShell = sap.ui.xmlfragment("sap.ushell.ui.ShellLayout", oController), // LEGACY API (deprecated)
57
- oShellHeader = this.createShellHeader(oConfig, this.getViewData().shellModel);
86
+ // BackgroundImage
87
+ this.initBackgroundImage();
58
88
 
59
- oUnifiedShell.setHeader(oShellHeader);
60
- oShellHeader.setShellLayout(oUnifiedShell);
89
+ // ShellHeader
90
+ this.createShellHeaderSync(oConfig, this.getShellModel());
61
91
 
62
- // handling of ToolArea lazy creation
63
- EventHub.once("CreateToolArea").do(function () {
64
- sap.ui.require(["sap/ushell/ui/shell/ToolArea"], function (ToolArea) {
65
- var oShellToolArea = new ToolArea({
66
- id: "shell-toolArea",
67
- toolAreaItems: {
68
- path: "/currentState/toolAreaItems",
69
- factory: fnShellUpdateAggItem
70
- }
71
- });
72
- oShellToolArea.updateAggregation = this.updateShellAggregation;
73
- oShellToolArea.addEventDelegate({
74
- onAfterRendering: function () {
75
- oUnifiedShell.applySplitContainerSecondaryContentSize();
76
- }
77
- });
78
- oUnifiedShell.setToolArea(oShellToolArea);
79
- }.bind(this));
80
- }.bind(this));
92
+ // NavigationBar
93
+ this.setNavigationBarMinHeight();
94
+
95
+ // RendererRootView / viewPortContainer
96
+ var oRendererRootView = this.createRendererRootViewSync(oController);
81
97
 
82
- this.setOUnifiedShell(oUnifiedShell);
98
+ // todo check when/where we want to have this
99
+ this.initCanvasShapesManager();
83
100
 
84
101
  this.setDisplayBlock(true);
85
- this.addDanglingControl(sap.ui.getCore().byId("viewPortContainer"));
86
102
 
87
103
  utils.setPerformanceMark("FLP - Shell.view rendering started!");
88
- return oUnifiedShell;
104
+
105
+ return oRendererRootView;
89
106
  },
90
107
 
91
- /**
92
- * allow up to 3 actions in shell header
93
- * @param {Object} oConfig view configuration
94
- */
95
- _allowUpToThreeActionInShellHeader: function (oConfig) {
96
- // in order to save performance time when these properties are not defined
97
- if (Object.keys(oConfig).length > 3) {
98
- var aParameter = [
99
- "moveAppFinderActionToShellHeader",
100
- "moveUserSettingsActionToShellHeader",
101
- "moveContactSupportActionToShellHeader",
102
- "moveEditHomePageActionToShellHeader"
103
- ],
104
- count = 0,
105
- sParameter;
108
+ initBackgroundImage: function () {
109
+ this.waitForShellLayout().then(function () {
110
+ var oDomRef = document.getElementById(ShellLayoutMapping.BackgroundImage);
111
+ oDomRef.classList.add("sapMShellBG", "sapUiGlobalBackgroundImage", "sapUiShellBackgroundImage", "sapUiGlobalBackgroundImageForce", "sapUshellShellBG", "sapContrastPlus");
112
+ });
113
+ },
106
114
 
107
- // count the number of "true" values, once get to three, force the other to be "false"
108
- for (var index = 0; index < 5; index++) {
109
- sParameter = aParameter[index];
110
- if (count === 3) {
111
- // if 3 user actions have allready been moved to the shell header, assign false to every other parameter
112
- oConfig[sParameter] = false;
113
- } else if (oConfig[sParameter]) {
114
- count++;
115
- }
116
- }
117
- }
115
+ createRendererRootViewSync: function (oController) {
116
+ // eslint-disable-next-line ushell/no-deprecated
117
+ var oRendererRootView = sap.ui.xmlfragment("sap.ushell.ui.RendererRootView", oController); // LEGACY API (deprecated)
118
+ oRendererRootView.updateAggregation = this.updateShellAggregation;
119
+
120
+ this.addDanglingControl(sap.ui.getCore().byId("viewPortContainer")); // todo why should this be dangling?
121
+
122
+ return oRendererRootView;
118
123
  },
119
124
 
120
- createShellHeader: function (oConfig, oShellModel) {
125
+ createShellHeaderSync: function (oConfig, oShellModel) {
121
126
  // Create own model for the header
122
- var oShellHeaderModel = Config.createModel("/core/shellHeader", JSONModel),
123
- oHeaderController = new ShellHeaderController(),
124
- oShellHeader;
127
+ var oShellHeaderModel = Config.createModel("/core/shellHeader", JSONModel);
128
+ var oHeaderController = new ShellHeaderController();
125
129
  oHeaderController.onInit();
126
- oShellHeader = sap.ui.xmlfragment("sap.ushell.ui.ShellHeader", oHeaderController); // LEGACY API (deprecated)
130
+ // LEGACY API (deprecated)
131
+
132
+ // eslint-disable-next-line ushell/no-deprecated
133
+ var oShellHeader = sap.ui.xmlfragment("sap.ushell.ui.ShellHeader", oHeaderController); // LEGACY API (deprecated)
134
+ oShellHeader.updateAggregation = this.updateShellAggregation;
127
135
  HeaderControlManager.init(oConfig, oHeaderController, oShellModel);
128
136
 
129
137
  if (oConfig.appState === "embedded") {
@@ -133,47 +141,212 @@ sap.ui.define([
133
141
  // Assign models to the Shell Header
134
142
  oShellHeader.setModel(oShellHeaderModel);
135
143
  oShellHeader.setModel(resources.i18nModel, "i18n");
136
- oShellHeader.createUIArea();
144
+ this.addDanglingControl(oShellHeader);
145
+ // save for later use
146
+ this._oShellHeader = oShellHeader;
137
147
 
148
+ this.waitForShellLayout().then(function () {
149
+ oShellHeader.placeAt(ShellLayoutMapping.ShellHeader, "only");
150
+ });
138
151
  return oShellHeader;
139
152
  },
140
153
 
141
- /**
142
- * Begin factory functions for lazy instantiation of Shell Layout controls
143
- */
154
+ setNavigationBarMinHeight: function () {
155
+ return sap.ushell.Container.getServiceAsync("Menu")
156
+ .then(function (oMenuService) {
157
+ return oMenuService.isMenuEnabled();
158
+ }).then(function (bMenuEnabled) {
159
+ if (!bMenuEnabled) {
160
+ return;
161
+ }
144
162
 
145
- createPostCoreExtControls: function () {
146
- // In order to minimize core-min we delay the FloatingContainer, ShellFloatingActions creation.
147
- sap.ui.require([
148
- "sap/ushell/ui/shell/FloatingContainer",
149
- "sap/ushell/ui/shell/ShellFloatingActions"
150
- ], function (FloatingContainer, ShellFloatingActions) {
151
- var oShell = sap.ui.getCore().byId("shell");
152
-
153
- // qUnit specific: the function may be called after the shell is destroyed
154
- if (!oShell) {
155
- return;
163
+ this.waitForShellLayout().then(function () {
164
+ var navigationBar = document.getElementById(ShellLayoutMapping.NavigationBar);
165
+ navigationBar.classList.add("sapUshellMenuBarHeight");
166
+ });
167
+ }.bind(this))
168
+ .catch(function (vError) {
169
+ Log.info("Could not apply min-height of the navigationBar", vError);
170
+ });
171
+ },
172
+
173
+ createRightFloatingContainer: function () {
174
+ sap.ui.require(["sap/ushell/ui/shell/RightFloatingContainer"], function (RightFloatingContainer) {
175
+ var oRightFloatingContainer = new RightFloatingContainer({
176
+ id: "right-floating-container",
177
+ top: "2",
178
+ hideItemsAfterPresentation: true,
179
+ visible: "{/currentState/showRightFloatingContainer}",
180
+ floatingContainerItems: {
181
+ path: "/currentState/RightFloatingContainerItems",
182
+ factory: fnShellUpdateAggItem
183
+ }
184
+ });
185
+ oRightFloatingContainer.updateAggregation = this.updateShellAggregation;
186
+
187
+ oRightFloatingContainer.setModel(this.getShellModel());
188
+ this.addDanglingControl(oRightFloatingContainer);
189
+ // save for later use
190
+ this._oRightFloatingContainer = oRightFloatingContainer;
191
+
192
+ this.waitForShellLayout().then(function () {
193
+ oRightFloatingContainer.placeAt(ShellLayoutMapping.RightFloatingContainer, "only");
194
+ });
195
+ }.bind(this));
196
+ },
197
+
198
+ initCanvasShapesManager: function () {
199
+ var oShellModel = this.getViewData().shellModel;
200
+ if (oShellModel.getProperty("/enableBackGroundShapes")) {
201
+ this.createCanvasShapesManager();
202
+ } else {
203
+ var oBinding = oShellModel.bindProperty("/enableBackGroundShapes");
204
+ this.addDanglingBinding(oBinding);
205
+ oBinding.attachChange(function () {
206
+ var bBackgroundShapesEnabled = oBinding.getValue();
207
+ if (bBackgroundShapesEnabled) {
208
+ this.removeDanglingBinding(oBinding);
209
+ oBinding.destroy();
210
+ this.createCanvasShapesManager();
211
+ }
212
+ }, this);
213
+ }
214
+ },
215
+
216
+ createCanvasShapesManager: function () {
217
+ var iTimeout = setTimeout(function () {
218
+ if (Core.isThemeApplied()) {
219
+ clearTimeout(iTimeout);
220
+ sap.ui.require(["sap/ushell/CanvasShapesManager"], function (CanvasShapesManager) {
221
+ CanvasShapesManager.drawShapes();
222
+ });
156
223
  }
224
+ }, 200);
225
+ },
157
226
 
158
- var oShellFloatingContainer = new FloatingContainer({
159
- id: "shell-floatingContainer",
227
+ createSubHeader: function () {
228
+ sap.ui.require(["sap/ushell/ui/shell/SubHeader"], function (SubHeader) {
229
+ var oSubHeader = new SubHeader({
230
+ id: "subhdr",
160
231
  content: {
161
- path: "/currentState/floatingContainerContent",
232
+ path: "/currentState/subHeader",
162
233
  factory: fnShellUpdateAggItem
163
234
  }
164
235
  });
165
- if (Device.system.desktop) {
166
- // add tabindex for the floating container so it can be tab/f6
167
- oShellFloatingContainer.addCustomData(new AccessibilityCustomData({
168
- key: "tabindex",
169
- value: "-1",
170
- writeToDom: true
171
- }));
172
- }
236
+ oSubHeader.updateAggregation = this.updateShellAggregation;
237
+
238
+ oSubHeader.setModel(this.getShellModel());
239
+ this.addDanglingControl(oSubHeader);
240
+
241
+ this.waitForShellLayout().then(function () {
242
+ oSubHeader.placeAt(ShellLayoutMapping.SubHeader, "only");
243
+ });
244
+ }.bind(this));
245
+ },
246
+
247
+ createFloatingContainer: function () {
248
+ return new Promise(function (resolve, reject) {
249
+ sap.ui.require([
250
+ "sap/ushell/ui/shell/FloatingContainer",
251
+ "sap/ui/util/Storage"
252
+ ], function (FloatingContainer, Storage) {
253
+ var oFloatingContainer = new FloatingContainer({
254
+ id: "shell-floatingContainer",
255
+ visible: "{helper>/shell/floatingContainerVisible}",
256
+ content: {
257
+ path: "/currentState/floatingContainerContent",
258
+ factory: fnShellUpdateAggItem
259
+ }
260
+ });
261
+ oFloatingContainer.updateAggregation = this.updateShellAggregation;
262
+
263
+ if (Device.system.desktop) {
264
+ // add tabindex for the floating container so it can be tab/f6
265
+ oFloatingContainer.addCustomData(new AccessibilityCustomData({
266
+ key: "tabindex",
267
+ value: "-1",
268
+ writeToDom: true
269
+ }));
270
+ }
271
+
272
+ oFloatingContainer.setModel(this.getShellModel());
273
+ oFloatingContainer.setModel(this.getHelperModel(), "helper");
274
+ this.addDanglingControl(oFloatingContainer);
275
+
276
+ this.waitForShellLayout().then(function () {
277
+ oFloatingContainer.placeAt(ShellLayoutMapping.FloatingContainer, "only");
278
+
279
+ var oStorage = new Storage(Storage.Type.local, "com.sap.ushell.adapters.local.FloatingContainer");
280
+ var oFloatingContainerWrapper = document.getElementById(ShellLayoutMapping.FloatingContainer);
281
+
282
+ var bFirstTimeRender = !oFloatingContainerWrapper.classList.contains("sapUshellFloatingContainerWrapper");
283
+ var sCssStyles = oStorage.get("floatingContainerStyle");
284
+
285
+ if (bFirstTimeRender && !sCssStyles) {
286
+ var emSize = jQuery(".sapUshellShellHeadItm").position() ? jQuery(".sapUshellShellHeadItm").position().left : 0;
287
+ var iLeftPos = (jQuery(window).width() - jQuery("#shell-floatingContainer").width() - emSize) * 100 / jQuery(window).width();
288
+ var iTopPos = jQuery(".sapUshellShellHeader").height() * 100 / jQuery(window).height();
289
+ oFloatingContainerWrapper.style.left = iLeftPos + "%";
290
+ oFloatingContainerWrapper.style.top = iTopPos + "%";
291
+ oFloatingContainerWrapper.style.position = "absolute";
292
+ oStorage.put("floatingContainerStyle", oFloatingContainerWrapper.style.cssText);
293
+
294
+ } else if (sCssStyles) {
295
+ oFloatingContainerWrapper.style.cssText = sCssStyles;
296
+ }
297
+
298
+ oFloatingContainerWrapper.classList.add("sapUshellFloatingContainerWrapper");
299
+
300
+ resolve();
301
+ });
302
+ }.bind(this));
303
+ }.bind(this));
304
+ },
305
+
306
+ createSidePane: function () {
307
+ sap.ui.require(["sap/ushell/ui/shell/SidePane"], function (SidePane) {
308
+ var oSidePane = new SidePane({
309
+ id: "shell-sidePane",
310
+ visible: "{/currentState/showPane}",
311
+ content: {
312
+ path: "/currentState/paneContent",
313
+ factory: fnShellUpdateAggItem
314
+ }
315
+ });
316
+ oSidePane.updateAggregation = this.updateShellAggregation;
317
+
318
+ oSidePane.setModel(this.getShellModel());
319
+ this.addDanglingControl(oSidePane);
320
+
321
+ this.waitForShellLayout().then(function () {
322
+ oSidePane.placeAt(ShellLayoutMapping.SidePane, "only");
323
+ });
324
+ }.bind(this));
325
+ },
173
326
 
174
- oShellFloatingContainer.setModel(oShell.getModel());
327
+ createToolArea: function () {
328
+ sap.ui.require(["sap/ushell/ui/shell/ToolArea"], function (ToolArea) {
329
+ var oShellToolArea = new ToolArea({
330
+ id: "shell-toolArea",
331
+ visible: "{/currentState/toolAreaVisible}",
332
+ toolAreaItems: {
333
+ path: "/currentState/toolAreaItems",
334
+ factory: fnShellUpdateAggItem
335
+ }
336
+ });
337
+ oShellToolArea.updateAggregation = this.updateShellAggregation;
338
+
339
+ oShellToolArea.setModel(this.getShellModel());
340
+ this.addDanglingControl(oShellToolArea);
341
+
342
+ this.waitForShellLayout().then(function () {
343
+ oShellToolArea.placeAt(ShellLayoutMapping.ToolArea, "only");
344
+ });
345
+ }.bind(this));
346
+ },
175
347
 
176
- this.addDanglingControl(oShellFloatingContainer);
348
+ createFloatingActions: function () {
349
+ sap.ui.require(["sap/ushell/ui/shell/ShellFloatingActions"], function (ShellFloatingActions) {
177
350
  var oShellFloatingActions = new ShellFloatingActions({
178
351
  id: "shell-floatingActions",
179
352
  floatingActions: {
@@ -181,56 +354,190 @@ sap.ui.define([
181
354
  factory: fnShellUpdateAggItem
182
355
  }
183
356
  });
184
-
185
357
  oShellFloatingActions.updateAggregation = this.updateShellAggregation;
186
358
 
187
- var oShellLayout = this.getOUnifiedShell();
188
- oShellLayout.setFloatingContainer(oShellFloatingContainer);
189
- oShellLayout.setFloatingActionsContainer(oShellFloatingActions);
359
+ oShellFloatingActions.setModel(this.getShellModel());
360
+ this.addDanglingControl(oShellFloatingActions);
190
361
 
191
- this._createAllMyAppsView();
362
+ this.waitForShellLayout().then(function () {
363
+ oShellFloatingActions.placeAt(ShellLayoutMapping.FloatingActions, "only");
364
+ });
192
365
  }.bind(this));
193
366
  },
194
367
 
195
- _createAllMyAppsView: function () {
196
- var onServiceLoaded = function (oAllMyApps) {
368
+ initAllMyAppsView: function () {
369
+ return sap.ushell.Container.getServiceAsync("AllMyApps").then(function (oAllMyApps) {
197
370
  if (oAllMyApps.isEnabled()) {
198
- this._initializeAllMyAppsView();
371
+ return this.createAllMyAppsView();
199
372
  }
200
- }.bind(this);
201
-
202
- sap.ushell.Container.getServiceAsync("AllMyApps").then(onServiceLoaded);
373
+ }.bind(this));
203
374
  },
204
375
 
205
- _initializeAllMyAppsView: function () {
206
- XMLView.create({
376
+ createAllMyAppsView: function () {
377
+ return XMLView.create({
207
378
  id: "allMyAppsView",
208
379
  viewName: "sap.ushell.renderers.fiori2.allMyApps.AllMyApps"
209
380
  }).then(function (allMyAppsView) {
210
- var oModel = this.getModel();
211
- allMyAppsView.setModel(oModel);
381
+ allMyAppsView.setModel(this.getShellModel());
212
382
  allMyAppsView.setModel(resources.i18nModel, "i18n");
213
383
  allMyAppsView.addCustomData(new AccessibilityCustomData({
214
384
  key: "aria-label",
215
385
  value: resources.i18n.getText("allMyApps_headerTitle"),
216
386
  writeToDom: true
217
387
  }));
218
- this.getOUnifiedShell().getHeader().getAppTitle().setAllMyApps(allMyAppsView);
388
+ this.addDanglingControl(allMyAppsView);
389
+ this.getShellHeader().getAppTitle().setAllMyApps(allMyAppsView);
219
390
  }.bind(this));
220
391
  },
221
392
 
222
- getOUnifiedShell: function () {
223
- return this.oUnifiedShell;
393
+ /**
394
+ * Begin factory functions for lazy instantiation of Shell Layout controls
395
+ */
396
+ createPostCoreExtControls: function () {
397
+ var oBinding;
398
+ var oShellModel = this.getShellModel();
399
+
400
+ // apply the highest z-index used by the shell
401
+ sap.ui.require(["sap/ui/core/Popup"], function (Popup) {
402
+ Popup.setInitialZIndex(11);
403
+ });
404
+
405
+ // RightFloatingContainer
406
+ if (oShellModel.getProperty("/currentState/showRightFloatingContainer")) {
407
+ this.createRightFloatingContainer();
408
+ } else {
409
+ oBinding = oShellModel.bindProperty("/currentState/showRightFloatingContainer");
410
+ this.addDanglingBinding(oBinding);
411
+ oBinding.attachChange(function (oEvent) { // eslint-disable-next-line no-shadow
412
+ var oBinding = oEvent.getSource();
413
+ var bRightFloatingContainerVisible = oBinding.getValue();
414
+ if (bRightFloatingContainerVisible) {
415
+ this.removeDanglingBinding(oBinding);
416
+ oBinding.destroy();
417
+ this.createRightFloatingContainer();
418
+ }
419
+ }, this);
420
+ }
421
+
422
+ // SubHeader
423
+ if (oShellModel.getProperty("/currentState/subHeader").length) {
424
+ this.createSubHeader();
425
+ } else {
426
+ oBinding = oShellModel.bindList("/currentState/subHeader");
427
+ this.addDanglingBinding(oBinding);
428
+ oBinding.attachChange(function (oEvent) { // eslint-disable-next-line no-shadow
429
+ var oBinding = oEvent.getSource();
430
+ var bSubHeaderVisible = oBinding.getCount();
431
+ if (bSubHeaderVisible) {
432
+ this.removeDanglingBinding(oBinding);
433
+ oBinding.destroy();
434
+ this.createSubHeader();
435
+ }
436
+ }, this);
437
+ }
438
+
439
+ // ToolArea
440
+ if (oShellModel.getProperty("/currentState/toolAreaVisible")) {
441
+ this.createToolArea();
442
+ } else {
443
+ oBinding = oShellModel.bindProperty("/currentState/toolAreaVisible");
444
+ this.addDanglingBinding(oBinding);
445
+ oBinding.attachChange(function (oEvent) { // eslint-disable-next-line no-shadow
446
+ var oBinding = oEvent.getSource();
447
+ var bToolAreaVisible = oBinding.getValue();
448
+ if (bToolAreaVisible) {
449
+ this.removeDanglingBinding(oBinding);
450
+ oBinding.destroy();
451
+ this.createToolArea();
452
+ }
453
+ }, this);
454
+ }
455
+
456
+ // (Left)SidePane
457
+ if (oShellModel.getProperty("/currentState/showPane")) {
458
+ this.createSidePane();
459
+ } else {
460
+ oBinding = oShellModel.bindProperty("/currentState/showPane");
461
+ this.addDanglingBinding(oBinding);
462
+ oBinding.attachChange(function (oEvent) { // eslint-disable-next-line no-shadow
463
+ var oBinding = oEvent.getSource();
464
+ var bSidePaneVisible = oBinding.getValue();
465
+ if (bSidePaneVisible) {
466
+ this.removeDanglingBinding(oBinding);
467
+ oBinding.destroy();
468
+ this.createSidePane();
469
+ }
470
+ }, this);
471
+ }
472
+
473
+ // FloatingActions (deprecated)
474
+ if (oShellModel.getProperty("/currentState/floatingActions").length) {
475
+ this.createFloatingActions();
476
+ } else {
477
+ oBinding = oShellModel.bindList("/currentState/floatingActions");
478
+ this.addDanglingBinding(oBinding);
479
+ oBinding.attachChange(function (oEvent) { // eslint-disable-next-line no-shadow
480
+ var oBinding = oEvent.getSource();
481
+ var bFloatingActionsVisible = oBinding.getCount();
482
+ if (bFloatingActionsVisible) {
483
+ this.removeDanglingBinding(oBinding);
484
+ oBinding.destroy();
485
+ this.createFloatingActions();
486
+ }
487
+ }, this);
488
+ }
489
+
490
+ this.addPendingInitialization(this.initAllMyAppsView());
491
+ },
492
+
493
+ /**
494
+ * allow up to 3 actions in shell header
495
+ * @param {object} oConfig view configuration
496
+ */
497
+ _allowUpToThreeActionInShellHeader: function (oConfig) {
498
+ // in order to save performance time when these properties are not defined
499
+ if (Object.keys(oConfig).length > 3) {
500
+ var aParameter = [
501
+ "moveAppFinderActionToShellHeader",
502
+ "moveUserSettingsActionToShellHeader",
503
+ "moveContactSupportActionToShellHeader",
504
+ "moveEditHomePageActionToShellHeader"
505
+ ],
506
+ count = 0,
507
+ sParameter;
508
+
509
+ // count the number of "true" values, once get to three, force the other to be "false"
510
+ for (var index = 0; index < 5; index++) {
511
+ sParameter = aParameter[index];
512
+ if (count === 3) {
513
+ // if 3 user actions have already been moved to the shell header, assign false to every other parameter
514
+ oConfig[sParameter] = false;
515
+ } else if (oConfig[sParameter]) {
516
+ count++;
517
+ }
518
+ }
519
+ }
224
520
  },
225
521
 
226
- setOUnifiedShell: function (oUnifiedShell) {
227
- this.oUnifiedShell = oUnifiedShell;
522
+ /**
523
+ * @returns {sap.ui.core.Control} The ShellHeader
524
+ *
525
+ * @private
526
+ * @ui5-restricted sap.ui.rta
527
+ * @since 1.114.0
528
+ */
529
+ getShellHeader: function () {
530
+ return this._oShellHeader;
531
+ },
532
+
533
+ getRightFloatingContainer: function () {
534
+ return this._oRightFloatingContainer;
228
535
  },
229
536
 
230
537
  updateShellAggregation: function (sName) {
231
- var oBindingInfo = this.mBindingInfos[sName],
232
- oAggregationInfo = this.getMetadata().getJSONKeys()[sName],
233
- oClone;
538
+ var oBindingInfo = this.mBindingInfos[sName];
539
+ var oAggregationInfo = this.getMetadata().getJSONKeys()[sName];
540
+ var oClone;
234
541
 
235
542
  this[oAggregationInfo._sGetter]().forEach(function (v) {
236
543
  this[oAggregationInfo._sRemoveMutator](v);
@@ -243,14 +550,66 @@ sap.ui.define([
243
550
  }.bind(this));
244
551
  },
245
552
 
246
- getControllerName: function () {
247
- return "sap.ushell.renderers.fiori2.Shell";
553
+ /**
554
+ * Adds a binding which is destroyed on Renderer destroy
555
+ * @param {sap.ui.model.Binding} oBinding The Binding
556
+ * @see sap.ushell.renderers.fiori2.Shell.controller#onExit
557
+ *
558
+ * @private
559
+ * @since 1.114.0
560
+ */
561
+ addDanglingBinding: function (oBinding) {
562
+ this.aDanglingBindings.push(oBinding);
248
563
  },
249
564
 
565
+ /**
566
+ * @param {sap.ui.model.Binding} oTargetBinding The Binding
567
+ * @see sap.ushell.renderers.fiori2.Shell.controller#onExit
568
+ *
569
+ * @private
570
+ * @since 1.114.0
571
+ */
572
+ removeDanglingBinding: function (oTargetBinding) {
573
+ var iBindingIndex = this.aDanglingBindings.findIndex(function (oBinding) {
574
+ return oBinding === oTargetBinding;
575
+ });
576
+
577
+ if (iBindingIndex > -1) {
578
+ this.aDanglingBindings.splice(iBindingIndex, 1);
579
+ }
580
+ },
581
+
582
+ /**
583
+ * @see sap.ushell.renderers.fiori2.Shell.controller#onExit
584
+ *
585
+ * @private
586
+ * @since 1.114.0
587
+ */
588
+ destroyDanglingBindings: function () {
589
+ if (this.aDanglingBindings) {
590
+ this.aDanglingBindings.forEach(function (oBinding) {
591
+ oBinding.destroy();
592
+ });
593
+ }
594
+ },
595
+
596
+ /**
597
+ * @param {sap.ui.core.Control} oControl The Control
598
+ * @see sap.ushell.renderers.fiori2.Shell.controller#onExit
599
+ *
600
+ * @private
601
+ * @since 1.114.0
602
+ */
250
603
  addDanglingControl: function (oControl) {
251
604
  this.aDanglingControls.push(oControl);
252
605
  },
253
606
 
607
+ /**
608
+ * @see sap.ushell.renderers.fiori2.Shell.controller#onExit
609
+ *
610
+ * @private
611
+ * @since 1.114.0
612
+ */
254
613
  destroyDanglingControls: function () {
255
614
  if (this.aDanglingControls) {
256
615
  this.aDanglingControls.forEach(function (oControl) {
@@ -260,6 +619,61 @@ sap.ui.define([
260
619
  oControl.destroy();
261
620
  });
262
621
  }
622
+ },
623
+
624
+ /**
625
+ * @see sap.ushell.renderers.fiori2.Shell.controller#onExit
626
+ *
627
+ * @private
628
+ * @since 1.114.0
629
+ */
630
+ destroyDoables: function () {
631
+ if (this.aDoables) {
632
+ this.aDoables.forEach(function (oDoable) {
633
+ oDoable.off();
634
+ });
635
+ this.aDoables = [];
636
+ }
637
+ },
638
+
639
+ /**
640
+ * Adds a promise to the list of initializations
641
+ * Only used in test environments!
642
+ * @param {Promise} oPromise A Promise
643
+ * @returns {Promise} Returns the provided promise to allow chaining
644
+ *
645
+ * @private
646
+ * @since 1.114.0
647
+ */
648
+ addPendingInitialization: function (oPromise) {
649
+ if (this.aPendingInitializations) {
650
+ this.aPendingInitializations.push(oPromise);
651
+ return oPromise;
652
+ }
653
+ },
654
+
655
+ /**
656
+ * Only used in test environments!
657
+ * @returns {Promise} Resolves once all initializations have settled
658
+ *
659
+ * @private
660
+ * @since 1.114.0
661
+ */
662
+ awaitPendingInitializations: function () {
663
+ if (this.aPendingInitializations) {
664
+ return Promise.allSettled(this.aPendingInitializations);
665
+ }
666
+ return Promise.resolve();
667
+ },
668
+
669
+ /**
670
+ * @private
671
+ * @ui5-restricted sap.ui.rta
672
+ */
673
+ getOUnifiedShell: function () {
674
+ return {
675
+ getHeader: this.getShellHeader.bind(this)
676
+ };
263
677
  }
264
678
  });
265
679
  });