@sapui5/sap.ushell 1.119.3 → 1.120.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 (392) hide show
  1. package/package.json +1 -1
  2. package/src/main/js/sap/ushell/.library +3 -3
  3. package/src/main/js/sap/ushell/Container.js +272 -41
  4. package/src/main/js/sap/ushell/Fiori20Adapter.js +1 -1
  5. package/src/main/js/sap/ushell/Fiori20AdapterTest.js +3 -2
  6. package/src/main/js/sap/ushell/NWBCInterface.js +1 -1
  7. package/src/main/js/sap/ushell/SessionHandler.js +11 -6
  8. package/src/main/js/sap/ushell/TechnicalParameters.js +1 -1
  9. package/src/main/js/sap/ushell/URLTemplateProcessor.js +1 -1
  10. package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +1 -1
  11. package/src/main/js/sap/ushell/Ui5ServiceFactory.js +1 -1
  12. package/src/main/js/sap/ushell/User.js +26 -35
  13. package/src/main/js/sap/ushell/_ApplicationType/urlTemplateResolution.js +1 -1
  14. package/src/main/js/sap/ushell/_URLTemplateProcessor/DefinitionParameterSetBuilder.js +1 -1
  15. package/src/main/js/sap/ushell/_URLTemplateProcessor/DependencyGraph.js +1 -1
  16. package/src/main/js/sap/ushell/_URLTemplateProcessor/Functions.js +1 -1
  17. package/src/main/js/sap/ushell/_URLTemplateProcessor/Resolvers.js +1 -1
  18. package/src/main/js/sap/ushell/_URLTemplateProcessor/TemplateParameterParser.js +1 -1
  19. package/src/main/js/sap/ushell/_URLTemplateProcessor/utils.js +1 -1
  20. package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +1 -1
  21. package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +15 -11
  22. package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
  23. package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +1 -1
  24. package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +1 -1
  25. package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +16 -11
  26. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
  27. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationV2Adapter.js +18 -0
  28. package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +1 -1
  29. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +1 -1
  30. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +1 -1
  31. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +1 -1
  32. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +1 -1
  33. package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +1 -1
  34. package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +1 -1
  35. package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +1 -1
  36. package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +1 -1
  37. package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +1 -1
  38. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +1 -1
  39. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +1 -1
  40. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +1 -1
  41. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +1 -1
  42. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +1 -1
  43. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +1 -1
  44. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +1 -1
  45. package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +1 -1
  46. package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +1 -1
  47. package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +1 -1
  48. package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +24 -18
  49. package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +1 -1
  50. package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +1 -1
  51. package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +1 -1
  52. package/src/main/js/sap/ushell/adapters/local/MenuAdapter.js +4 -7
  53. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +17 -22
  54. package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +1 -1
  55. package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +1 -1
  56. package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +1 -1
  57. package/src/main/js/sap/ushell/adapters/local/PersonalizationV2Adapter.js +19 -0
  58. package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +1 -1
  59. package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +1 -1
  60. package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +1 -1
  61. package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +1 -1
  62. package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +11 -7
  63. package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +8 -8
  64. package/src/main/js/sap/ushell/api/RTA.js +47 -0
  65. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +12 -5
  66. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntimeContext.js +2 -2
  67. package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
  68. package/src/main/js/sap/ushell/bootstrap/SchedulingAgent.js +2 -2
  69. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/logger.js +1 -1
  70. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/state.js +1 -1
  71. package/src/main/js/sap/ushell/bootstrap/cdm/cdm-def-dev.js +6 -3
  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.configure.ushell.js +3 -0
  74. package/src/main/js/sap/ushell/bootstrap/common/common.load.launchpad.js +1 -1
  75. package/src/main/js/sap/ushell/bootstrap/common/common.util.js +34 -2
  76. package/src/main/js/sap/ushell/bootstrap/sandbox2.js +7 -2
  77. package/src/main/js/sap/ushell/components/ComponentKeysHandler.js +1 -1
  78. package/src/main/js/sap/ushell/components/HomepageManager.js +5 -5
  79. package/src/main/js/sap/ushell/components/SharedComponentUtils.js +7 -10
  80. package/src/main/js/sap/ushell/components/_HeaderManager/ShellHeader.controller.js +3 -3
  81. package/src/main/js/sap/ushell/components/_HomepageManager/DashboardLoadingManager.js +5 -0
  82. package/src/main/js/sap/ushell/components/_HomepageManager/PagingManager.js +5 -0
  83. package/src/main/js/sap/ushell/components/_HomepageManager/PersistentPageOperationAdapter.js +5 -0
  84. package/src/main/js/sap/ushell/components/_HomepageManager/TransientPageOperationAdapter.js +5 -0
  85. package/src/main/js/sap/ushell/components/appfinder/AppFinderView.js +1 -1
  86. package/src/main/js/sap/ushell/components/appfinder/CatalogView.js +1 -1
  87. package/src/main/js/sap/ushell/components/appfinder/EasyAccess.controller.js +3 -3
  88. package/src/main/js/sap/ushell/components/appfinder/EasyAccessView.js +0 -8
  89. package/src/main/js/sap/ushell/components/appfinder/HierarchyApps.controller.js +4 -4
  90. package/src/main/js/sap/ushell/components/appfinder/HierarchyFolders.controller.js +18 -16
  91. package/src/main/js/sap/ushell/components/appfinder/manifest.json +2 -2
  92. package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +2 -2
  93. package/src/main/js/sap/ushell/components/applicationIntegration/application/Application.js +1 -1
  94. package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxHandler.js +1 -1
  95. package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPI.js +2 -2
  96. package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +1 -1
  97. package/src/main/js/sap/ushell/components/applicationIntegration/elements/model.js +1 -1
  98. package/src/main/js/sap/ushell/components/applicationIntegration/relatedServices/RelatedServices.js +1 -1
  99. package/src/main/js/sap/ushell/components/applicationIntegration/relatedShellElements/RelatedShellElements.js +1 -1
  100. package/src/main/js/sap/ushell/components/cards/Card.controller.js +2 -2
  101. package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +92 -71
  102. package/src/main/js/sap/ushell/components/contentFinder/Component.js +1 -1
  103. package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +1 -1
  104. package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +1 -1
  105. package/src/main/js/sap/ushell/components/contentFinder/controller/WidgetGallery.controller.js +1 -1
  106. package/src/main/js/sap/ushell/components/contentFinder/manifest.json +1 -1
  107. package/src/main/js/sap/ushell/components/contentFinder/model/formatter.js +4 -4
  108. package/src/main/js/sap/ushell/components/factsheet/Component.js +1 -1
  109. package/src/main/js/sap/ushell/components/homeApp/error/manifest.json +1 -1
  110. package/src/main/js/sap/ushell/components/homepage/ActionMode.js +1 -1
  111. package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +1 -1
  112. package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +1 -1
  113. package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +1 -1
  114. package/src/main/js/sap/ushell/components/homepage/manifest.json +2 -2
  115. package/src/main/js/sap/ushell/components/pages/ActionMode.js +5 -5
  116. package/src/main/js/sap/ushell/components/pages/Component.js +1 -1
  117. package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +1 -1
  118. package/src/main/js/sap/ushell/components/pages/StateManager.js +37 -24
  119. package/src/main/js/sap/ushell/components/pages/controller/ImportDialog.controller.js +1 -1
  120. package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +1 -1
  121. package/src/main/js/sap/ushell/components/pages/manifest.json +2 -2
  122. package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +7 -4
  123. package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
  124. package/src/main/js/sap/ushell/components/shell/MenuBar/controller/MenuBar.controller.js +6 -7
  125. package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +2 -2
  126. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +39 -13
  127. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +3 -3
  128. package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +5 -5
  129. package/src/main/js/sap/ushell/components/shell/Notifications/Notifications.controller.js +25 -45
  130. package/src/main/js/sap/ushell/components/shell/PostLoadingHeaderEnhancement/Component.js +2 -2
  131. package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +1 -1
  132. package/src/main/js/sap/ushell/components/shell/Search/ESearch.js +1 -1
  133. package/src/main/js/sap/ushell/components/shell/Search/manifest.json +2 -2
  134. package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +2 -2
  135. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchCEP.controller.js +3 -3
  136. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +1 -1
  137. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +1 -1
  138. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +1 -1
  139. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchServiceProvider.js +1 -1
  140. package/src/main/js/sap/ushell/components/shell/Settings/Component.js +4 -4
  141. package/src/main/js/sap/ushell/components/shell/Settings/ProfilingLoader.js +4 -0
  142. package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.controller.js +4 -0
  143. package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.view.xml +4 -3
  144. package/src/main/js/sap/ushell/components/shell/Settings/homepage/HomepageEntry.js +10 -13
  145. package/src/main/js/sap/ushell/components/shell/Settings/notifications/NotificationsSetting.controller.js +13 -22
  146. package/src/main/js/sap/ushell/components/shell/Settings/userAccount/UserAccountSelector.controller.js +2 -2
  147. package/src/main/js/sap/ushell/components/shell/Settings/userActivities/UserActivitiesSetting.controller.js +11 -14
  148. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/manifest.json +1 -1
  149. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +1 -1
  150. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/UserActionsMenu.controller.js +2 -2
  151. package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +2 -2
  152. package/src/main/js/sap/ushell/components/tiles/indicatorTileUtils/smartBusinessUtil.js +4 -6
  153. package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +14 -18
  154. package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +1 -1
  155. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility.js +1 -1
  156. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +16 -12
  157. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageHost.js +1 -1
  158. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +1 -1
  159. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +1 -1
  160. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +1 -1
  161. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +1 -1
  162. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +1 -1
  163. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +1 -1
  164. package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
  165. package/src/main/js/sap/ushell/components/workPageBuilder/view/WorkPageBuilder.view.xml +3 -3
  166. package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +1 -1
  167. package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +1 -2
  168. package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +1 -1
  169. package/src/main/js/sap/ushell/components/workPageRuntime/services/NavigationResolver.js +1 -1
  170. package/src/main/js/sap/ushell/components/workPageRuntime/services/WorkPage.js +1 -1
  171. package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
  172. package/src/main/js/sap/ushell/library.js +1 -1
  173. package/src/main/js/sap/ushell/navigationMode.js +1 -1
  174. package/src/main/js/sap/ushell/performance/ShellAnalytics.js +1 -1
  175. package/src/main/js/sap/ushell/performance/StatisticalRecord.js +1 -1
  176. package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
  177. package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/AccessKeysHandler.js +1 -1
  178. package/src/main/js/sap/ushell/renderer/History.js +84 -0
  179. package/src/main/js/sap/ushell/renderer/LogonFrameProvider.js +96 -0
  180. package/src/main/js/sap/ushell/renderer/Renderer.js +2851 -0
  181. package/src/main/js/sap/ushell/renderer/Shell.controller.js +3155 -0
  182. package/src/main/js/sap/ushell/{renderers/fiori2/ShellAsync.view.js → renderer/Shell.view.js} +29 -18
  183. package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/ShellLayout.js +3 -3
  184. package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/allMyApps/AllMyApps.controller.js +4 -4
  185. package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/allMyApps/AllMyApps.view.xml +1 -1
  186. package/src/main/js/sap/ushell/renderer/allMyApps/AllMyAppsKeyboardHandler.js +108 -0
  187. package/src/main/js/sap/ushell/renderer/allMyApps/AllMyAppsManager.js +453 -0
  188. package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources.properties +4 -0
  189. package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/search/searchComponent/Component.js +3 -3
  190. package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/search/searchComponent/controller/CEPSearchApp.controller.js +1 -1
  191. package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/search/searchComponent/controller/SearchApp.controller.js +1 -1
  192. package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/search/searchComponent/manifest.json +2 -2
  193. package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/search/searchComponent/view/CEPSearchApp.view.js +2 -2
  194. package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/search/searchComponent/view/SearchApp.view.js +2 -2
  195. package/src/main/js/sap/ushell/renderers/fiori2/History.js +7 -68
  196. package/src/main/js/sap/ushell/renderers/fiori2/LogonFrameProvider.js +9 -79
  197. package/src/main/js/sap/ushell/renderers/fiori2/Renderer.js +101 -1882
  198. package/src/main/js/sap/ushell/renderers/fiori2/RendererExtensions.js +2 -3
  199. package/src/main/js/sap/ushell/renderers/fiori2/Shell.controller.js +8 -3130
  200. package/src/main/js/sap/ushell/renderers/fiori2/Shell.view.js +7 -7
  201. package/src/main/js/sap/ushell/renderers/fiori2/allMyApps/AllMyAppsKeyboardHandler.js +7 -92
  202. package/src/main/js/sap/ushell/renderers/fiori2/allMyApps/AllMyAppsManager.js +8 -438
  203. package/src/main/js/sap/ushell/resources.js +1 -1
  204. package/src/main/js/sap/ushell/services/AllMyApps.js +16 -7
  205. package/src/main/js/sap/ushell/services/AppConfiguration.js +12 -0
  206. package/src/main/js/sap/ushell/services/AppLifeCycle.js +11 -14
  207. package/src/main/js/sap/ushell/services/AppState.js +12 -8
  208. package/src/main/js/sap/ushell/services/Bookmark.js +15 -13
  209. package/src/main/js/sap/ushell/services/BookmarkV2.js +919 -0
  210. package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +229 -241
  211. package/src/main/js/sap/ushell/services/CommonDataModel.js +14 -4
  212. package/src/main/js/sap/ushell/services/Configuration.js +12 -11
  213. package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +13 -10
  214. package/src/main/js/sap/ushell/services/Container.js +1 -1
  215. package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +1 -1
  216. package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +8 -6
  217. package/src/main/js/sap/ushell/services/DarkModeSupport.js +16 -10
  218. package/src/main/js/sap/ushell/services/EndUserFeedback.js +1 -1
  219. package/src/main/js/sap/ushell/services/Extension/FloatingContainer.js +103 -0
  220. package/src/main/js/sap/ushell/services/Extension/Footer.js +61 -0
  221. package/src/main/js/sap/ushell/services/Extension/Header.js +193 -0
  222. package/src/main/js/sap/ushell/services/Extension/Item.js +195 -0
  223. package/src/main/js/sap/ushell/services/Extension/SidePane.js +155 -0
  224. package/src/main/js/sap/ushell/services/Extension/ToolArea.js +152 -0
  225. package/src/main/js/sap/ushell/services/Extension.js +381 -0
  226. package/src/main/js/sap/ushell/services/LaunchPage.js +1 -1
  227. package/src/main/js/sap/ushell/services/Menu.js +48 -59
  228. package/src/main/js/sap/ushell/services/Message.js +15 -14
  229. package/src/main/js/sap/ushell/services/MessageBroker.js +12 -12
  230. package/src/main/js/sap/ushell/services/NavTargetResolution.js +48 -70
  231. package/src/main/js/sap/ushell/services/Navigation/utils.js +565 -0
  232. package/src/main/js/sap/ushell/services/Navigation.js +152 -139
  233. package/src/main/js/sap/ushell/services/NavigationDataProvider.js +11 -8
  234. package/src/main/js/sap/ushell/services/Notifications.js +118 -1523
  235. package/src/main/js/sap/ushell/services/NotificationsV2.js +1872 -0
  236. package/src/main/js/sap/ushell/services/PageBuilding.js +11 -8
  237. package/src/main/js/sap/ushell/services/PagePersistence.js +11 -8
  238. package/src/main/js/sap/ushell/services/PageReferencing.js +11 -8
  239. package/src/main/js/sap/ushell/services/Pages.js +11 -15
  240. package/src/main/js/sap/ushell/services/Personalization.js +5 -3
  241. package/src/main/js/sap/ushell/services/PersonalizationV2/ContextContainer.js +410 -0
  242. package/src/main/js/sap/ushell/services/PersonalizationV2/Personalizer.js +109 -0
  243. package/src/main/js/sap/ushell/services/PersonalizationV2/TransientPersonalizer.js +57 -0
  244. package/src/main/js/sap/ushell/services/PersonalizationV2/Variant.js +180 -0
  245. package/src/main/js/sap/ushell/services/PersonalizationV2/VariantSet.js +296 -0
  246. package/src/main/js/sap/ushell/services/PersonalizationV2/VariantSetAdapter.js +125 -0
  247. package/src/main/js/sap/ushell/services/PersonalizationV2/WindowAdapter.js +71 -0
  248. package/src/main/js/sap/ushell/services/PersonalizationV2/WindowAdapterContainer.js +172 -0
  249. package/src/main/js/sap/ushell/services/PersonalizationV2/constants.js +23 -0
  250. package/src/main/js/sap/ushell/services/PersonalizationV2/constants.private.js +18 -0
  251. package/src/main/js/sap/ushell/services/PersonalizationV2/utils.js +233 -0
  252. package/src/main/js/sap/ushell/services/PersonalizationV2.js +641 -0
  253. package/src/main/js/sap/ushell/services/PluginManager.js +47 -55
  254. package/src/main/js/sap/ushell/services/ReferenceResolver.js +61 -54
  255. package/src/main/js/sap/ushell/services/Search.js +15 -2
  256. package/src/main/js/sap/ushell/services/SearchCEP.js +40 -44
  257. package/src/main/js/sap/ushell/services/SearchableContent.js +9 -9
  258. package/src/main/js/sap/ushell/services/ShellNavigation.js +14 -13
  259. package/src/main/js/sap/ushell/services/SmartNavigation.js +1 -1
  260. package/src/main/js/sap/ushell/services/SpaceContent.js +9 -10
  261. package/src/main/js/sap/ushell/services/SupportTicket.js +14 -14
  262. package/src/main/js/sap/ushell/services/UITracer.js +31 -35
  263. package/src/main/js/sap/ushell/services/URLParsing.js +9 -11
  264. package/src/main/js/sap/ushell/services/URLShortening.js +1 -1
  265. package/src/main/js/sap/ushell/services/URLTemplate.js +14 -13
  266. package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +29 -26
  267. package/src/main/js/sap/ushell/services/UsageAnalytics.js +6 -0
  268. package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +11 -7
  269. package/src/main/js/sap/ushell/services/UserDefaultParameters.js +20 -26
  270. package/src/main/js/sap/ushell/services/UserInfo.js +44 -23
  271. package/src/main/js/sap/ushell/services/UserRecents.js +13 -5
  272. package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +12 -9
  273. package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +10 -8
  274. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Formatter.js +1 -1
  275. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundIndex.js +1 -1
  276. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundProvider.js +1 -1
  277. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/PrelaunchOperations.js +1 -1
  278. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Search.js +1 -1
  279. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/StagedLogger.js +1 -1
  280. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/SystemContext.js +1 -1
  281. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Utils.js +3 -4
  282. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/VirtualInbounds.js +4 -4
  283. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/XAppStateProcessing.js +1 -1
  284. package/src/main/js/sap/ushell/services/_CommonDataModel/SiteConverter.js +1 -1
  285. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +1 -1
  286. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +1 -1
  287. package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +2 -1
  288. package/src/main/js/sap/ushell/services/_MessageBroker/MessageBrokerEngine.js +1 -1
  289. package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +1 -1
  290. package/src/main/js/sap/ushell/services/_Personalization/ContextContainer.js +6 -0
  291. package/src/main/js/sap/ushell/services/_Personalization/PersonalizationContainer.js +5 -1
  292. package/src/main/js/sap/ushell/services/_Personalization/PersonalizationContainerVariant.js +13 -9
  293. package/src/main/js/sap/ushell/services/_Personalization/PersonalizationContainerVariantSet.js +17 -13
  294. package/src/main/js/sap/ushell/services/_Personalization/Personalizer.js +5 -0
  295. package/src/main/js/sap/ushell/services/_Personalization/TransientPersonalizer.js +5 -1
  296. package/src/main/js/sap/ushell/services/_Personalization/Variant.js +4 -0
  297. package/src/main/js/sap/ushell/services/_Personalization/VariantSet.js +17 -9
  298. package/src/main/js/sap/ushell/services/_Personalization/VariantSetAdapter.js +4 -6
  299. package/src/main/js/sap/ushell/services/_Personalization/WindowAdapter.js +5 -44
  300. package/src/main/js/sap/ushell/services/_Personalization/WindowAdapterContainer.js +5 -101
  301. package/src/main/js/sap/ushell/services/_Personalization/constants.js +3 -0
  302. package/src/main/js/sap/ushell/services/_Personalization/constants.private.js +3 -0
  303. package/src/main/js/sap/ushell/services/_Personalization/utils.js +3 -0
  304. package/src/main/js/sap/ushell/services/_PluginManager/Extensions.js +1 -1
  305. package/src/main/js/sap/ushell/services/_PluginManager/HeaderExtensions.js +1 -1
  306. package/src/main/js/sap/ushell/services/_PluginManager/MenuExtensions.js +1 -1
  307. package/src/main/js/sap/ushell/services/_Ui5ComponentLoader/utils.js +29 -5
  308. package/src/main/js/sap/ushell/services/_UserRecents/UserRecentsBase.js +19 -27
  309. package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstance.js +4 -0
  310. package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstanceAbap.js +3 -0
  311. package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstanceLink.js +1 -1
  312. package/src/main/js/sap/ushell/services/personalization/VariantSetAdapter.js +13 -15
  313. package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
  314. package/src/main/js/sap/ushell/themes/sap_horizon/ShellAppTitle.less +4 -4
  315. package/src/main/js/sap/ushell/themes/sap_horizon_dark/ShellAppTitle.less +4 -4
  316. package/src/main/js/sap/ushell/themes/sap_horizon_hcb/ShellAppTitle.less +2 -2
  317. package/src/main/js/sap/ushell/themes/sap_horizon_hcw/ShellAppTitle.less +2 -2
  318. package/src/main/js/sap/ushell/ui/AppContainer.js +2 -2
  319. package/src/main/js/sap/ushell/ui/ContentNodeSelector.js +2 -2
  320. package/src/main/js/sap/ushell/ui/ShellHeader.js +2 -2
  321. package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +1 -1
  322. package/src/main/js/sap/ushell/ui/footerbar/AddBookmarkButton.js +8 -12
  323. package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
  324. package/src/main/js/sap/ushell/ui/launchpad/Page.js +1 -1
  325. package/src/main/js/sap/ushell/ui/launchpad/Section.js +21 -8
  326. package/src/main/js/sap/ushell/ui/launchpad/TileState.js +0 -1
  327. package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +1 -1
  328. package/src/main/js/sap/ushell/ui/shell/ShellAppTitle.js +1 -1
  329. package/src/main/js/sap/ushell/ui/shell/ShellHeadItem.js +1 -1
  330. package/src/main/js/sap/ushell/ui/shell/SysInfoBar.js +1 -1
  331. package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +1 -1
  332. package/src/main/js/sap/ushell/ui/utils.js +1 -1
  333. package/src/main/js/sap/ushell/ui5service/ShellUIService.js +1 -1
  334. package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
  335. package/src/main/js/sap/ushell/ui5service/_ShellUIService/shelluiservice.class.factory.js +14 -26
  336. package/src/main/js/sap/ushell/utils/Deferred.js +88 -0
  337. package/src/main/js/sap/ushell/utils/UrlShortening.js +1 -1
  338. package/src/main/js/sap/ushell/utils/WindowUtils.js +8 -8
  339. package/src/main/js/sap/ushell/utils.js +31 -67
  340. package/src/test/js/sap/ushell/bootstrap/sandbox.js +7 -2
  341. package/ui5.yaml +8 -2
  342. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/HeadEndItemsOverflowPopover.fragment.xml +0 -0
  343. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_ar.properties +0 -0
  344. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_bg.properties +0 -0
  345. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_ca.properties +0 -0
  346. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_cs.properties +0 -0
  347. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_cy.properties +0 -0
  348. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_da.properties +0 -0
  349. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_de.properties +0 -0
  350. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_el.properties +0 -0
  351. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_en.properties +0 -0
  352. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_en_GB.properties +0 -0
  353. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_en_US_sappsd.properties +0 -0
  354. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_en_US_saprigi.properties +0 -0
  355. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_en_US_saptrc.properties +0 -0
  356. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_es.properties +0 -0
  357. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_es_MX.properties +0 -0
  358. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_et.properties +0 -0
  359. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_fi.properties +0 -0
  360. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_fr.properties +0 -0
  361. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_fr_CA.properties +0 -0
  362. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_hi.properties +0 -0
  363. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_hr.properties +0 -0
  364. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_hu.properties +0 -0
  365. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_id.properties +0 -0
  366. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_it.properties +0 -0
  367. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_iw.properties +0 -0
  368. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_ja.properties +0 -0
  369. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_kk.properties +0 -0
  370. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_ko.properties +0 -0
  371. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_lt.properties +0 -0
  372. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_lv.properties +0 -0
  373. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_ms.properties +0 -0
  374. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_nl.properties +0 -0
  375. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_no.properties +0 -0
  376. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_pl.properties +0 -0
  377. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_pt.properties +0 -0
  378. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_pt_PT.properties +0 -0
  379. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_ro.properties +0 -0
  380. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_ru.properties +0 -0
  381. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_sh.properties +0 -0
  382. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_sk.properties +0 -0
  383. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_sl.properties +0 -0
  384. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_sv.properties +0 -0
  385. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_th.properties +0 -0
  386. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_tr.properties +0 -0
  387. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_uk.properties +0 -0
  388. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_vi.properties +0 -0
  389. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_zh_CN.properties +0 -0
  390. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/resources/resources_zh_TW.properties +0 -0
  391. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/search/util.js +0 -0
  392. /package/src/main/js/sap/ushell/{renderers/fiori2 → renderer}/utils.js +0 -0
@@ -1,72 +1,14 @@
1
1
  // Copyright (c) 2009-2023 SAP SE, All Rights Reserved
2
2
 
3
- /**
4
- * Default renderer for SAP Fiori launchpad.
5
- * Publishes all lifecycle events as described in the documentation of the "sap.ushell" namespace.
6
- */
7
- sap.ui.define([
8
- "sap/ui/core/Core",
9
- "sap/ui/core/UIComponent",
10
- "sap/ushell/ui/shell/ToolAreaItem",
11
- "sap/ushell/Config",
12
- "sap/ushell/EventHub",
13
- "sap/ushell/utils",
14
- "sap/ushell/components/applicationIntegration/AppLifeCycle",
15
- "sap/ui/Device",
16
- "sap/ui/model/json/JSONModel",
17
- "sap/ushell/components/SharedComponentUtils",
18
- "sap/ushell/services/AppConfiguration",
19
- "sap/ushell/resources",
20
- "sap/base/util/UriParameters",
21
- "sap/ui/thirdparty/jquery",
22
- "sap/base/Log",
23
- "sap/base/util/deepExtend",
24
- "sap/base/util/extend",
25
- "sap/ui/base/Object",
26
- "sap/base/util/ObjectPath",
27
- "sap/ui/core/library",
28
- "sap/ushell/library",
29
- "sap/ui/core/mvc/View",
30
- "sap/ushell/ui/shell/ShellHeadItem",
31
- "sap/m/NotificationListItem",
32
- "sap/ushell/renderers/fiori2/ShellLayout",
33
- "sap/ushell/renderers/fiori2/utils"
34
- ], function (
35
- Core,
36
- UIComponent,
37
- ToolAreaItem,
38
- Config,
39
- EventHub,
40
- oUshellUtils,
41
- AppLifeCycle,
42
- Device,
43
- JSONModel,
44
- oSharedComponentUtils,
45
- AppConfiguration,
46
- resources,
47
- UriParameters,
48
- jQuery,
49
- Log,
50
- deepExtend,
51
- extend,
52
- BaseObject,
53
- ObjectPath,
54
- coreLibrary,
55
- ushellLibrary,
56
- View,
57
- ShellHeadItem,
58
- NotificationListItem,
59
- ShellLayout,
60
- RendererUtils
61
- ) {
3
+ /**
4
+ * File was moved to sap/ushell/renderer/Renderer
5
+ * @deprecated since 1.120.0
6
+ */
7
+ sap.ui.define([
8
+ "sap/ushell/renderer/Renderer"
9
+ ], function (Renderer) {
62
10
  "use strict";
63
11
 
64
- // shortcut for sap.ui.core.mvc.ViewType
65
- var ViewType = coreLibrary.mvc.ViewType;
66
-
67
- // shortcut for sap.ushell.AppType
68
- var AppType = ushellLibrary.AppType;
69
-
70
12
  /**
71
13
  * This method MUST be called by the Unified Shell's container only, others MUST call <code>sap.ushell.Container.createRenderer("fiori2", true)</code>.
72
14
  *
@@ -75,578 +17,13 @@ sap.ui.define([
75
17
  * @alias sap.ushell.renderers.fiori2.Renderer
76
18
  * @since 1.15.0
77
19
  * @public
20
+ * @deprecated since 1.120.0 Please use {@link sap.ushell.services.Extension} instead.
78
21
  */
79
- var Renderer = UIComponent.extend("sap.ushell.renderers.fiori2.Renderer", {
80
- metadata: {
81
- version: "1.119.3",
82
- dependencies: {
83
- version: "1.119.3",
84
- libs: ["sap.ui.core", "sap.m"],
85
- components: []
86
- },
87
- interfaces: ["sap.ui.core.IAsyncContentCreation"],
88
- routing: {
89
- config: {
90
- path: "sap.ushell.components",
91
- async: true,
92
- controlId: "viewPortContainer",
93
- clearAggregation: false,
94
- controlAggregation: "pages"
95
- },
96
- routes: [{
97
- name: "appfinder-legacy",
98
- pattern: "Shell-home&/appFinder/:menu:/:filter:" // TODO root intent must come from configuration
99
- }, {
100
- name: "home",
101
- pattern: ["Shell-home?:hashParameters:", "Shell-home&/:innerHash*:", "Shell-home"], // TODO must come from configuration
102
- target: (function () {
103
- if (Config.last("/core/homeApp/enabled")) {
104
- return "homeapp";
105
- }
106
-
107
- // CEP MyHome
108
- if (Config.last("/core/workPages/enabled") && Config.last("/core/workPages/myHome/pageId") !== null) {
109
- return "workpages";
110
- }
111
-
112
- // CEP Standard
113
- if (Config.last("/core/workPages/enabled") && Config.last("/core/workPages/myHome/pageId") === null) {
114
- return "runtimeSwitcher";
115
- }
116
-
117
- // Pages Spaces Mode
118
- if (Config.last("/core/spaces/enabled")) {
119
- return "pages";
120
- }
121
-
122
- // Classic Homepage
123
- return "home";
124
- })()
125
- }, {
126
- name: "appfinder",
127
- pattern: [ // TODO must come from configuration
128
- "Shell-appfinder?:hashParameters:&/:innerHash*:",
129
- "Shell-appfinder?:hashParameters*:",
130
- "Shell-appfinder&/:innerHash*:",
131
- "Shell-appfinder"
132
- ],
133
- target: Config.last("/core/catalog/enabled") ? "appfinder" : undefined // Avoid the loading of Component
134
- }, {
135
- name: "openFLPPage",
136
- pattern: [
137
- "Launchpad-openFLPPage?:hashParameters:",
138
- "Launchpad-openFLPPage"
139
- ],
140
- target: (function () {
141
- // CEP MyHome
142
- if (Config.last("/core/workPages/enabled") && Config.last("/core/workPages/myHome/pageId") !== null) {
143
- return "workpages";
144
- }
145
-
146
- // CEP Standard
147
- if (Config.last("/core/workPages/enabled") && Config.last("/core/workPages/myHome/pageId") === null) {
148
- return "runtimeSwitcher";
149
- }
150
-
151
- if (Config.last("/core/spaces/enabled")) {
152
- return "pages";
153
- }
154
-
155
- return "home";
156
- })()
157
- }, {
158
- //Testing workpages - technical route
159
- name: "openWorkPage",
160
- pattern: [
161
- "Launchpad-openWorkPage?:hashParameters:",
162
- "Launchpad-openWorkPage"
163
- ],
164
- target: "workpages"
165
- }, {
166
- name: "wzsearch",
167
- pattern: [ // TODO must come from configuration
168
- "WorkZoneSearchResult-display:?query:"
169
- ],
170
- target: "wzsearch"
171
- }],
172
- targets: {
173
- home: {
174
- name: "homepage",
175
- type: "Component",
176
- title: resources.i18n.getText("homeBtn_tooltip"), // TODO does not work yet
177
- id: "Shell-home-component",
178
- options: {
179
- manifest: false,
180
- asyncHints: {
181
- preloadBundles: Config.last("/core/home/featuredGroup/enable") ?
182
- ["sap/ushell/preload-bundles/homepage-af-dep.js", "sap/ushell/components/homepage/cards-preload.js"] :
183
- ["sap/ushell/preload-bundles/homepage-af-dep.js"]
184
- },
185
- componentData: {
186
- // use additional settings here as needed...
187
- config: {
188
- enablePersonalization: true,
189
- enableHomePageSettings: false
190
- }
191
- }
192
- }
193
- },
194
- appfinder: {
195
- name: "appfinder",
196
- type: "Component",
197
- // TODO title: "",
198
- id: "Shell-appfinder-component",
199
- options: {
200
- manifest: false,
201
- asyncHints: { preloadBundles: ["sap/ushell/preload-bundles/homepage-af-dep.js"] },
202
- componentData: {
203
- // use additional settings here as needed...
204
- config: {
205
- enablePersonalization: true,
206
- enableHomePageSettings: false
207
- }
208
- }
209
- }
210
- },
211
- pages: {
212
- name: "pages",
213
- type: "Component",
214
- id: "pages-component",
215
- options: {
216
- componentData: {},
217
- asyncHints: {
218
- preloadBundles: ["sap/ushell/preload-bundles/homepage-af-dep.js"]
219
- }
220
- }
221
- },
222
- workpages: {
223
- name: "workPageRuntime",
224
- type: "Component",
225
- id: "workPageRuntime-component",
226
- options: {
227
- componentData: {},
228
- asyncHints: {
229
- preloadBundles: [
230
- "sap/ushell/preload-bundles/workpage-rt-0.js",
231
- "sap/ushell/preload-bundles/workpage-rt-1.js",
232
- "sap/ushell/preload-bundles/workpage-rt-2.js",
233
- "sap/ushell/preload-bundles/workpage-rt-3.js"
234
- ]
235
- }
236
- }
237
- },
238
- runtimeSwitcher: {
239
- name: "runtimeSwitcher",
240
- type: "Component",
241
- id: "runtimeSwitcher-component",
242
- options: {
243
- componentData: {},
244
- asyncHints: {
245
- preloadBundles: [
246
- "sap/ushell/preload-bundles/homepage-af-dep.js",
247
- "sap/ushell/preload-bundles/workpage-rt-0.js",
248
- "sap/ushell/preload-bundles/workpage-rt-1.js",
249
- "sap/ushell/preload-bundles/workpage-rt-2.js",
250
- "sap/ushell/preload-bundles/workpage-rt-3.js"
251
- ]
252
- }
253
- }
254
- },
255
- wzsearch: {
256
- name: "cepsearchresult.app",
257
- type: "Component",
258
- id: "cepsearchresult-app-component",
259
- options: {
260
- manifest: true,
261
- componentData: {
262
- // use additional settings here as needed...
263
- config: {
264
- enablePersonalization: true,
265
- enableHomePageSettings: false
266
- }
267
- }
268
- }
269
- }
270
- }
271
- }
272
- },
273
-
274
- init: function () {
275
- UIComponent.prototype.init.apply(this, arguments);
276
-
277
- var oRouter = this.getRouter();
278
-
279
- // Track flp navigation with ShellAnalytics
280
- [
281
- "appfinder-legacy",
282
- "home",
283
- "appfinder",
284
- "openFLPPage",
285
- "openWorkPage",
286
- "wzsearch"
287
- ].forEach(sRouteName => {
288
- oRouter.getRoute(sRouteName).attachBeforeMatched(() => {
289
- EventHub.emit("trackHashChange", window.hasher.getHash());
290
- // all targets have to close the FESR Record on their own
291
- });
292
- });
293
-
294
- // Add HomeApp target dynamically
295
- if (Config.last("/core/homeApp/enabled")) {
296
- this._getHomeAppTarget().then(function (oTarget) {
297
- oRouter.getTargets().addTarget("homeapp", oTarget);
298
- oRouter.getTarget("homeapp").attachEventOnce("display", function () {
299
- // Core-ext complement has been loaded by the routing component of the renderer.
300
- // Trigger instantiation of SchedulingAgent which is bringing up the menu bar.
301
- EventHub.emit("CoreResourcesComplementLoaded", { status: "success" });
302
- });
303
- });
304
- }
305
-
306
- oRouter.getRoute("home").attachMatched(this._prepareHomepage, this);
307
- oRouter.getRoute("openFLPPage").attachMatched(this._prepareHomepage, this);
308
- oRouter.getRoute("openWorkPage").attachMatched(this._prepareHomepage, this);
309
-
310
- oRouter.getRoute("appfinder-legacy").attachMatched(function (oEvent) {
311
- // TODO consider innerapp routes from old intent, e.g.:
312
- // - #Shell-home&/appFinder/catalog
313
- // - #Shell-home&/appFinder/catalog/%7B"tileFilter":"set","tagFilter":%5B%5D,"targetGroup":""%7D
314
- oRouter.navTo("appfinder", {}, true);
315
- });
316
-
317
- oRouter.getRoute("appfinder").attachMatched(function (oEvent) {
318
- if (!Config.last("/core/catalog/enabled")) {
319
- Log.warning("AppFinder is disabled. Re-route to the homepage.");
320
- oRouter.navTo("home", null, true);
321
- return;
322
- }
323
-
324
- var oComponent = Core.getComponent(this.createId("Shell-appfinder-component"));
325
- var oData = oEvent.getParameter("arguments");
326
- if (sap.ushell.Container.getRenderer("fiori2")) {
327
- AppLifeCycle.getShellUIService().setBackNavigation();
328
- sap.ushell.Container.getRenderer("fiori2").setCurrentCoreView("appFinder");
329
- }
330
- AppConfiguration.setCurrentApplication(null);
331
-
332
- var oAppFinderRouter = oComponent.getRouter();
333
- // wait for the root view to be loaded before the inner hash is forwarded to the AppFinder component
334
- oComponent.getRootControl().loaded().then(function () {
335
- oAppFinderRouter.parse(oData["innerHash*"] || "");
336
- });
337
-
338
- AppLifeCycle.switchViewState("app", false, "Shell-appfinder");
339
- AppLifeCycle.getAppMeta().setAppIcons();
340
-
341
- oSharedComponentUtils.initializeAccessKeys();
342
- }, this);
343
-
344
- oRouter.getRoute("wzsearch").attachMatched(function (oEvent) {
345
- AppLifeCycle.getShellUIService().setBackNavigation();
346
- AppLifeCycle.switchViewState("app", false, "cepsearchresult-app");
347
- });
348
-
349
- var oDeviceModel = new JSONModel(Device);
350
- oDeviceModel.setDefaultBindingMode("OneWay");
351
- this.setModel(oDeviceModel, "device");
352
- this.setModel(resources.i18nModel, "i18n");
353
- }
354
- });
355
-
356
- /**
357
- * Hook which is called every time a route is matched
358
- * @param {sap.ui.base.Event} oEvent The event object
359
- *
360
- * @private
361
- * @since 1.100.0
362
- */
363
- Renderer.prototype._prepareHomepage = function (oEvent) {
364
- if (AppConfiguration.getCurrentApplication()) {
365
- sap.ushell.Container.getServiceAsync("ShellNavigation").then(function (ShellNavigation) {
366
- ShellNavigation.setIsInitialNavigation(false);
367
- });
368
- }
369
-
370
- var sCurrentHash = window.hasher.getHash();
371
- if (!Config.last("/core/spaces/enabled") && sCurrentHash.indexOf("Launchpad-openFLPPage") === 0) {
372
- sap.ushell.Container.getServiceAsync("ShellNavigation").then(function (ShellNavigation) {
373
- ShellNavigation.replaceHashWithoutNavigation("Shell-home");
374
- });
375
- }
376
-
377
- var sHomeTitle = resources.i18n.getText("homeBtn_tooltip");
378
-
379
- var sRootIntent = this.getShellConfig().rootIntent;
380
- var bIsRootIntentFlpHome = !sRootIntent || oUshellUtils.isFlpHomeIntent(sRootIntent);
381
-
382
- // switch to home first so that #set calls below have effect
383
- AppLifeCycle.switchViewState(bIsRootIntentFlpHome ? "home" : "app", false, "Shell-home");
384
-
385
- this.setCurrentCoreView("home");
386
- AppConfiguration.setCurrentApplication(null);
387
-
388
- AppLifeCycle.getShellUIService().setTitle(sHomeTitle);
389
- AppLifeCycle.getShellUIService().setHierarchy();
390
- AppLifeCycle.getShellUIService().setRelatedApps();
391
- AppLifeCycle.getAppMeta().setAppIcons(); // For the custom theme the favicon should be loaded get from theme parameter
392
-
393
- oSharedComponentUtils.initializeAccessKeys();
394
- };
395
-
396
- /**
397
- * Returns the configured homeApp
398
- * @returns {Promise<object>} Resolves the oTargetOptions for the homeapp target
399
- *
400
- * @private
401
- * @since 1.100.0
402
- */
403
- Renderer.prototype._getHomeAppTarget = function () {
404
- return sap.ushell.Container.getServiceAsync("Ui5ComponentLoader").then(function (Ui5ComponentLoader) {
405
- var oHomeAppComponent = Config.last("/core/homeApp/component");
406
- var aCoreResourcesComplement = Ui5ComponentLoader.getCoreResourcesComplementBundle();
407
-
408
- if (oHomeAppComponent.url) {
409
- return {
410
- name: oHomeAppComponent.name,
411
- type: "Component",
412
- id: "homeApp-component",
413
- path: "", // needed, otherwise sap/ushell/components is used
414
- options: {
415
- url: oHomeAppComponent.url,
416
- componentData: {},
417
- asyncHints: Object.assign({}, oHomeAppComponent.asyncHints || {}, {
418
- // Merging dynamic asyncHints of FLP startup config and static preload bundles
419
- preloadBundles: aCoreResourcesComplement
420
- })
421
- }
422
- };
423
- }
424
-
425
- return {
426
- name: "error",
427
- type: "Component",
428
- id: "homeApp-component",
429
- path: "sap/ushell/components/homeApp", // needed, otherwise sap/ushell/components is used
430
- options: {
431
- componentData: {},
432
- asyncHints: {
433
- preloadBundles: aCoreResourcesComplement
434
- }
435
- }
436
- };
437
- });
438
- };
439
-
440
- /**
441
- * @returns {string|undefined} so-called "appState" (not to be confused with Internal or External App State)
442
- * @private
443
- */
444
- Renderer.prototype.getSapUshellConfigParam = function () {
445
- var sState;
446
- sState = UriParameters.fromQuery(window.location.search).get("sap-ushell-config");
447
- if (sState) {
448
- return sState.toLowerCase();
449
- }
450
- sState = UriParameters.fromQuery(window.location.search).get("appState");
451
- if (sState) {
452
- Log.error("URL parameter 'appState' is given, but deprecated. Please use 'sap-ushell-config' instead!", "sap.ushell.renderers.fiori2.Renderer");
453
- return sState.toLowerCase();
454
- }
455
- return undefined;
456
- };
457
-
458
- /**
459
- * @returns {object} an instance of Shell view
460
- * @since 1.15.0
461
- * @private
462
- */
463
- Renderer.prototype.createContent = function () {
464
- var sGivenState = Renderer.prototype.getSapUshellConfigParam();
465
- var viewData = this.getComponentData() || {};
466
- var oAppConfig = {
467
- applications: { "Shell-home": {} },
468
- rootIntent: "Shell-home"
469
- };
470
-
471
- if (sGivenState) {
472
- if (!viewData.config) {
473
- viewData.config = {};
474
- }
475
- viewData.config.appState = sGivenState;
476
- }
477
-
478
- // the code below migrates a configuration structure from version 1.28 or older, to the default expected configuration structure in 1.30
479
- if (viewData.config) {
480
- // We need to pass this flag in order to check lately the possibility of local resolution for empty hash
481
- if (viewData.config.rootIntent === undefined) {
482
- viewData.config.migrationConfig = true;
483
- }
484
- // Merge all needed configuration
485
- // config.applications["Shell-home"] is created with the first extend.
486
- viewData.config = deepExtend(
487
- oAppConfig,
488
- viewData.config
489
- );
490
- extend(
491
- viewData.config.applications["Shell-home"],
492
- Config.last("/core/home"),
493
- Config.last("/core/catalog")
494
- );
495
-
496
- // handle the Personalization flag
497
- if (viewData.config.appState === "headerless" || viewData.config.appState === "merged" || viewData.config.appState === "blank") {
498
- viewData.config.enablePersonalization = false;
499
- Config.emit("/core/shell/enablePersonalization", false);
500
- } else {
501
- viewData.config.enablePersonalization = Config.last("/core/shell/enablePersonalization");
502
- }
503
-
504
- // If the personalization is disabled, do not create the AppFinder and Edit buttons in the header
505
- if (!viewData.config.enablePersonalization) {
506
- viewData.config.moveEditHomePageActionToShellHeader = false;
507
- viewData.config.moveAppFinderActionToShellHeader = false;
508
- }
509
- }
510
-
511
- viewData.shellModel = Config.createModel("/core/shell/model", JSONModel);
512
- viewData.helperModel = new JSONModel({
513
- shell: {
514
- floatingContainerVisible: false,
515
- footerContent: ""
516
- }
517
- });
518
-
519
- if (!this.getComponentData().async) {
520
- Log.error("sap/ushell/renderers/fiori2/Renderer component is created synchronously. Synchronous instantiation is not allowed. Please use async:true in component data");
521
- var oSyncView = sap.ui.view("mainShell", { // LEGACY API (deprecated)
522
- type: ViewType.JS,
523
- viewName: "sap.ushell.renderers.fiori2.Shell",
524
- height: "100%",
525
- viewData: viewData
526
- });
527
- oSyncView.addStyleClass("sapUshellRenderer");
528
- this._oShellView = oSyncView;
529
- this.oShellModel = AppLifeCycle.getElementsModel();
530
-
531
- oSyncView.loaded().then(function (oCreatedView) {
532
- // initialize the RendererExtensions after the view is created.
533
- // This also publishes an external event that indicates that sap.ushell.renderers.fiori2.RendererExtensions can be used.
534
- this.shellCtrl = oCreatedView.oController;
535
- RendererUtils.init(oCreatedView.getController());
536
- }.bind(this));
537
-
538
- return oSyncView;
539
- }
540
-
541
- return View.create({
542
- id: "mainShell",
543
- viewName: "module:sap/ushell/renderers/fiori2/ShellAsync.view",
544
- height: "100%",
545
- viewData: viewData
546
- }).then(function (oView) {
547
- oView.addStyleClass("sapUshellRenderer");
548
- this._oShellView = oView;
549
- this.oShellModel = AppLifeCycle.getElementsModel();
550
-
551
- // initialize the RendererExtensions after the view is created.
552
- // This also publishes an external event that indicates that sap.ushell.renderers.fiori2.RendererExtensions can be used.
553
- this.shellCtrl = oView.getController();
554
- RendererUtils.init(oView.getController());
555
- return oView;
556
- }.bind(this));
557
- };
558
-
559
- /**
560
- * Creates an extended shell state.<br>
561
- * An extended shell state is an extension for the current shell that can be applied by the function applyExtendedShellState.<br>
562
- *
563
- * <pre>
564
- * sap.ushell.Container.getRenderer("fiori2").createCustomShellState('test1', function () {
565
- * var oTileActionsButton = sap.ushell.Container.getRenderer("fiori2").addActionButton("sap.ushell.ui.launchpad.ActionItem",{
566
- * id: "xxx2",
567
- * text: 'aaaaaaaaaaaa',
568
- * icon: 'sap-icon://edit',
569
- * tooltip: sap.ushell.resources.i18n.getText("activateActionMode"),
570
- * press: function () {
571
- * sap.ushell.components.homepage.ActionMode.toggleActionMode(oModel, "Menu Item");
572
- * }}, true, true);
573
- * });
574
- * </pre>
575
- *
576
- * @param {string} sShellName Name of the extended shell state.
577
- * @param {function} fnCreationInstructions Shell API commands for creating the extension.
578
- *
579
- * @returns {object} Created Extended Shell State.
580
- * @since 1.35
581
- * @private
582
- */
583
- Renderer.prototype.createExtendedShellState = function (sShellName, fnCreationInstructions) {
584
- // create a shadow shell, shell will extend custom shell state.
585
- return AppLifeCycle.shellElements().createExtendedShellState(sShellName, fnCreationInstructions);
586
- };
587
-
588
- /**
589
- * Set the extended shell to be active.<br>
590
- * This function changes the shell state to display the extended shell merged with the current shell.<br>
591
- *
592
- * <b>Example:</b>
593
- * <pre>
594
- * sap.ushell.Container.getRenderer("fiori2").createCustomShellState('test1', function () {
595
- * var oTileActionsButton = sap.ushell.Container.getRenderer("fiori2").addActionButton("sap.ushell.ui.launchpad.ActionItem",{
596
- * id: "xxx2",
597
- * text: 'aaaaaaaaaaaa',
598
- * icon: 'sap-icon://edit',
599
- * tooltip: sap.ushell.resources.i18n.getText("activateActionMode"),
600
- * press: function () {
601
- * sap.ushell.components.homepage.ActionMode.toggleActionMode(oModel, "Menu Item");
602
- * }}, true, true);
603
- * });
604
- * sap.ushell.Container.getRenderer("fiori2").applyExtendedShellState('test1');
605
- * </pre>
606
- *
607
- * @param {string} sShellName Name of the extended shell state.
608
- * @param {function} fnCustomMerge fnCustomMerge
609
- * @since 1.35
610
- * @private
611
- */
612
- Renderer.prototype.applyExtendedShellState = function (sShellName, fnCustomMerge) {
613
- //merge the current shell state state (HOME/APP) with the custom shell.
614
- this.oShellModel.applyExtendedShellState(sShellName, fnCustomMerge);
615
- };
616
-
617
- /**
618
- * Sets the content of the left pane in Fiori launchpad, in the given launchpad states
619
- * (see sap.ushell.renderers.fiori2.renderer.LaunchpadState).</br>
620
- * If no launchpad state is provided the content is added in all states.
621
- *
622
- * <b>Example:</b>
623
- * <pre>
624
- * var oButton = new Button(id: "newButton", text: "Test Button"); // e.g. sap.m.Button
625
- * var oRenderer = sap.ushell.Container.getRenderer("fiori2");
626
- * oRenderer.showActionButton([oButton.getId()], false, ["home", "app"]);
627
- * </pre>
628
- *
629
- * @param {string|string[]} vIds Either ID or an array of IDs of elements to be added to the shell.
630
- * @param {boolean} bCurrentState if true, add the current component only to the current instance of the rendering of the shell.
631
- * if false, add the component to the LaunchPadState itself.
632
- * @param {string[]} aStates (only valid if bCurrentState is set to false) -
633
- * list of the sap.ushell.renderers.fiori2.renderer.LaunchpadState in which to add the aIds.
634
- * @since 1.30
635
- * @private
636
- */
637
- Renderer.prototype.showLeftPaneContent = function (vIds, bCurrentState, aStates) {
638
- var aIds = typeof vIds === "string" ? [vIds] : vIds;
639
-
640
- if (bCurrentState) {
641
- AppLifeCycle.shellElements().addShellModelForApplications("paneContent", aIds);
642
- } else {
643
- this.oShellModel.addLeftPaneContent(aIds, false, aStates);
644
- }
645
- };
22
+ const Fiori2Renderer = Renderer.extend("sap.ushell.renderers.fiori2.Renderer");
646
23
 
647
24
  /**
648
25
  * Creates and displays one or more HeaderItem controls according to the given control IDs and Shell states<br>
649
- * (see sap.ushell.renderers.fiori2.renderer.LaunchpadState).<br><br>
26
+ * (see sap.ushell.renderers.fiori2.Renderer.LaunchpadState).<br><br>
650
27
  * The HeaderItem controls will be displayed on the left side of the Fiori Launchpad shell header according to the given display parameters.<br>
651
28
  * There can be up to three header items. If the number of existing header items plus the given ones exceeds 3,
652
29
  * then the operation fails and no new header items are created.<br>
@@ -666,59 +43,12 @@ sap.ui.define([
666
43
  * @param {string[]} aStates Valid only if bCurrentState is <code>false</code>.
667
44
  * A list of shell states (i.e. sap.ushell.renderers.fiori2.Renderer.LaunchpadState) in which the controls are added.
668
45
  * If no launchpad state is provided the controls are added in all states.
669
- * @see sap.ushell.renderers.fiori2.renderer.LaunchpadState.
46
+ * @see sap.ushell.renderers.fiori2.Renderer.LaunchpadState.
670
47
  * @since 1.30
671
48
  * @public
672
49
  */
673
- Renderer.prototype.showHeaderItem = function (vIds, bCurrentState, aStates) {
674
- var aIds = typeof vIds === "string" ? [vIds] : vIds;
675
-
676
- if (bCurrentState) {
677
- AppLifeCycle.shellElements().addShellModelForApplications("headItems", aIds);
678
- } else {
679
- this.oShellModel.addHeaderItem(aIds, false, aStates);
680
- }
681
- };
682
-
683
- /**
684
- * Displays RightFloatingContainerItem on the left side of the Fiori launchpad shell, in the given launchpad states
685
- * (see sap.ushell.renderers.fiori2.renderer.LaunchpadState).</br>
686
- * If no launchpad state is provided the content is displayed in all states.</br>
687
- *
688
- * <b>Example:</b>
689
- * <pre>
690
- * var button1 = new sap.ushell.ui.shell.RightFloatingContainerItem();
691
- * var renderer = sap.ushell.Container.getRenderer("fiori2");
692
- * renderer.showRightFloatingContainerItem(button1.getId(), false, ["home", "app"]);
693
- * </pre>
694
- *
695
- * @param {string|string[]} vIds Either ID or an array of IDs of elements to be added to the Tool Area.
696
- * @param {boolean} bCurrentState if true, add the current RightFloatingContainerItems only to the current instance of the rendering of the shell.
697
- * if false, add the RightFloatingContainerItems to the LaunchPadState itself.
698
- * @param {string[]} aStates Only valid if bCurrentState is set to false.
699
- * A list of the sap.ushell.renderers.fiori2.renderer.LaunchpadState in which to add the aIds.
700
- * @since 1.37
701
- * @private
702
- */
703
- Renderer.prototype.showRightFloatingContainerItem = function (vIds, bCurrentState, aStates) {
704
- var aIds = typeof vIds === "string" ? [vIds] : vIds;
705
-
706
- if (bCurrentState) {
707
- AppLifeCycle.shellElements().addShellModelForApplications("RightFloatingContainerItems", aIds);
708
- } else {
709
- this.oShellModel.addRightFloatingContainerItem(aIds, false, aStates);
710
- }
711
- };
712
-
713
- /**
714
- * Displays RightFloatingContainerItem on the right side of the Fiori launchpad shell.
715
- *
716
- * @param {boolean} bShow Defines whether to show or hide the
717
- * @since 1.37
718
- * @private
719
- */
720
- Renderer.prototype.showRightFloatingContainer = function (bShow) {
721
- AppLifeCycle.shellElements().setShellModelForApplications("showRightFloatingContainer", bShow);
50
+ Fiori2Renderer.prototype.showHeaderItem = function (vIds, bCurrentState, aStates) {
51
+ return Renderer.prototype.showHeaderItem.apply(this, arguments);
722
52
  };
723
53
 
724
54
  /**
@@ -740,17 +70,17 @@ sap.ui.define([
740
70
  * @param {string[]} aStates Only valid if bCurrentState is set to <code>false</code>.
741
71
  * An array of shell states (i.e. sap.ushell.renderers.fiori2.Renderer.LaunchpadState) in which the controls are added.
742
72
  * If no launchpad state is provided the items are added in all states.
743
- * @see sap.ushell.renderers.fiori2.renderer.LaunchpadState.
73
+ * @see sap.ushell.renderers.fiori2.Renderer.LaunchpadState.
744
74
  * @since 1.30
745
75
  * @public
746
76
  */
747
- Renderer.prototype.showToolAreaItem = function (vIds, bCurrentState, aStates) {
748
- this.oShellModel.addToolAreaItem(vIds, true, bCurrentState, aStates);
77
+ Fiori2Renderer.prototype.showToolAreaItem = function (vIds, bCurrentState, aStates) {
78
+ return Renderer.prototype.showToolAreaItem.apply(this, arguments);
749
79
  };
750
80
 
751
81
  /**
752
82
  * Displays action buttons in the User Actions Menu in the SAP Fiori launchpad, in the given launchpad states (LaunchpadState).
753
- * (see sap.ushell.renderers.fiori2.renderer.LaunchpadState).</br>
83
+ * (see sap.ushell.renderers.fiori2.Renderer.LaunchpadState).</br>
754
84
  * If no launchpad state is provided the content is displayed in all states.</br>
755
85
  * The user actions menu is opened via the button on the right hand side of the shell header.</br>
756
86
  *
@@ -766,45 +96,19 @@ sap.ui.define([
766
96
  * different state, or to a different application, then the control is removed. If false, the control is added to the LaunchpadState.
767
97
  * @param {string[]} aStates List of the launchpad states (sap.ushell.renderers.fiori2.Renderer.LaunchpadState) in which to add the aIds.
768
98
  * Valid only if bCurrentState is set to false.
769
- * @see sap.ushell.renderers.fiori2.renderer.LaunchpadState.
99
+ * @see sap.ushell.renderers.fiori2.Renderer.LaunchpadState.
770
100
  * If no launchpad state is provided, the content is added in all states.
771
101
  * @since 1.30
772
102
  * @public
773
103
  */
774
- Renderer.prototype.showActionButton = function (aIds, bCurrentState, aStates) {
775
- var aButtons = [];
776
- var aActions = [];
777
- var oButton;
778
-
779
- if (typeof aIds === "string") {
780
- aIds = [aIds];
781
- }
782
- // In case the method was called with instance of sap.m.Button, we need to convert it to
783
- // sap.ushell.ui.launchpad.ActionItem in order to apply the action item behavior and styles to this control
784
- aButtons = aIds.filter(function (sId) {
785
- oButton = Core.byId(sId);
786
- return BaseObject.isA(oButton, "sap.m.Button") && !(BaseObject.isA(oButton, "sap.ushell.ui.launchpad.ActionItem"));
787
- });
788
- aActions = aIds.filter(function (sId) {
789
- oButton = Core.byId(sId);
790
- return oButton instanceof sap.ushell.ui.launchpad.ActionItem;
791
- });
792
- if (aButtons.length) {
793
- this.convertButtonsToActions(aButtons, bCurrentState, aStates);
794
- }
795
- if (aActions.length) {
796
- if (bCurrentState) {
797
- AppLifeCycle.shellElements().addShellModelForApplications("actions", aIds);
798
- } else {
799
- this.oShellModel.addActionButton(aIds, false, aStates);
800
- }
801
- }
104
+ Fiori2Renderer.prototype.showActionButton = function (aIds, bCurrentState, aStates) {
105
+ return Renderer.prototype.showActionButton.apply(this, arguments);
802
106
  };
803
107
 
804
108
  /**
805
109
  * Displays FloatingActionButton on the bottom right corner of the Fiori launchpad, in the given launchpad states.
806
110
  * The FloatingActionButton is rendered in the bottom right corner of the shell.</br>
807
- * (see sap.ushell.renderers.fiori2.renderer.LaunchpadState).</br>
111
+ * (see sap.ushell.renderers.fiori2.Renderer.LaunchpadState).</br>
808
112
  * If no launchpad state is provided the content is displayed in all states.</br>
809
113
  *
810
114
  * <b>Example:</b>
@@ -818,22 +122,18 @@ sap.ui.define([
818
122
  * @param {boolean} bCurrentState if true, add the current Buttons only to the current instance of the rendering of the shell.
819
123
  * if false, add the Buttons to the LaunchPadState itself.
820
124
  * @param {string[]} aStates (only valid if bCurrentState is set to false) -
821
- * list of the sap.ushell.renderers.fiori2.renderer.LaunchpadState in which to add the aIds.
125
+ * list of the sap.ushell.renderers.fiori2.Renderer.LaunchpadState in which to add the aIds.
822
126
  * @since 1.30
823
127
  * @public
824
128
  * @deprecated since 1.52. Support for the FloatingActionButton has been discontinued.
825
129
  */
826
- Renderer.prototype.showFloatingActionButton = function (aIds, bCurrentState, aStates) {
827
- if (bCurrentState) {
828
- AppLifeCycle.shellElements().addShellModelForApplications("floatingActions", typeof aIds === "string" ? [aIds] : aIds);
829
- } else {
830
- this.oShellModel.addFloatingActionButton(typeof aIds === "string" ? [aIds] : aIds, false, aStates);
831
- }
130
+ Fiori2Renderer.prototype.showFloatingActionButton = function (aIds, bCurrentState, aStates) {
131
+ return Renderer.prototype.showFloatingActionButton.apply(this, arguments);
832
132
  };
833
133
 
834
134
  /**
835
135
  * Displays HeaderItems on the right side of the Fiori launchpad shell header, in the given launchpad states
836
- * (see sap.ushell.renderers.fiori2.renderer.LaunchpadState).</br>
136
+ * (see sap.ushell.renderers.fiori2.Renderer.LaunchpadState).</br>
837
137
  * If no launchpad state is provided the content is displayed in all states.</br>
838
138
  * The shell header can display the user HeaderItem, and just one more HeaderItem.</br>
839
139
  * If this method is called when the right side of the header is full, this method will not do anything.</br>
@@ -849,21 +149,17 @@ sap.ui.define([
849
149
  * @param {boolean} bCurrentState if true, add the current HeaderItems only to the current instance of the rendering of the shell.
850
150
  * if false, add the HeaderItems to the LaunchPadState itself.
851
151
  * @param {string[]} aStates (only valid if bCurrentState is set to false) -
852
- * list of the sap.ushell.renderers.fiori2.renderer.LaunchpadState in which to add the aIds.
152
+ * list of the sap.ushell.renderers.fiori2.Renderer.LaunchpadState in which to add the aIds.
853
153
  * @since 1.30
854
154
  * @public
855
155
  */
856
- Renderer.prototype.showHeaderEndItem = function (aIds, bCurrentState, aStates) {
857
- if (bCurrentState) {
858
- AppLifeCycle.shellElements().addShellModelForApplications("headEndItems", typeof aIds === "string" ? [aIds] : aIds);
859
- } else {
860
- this.oShellModel.addHeaderEndItem(typeof aIds === "string" ? [aIds] : aIds, false, aStates);
861
- }
156
+ Fiori2Renderer.prototype.showHeaderEndItem = function (aIds, bCurrentState, aStates) {
157
+ return Renderer.prototype.showHeaderEndItem.apply(this, arguments);
862
158
  };
863
159
 
864
160
  /**
865
161
  * Sets the header visibility according to the given value and shell states.
866
- * (see sap.ushell.renderers.fiori2.renderer.LaunchpadState).
162
+ * (see sap.ushell.renderers.fiori2.Renderer.LaunchpadState).
867
163
  *
868
164
  * <b>Example:</b>
869
165
  * <pre>
@@ -881,18 +177,15 @@ sap.ui.define([
881
177
  * @see LaunchpadState
882
178
  * @since 1.38
883
179
  * @public
180
+ * @deprecated since 1.120.0 This functionality was discontinued
884
181
  */
885
- Renderer.prototype.setHeaderVisibility = function (bVisible, bCurrentState, aStates) {
886
- if (bCurrentState) {
887
- AppLifeCycle.shellElements().setShellModelForApplications("headerVisible", bVisible);
888
- } else {
889
- this.oShellModel.setHeaderVisibility(bVisible, false, aStates);
890
- }
182
+ Fiori2Renderer.prototype.setHeaderVisibility = function (bVisible, bCurrentState, aStates) {
183
+ return Renderer.prototype.setHeaderVisibility.apply(this, arguments);
891
184
  };
892
185
 
893
186
  /**
894
187
  * Displays one or more sub header controls according to the given control IDs and shell states.<br>
895
- * (see sap.ushell.renderers.fiori2.renderer.LaunchpadState).<br><br>
188
+ * (see sap.ushell.renderers.fiori2.Renderer.LaunchpadState).<br><br>
896
189
  * A sub header is placed in a container, located directly below the main Fiori launchpad shell header.<br>
897
190
  *
898
191
  * <b>Example:</b>
@@ -917,62 +210,8 @@ sap.ui.define([
917
210
  * @since 1.30
918
211
  * @public
919
212
  */
920
- Renderer.prototype.showSubHeader = function (aIds, bCurrentState, aStates) {
921
- if (bCurrentState) {
922
- AppLifeCycle.shellElements().addShellModelForApplications("subHeader", typeof aIds === "string" ? [aIds] : aIds);
923
- } else {
924
- this.oShellModel.addSubHeader(typeof aIds === "string" ? [aIds] : aIds, false, aStates);
925
- }
926
- };
927
-
928
- /**
929
- * Displays Sign Out button in User Actions Menu in the given launchpad state
930
- * (see sap.ushell.renderers.fiori2.renderer.LaunchpadState).</br>
931
- * If no launchpad state is provided the item is displayed in all states.</br>
932
- * If this method is called when the sign out button already displayed, this method will not do anything.</br>
933
- *
934
- * <b>Example:</b>
935
- * <pre>
936
- * var renderer = sap.ushell.Container.getRenderer("fiori2");
937
- * renderer.showSignOutItem (false, ["home", "app"]);
938
- * </pre>
939
- *
940
- * @param {boolean} bCurrentState if true, add the sign out button only to the current instance of the rendering of the shell.
941
- * if false, add the sign out button to the LaunchPadState itself.
942
- * @param {string[]} aStates (only valid if bCurrentState is set to false) -
943
- * list of the sap.ushell.renderers.fiori2.renderer.LaunchpadState in which to add the aIds.
944
- * @since 1.44
945
- * @private
946
- */
947
- Renderer.prototype.showSignOutItem = function (bCurrentState, aStates) {
948
- if (bCurrentState) {
949
- AppLifeCycle.shellElements().addShellModelForApplications("actions", ["logoutBtn"], false);
950
- } else {
951
- this.oShellModel.showSignOutButton(bCurrentState, aStates);
952
- }
953
- };
954
-
955
- /**
956
- * Displays Settings button in User Actions Menu in the given launchpad state
957
- * (see sap.ushell.renderers.fiori2.renderer.LaunchpadState).</br>
958
- * If no launchpad state is provided the item is displayed in all states.</br>
959
- * If this method is called when the sign out button already displayed, this method will not do anything.</br>
960
- *
961
- * <b>Example:</b>
962
- * <pre>
963
- * var renderer = sap.ushell.Container.getRenderer("fiori2");
964
- * renderer.showSettingsItem (false, ["home", "app"]);
965
- * </pre>
966
- *
967
- * @param {boolean} bCurrentState if true, add the settings button only to the current instance of the rendering of the shell.
968
- * if false, add settings button to the LaunchPadState itself.
969
- * @param {string[]} aStates (only valid if bCurrentState is set to false) -
970
- * list of the sap.ushell.renderers.fiori2.renderer.LaunchpadState in which to add the aIds.
971
- * @since 1.44
972
- * @private
973
- */
974
- Renderer.prototype.showSettingsItem = function (bCurrentState, aStates) {
975
- this.oShellModel.showSettingsButton(bCurrentState, aStates);
213
+ Fiori2Renderer.prototype.showSubHeader = function (aIds, bCurrentState, aStates) {
214
+ return Renderer.prototype.showSubHeader.apply(this, arguments);
976
215
  };
977
216
 
978
217
  /**
@@ -993,29 +232,10 @@ sap.ui.define([
993
232
  * @param {sap.m.Bar} oFooter - sap.m.Bar, the control to be added as the footer of the Fiori Launchpad
994
233
  * @since 1.30
995
234
  * @public
235
+ * @deprecated since 1.120.0 Please use {@link #setShellFooter} instead.
996
236
  */
997
- Renderer.prototype.setFooter = function (oFooter) {
998
- this.shellCtrl.setFooter(oFooter);
999
- };
1000
-
1001
- /**
1002
- * @param {sap.ui.core.Control} oNavigationBar The NavigationBar Control
1003
- *
1004
- * @private
1005
- * @since 1.114.0
1006
- */
1007
- Renderer.prototype.setNavigationBar = function (oNavigationBar) {
1008
- this.shellCtrl.setNavigationBar(oNavigationBar);
1009
- };
1010
-
1011
- /**
1012
- * @param {sap.ui.core.Control | HTMLElement} oShellShapes The shapes
1013
- *
1014
- * @private
1015
- * @since 1.114.0
1016
- */
1017
- Renderer.prototype.setShellShapes = function (oShellShapes) {
1018
- this.shellCtrl.setShellShapes(oShellShapes);
237
+ Fiori2Renderer.prototype.setFooter = function (oFooter) {
238
+ return Renderer.prototype.setFooter.apply(this, arguments);
1019
239
  };
1020
240
 
1021
241
  /**
@@ -1049,49 +269,8 @@ sap.ui.define([
1049
269
  * @since 1.48
1050
270
  * @public
1051
271
  */
1052
- Renderer.prototype.setShellFooter = function (oParameters) {
1053
- var oDeferred = new jQuery.Deferred();
1054
- var that = this;
1055
- var oControlInstance;
1056
- var controlType = oParameters.controlType;
1057
- var oControlProperties = oParameters.oControlProperties;
1058
-
1059
- // If a control instance is already created - get it by its id
1060
- if (oControlProperties && oControlProperties.id && Core.byId(oControlProperties.id)) {
1061
- oControlInstance = Core.byId(oControlProperties.id);
1062
- if (oControlInstance) {
1063
- // In case a footer was created before, we remove it first before setting a new one
1064
- if (this.lastFooterId) {
1065
- this.removeFooter();
1066
- }
1067
- // This parameter holds the id of a footer that was created by the setFooterControl API
1068
- this.lastFooterId = oControlInstance.getId();
1069
- this.shellCtrl.setFooter(oControlInstance);
1070
-
1071
- oDeferred.resolve(oControlInstance);
1072
- }
1073
- }
1074
-
1075
- if (controlType) {
1076
- var sControlResource = controlType.replace(/\./g, "/");
1077
- sap.ui.require([sControlResource],
1078
- function (ControlObject) {
1079
- oControlInstance = new ControlObject(oControlProperties);
1080
- // In case a footer was created before, we remove it first before setting a new one
1081
- if (that.lastFooterId) {
1082
- that.removeFooter();
1083
- }
1084
-
1085
- // This parameter holds the id of a footer that was created by the setFooterControl API
1086
- that.lastFooterId = oControlInstance.getId();
1087
- that.shellCtrl.setFooter(oControlInstance);
1088
-
1089
- oDeferred.resolve(oControlInstance);
1090
- });
1091
- } else {
1092
- Log.warning("You must specify control type in order to create it");
1093
- }
1094
- return oDeferred.promise();
272
+ Fiori2Renderer.prototype.setShellFooter = function (oParameters) {
273
+ return Renderer.prototype.setShellFooter.apply(this, arguments);
1095
274
  };
1096
275
 
1097
276
  /**
@@ -1123,46 +302,10 @@ sap.ui.define([
1123
302
  * @deprecated since 1.48. Please use {@link #setShellFooter} instead.
1124
303
  * @public
1125
304
  */
1126
- Renderer.prototype.setFooterControl = function (controlType, oControlProperties) {
1127
- var sControlResource = controlType.replace(/\./g, "/");
1128
- // Try to require the control in case it is already loaded
1129
- var ControlObject = sap.ui.require(sControlResource);
1130
- var bResourceLoadedAsObject = false;
1131
-
1132
- // Verify whether the control type is already loaded
1133
- if (ControlObject) {
1134
- bResourceLoadedAsObject = true;
1135
- } else if (!ObjectPath.get(controlType || "")) {
1136
- // since 1.94, follow up for deprecation in 1.48
1137
- Log.error("Renderer.setFooterControl: the referenced control resource " + controlType + " is not available.",
1138
- undefined, "sap.ushell.renderers.fiori2.Renderer");
1139
- return undefined;
1140
- }
1141
-
1142
- var oControlInstance = this.createItem(oControlProperties, undefined, function (oProperties) {
1143
- if (controlType) {
1144
- if (bResourceLoadedAsObject) {
1145
- return new ControlObject(oProperties);
1146
- }
1147
- var ControlPrototype = ObjectPath.get(controlType || "");
1148
- return new ControlPrototype(oProperties);
1149
- }
1150
- Log.warning("You must specify control type in order to create it");
1151
- return undefined;
1152
- });
1153
-
1154
- //In case a footer was created before, we remove it first before setting a new one
1155
- if (this.lastFooterId) {
1156
- this.removeFooter();
1157
- }
1158
- //This parameter holds the id of a footer that was created by s previous call to setFooterControl
1159
- this.lastFooterId = oControlInstance.getId();
1160
- this.shellCtrl.setFooter(oControlInstance);
1161
- return oControlInstance;
305
+ Fiori2Renderer.prototype.setFooterControl = function (controlType, oControlProperties) {
306
+ return Renderer.prototype.setFooterControl.apply(this, arguments);
1162
307
  };
1163
308
 
1164
- /*--------------------------Hide ----------------------------------*/
1165
-
1166
309
  /**
1167
310
  * Hide the given sap.ushell.ui.shell.ShellHeadItem from Fiori Launchpad, in the given launchpad states.
1168
311
  * The removed control will not be destroyed.<br><br>
@@ -1178,12 +321,8 @@ sap.ui.define([
1178
321
  * @since 1.30
1179
322
  * @public
1180
323
  */
1181
- Renderer.prototype.hideHeaderItem = function (aIds, bCurrentState, aStates) {
1182
- if (typeof aIds === "string") {
1183
- this.oShellModel.removeHeaderItem([aIds], bCurrentState, aStates);
1184
- } else {
1185
- this.oShellModel.removeHeaderItem(aIds, bCurrentState, aStates);
1186
- }
324
+ Fiori2Renderer.prototype.hideHeaderItem = function (aIds, bCurrentState, aStates) {
325
+ return Renderer.prototype.hideHeaderItem.apply(this, arguments);
1187
326
  };
1188
327
 
1189
328
  /**
@@ -1198,35 +337,12 @@ sap.ui.define([
1198
337
  * @param {string[]} aStates (only valid if bCurrentState is set to <code>false</code>) -
1199
338
  * An array of shell states (i.e. sap.ushell.renderers.fiori2.Renderer.LaunchpadState) from which the controls are removed.
1200
339
  * If no launchpad state is provided the items are removed from all states.
1201
- * @see sap.ushell.renderers.fiori2.renderer.LaunchpadState.
340
+ * @see sap.ushell.renderers.fiori2.Renderer.LaunchpadState.
1202
341
  * @since 1.30
1203
342
  * @public
1204
343
  */
1205
- Renderer.prototype.removeToolAreaItem = function (vIds, bCurrentState, aStates) {
1206
- if (typeof vIds === "string") {
1207
- vIds = [vIds];
1208
- }
1209
- this.oShellModel.removeToolAreaItem(vIds, bCurrentState, aStates);
1210
- };
1211
-
1212
- /**
1213
- * Remove the given Tool Area Item from Fiori Launchpad, in the given launchpad states.
1214
- *
1215
- * @param {string[]} aIds the Ids of the sap.ushell.ui.shell.RightFloatingContainerItem control to remove.
1216
- * @param {boolean} bCurrentState if true, remove the current control only from the current rendered shell state.
1217
- * @param {string[]} aStates list of the sap.ushell.renderers.fiori2.Renderer.LaunchpadState in which to remove the control.
1218
- * (Only valid if bCurrentState is set to false)
1219
- * @see LaunchpadState
1220
- * If no launchpad state is provided the content is removed in all states.
1221
- * @since 1.30
1222
- * @private
1223
- */
1224
- Renderer.prototype.removeRightFloatingContainerItem = function (aIds, bCurrentState, aStates) {
1225
- if (typeof aIds === "string") {
1226
- this.oShellModel.removeRightFloatingContainerItem([aIds], bCurrentState, aStates);
1227
- } else {
1228
- this.oShellModel.removeRightFloatingContainerItem(aIds, bCurrentState, aStates);
1229
- }
344
+ Fiori2Renderer.prototype.removeToolAreaItem = function (vIds, bCurrentState, aStates) {
345
+ return Renderer.prototype.removeToolAreaItem.apply(this, arguments);
1230
346
  };
1231
347
 
1232
348
  /**
@@ -1238,17 +354,13 @@ sap.ui.define([
1238
354
  * @param {string[]} aIds IDs of the button controls that should hidden.
1239
355
  * @param {boolean} bCurrentState If true, removes the current control only from the current rendered shell state.
1240
356
  * @param {string[]} aStates A list of the launchpad states in which to hide the control. Valid only if bCurrentState is set to false.
1241
- * @see sap.ushell.renderers.fiori2.renderer.LaunchpadState.
357
+ * @see sap.ushell.renderers.fiori2.Renderer.LaunchpadState.
1242
358
  * If no launchpad state is provided, the content is hidden in all states.
1243
359
  * @since 1.30
1244
360
  * @public
1245
361
  */
1246
- Renderer.prototype.hideActionButton = function (aIds, bCurrentState, aStates) {
1247
- if (typeof aIds === "string") {
1248
- this.oShellModel.removeActionButton([aIds], bCurrentState, aStates);
1249
- } else {
1250
- this.oShellModel.removeActionButton(aIds, bCurrentState, aStates);
1251
- }
362
+ Fiori2Renderer.prototype.hideActionButton = function (aIds, bCurrentState, aStates) {
363
+ return Renderer.prototype.hideActionButton.apply(this, arguments);
1252
364
  };
1253
365
 
1254
366
  /**
@@ -1266,12 +378,8 @@ sap.ui.define([
1266
378
  * @since 1.30
1267
379
  * @public
1268
380
  */
1269
- Renderer.prototype.hideLeftPaneContent = function (aIds, bCurrentState, aStates) {
1270
- if (typeof aIds === "string") {
1271
- this.oShellModel.removeLeftPaneContent([aIds], bCurrentState, aStates);
1272
- } else {
1273
- this.oShellModel.removeLeftPaneContent(aIds, bCurrentState, aStates);
1274
- }
381
+ Fiori2Renderer.prototype.hideLeftPaneContent = function (aIds, bCurrentState, aStates) {
382
+ return Renderer.prototype.hideLeftPaneContent.apply(this, arguments);
1275
383
  };
1276
384
 
1277
385
  /**
@@ -1290,12 +398,8 @@ sap.ui.define([
1290
398
  * @public
1291
399
  * @deprecated since 1.52
1292
400
  */
1293
- Renderer.prototype.hideFloatingActionButton = function (aIds, bCurrentState, aStates) {
1294
- if (typeof aIds === "string") {
1295
- this.oShellModel.removeFloatingActionButton([aIds], bCurrentState, aStates);
1296
- } else {
1297
- this.oShellModel.removeFloatingActionButton(aIds, bCurrentState, aStates);
1298
- }
401
+ Fiori2Renderer.prototype.hideFloatingActionButton = function (aIds, bCurrentState, aStates) {
402
+ return Renderer.prototype.hideFloatingActionButton.apply(this, arguments);
1299
403
  };
1300
404
 
1301
405
  /**
@@ -1313,12 +417,8 @@ sap.ui.define([
1313
417
  * @since 1.30
1314
418
  * @public
1315
419
  */
1316
- Renderer.prototype.hideHeaderEndItem = function (aIds, bCurrentState, aStates) {
1317
- if (typeof aIds === "string") {
1318
- this.oShellModel.removeHeaderEndItem([aIds], bCurrentState, aStates);
1319
- } else {
1320
- this.oShellModel.removeHeaderEndItem(aIds, bCurrentState, aStates);
1321
- }
420
+ Fiori2Renderer.prototype.hideHeaderEndItem = function (aIds, bCurrentState, aStates) {
421
+ return Renderer.prototype.hideHeaderEndItem.apply(this, arguments);
1322
422
  };
1323
423
 
1324
424
  /**
@@ -1336,12 +436,8 @@ sap.ui.define([
1336
436
  * @since 1.30
1337
437
  * @public
1338
438
  */
1339
- Renderer.prototype.hideSubHeader = function (aIds, bCurrentState, aStates) {
1340
- if (typeof aIds === "string") {
1341
- this.oShellModel.removeSubHeader([aIds], bCurrentState, aStates);
1342
- } else {
1343
- this.oShellModel.removeSubHeader(aIds, bCurrentState, aStates);
1344
- }
439
+ Fiori2Renderer.prototype.hideSubHeader = function (aIds, bCurrentState, aStates) {
440
+ return Renderer.prototype.hideSubHeader.apply(this, arguments);
1345
441
  };
1346
442
 
1347
443
  /**
@@ -1352,16 +448,8 @@ sap.ui.define([
1352
448
  * @since 1.30
1353
449
  * @public
1354
450
  */
1355
- Renderer.prototype.removeFooter = function () {
1356
- this.shellCtrl.removeFooter();
1357
- //If the footer was created by the renderer (setFooterControl API) then we will destroy it after it removed
1358
- if (this.lastFooterId) {
1359
- var oFooter = Core.byId(this.lastFooterId);
1360
- if (oFooter) {
1361
- oFooter.destroy();
1362
- }
1363
- this.lastFooterId = undefined;
1364
- }
451
+ Fiori2Renderer.prototype.removeFooter = function () {
452
+ return Renderer.prototype.removeFooter.apply(this, arguments);
1365
453
  };
1366
454
 
1367
455
  /**
@@ -1370,13 +458,12 @@ sap.ui.define([
1370
458
  * @returns {string} The current Viewport State.
1371
459
  * @since 1.37
1372
460
  * @public
461
+ * @deprecated since 1.120.0 This functionality was discontinued
1373
462
  */
1374
- Renderer.prototype.getCurrentViewportState = function () {
1375
- return this.shellCtrl.getCurrentViewportState();
463
+ Fiori2Renderer.prototype.getCurrentViewportState = function () {
464
+ return Renderer.prototype.getCurrentViewportState.apply(this, arguments);
1376
465
  };
1377
466
 
1378
- /*------------------------------------------------ Adding controls functionality ------------------------------------------*/
1379
-
1380
467
  /**
1381
468
  * Creates and displays a sub header control in Fiori launchpad, in the given launchpad states.<br>
1382
469
  * The new control is displayed in FLP UI according to the given display parameters.<br>
@@ -1414,41 +501,8 @@ sap.ui.define([
1414
501
  * @since 1.48
1415
502
  * @public
1416
503
  */
1417
- Renderer.prototype.addShellSubHeader = function (oParameters) {
1418
- var oDeferred = new jQuery.Deferred();
1419
- var that = this;
1420
- var oControlInstance;
1421
- var controlType = oParameters.controlType;
1422
- var oControlProperties = oParameters.oControlProperties;
1423
- var bIsVisible = oParameters.bIsVisible;
1424
- var bCurrentState = oParameters.bCurrentState;
1425
- var aStates = oParameters.aStates;
1426
-
1427
- // If a control instance is already created - get it by its id
1428
- if (oControlProperties && oControlProperties.id && Core.byId(oControlProperties.id)) {
1429
- oControlInstance = Core.byId(oControlProperties.id);
1430
- if (oControlInstance) {
1431
- if (bIsVisible) {
1432
- this.showSubHeader(oControlInstance.getId(), bCurrentState, aStates);
1433
- }
1434
- oDeferred.resolve(oControlInstance);
1435
- }
1436
- }
1437
- if (controlType) {
1438
- var sControlResource = controlType.replace(/\./g, "/");
1439
- sap.ui.require([sControlResource],
1440
- function (ControlObject) {
1441
- oControlInstance = new ControlObject(oControlProperties);
1442
- if (bIsVisible) {
1443
- that.showSubHeader(oControlInstance.getId(), bCurrentState, aStates);
1444
- that.oShellModel.addElementToManagedQueue(oControlInstance);
1445
- }
1446
- oDeferred.resolve(oControlInstance);
1447
- });
1448
- } else {
1449
- Log.warning("You must specify control type in order to create it");
1450
- }
1451
- return oDeferred.promise();
504
+ Fiori2Renderer.prototype.addShellSubHeader = function (oParameters) {
505
+ return Renderer.prototype.addShellSubHeader.apply(this, arguments);
1452
506
  };
1453
507
 
1454
508
  /**
@@ -1490,38 +544,8 @@ sap.ui.define([
1490
544
  * @deprecated since 1.48. Please use {@link #addShellSubHeader} instead.
1491
545
  * @public
1492
546
  */
1493
- Renderer.prototype.addSubHeader = function (controlType, oControlProperties, bIsVisible, bCurrentState, aStates) {
1494
- var sControlResource = controlType.replace(/\./g, "/");
1495
- // Try to require the control in case it is already loaded
1496
- var ControlObject = sap.ui.require(sControlResource);
1497
- var bResourceLoadedAsObject = false;
1498
-
1499
- // Verify whether the control type is already loaded
1500
- if (ControlObject) {
1501
- bResourceLoadedAsObject = true;
1502
- } else if (!ObjectPath.get(controlType || "")) {
1503
- // since 1.94, follow up for deprecation in 1.48
1504
- Log.error("Renderer.setFooterControl: the referenced control resource " + controlType + " is not available.",
1505
- undefined, "sap.ushell.renderers.fiori2.Renderer");
1506
- return undefined;
1507
- }
1508
-
1509
- var oControlInstance = this.createItem(oControlProperties, bCurrentState, function (oProperties) {
1510
- if (controlType) {
1511
- if (bResourceLoadedAsObject) {
1512
- return new ControlObject(oProperties);
1513
- }
1514
- var ControlPrototype = ObjectPath.get(controlType || "");
1515
- return new ControlPrototype(oProperties);
1516
- }
1517
- Log.warning("You must specify control type in order to create it");
1518
- return undefined;
1519
- });
1520
-
1521
- if (bIsVisible) {
1522
- this.showSubHeader(oControlInstance.getId(), bCurrentState, aStates);
1523
- }
1524
- return oControlInstance;
547
+ Fiori2Renderer.prototype.addSubHeader = function (controlType, oControlProperties, bIsVisible, bCurrentState, aStates) {
548
+ return Renderer.prototype.addSubHeader.apply(this, arguments);
1525
549
  };
1526
550
 
1527
551
  /**
@@ -1559,67 +583,8 @@ sap.ui.define([
1559
583
  * @since 1.48
1560
584
  * @public
1561
585
  */
1562
- Renderer.prototype.addUserAction = function (oParameters) {
1563
- var oDeferred = new jQuery.Deferred();
1564
- var that = this;
1565
- var oControlInstance;
1566
- var controlType = oParameters.controlType;
1567
- var oControlProperties = oParameters.oControlProperties;
1568
- var bIsVisible = oParameters.bIsVisible;
1569
- var bCurrentState = oParameters.bCurrentState;
1570
- var oModelToUpdate = bCurrentState ? AppLifeCycle.shellElements().getStateModelToUpdate() : this.oShellModel.getModelToUpdate();
1571
- var aStates = oParameters.aStates;
1572
-
1573
- // If a control instance is already created - get it by its id
1574
- if (oControlProperties) {
1575
- oControlInstance = Core.byId(oControlProperties.id);
1576
- }
1577
-
1578
- if (oControlInstance) {
1579
- oDeferred.resolve(oControlInstance);
1580
- }
1581
-
1582
- if (controlType) {
1583
- if (controlType === "sap.m.Button") {
1584
- controlType = "sap.ushell.ui.launchpad.ActionItem";
1585
- }
1586
- var sControlResource = controlType.replace(/\./g, "/");
1587
- sap.ui.require([sControlResource], function (ControlClass) {
1588
- // change model
1589
- var oOrigShellModel;
1590
-
1591
- if (bCurrentState) {
1592
- oOrigShellModel = AppLifeCycle.shellElements().getStateModelToUpdate();
1593
- AppLifeCycle.shellElements().setStateModelToUpdate(oModelToUpdate);
1594
- } else {
1595
- oOrigShellModel = that.oShellModel.getModelToUpdate();
1596
- that.oShellModel.setModelToUpdate(oModelToUpdate, true);
1597
- }
1598
-
1599
- oControlInstance = oControlInstance || new ControlClass(oControlProperties);
1600
-
1601
- if (!oControlInstance.getActionType) {
1602
- oControlInstance = new ControlClass(oControlProperties);
1603
- }
1604
-
1605
- if (bIsVisible) {
1606
- that.showActionButton(oControlInstance.getId(), bCurrentState, aStates);
1607
- }
1608
-
1609
- if (bCurrentState) {
1610
- AppLifeCycle.shellElements().setStateModelToUpdate(oOrigShellModel);
1611
- } else {
1612
- that.oShellModel.setModelToUpdate(oOrigShellModel, false);
1613
- }
1614
-
1615
- oDeferred.resolve(oControlInstance);
1616
- });
1617
- } else {
1618
- var sNoControlTypeErrorMessage = "You must specify control type in order to create it";
1619
- Log.warning(sNoControlTypeErrorMessage);
1620
- oDeferred.reject(sNoControlTypeErrorMessage);
1621
- }
1622
- return oDeferred.promise();
586
+ Fiori2Renderer.prototype.addUserAction = function (oParameters) {
587
+ return Renderer.prototype.addUserAction.apply(this, arguments);
1623
588
  };
1624
589
 
1625
590
  /**
@@ -1644,51 +609,15 @@ sap.ui.define([
1644
609
  * Once the user navigates to another app or back to the home page, this control will be removed.
1645
610
  * @param {string[]} aStates List of the launchpad states (sap.ushell.renderers.fiori2.Renderer.LaunchpadState) in which to add the control.
1646
611
  * Valid only if bCurrentState is set to false.
1647
- * @see sap.ushell.renderers.fiori2.renderer.LaunchpadState
612
+ * @see sap.ushell.renderers.fiori2.Renderer.LaunchpadState
1648
613
  * If no launchpad state is provided, the content is added in all states.
1649
614
  * @returns {sap.ui.core.Control} oItem - the created control
1650
615
  * @since 1.30
1651
616
  * @deprecated since 1.48. Please use {@link #addUserAction} instead.
1652
617
  * @public
1653
618
  */
1654
- Renderer.prototype.addActionButton = function (controlType, oControlProperties, bIsVisible, bCurrentState, aStates) {
1655
- var bResourceLoadedAsObject = false;
1656
-
1657
- if (controlType === "sap.m.Button") {
1658
- controlType = "sap.ushell.ui.launchpad.ActionItem";
1659
- }
1660
-
1661
- var sControlResource = controlType.replace(/\./g, "/");
1662
- // Try to require the control in case it is already loaded
1663
- var ControlObject = sap.ui.require(sControlResource);
1664
-
1665
- // Verify whether the control type is already loaded
1666
- if (ControlObject) {
1667
- bResourceLoadedAsObject = true;
1668
- } else if (!ObjectPath.get(controlType || "")) {
1669
- // since 1.94, follow up for deprecation in 1.48
1670
- Log.error("Renderer.setFooterControl: the referenced control resource " + controlType + " is not available.",
1671
- undefined, "sap.ushell.renderers.fiori2.Renderer");
1672
- return undefined;
1673
- }
1674
-
1675
- var oControlInstance = this.createItem(oControlProperties, bCurrentState, function (oProperties) {
1676
- if (controlType) {
1677
- if (bResourceLoadedAsObject) {
1678
- return new ControlObject(oProperties);
1679
- }
1680
- var ControlPrototype = ObjectPath.get(controlType || "");
1681
- return new ControlPrototype(oProperties);
1682
- }
1683
- Log.warning("You must specify control type in order to create it");
1684
- return undefined;
1685
- });
1686
-
1687
- if (bIsVisible) {
1688
- this.showActionButton(oControlInstance.getId(), bCurrentState, aStates);
1689
- }
1690
-
1691
- return oControlInstance;
619
+ Fiori2Renderer.prototype.addActionButton = function (controlType, oControlProperties, bIsVisible, bCurrentState, aStates) {
620
+ return Renderer.prototype.addActionButton.apply(this, arguments);
1692
621
  };
1693
622
 
1694
623
  /**
@@ -1721,44 +650,8 @@ sap.ui.define([
1721
650
  * @public
1722
651
  * @deprecated since 1.52
1723
652
  */
1724
- Renderer.prototype.addFloatingButton = function (oParameters) {
1725
- var oDeferred = new jQuery.Deferred();
1726
- var that = this;
1727
- var sControlResource;
1728
- var oControlInstance;
1729
- var controlType = oParameters.controlType;
1730
- var oControlProperties = oParameters.oControlProperties;
1731
- var bIsVisible = oParameters.bIsVisible;
1732
- var bCurrentState = oParameters.bCurrentState;
1733
- var aStates = oParameters.aStates;
1734
-
1735
- // If a control instance is already created - get it by its id
1736
- if (oControlProperties && oControlProperties.id && Core.byId(oControlProperties.id)) {
1737
- oControlInstance = Core.byId(oControlProperties.id);
1738
- if (oControlInstance) {
1739
- if (bIsVisible) {
1740
- that.showFloatingActionButton(oControlInstance.getId(), bCurrentState, aStates);
1741
- that.oShellModel.addElementToManagedQueue(oControlInstance);
1742
- }
1743
- oDeferred.resolve(oControlInstance);
1744
- }
1745
- }
1746
-
1747
- if (controlType) {
1748
- sControlResource = controlType.replace(/\./g, "/");
1749
- } else {
1750
- sControlResource = "sap/m/Button";
1751
- }
1752
-
1753
- sap.ui.require([sControlResource],
1754
- function (ControlObject) {
1755
- oControlInstance = new ControlObject(oControlProperties);
1756
- if (bIsVisible) {
1757
- that.showFloatingActionButton(oControlInstance.getId(), bCurrentState, aStates);
1758
- }
1759
- oDeferred.resolve(oControlInstance);
1760
- });
1761
- return oDeferred.promise();
653
+ Fiori2Renderer.prototype.addFloatingButton = function (oParameters) {
654
+ return Renderer.prototype.addFloatingButton.apply(this, arguments);
1762
655
  };
1763
656
 
1764
657
  /**
@@ -1789,44 +682,8 @@ sap.ui.define([
1789
682
  * @deprecated since 1.48. Please use {@link #addFloatingButton} instead.
1790
683
  * @public
1791
684
  */
1792
- Renderer.prototype.addFloatingActionButton = function (controlType, oControlProperties, bIsVisible, bCurrentState, aStates) {
1793
- var bResourceLoadedAsObject = false;
1794
-
1795
- if (!controlType) {
1796
- controlType = "sap.m.Button";
1797
- }
1798
-
1799
- var sControlResource = controlType.replace(/\./g, "/");
1800
- // Try to require the control in case it is already loaded
1801
- var ControlObject = sap.ui.require(sControlResource);
1802
-
1803
- // Verify whether the control type is already loaded
1804
- if (ControlObject) {
1805
- bResourceLoadedAsObject = true;
1806
- } else if (!ObjectPath.get(controlType || "")) {
1807
- // since 1.94, follow up for deprecation in 1.48
1808
- Log.error("Renderer.setFooterControl: the referenced control resource " + controlType + " is not available.",
1809
- undefined, "sap.ushell.renderers.fiori2.Renderer");
1810
- return undefined;
1811
- }
1812
-
1813
- var oControlInstance = this.createItem(oControlProperties, bCurrentState, function (oProperties) {
1814
- if (controlType) {
1815
- if (bResourceLoadedAsObject) {
1816
- return new ControlObject(oProperties);
1817
- }
1818
- var ControlPrototype = ObjectPath.get(controlType || "");
1819
- return new ControlPrototype(oProperties);
1820
- }
1821
- Log.warning("You must specify control type in order to create it");
1822
- return undefined;
1823
- });
1824
-
1825
- if (bIsVisible) {
1826
- this.showFloatingActionButton(oControlInstance.getId(), bCurrentState, aStates);
1827
- }
1828
-
1829
- return oControlInstance;
685
+ Fiori2Renderer.prototype.addFloatingActionButton = function (controlType, oControlProperties, bIsVisible, bCurrentState, aStates) {
686
+ return Renderer.prototype.addFloatingActionButton.apply(this, arguments);
1830
687
  };
1831
688
 
1832
689
  /**
@@ -1869,39 +726,8 @@ sap.ui.define([
1869
726
  * @since 1.48
1870
727
  * @public
1871
728
  */
1872
- Renderer.prototype.addSidePaneContent = function (oParameters) {
1873
- var oDeferred = new jQuery.Deferred();
1874
- var that = this;
1875
- var oControlInstance;
1876
- var controlType = oParameters.controlType;
1877
- var oControlProperties = oParameters.oControlProperties;
1878
- var bIsVisible = oParameters.bIsVisible;
1879
- var bCurrentState = oParameters.bCurrentState;
1880
- var aStates = oParameters.aStates;
1881
-
1882
- // If a control instance is already created - get it by its id
1883
- if (oControlProperties && oControlProperties.id && Core.byId(oControlProperties.id)) {
1884
- oControlInstance = Core.byId(oControlProperties.id);
1885
- if (oControlInstance) {
1886
- oDeferred.resolve(oControlInstance);
1887
- }
1888
- }
1889
-
1890
- if (controlType) {
1891
- var sControlResource = controlType.replace(/\./g, "/");
1892
- sap.ui.require([sControlResource],
1893
- function (ControlObject) {
1894
- oControlInstance = new ControlObject(oControlProperties);
1895
- if (bIsVisible) {
1896
- that.oShellModel.addElementToManagedQueue(oControlInstance);
1897
- that.showLeftPaneContent(oControlInstance.getId(), bCurrentState, aStates);
1898
- }
1899
- oDeferred.resolve(oControlInstance);
1900
- });
1901
- } else {
1902
- Log.warning("You must specify control type in order to create it");
1903
- }
1904
- return oDeferred.promise();
729
+ Fiori2Renderer.prototype.addSidePaneContent = function (oParameters) {
730
+ return Renderer.prototype.addSidePaneContent.apply(this, arguments);
1905
731
  };
1906
732
 
1907
733
  /**
@@ -1931,39 +757,8 @@ sap.ui.define([
1931
757
  * @deprecated since 1.48. Please use {@link #addSidePaneContent} instead.
1932
758
  * @public
1933
759
  */
1934
- Renderer.prototype.addLeftPaneContent = function (controlType, oControlProperties, bIsVisible, bCurrentState, aStates) {
1935
- var sControlResource = controlType.replace(/\./g, "/");
1936
- // Try to require the control in case it is already loaded
1937
- var ControlObject = sap.ui.require(sControlResource);
1938
- var bResourceLoadedAsObject;
1939
-
1940
- // Verify whether the control type is already loaded
1941
- if (ControlObject) {
1942
- bResourceLoadedAsObject = true;
1943
- } else if (!ObjectPath.get(controlType || "")) {
1944
- // since 1.94, follow up for deprecation in 1.48
1945
- Log.error("Renderer.setFooterControl: the referenced control resource " + controlType + " is not available.",
1946
- undefined, "sap.ushell.renderers.fiori2.Renderer");
1947
- return undefined;
1948
- }
1949
-
1950
- var oControlInstance = this.createItem(oControlProperties, bCurrentState, function (oProperties) {
1951
- if (controlType) {
1952
- if (bResourceLoadedAsObject) {
1953
- return new ControlObject(oProperties);
1954
- }
1955
- var ControlPrototype = ObjectPath.get(controlType || "");
1956
- return new ControlPrototype(oProperties);
1957
- }
1958
- Log.warning("You must specify control type in order to create it");
1959
- return undefined;
1960
- });
1961
-
1962
- if (bIsVisible) {
1963
- this.showLeftPaneContent(oControlInstance.getId(), bCurrentState, aStates);
1964
- }
1965
-
1966
- return oControlInstance;
760
+ Fiori2Renderer.prototype.addLeftPaneContent = function (controlType, oControlProperties, bIsVisible, bCurrentState, aStates) {
761
+ return Renderer.prototype.addLeftPaneContent.apply(this, arguments);
1967
762
  };
1968
763
 
1969
764
  /**
@@ -2004,70 +799,8 @@ sap.ui.define([
2004
799
  * @since 1.30
2005
800
  * @public
2006
801
  */
2007
- Renderer.prototype.addHeaderItem = function (controlType, oControlProperties, bIsVisible, bCurrentState, aStates) {
2008
- // in order to support deprecation of the never used argument: 'controlType' , we'll need to check whether it was passed to
2009
- // the function by checking the types of the first two arguments
2010
- if (typeof (arguments[0]) === "object" && typeof (arguments[1]) === "boolean") {
2011
- oControlProperties = arguments[0];
2012
- bIsVisible = arguments[1];
2013
- bCurrentState = arguments[2];
2014
- aStates = arguments[3];
2015
- } else {
2016
- Log.error("sap.ushell.renderers.fiori2.Renderer: The parameter 'controlType' of the function 'addHeaderItem' is deprecated. Usage will be ignored!");
2017
- }
2018
-
2019
- var oItem = this.createItem(oControlProperties, bCurrentState, function (oProperties) {
2020
- return new ShellHeadItem(oProperties);
2021
- });
2022
-
2023
- if (bIsVisible) {
2024
- this.showHeaderItem(oItem.getId(), bCurrentState, aStates);
2025
- }
2026
-
2027
- return oItem;
2028
- };
2029
-
2030
- /**
2031
- * Creates a RightFloatingContainerItem in Fiori Launchpad and adds it to the Tool Area, in the given launchpad states.</br>
2032
- * If no items are added to the Tool Area, it will not be displayed.</br>
2033
- * Once an item is added, the Tool Area is rendered on the left side on the Fiori Launchpad shell.</br>
2034
- *
2035
- * <b>Example:</b>
2036
- * <pre>
2037
- * sap.ushell.Container.getRenderer("fiori2").addRightFloatingContainerItem({
2038
- * id: 'testButton',
2039
- * icon: "sap-icon://documents",
2040
- * press: function (evt) {
2041
- * window.alert('Press' );
2042
- * },
2043
- * expand: function (evt) {
2044
- * window.alert('Expand' );
2045
- * }
2046
- * }, true, false, ["home"]);
2047
- * </pre>
2048
- *
2049
- * @param {object} oControlProperties The properties object that will be passed to the constructor of sap.ushell.ui.shell.RightFloatingContainerItem control.
2050
- * @see sap.ushell.ui.shell.RightFloatingContainerItem
2051
- * @param {boolean} bIsVisible Specify whether to display the control.
2052
- * @param {boolean} bCurrentState If true, add the current control only to the current rendered shell state.
2053
- * @param {string[]} aStates List of the sap.ushell.renderers.fiori2.Renderer.LaunchpadState in which to add the control.
2054
- * Only valid if bCurrentState is set to false.
2055
- * @see LaunchpadState
2056
- * If no launchpad state is provided the content is added in all states.
2057
- * @returns {object} oItem - the created control
2058
- * @since 1.30
2059
- * @private
2060
- */
2061
- Renderer.prototype.addRightFloatingContainerItem = function (oControlProperties, bIsVisible, bCurrentState, aStates) {
2062
- var oItem = this.createItem(oControlProperties, bCurrentState, function (oProperties) {
2063
- return new NotificationListItem(oProperties);
2064
- });
2065
-
2066
- if (bIsVisible) {
2067
- this.showRightFloatingContainerItem(oItem.getId(), bCurrentState, aStates);
2068
- }
2069
-
2070
- return oItem;
802
+ Fiori2Renderer.prototype.addHeaderItem = function (controlType, oControlProperties, bIsVisible, bCurrentState, aStates) {
803
+ return Renderer.prototype.addHeaderItem.apply(this, arguments);
2071
804
  };
2072
805
 
2073
806
  /**
@@ -2099,22 +832,13 @@ sap.ui.define([
2099
832
  * @param {string[]} aStates (only valid if bCurrentState is set to <code>false</code>) -
2100
833
  * An array of shell states (i.e. sap.ushell.renderers.fiori2.Renderer.LaunchpadState) in which the controls are added.
2101
834
  * If no launchpad state is provided the items are added in all states.
2102
- * @see sap.ushell.renderers.fiori2.renderer.LaunchpadState.
835
+ * @see sap.ushell.renderers.fiori2.Renderer.LaunchpadState.
2103
836
  * @returns {sap.ui.core.Control} the added control
2104
837
  * @since 1.30
2105
838
  * @public
2106
839
  */
2107
- Renderer.prototype.addToolAreaItem = function (oControlProperties, bIsVisible, bCurrentState, aStates) {
2108
- oControlProperties.visible = !!bIsVisible;
2109
-
2110
- var fnCreate = function (oProperties) {
2111
- return new ToolAreaItem(oProperties);
2112
- };
2113
- var oItem = this.createItem(oControlProperties, bCurrentState, fnCreate);
2114
-
2115
- this.oShellModel.addToolAreaItem(oItem.getId(), !!bIsVisible, bCurrentState, aStates);
2116
-
2117
- return oItem;
840
+ Fiori2Renderer.prototype.addToolAreaItem = function (oControlProperties, bIsVisible, bCurrentState, aStates) {
841
+ return Renderer.prototype.addToolAreaItem.apply(this, arguments);
2118
842
  };
2119
843
 
2120
844
  /**
@@ -2173,30 +897,8 @@ sap.ui.define([
2173
897
  * @since 1.30
2174
898
  * @public
2175
899
  */
2176
- Renderer.prototype.addHeaderEndItem = function (controlType, oControlProperties, bIsVisible, bCurrentState, aStates) {
2177
- // in order to support deprecation of the never used argument: 'controlType' , we'll need to check whether it was passed to
2178
- // the function by checking the types of the first two arguments
2179
- if (typeof (arguments[0]) === "object" && typeof (arguments[1]) === "boolean") {
2180
- oControlProperties = arguments[0];
2181
- bIsVisible = arguments[1];
2182
- bCurrentState = arguments[2];
2183
- aStates = arguments[3];
2184
- }
2185
- var oItem = this.createItem(oControlProperties, bCurrentState, function (oProperties) {
2186
- return new ShellHeadItem(oProperties);
2187
- });
2188
-
2189
- if (bIsVisible) {
2190
- this.showHeaderEndItem(oItem.getId(), bCurrentState, aStates);
2191
- }
2192
-
2193
- return oItem;
2194
- };
2195
-
2196
- /*-------------------general---------------------------*/
2197
-
2198
- Renderer.prototype.getModelConfiguration = function () {
2199
- return this.shellCtrl.getModelConfiguration();
900
+ Fiori2Renderer.prototype.addHeaderEndItem = function (controlType, oControlProperties, bIsVisible, bCurrentState, aStates) {
901
+ return Renderer.prototype.addHeaderEndItem.apply(this, arguments);
2200
902
  };
2201
903
 
2202
904
  /**
@@ -2209,10 +911,8 @@ sap.ui.define([
2209
911
  * @deprecated since 1.93
2210
912
  * @public
2211
913
  */
2212
- Renderer.prototype.addEndUserFeedbackCustomUI = function (oCustomUIContent, bShowCustomUIContent) {
2213
- if (oCustomUIContent || bShowCustomUIContent) {
2214
- Log.info("Application calls sap.ushell.Renderer.addEndUserFeedbackCustomUI. This function is deprecated. The call has no effect.");
2215
- }
914
+ Fiori2Renderer.prototype.addEndUserFeedbackCustomUI = function (oCustomUIContent, bShowCustomUIContent) {
915
+ return Renderer.prototype.addEndUserFeedbackCustomUI.apply(this, arguments);
2216
916
  };
2217
917
 
2218
918
  /**
@@ -2251,67 +951,8 @@ sap.ui.define([
2251
951
  * @since 1.30
2252
952
  * @public
2253
953
  */
2254
- Renderer.prototype.addUserPreferencesEntry = function (entryObject) {
2255
- this.shellCtrl.addUserPreferencesEntry(entryObject);
2256
- };
2257
-
2258
- /**
2259
- * Adds an entry to the User Preferences dialog box including the UI control that appears when the user clicks the new entry,
2260
- * and handling of User Preferences actions such as SAVE and CANCEL.
2261
- *
2262
- * If an entry with the same groupingId exists, then they will share one entry and the content of each entry in the group,
2263
- * is reachable via an IconTabBar.
2264
- *
2265
- * <b>Example:</b>
2266
- * <pre>
2267
- * var oRenderer = sap.ushell.Container.getRenderer("fiori2");
2268
- * var oEntry = {
2269
- * title: "title",
2270
- * value: function() {
2271
- * return jQuery.Deferred().resolve("entryTitleToBeDisplayed");
2272
- * },
2273
- * content: function() {
2274
- * return jQuery.Deferred().resolve(new sap.m.Button("userPrefEntryButton", {text: "Button"}));
2275
- * },
2276
- * onSave: function() {
2277
- * return jQuery.Deferred().resolve();
2278
- * },
2279
- * groupingId: "userActivities",
2280
- * groupingTabHelpId: "myNewUserActivitiesTab",
2281
- * groupingTabTitle: "myNewUserActivitiesTabName"
2282
- * };
2283
- * oRenderer.addUserPreferencesGroupedEntry(oEntry);
2284
- * </pre>
2285
- *
2286
- * @param {object} entryObject The data of the new added User Preference entry
2287
- * Including:
2288
- * <ul>
2289
- * <li>{string} entryHelpID (Optional) - The ID of the object.<br>
2290
- * <li>{string} title - The title of the entry to be presented in the list in the User Preferences dialog box.<br>
2291
- * We recommend using a string from the translation bundle.<br>
2292
- * <li>{string}/{Function} value - A string to be presented as the value of the entry<br>
2293
- * OR a function to be called which returns a {jQuery.Deferred.promise} object.<br>
2294
- * <li>{Function} content - A function to be called that returns a {jQuery.Deferred.promise} object<br>
2295
- * which consists of a {sap.ui.core.Control} to be displayed in a follow-on dialog box. A SAPUI5 view instance can also be returned.
2296
- * The functions is called on each time the user opens the User Preferences dialog box.
2297
- * <li>{Function} onSave - A function to be called which returns a {jQuery.Deferred.promise}
2298
- * object when the user clicks Save in the User Preferences dialog box.<br>
2299
- * If an error occurs, pass the error message via the {jQuery.Deferred.promise} object. Errors are displayed in the log.<br>
2300
- * <li>{Function} onCancel - A function to be called that closes the User Preferences dialog box without saving any changes. <br>
2301
- * <li>{boolean} provideEmptyWrapper - Experimental. Set this value to true if you want that your content is displayed without the standard header<br>
2302
- * <li>{string} groupingId - The ID of the group this entry should be included in <br>
2303
- * <li>{string} groupingTabTitle - The tab title of the entry, when this entry is grouped. <br>
2304
- * <li>{string} groupingTabHelpId - The help ID for the grouped tab, when this entry is grouped. <br>
2305
- * </ul>
2306
- *
2307
- * @returns {object} User Preference Entry.
2308
- *
2309
- * @ui5-restricted sap.fe, sap.esh.search.ui
2310
- * @since 1.110
2311
- * @private
2312
- */
2313
- Renderer.prototype.addUserPreferencesGroupedEntry = function (entryObject) {
2314
- return this.shellCtrl.addUserPreferencesEntry(entryObject, true);
954
+ Fiori2Renderer.prototype.addUserPreferencesEntry = function (entryObject) {
955
+ return Renderer.prototype.addUserPreferencesEntry.apply(this, arguments);
2315
956
  };
2316
957
 
2317
958
  /**
@@ -2320,9 +961,10 @@ sap.ui.define([
2320
961
  * @param {string} sTitle The title to be displayed in the Fiori Launchpad shell header
2321
962
  * @since 1.30
2322
963
  * @public
964
+ * @deprecated since 1.120.0 Please use {@link sap.ushell.ui5service.ShellUIService#getTitle} instead.
2323
965
  */
2324
- Renderer.prototype.setHeaderTitle = function (sTitle) {
2325
- this.shellCtrl.setHeaderTitle(sTitle);
966
+ Fiori2Renderer.prototype.setHeaderTitle = function (sTitle) {
967
+ return Renderer.prototype.setHeaderTitle.apply(this, arguments);
2326
968
  };
2327
969
 
2328
970
  /**
@@ -2333,8 +975,8 @@ sap.ui.define([
2333
975
  * @since 1.30
2334
976
  * @public
2335
977
  */
2336
- Renderer.prototype.setLeftPaneVisibility = function (sLaunchpadState, bVisible) {
2337
- this.oShellModel.setLeftPaneVisibility(bVisible, false, [sLaunchpadState]);
978
+ Fiori2Renderer.prototype.setLeftPaneVisibility = function (sLaunchpadState, bVisible) {
979
+ return Renderer.prototype.setLeftPaneVisibility.apply(this, arguments);
2338
980
  };
2339
981
 
2340
982
  /**
@@ -2344,97 +986,10 @@ sap.ui.define([
2344
986
  * @param {boolean} [bVisible] - specifies whether to display the ToolArea or not
2345
987
  * @public
2346
988
  */
2347
- Renderer.prototype.showToolArea = function (sLaunchpadState, bVisible) {
2348
- this.oShellModel.showShellItem("/toolAreaVisible", sLaunchpadState, bVisible);
2349
- };
2350
-
2351
- Renderer.prototype.setHeaderHiding = function (bHiding) {
2352
- return this.oShellModel.setHeaderHiding(bHiding);
2353
- };
2354
-
2355
- /**
2356
- * Set the content of the floating container in the given launchpad states.<br><br>
2357
- *
2358
- * The floating container displays a single UI control of type <code>sap.ui.core.Control</code>.<br>
2359
- * The initial visibility of the floating container is <code>false</code> and is set using:
2360
- * @see sap.ushell.renderers.fiori2.Renderer.prototype.setFloatingContainerVisibility<br><br>
2361
- *
2362
- * <b>Example for setting the container's content for the "home" and "app" states:</b>
2363
- * <pre>
2364
- * var oRenderer = sap.ushell.Container.getRenderer("fiori2"),
2365
- * oButton = new sap.m.Button("Button", {text: "Button"});
2366
- * oRenderer.setFloatingContainerContent(oButton, false, ["home", "app"]);
2367
- * oRenderer.setFloatingContainerVisibility(true);
2368
- * </pre>
2369
- *
2370
- * @param {sap.ui.core.Control} oControl The UI control that is set to be the content of the floating container
2371
- * @param {boolean} bCurrentState If <code>true</code> (and the container's visibility is set to <code>true</code>)
2372
- * then the given content is displayed by the container in the current shell state.<br>
2373
- * When the user navigates to a different state (including navigating to a different application) then the content will be removed.<br>
2374
- * If <code>false</code> then the content is added to the states mentioned in the parameter <code>aStates</code>.<br>
2375
- * @param {string[]} aStates (Valid only if bCurrentState is <code>false</code>)<br>
2376
- * A list of shell states (i.e. sap.ushell.renderers.fiori2.Renderer.LaunchpadState) in which the given content is shown in
2377
- * the floating container (if the container's visibility is set to <code>true</code>).<br>
2378
- * If no launchpad state is provided the content is added in all states.
2379
- * @see LaunchpadState
2380
- * @private
2381
- */
2382
- Renderer.prototype.setFloatingContainerContent = function (oControl, bCurrentState, aStates) {
2383
- this.shellCtrl.setFloatingContainerContent("floatingContainerContent", [oControl.getId()], bCurrentState, aStates);
2384
- };
2385
-
2386
- /**
2387
- * Set the current visibility state of the floating container
2388
- *
2389
- * @param {boolean} bVisible The visibility state of the floating container
2390
- * @private
2391
- */
2392
- Renderer.prototype.setFloatingContainerVisibility = function (bVisible) {
2393
- this.shellCtrl.setFloatingContainerVisibility(bVisible);
2394
- };
2395
-
2396
- /**
2397
- * Get the current docking state of the floating container
2398
- *
2399
- * @returns {boolean} The state : floating or docked
2400
- * @private
2401
- */
2402
- Renderer.prototype.getFloatingContainerState = function () {
2403
- return this.shellCtrl.getFloatingContainerState();
989
+ Fiori2Renderer.prototype.showToolArea = function (sLaunchpadState, bVisible) {
990
+ return Renderer.prototype.showToolArea.apply(this, arguments);
2404
991
  };
2405
992
 
2406
- /**
2407
- * Get the current visibility state of the floating container
2408
- *
2409
- * @returns {boolean} Indicates whether the floating container is visible
2410
- * @private
2411
- */
2412
- Renderer.prototype.getFloatingContainerVisiblity = function () {
2413
- return this.shellCtrl.getFloatingContainerVisibility();
2414
- };
2415
-
2416
- /**
2417
- * Get the current visibility state of the floating container
2418
- *
2419
- * @returns {boolean} Indicates whether the floating container is visible
2420
- * @private
2421
- */
2422
- Renderer.prototype.getRightFloatingContainerVisibility = function () {
2423
- return this.shellCtrl.getRightFloatingContainerVisibility();
2424
- };
2425
-
2426
- /**
2427
- * Set the element that will capture the floating container
2428
- *
2429
- * @param {string} sElementToCaptureSelector Element to capture selector.
2430
- * @private
2431
- */
2432
- Renderer.prototype.setFloatingContainerDragSelector = function (sElementToCaptureSelector) {
2433
- this.shellCtrl.setFloatingContainerDragSelector(sElementToCaptureSelector);
2434
- };
2435
-
2436
- /*---------------States------------------------*/
2437
-
2438
993
  /**
2439
994
  * The launchpad states that can be passed as a parameter.</br>
2440
995
  *
@@ -2445,343 +1000,7 @@ sap.ui.define([
2445
1000
  * @since 1.30
2446
1001
  * @public
2447
1002
  */
2448
- Renderer.prototype.LaunchpadState = {
2449
- App: "app",
2450
- Home: "home"
2451
- };
2452
-
2453
- /*---------------Conditional----------------*/
2454
-
2455
- Renderer.prototype.createTriggers = function (aTriggers, bCurrentState, aStates) {
2456
- this.oShellModel.createTriggers(aTriggers, bCurrentState, aStates);
2457
- };
2458
-
2459
- /*---------------Generic--------------------*/
2460
-
2461
- Renderer.prototype.convertButtonsToActions = function (aIds, bCurrentState, aStates) {
2462
- var oProperties = {};
2463
- var that = this;
2464
- aIds.forEach(function (sId) {
2465
- var oButton = Core.byId(sId);
2466
- oProperties.id = oButton.getId();
2467
- oProperties.text = oButton.getText();
2468
- oProperties.icon = oButton.getIcon();
2469
- oProperties.tooltip = oButton.getTooltip();
2470
- oProperties.enabled = oButton.getEnabled();
2471
- oProperties.visible = oButton.getVisible();
2472
- if (oButton.mEventRegistry && oButton.mEventRegistry.press) {
2473
- oProperties.press = oButton.mEventRegistry.press[0].fFunction;
2474
- }
2475
- oButton.destroy();
2476
- that.addActionButton("sap.ushell.ui.launchpad.ActionItem", oProperties, oProperties.visible, bCurrentState, aStates);
2477
- });
2478
- };
2479
-
2480
- Renderer.prototype.createItem = function (oControlProperties, bCurrentState, fnCreateItem) {
2481
- // create the object
2482
- var oItem;
2483
- if (oControlProperties && oControlProperties.id) {
2484
- oItem = Core.byId(oControlProperties.id);
2485
- }
2486
- if (!oItem) {
2487
- oItem = fnCreateItem(oControlProperties);
2488
- if (bCurrentState) {
2489
- this.oShellModel.addElementToManagedQueue(oItem);
2490
- }
2491
- }
2492
-
2493
- return oItem;
2494
- };
2495
-
2496
- /*------------Custom State Entry------------------------------*/
2497
-
2498
- Renderer.prototype.addEntryInShellStates = function (sName, entrySuffix, fnAdd, fnRemove, oStateConfiguration) {
2499
- this.oShellModel.addEntryInShellStates(sName, entrySuffix, fnAdd, fnRemove, oStateConfiguration);
2500
- };
2501
-
2502
- Renderer.prototype.removeCustomItems = function (sStateEntry, aIds, bCurrentState, aStates) {
2503
- if (typeof aIds === "string") {
2504
- this.oShellModel.removeCustomItems(sStateEntry, [aIds], bCurrentState, aStates);
2505
- } else {
2506
- this.oShellModel.removeCustomItems(sStateEntry, aIds, bCurrentState, aStates);
2507
- }
2508
- };
2509
-
2510
- Renderer.prototype.addCustomItems = function (sStateEntry, aIds, bCurrentState, aStates) {
2511
- if (typeof aIds === "string") {
2512
- this.oShellModel.addCustomItems(sStateEntry, [aIds], bCurrentState, aStates);
2513
- } else {
2514
- this.oShellModel.addCustomItems(sStateEntry, aIds, bCurrentState, aStates);
2515
- }
2516
- };
2517
-
2518
- Renderer.prototype.addRightViewPort = function (oView) {
2519
- this.shellCtrl.getViewPortContainer().addRightViewPort(oView, false);
2520
- };
2521
-
2522
- Renderer.prototype.addLeftViewPort = function (oView) {
2523
- this.shellCtrl.getViewPortContainer().addLeftViewPort(oView, false);
2524
- };
2525
-
2526
- Renderer.prototype.getShellController = function () {
2527
- return this.shellCtrl;
2528
- };
2529
-
2530
- Renderer.prototype.getViewPortContainerCurrentState = function () {
2531
- return this.shellCtrl.getViewPortContainer().getCurrentState();
2532
- };
2533
-
2534
- Renderer.prototype.ViewPortContainerNavTo = function (sName, sTargetName, sAction) {
2535
- return this.shellCtrl.getViewPortContainer().navTo(sName, sTargetName, sAction);
2536
- };
2537
-
2538
- /**
2539
- * @deprecated since 1.65
2540
- */
2541
- Renderer.prototype.switchViewPortStateByControl = function () { };
2542
-
2543
- /**
2544
- * @deprecated since 1.65
2545
- */
2546
- Renderer.prototype.ViewPortContainerAttachAfterSwitchStateAnimationFinished = function () { };
2547
-
2548
- Renderer.prototype.setUserActionsMenuSelected = function (bSelected) {
2549
- this.shellCtrl.setUserActionsMenuSelected(bSelected);
2550
- };
2551
-
2552
- Renderer.prototype.getUserActionsMenuSelected = function () {
2553
- return this.shellCtrl.getUserActionsMenuSelected();
2554
- };
2555
-
2556
- Renderer.prototype.setNotificationsSelected = function (bSelected) {
2557
- this.shellCtrl.setNotificationsSelected(bSelected);
2558
- };
2559
-
2560
- Renderer.prototype.getNotificationsSelected = function () {
2561
- return this.shellCtrl.getNotificationsSelected();
2562
- };
2563
-
2564
- Renderer.prototype.addShellDanglingControl = function (oControl) {
2565
- this.shellCtrl.getView().addDanglingControl(oControl);
2566
- };
2567
-
2568
- Renderer.prototype.getShellConfig = function () {
2569
- return (this.shellCtrl.getView().getViewData() ? this.shellCtrl.getView().getViewData().config || {} : {});
2570
- };
2571
-
2572
- Renderer.prototype.getEndUserFeedbackConfiguration = function () {
2573
- return {}; // Deprecated
2574
- };
2575
-
2576
- Renderer.prototype.reorderUserPrefEntries = function (entries) {
2577
- return this.shellCtrl._reorderUserPrefEntries(entries);
2578
- };
2579
-
2580
- Renderer.prototype.addUserProfilingEntry = function (entryObject) {
2581
- this.shellCtrl.addUserProfilingEntry(entryObject);
2582
- };
2583
-
2584
- Renderer.prototype.logRecentActivity = function (oRecentEntry) {
2585
- if (!oRecentEntry.appType) {
2586
- oRecentEntry.appType = AppType.APP;
2587
- }
2588
- if (!oRecentEntry.appId) {
2589
- oRecentEntry.appId = oRecentEntry.url;
2590
- }
2591
- return this.shellCtrl._logRecentActivity(oRecentEntry);
2592
- };
2593
-
2594
- Renderer.prototype.setCurrentCoreView = function (sCoreView) {
2595
- this.currentCoreView = sCoreView;
2596
- };
2597
-
2598
- Renderer.prototype.getCurrentCoreView = function () {
2599
- return this.currentCoreView;
2600
- };
2601
-
2602
- /**
2603
- * Calls the provider with an object providing the tile information
2604
- * @example of a tile actions provider callback:
2605
- * <pre>
2606
- * function fnProvider (oTileObject){
2607
- * // oTileObject properties:
2608
- * // controlId: The id of the actual control in the dom
2609
- * // tileId: the id of the tile
2610
- * // stableId: the id of the catalogTile (or tile as fallback)
2611
- * // control: the actual tile control
2612
- * // domRef: the dom node of the tile
2613
- *
2614
- * return [
2615
- * {
2616
- * text: "Some Action",
2617
- * icon: "sap-icon://action",
2618
- * targetURL: "#SemanticObject-Action"
2619
- * },
2620
- * {
2621
- * text: "Settings",
2622
- * icon: "sap-icon://action-settings",
2623
- * press: function () {
2624
- * //Open settings UI
2625
- * }
2626
- * }
2627
- * ];
2628
- * }
2629
- * </pre>
2630
- * @param {function} fnProvider A function returning an array
2631
- * @returns {Promise<undefined>} Resolves once the provider was registered
2632
- *
2633
- * @private
2634
- */
2635
- Renderer.prototype.registerTileActionsProvider = function (fnProvider) {
2636
- if (!Config.last("/core/spaces/enabled")) {
2637
- return Promise.reject("registerTileActionsProvider is only supported with spaces enabled");
2638
- }
2639
- if (!this._aTileActionProviders) {
2640
- this._aTileActionProviders = [];
2641
- }
2642
- this._aTileActionProviders.push(fnProvider);
2643
- return Promise.resolve();
2644
- };
2645
-
2646
- /**
2647
- * Collects the custom TileActions
2648
- * @param {object} oTile A VizInstance
2649
- * @returns {Promise<object[]>} Resolves a list of TileActions
2650
- *
2651
- * @private
2652
- */
2653
- Renderer.prototype.getCustomTileActions = function (oTile) {
2654
- if (!Config.last("/core/spaces/enabled")) {
2655
- return Promise.reject("getCustomTileActions is only supported with spaces enabled");
2656
- }
2657
-
2658
- var oTileObject = {
2659
- controlId: oTile.getId(),
2660
- tileId: oTile.getVizRefId(),
2661
- stableId: oTile.getDataHelpId() || oTile.getVizRefId(),
2662
- control: oTile,
2663
- domRef: oTile.getDomRef()
2664
- };
2665
-
2666
- var aTileActions = [];
2667
- this._aTileActionProviders.forEach(function (fnProvider) {
2668
- var aNewTileActions = fnProvider(oTileObject) || [];
2669
- aTileActions.push.apply(aTileActions, aNewTileActions);
2670
- });
2671
- return Promise.resolve(aTileActions);
2672
- };
2673
-
2674
- /**
2675
- * Helper function that determines if a given intent is a built-in intent
2676
- * (as listed in the metadata's routes).
2677
- * It returns true if it can match the intent, false otherwise.
2678
- * On its first call, a copy of all of those path is created and stored.
2679
- *
2680
- * @param {object} oParsedHash A resolved hash as returned by URLParing
2681
- * @returns {boolean} True if the intent is built in, false otherwise
2682
- * @private
2683
- * @since 1.85.0
2684
- */
2685
- Renderer.prototype._isBuiltInIntent = function (oParsedHash) {
2686
- if (!Renderer._aBuiltInRoutes) {
2687
- var aRoutes = Renderer.getMetadata().getRoutes();
2688
- Renderer._aBuiltInRoutes = aRoutes.reduce(function (aConcatenatedRoutes, oCurrentRoutes) {
2689
- return aConcatenatedRoutes.concat(oCurrentRoutes.pattern);
2690
- }, []);
2691
- }
2692
-
2693
- if (!oParsedHash || !oParsedHash.semanticObject || !oParsedHash.action) {
2694
- return false;
2695
- }
2696
-
2697
- var sIntent = oParsedHash.semanticObject + "-" + oParsedHash.action;
2698
-
2699
- return Renderer._aBuiltInRoutes.indexOf(sIntent) !== -1;
2700
- };
2701
-
2702
- /**
2703
- * Adding an empty area between the shell and the Iframe.
2704
- * This method is relevant only for the AppRuntime and not
2705
- * for the shell rendering.
2706
- *
2707
- * @private
2708
- * @since 1.100.0
2709
- */
2710
- this.addTopHeaderPlaceHolder = function () {
2711
- };
2712
-
2713
- /**
2714
- * Removing the empty area between the shell and the Iframe.
2715
- * This method is relevant only for the AppRuntime and not
2716
- * for the shell rendering.
2717
- *
2718
- * @private
2719
- * @since 1.100.0
2720
- */
2721
- this.removeTopHeaderPlaceHolder = function () {
2722
- };
2723
-
2724
- Renderer.prototype.updateHeaderItem = function (sId, oControlProperties) {
2725
- var oItem = Core.byId(sId);
2726
-
2727
- if (oItem && oControlProperties) {
2728
- if (oControlProperties.hasOwnProperty("floatingNumber")) {
2729
- oItem.setFloatingNumber(oControlProperties.floatingNumber);
2730
- }
2731
- }
2732
- };
2733
-
2734
- /**
2735
- * Destroy the button/s controls created by the renderer
2736
- * This method is relevant only for the AppRuntime and not
2737
- * for the shell rendering.
2738
- *
2739
- * @private
2740
- * @since 1.108.0
2741
- */
2742
- Renderer.prototype.destroyButton = function (aIds) {
2743
- if (!aIds) {
2744
- return;
2745
- }
2746
- aIds = typeof aIds === "string" ? [aIds] : aIds;
2747
- aIds.forEach(function (sId) {
2748
- var oButton = Core.byId(sId);
2749
- if (oButton) {
2750
- oButton.destroy();
2751
- }
2752
- });
2753
- };
2754
-
2755
- /**
2756
- * @returns {Promise} Resolves once the Renderer was placed and the ShellLayout was created
2757
- *
2758
- * @private
2759
- * @since 1.114.0
2760
- */
2761
- Renderer.prototype.waitForShellLayout = function () {
2762
- return this.shellCtrl.getView().waitForShellLayout();
2763
- };
2764
-
2765
- /**
2766
- * @private
2767
- */
2768
- Renderer.prototype.destroy = function () {
2769
- var oPromise = this.shellCtrl ? this.shellCtrl.awaitPendingInitializations() : Promise.resolve();
2770
- return oPromise
2771
- .then(function () {
2772
- return UIComponent.prototype.destroy.apply(this, arguments);
2773
- }.bind(this))
2774
- .then(function () {
2775
- ShellLayout.destroyLayout();
2776
- });
2777
- };
2778
-
2779
- /**
2780
- * @deprecated since 1.119.0
2781
- */
2782
- (function () {
2783
- sap.ui.require(["sap/ushell/renderers/fiori2/RendererExtensions"], function () {});
2784
- })();
1003
+ Fiori2Renderer.prototype.LaunchpadState = Renderer.prototype.LaunchpadState;
2785
1004
 
2786
- return Renderer;
2787
- }, true);
1005
+ return Fiori2Renderer;
1006
+ }, /* bExport= */ true);