@sapui5/sap.ushell 1.113.0 → 1.114.1

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