@sapui5/sap.ushell 1.114.0 → 1.114.2

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 (294) hide show
  1. package/package.json +1 -1
  2. package/src/main/js/sap/ushell/.library +1 -1
  3. package/src/main/js/sap/ushell/Fiori20Adapter.js +1 -1
  4. package/src/main/js/sap/ushell/Fiori20AdapterTest.js +1 -1
  5. package/src/main/js/sap/ushell/NWBCInterface.js +1 -1
  6. package/src/main/js/sap/ushell/TechnicalParameters.js +1 -1
  7. package/src/main/js/sap/ushell/URLTemplateProcessor.js +1 -1
  8. package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +1 -1
  9. package/src/main/js/sap/ushell/Ui5ServiceFactory.js +1 -1
  10. package/src/main/js/sap/ushell/_URLTemplateProcessor/DefinitionParameterSetBuilder.js +1 -1
  11. package/src/main/js/sap/ushell/_URLTemplateProcessor/DependencyGraph.js +1 -1
  12. package/src/main/js/sap/ushell/_URLTemplateProcessor/Functions.js +1 -1
  13. package/src/main/js/sap/ushell/_URLTemplateProcessor/Resolvers.js +1 -1
  14. package/src/main/js/sap/ushell/_URLTemplateProcessor/TemplateParameterParser.js +1 -1
  15. package/src/main/js/sap/ushell/_URLTemplateProcessor/utils.js +1 -1
  16. package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +1 -1
  17. package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +1 -1
  18. package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
  19. package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +1 -1
  20. package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +1 -1
  21. package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +1 -1
  22. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
  23. package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +1 -1
  24. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +1 -1
  25. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +1 -1
  26. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +1 -1
  27. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +1 -1
  28. package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +1 -1
  29. package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +1 -1
  30. package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +1 -1
  31. package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +1 -1
  32. package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +1 -1
  33. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +1 -1
  34. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +1 -1
  35. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +1 -1
  36. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +1 -1
  37. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +1 -1
  38. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +1 -1
  39. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +1 -1
  40. package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +1 -1
  41. package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +1 -1
  42. package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +1 -1
  43. package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +1 -1
  44. package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +1 -1
  45. package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +1 -1
  46. package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +2 -2
  47. package/src/main/js/sap/ushell/adapters/local/MenuAdapter.js +35 -0
  48. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +1 -1
  49. package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +1 -1
  50. package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +1 -1
  51. package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +1 -1
  52. package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +1 -1
  53. package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +1 -1
  54. package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +1 -1
  55. package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +1 -1
  56. package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +1 -1
  57. package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +1 -1
  58. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +50 -26
  59. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntimeContext.js +43 -2
  60. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/baseRta/Trigger.js +1 -1
  61. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/Component.js +8 -8
  62. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/RendererExtensions.js +9 -3
  63. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppLifeCycleAgent.js +81 -24
  64. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppState.js +6 -2
  65. package/src/main/js/sap/ushell/appRuntime/ui5/services/Bookmark.js +18 -7
  66. package/src/main/js/sap/ushell/appRuntime/ui5/services/Container.js +99 -3
  67. package/src/main/js/sap/ushell/appRuntime/ui5/services/CrossApplicationNavigation.js +14 -7
  68. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellUIService.js +15 -8
  69. package/src/main/js/sap/ushell/appRuntime/ui5/services/UserInfo.js +5 -0
  70. package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
  71. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/logger.js +1 -1
  72. package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/state.js +1 -1
  73. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5datetimeformat.js +1 -1
  74. package/src/main/js/sap/ushell/bootstrap/common/common.create.configcontract.core.js +17 -0
  75. package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
  76. package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +76 -76
  77. package/src/main/js/sap/ushell/components/applicationIntegration/Storage.js +1 -1
  78. package/src/main/js/sap/ushell/components/applicationIntegration/application/Application.js +4 -1
  79. package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxHandler.js +19 -5
  80. package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPI.js +16 -1
  81. package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +1 -1
  82. package/src/main/js/sap/ushell/components/applicationIntegration/elements/model.js +1 -1
  83. package/src/main/js/sap/ushell/components/applicationIntegration/relatedServices/RelatedServices.js +1 -1
  84. package/src/main/js/sap/ushell/components/applicationIntegration/relatedShellElements/RelatedShellElements.js +1 -1
  85. package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +7 -1
  86. package/src/main/js/sap/ushell/components/contentFinder/Component.js +1 -1
  87. package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +1 -1
  88. package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +1 -1
  89. package/src/main/js/sap/ushell/components/contentFinder/controller/WidgetGallery.controller.js +1 -1
  90. package/src/main/js/sap/ushell/components/contentFinder/manifest.json +1 -1
  91. package/src/main/js/sap/ushell/components/factsheet/Component.js +1 -1
  92. package/src/main/js/sap/ushell/components/homepage/ActionMode.js +1 -1
  93. package/src/main/js/sap/ushell/components/homepage/DashboardContent.controller.js +25 -0
  94. package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +1 -1
  95. package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +1 -1
  96. package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +1 -1
  97. package/src/main/js/sap/ushell/components/homepage/manifest.json +1 -1
  98. package/src/main/js/sap/ushell/components/pages/ActionMode.js +1 -1
  99. package/src/main/js/sap/ushell/components/pages/Component.js +1 -1
  100. package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +1 -1
  101. package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +1 -1
  102. package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
  103. package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +1 -1
  104. package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
  105. package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +1 -1
  106. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +191 -58
  107. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +1 -1
  108. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/view/CustomTreeItem.fragment.xml +4 -4
  109. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/view/NavigationBarMenu.view.xml +2 -1
  110. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/view/NavigationBarMenuPopover.fragment.xml +8 -1
  111. package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +1 -1
  112. package/src/main/js/sap/ushell/components/shell/PostLoadingHeaderEnhancement/Component.js +1 -3
  113. package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +1 -1
  114. package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
  115. package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +1 -1
  116. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +1 -1
  117. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/NavigationSvcSearchProvider.js +1 -1
  118. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +1 -1
  119. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +1 -1
  120. package/src/main/js/sap/ushell/components/shell/Settings/Component.js +1 -1
  121. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/UserDefaultsForm.js +5 -1
  122. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/controller/UserDefaultsSetting.controller.js +20 -2
  123. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +1 -1
  124. package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +1 -1
  125. package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +1 -1
  126. package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +1 -1
  127. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility.js +1 -1
  128. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +1 -1
  129. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +1 -1
  130. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +1 -1
  131. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +1 -1
  132. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +1 -1
  133. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +1 -1
  134. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +1 -1
  135. package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
  136. package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +1 -1
  137. package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +1 -1
  138. package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +1 -1
  139. package/src/main/js/sap/ushell/components/workPageRuntime/services/NavigationResolver.js +1 -1
  140. package/src/main/js/sap/ushell/components/workPageRuntime/services/WorkPage.js +1 -1
  141. package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
  142. package/src/main/js/sap/ushell/library.js +1 -1
  143. package/src/main/js/sap/ushell/navigationMode.js +1 -1
  144. package/src/main/js/sap/ushell/performance/ShellAnalytics.js +1 -1
  145. package/src/main/js/sap/ushell/performance/StatisticalRecord.js +1 -1
  146. package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
  147. package/src/main/js/sap/ushell/renderers/fiori2/Renderer.js +2 -2
  148. package/src/main/js/sap/ushell/renderers/fiori2/Shell.controller.js +5 -4
  149. package/src/main/js/sap/ushell/renderers/fiori2/Shell.view.js +7 -1
  150. package/src/main/js/sap/ushell/renderers/fiori2/ShellAsync.view.js +7 -1
  151. package/src/main/js/sap/ushell/renderers/fiori2/ShellLayout.js +20 -16
  152. package/src/main/js/sap/ushell/renderers/fiori2/resources/resources.properties +2 -0
  153. package/src/main/js/sap/ushell/renderers/fiori2/search/searchComponent/manifest.json +1 -1
  154. package/src/main/js/sap/ushell/services/AppConfiguration.js +24 -2
  155. package/src/main/js/sap/ushell/services/AppLifeCycle.js +36 -9
  156. package/src/main/js/sap/ushell/services/AppState.js +13 -1
  157. package/src/main/js/sap/ushell/services/Bookmark.js +1 -1
  158. package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +1 -1
  159. package/src/main/js/sap/ushell/services/CommonDataModel.js +1 -1
  160. package/src/main/js/sap/ushell/services/Configuration.js +1 -1
  161. package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +1 -1
  162. package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +1 -1
  163. package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +1 -1
  164. package/src/main/js/sap/ushell/services/DarkModeSupport.js +1 -1
  165. package/src/main/js/sap/ushell/services/LaunchPage.js +3 -3
  166. package/src/main/js/sap/ushell/services/Menu.js +5 -1
  167. package/src/main/js/sap/ushell/services/Message.js +1 -1
  168. package/src/main/js/sap/ushell/services/MessageBroker.js +1 -1
  169. package/src/main/js/sap/ushell/services/NavigationDataProvider.js +1 -1
  170. package/src/main/js/sap/ushell/services/PageBuilding.js +1 -1
  171. package/src/main/js/sap/ushell/services/PagePersistence.js +1 -1
  172. package/src/main/js/sap/ushell/services/PageReferencing.js +1 -1
  173. package/src/main/js/sap/ushell/services/Pages.js +1 -1
  174. package/src/main/js/sap/ushell/services/Personalization.js +1 -1
  175. package/src/main/js/sap/ushell/services/PluginManager.js +1 -1
  176. package/src/main/js/sap/ushell/services/ReferenceResolver.js +1 -1
  177. package/src/main/js/sap/ushell/services/Search.js +1 -1
  178. package/src/main/js/sap/ushell/services/SearchCEP.js +1 -1
  179. package/src/main/js/sap/ushell/services/SearchableContent.js +1 -1
  180. package/src/main/js/sap/ushell/services/SmartNavigation.js +1 -1
  181. package/src/main/js/sap/ushell/services/SpaceContent.js +1 -1
  182. package/src/main/js/sap/ushell/services/URLShortening.js +1 -1
  183. package/src/main/js/sap/ushell/services/URLTemplate.js +1 -1
  184. package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +1 -1
  185. package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +1 -1
  186. package/src/main/js/sap/ushell/services/UserDefaultParameters.js +1 -1
  187. package/src/main/js/sap/ushell/services/UserInfo.js +1 -1
  188. package/src/main/js/sap/ushell/services/UserRecents.js +1 -1
  189. package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +1 -1
  190. package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +1 -1
  191. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Formatter.js +1 -1
  192. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundIndex.js +1 -1
  193. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundProvider.js +1 -1
  194. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/PrelaunchOperations.js +1 -1
  195. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Search.js +1 -1
  196. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/StagedLogger.js +1 -1
  197. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/SystemContext.js +1 -1
  198. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Utils.js +1 -1
  199. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/VirtualInbounds.js +1 -1
  200. package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/XAppStateProcessing.js +1 -1
  201. package/src/main/js/sap/ushell/services/_CommonDataModel/SiteConverter.js +1 -1
  202. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +1 -1
  203. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +1 -1
  204. package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +1 -1
  205. package/src/main/js/sap/ushell/services/_MessageBroker/MessageBrokerEngine.js +1 -1
  206. package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +1 -1
  207. package/src/main/js/sap/ushell/services/_PluginManager/Extensions.js +1 -1
  208. package/src/main/js/sap/ushell/services/_PluginManager/HeaderExtensions.js +1 -1
  209. package/src/main/js/sap/ushell/services/_PluginManager/MenuExtensions.js +1 -1
  210. package/src/main/js/sap/ushell/services/_Ui5ComponentLoader/utils.js +1 -1
  211. package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstanceLink.js +1 -1
  212. package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
  213. package/src/main/js/sap/ushell/themes/base/ShellAppTitle.less +10 -27
  214. package/src/main/js/sap/ushell/themes/sap_belize/ShellHeader.less +1 -11
  215. package/src/main/js/sap/ushell/themes/sap_belize_hcb/ShellHeader.less +0 -11
  216. package/src/main/js/sap/ushell/themes/sap_belize_hcw/ShellHeader.less +1 -13
  217. package/src/main/js/sap/ushell/themes/sap_fiori_3/ShellHeader.less +1 -9
  218. package/src/main/js/sap/ushell/themes/sap_fiori_3_dark/ShellHeader.less +1 -9
  219. package/src/main/js/sap/ushell/themes/sap_fiori_3_hcb/ShellHeader.less +1 -10
  220. package/src/main/js/sap/ushell/themes/sap_fiori_3_hcw/ShellHeader.less +0 -12
  221. package/src/main/js/sap/ushell/themes/sap_hcb/ShellHeader.less +0 -12
  222. package/src/main/js/sap/ushell/themes/sap_horizon/ShellAppTitle.less +1 -9
  223. package/src/main/js/sap/ushell/themes/sap_horizon_dark/ShellAppTitle.less +1 -7
  224. package/src/main/js/sap/ushell/themes/sap_horizon_hcb/ShellAppTitle.less +0 -9
  225. package/src/main/js/sap/ushell/themes/sap_horizon_hcw/ShellAppTitle.less +0 -11
  226. package/src/main/js/sap/ushell/ui/ShellHeader.fragment.xml +5 -1
  227. package/src/main/js/sap/ushell/ui/ShellHeader.js +5 -1
  228. package/src/main/js/sap/ushell/ui/ShellHeaderRenderer.js +1 -1
  229. package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +1 -1
  230. package/src/main/js/sap/ushell/ui/contentFinder/AppBox.js +1 -1
  231. package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
  232. package/src/main/js/sap/ushell/ui/launchpad/Page.js +1 -1
  233. package/src/main/js/sap/ushell/ui/launchpad/Section.js +11 -3
  234. package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +1 -1
  235. package/src/main/js/sap/ushell/ui/shell/ShellAppTitle.js +115 -63
  236. package/src/main/js/sap/ushell/ui/shell/ShellHeadItem.js +1 -1
  237. package/src/main/js/sap/ushell/ui/shell/ShellNavigationMenu.js +30 -62
  238. package/src/main/js/sap/ushell/ui/shell/SysInfoBar.js +1 -1
  239. package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +1 -1
  240. package/src/main/js/sap/ushell/ui/utils.js +1 -1
  241. package/src/main/js/sap/ushell/ui5service/ShellUIService.js +1 -1
  242. package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
  243. package/src/main/js/sap/ushell/utils/UrlShortening.js +1 -1
  244. package/src/test/js/sap/ushell/bootstrap/sandbox.js +1 -1
  245. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n.properties +0 -5
  246. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_ar.properties +0 -2
  247. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_bg.properties +0 -2
  248. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_ca.properties +0 -2
  249. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_cs.properties +0 -2
  250. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_cy.properties +0 -2
  251. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_da.properties +0 -2
  252. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_de.properties +0 -2
  253. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_el.properties +0 -2
  254. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_en.properties +0 -2
  255. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_en_GB.properties +0 -2
  256. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_en_US_sappsd.properties +0 -2
  257. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_en_US_saprigi.properties +0 -2
  258. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_en_US_saptrc.properties +0 -2
  259. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_es.properties +0 -2
  260. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_es_MX.properties +0 -2
  261. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_et.properties +0 -2
  262. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_fi.properties +0 -2
  263. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_fr.properties +0 -2
  264. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_fr_CA.properties +0 -2
  265. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_hi.properties +0 -2
  266. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_hr.properties +0 -2
  267. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_hu.properties +0 -2
  268. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_id.properties +0 -2
  269. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_it.properties +0 -2
  270. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_iw.properties +0 -2
  271. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_ja.properties +0 -2
  272. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_kk.properties +0 -2
  273. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_ko.properties +0 -2
  274. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_lt.properties +0 -2
  275. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_lv.properties +0 -2
  276. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_ms.properties +0 -2
  277. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_nl.properties +0 -2
  278. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_no.properties +0 -2
  279. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_pl.properties +0 -2
  280. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_pt.properties +0 -2
  281. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_pt_PT.properties +0 -2
  282. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_ro.properties +0 -2
  283. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_ru.properties +0 -2
  284. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_sh.properties +0 -2
  285. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_sk.properties +0 -2
  286. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_sl.properties +0 -2
  287. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_sv.properties +0 -2
  288. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_th.properties +0 -2
  289. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_tr.properties +0 -2
  290. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_uk.properties +0 -2
  291. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_vi.properties +0 -2
  292. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_zh_CN.properties +0 -2
  293. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/i18n/i18n_zh_TW.properties +0 -2
  294. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/manifest.json +0 -66
@@ -4,26 +4,38 @@
4
4
  * @fileOverview Controller for the NavigationBarMenu Popover. It is responsible for Popover handling, model binding, persistence
5
5
  * logic to pin, unpin and rearrange pinned spaces as well as executing navigation.
6
6
  *
7
- * @version 1.114.0
7
+ * @version 1.114.2
8
8
  * @private
9
9
  */
10
10
  sap.ui.define([
11
+ "sap/ui/core/InvisibleMessage",
12
+ "sap/ui/core/library",
11
13
  "sap/ui/core/mvc/Controller",
12
14
  "sap/ui/core/Fragment",
13
15
  "sap/ui/model/Filter",
14
16
  "sap/ui/model/FilterOperator",
15
17
  "sap/ui/model/Sorter",
18
+ "sap/ushell/resources",
16
19
  "sap/ushell/utils/WindowUtils"
17
20
  ], function (
21
+ InvisibleMessage,
22
+ coreLibrary,
18
23
  Controller,
19
24
  Fragment,
20
25
  Filter,
21
26
  FilterOperator,
22
27
  Sorter,
28
+ resources,
23
29
  WindowUtils
24
30
  ) {
25
31
  "use strict";
26
32
 
33
+ // shortcut for sap.ui.core.dnd.RelativeDropPosition
34
+ var RelativeDropPosition = coreLibrary.dnd.RelativeDropPosition;
35
+
36
+ // shortcut for sap.ui.core.InvisibleMessageMode
37
+ var InvisibleMessageMode = coreLibrary.InvisibleMessageMode;
38
+
27
39
  /**
28
40
  * Controller of the NavigationBarMenu view.
29
41
  * It is responsible for the popover handling, pinning / unpinning spaces, rearranging spaces via DnD and do persistence of these changes.
@@ -46,8 +58,20 @@ sap.ui.define([
46
58
  * @since 1.114.0
47
59
  */
48
60
  onInit: function () {
49
- this.oResourceBundle = this.getOwnerComponent().getModel("i18n").getResourceBundle();
50
61
  this.pMenuServicePromise = sap.ushell.Container.getServiceAsync("Menu");
62
+ this._oInvisibleMessageInstance = InvisibleMessage.getInstance();
63
+ },
64
+
65
+ /**
66
+ * UI5 lifecycle method which is called upon controller destruction.
67
+ *
68
+ * @private
69
+ * @since 1.117.0
70
+ */
71
+ onExit: function () {
72
+ if (this._oInvisibleMessageInstance) {
73
+ this._oInvisibleMessageInstance.destroy();
74
+ }
51
75
  },
52
76
 
53
77
  /**
@@ -58,7 +82,8 @@ sap.ui.define([
58
82
  * @private
59
83
  */
60
84
  _onPinnedSpacesUpdateFinished: function (oEvent) {
61
- this.byId("PinnedSpacesTreeTitle").setText(this.oResourceBundle.getText("NavigationBarMenu.PinnedSpaces.Title", [oEvent.getParameter("total") || 0]));
85
+ var sPinnedSpacesTreeTitleText = resources.i18n.getText("NavigationBarMenu.PinnedSpaces.Title", [oEvent.getParameter("total") || 0]);
86
+ this.byId("PinnedSpacesTreeTitle").setText(sPinnedSpacesTreeTitleText);
62
87
  },
63
88
 
64
89
  /**
@@ -83,9 +108,11 @@ sap.ui.define([
83
108
  return oNavigationBarMenuPopover;
84
109
  }.bind(this));
85
110
  }
111
+
86
112
  this._pPopoverPromise.then(function (oNavigationBarMenuPopover) {
87
- this._bindPinnedSpaces();
88
- oNavigationBarMenuPopover.openBy(oNavigationBarMenuButton);
113
+ this._bindPinnedSpaces().then(function () {
114
+ oNavigationBarMenuPopover.openBy(oNavigationBarMenuButton);
115
+ });
89
116
  }.bind(this));
90
117
  },
91
118
 
@@ -103,23 +130,42 @@ sap.ui.define([
103
130
 
104
131
  /**
105
132
  * Handles the click Event of the Pin Button. If the Space is pinned it will be unpinned and vice versa.
106
- * @param {sap.ui.base.Event} oEvent Klick Event of the List Item Pin
133
+ * @param {sap.ui.base.Event} oEvent Click event of the list item pin button
107
134
  *
108
135
  * @since 1.114.0
109
136
  * @private
110
137
  */
111
138
  handlePinButtonPress: function (oEvent) {
112
- var sSpacePath = oEvent.getSource().getBindingContext("spaces").getPath();
113
- var isPinned = this.byId("NavigationBarMenuPopover").getModel("spaces").getProperty(sSpacePath + "/pinned");
139
+ var oPinButton = oEvent.getSource();
140
+ var sSpacePath = oPinButton.getBindingContext("spaces").getPath();
141
+ var isPinned = this.oModel.getProperty(sSpacePath + "/pinned");
114
142
  if (!isPinned) {
115
143
  this._pinSpace(sSpacePath);
116
144
  } else {
117
145
  this._unpinSpace(sSpacePath, true);
118
146
  }
147
+
148
+ // Focus the pinned spaces list again after the list item that had the focus is removed.
149
+ if (oPinButton.getId().includes("PinnedSpaces")) {
150
+ // First move the focus away from the list. Otherwise the pin button of the
151
+ // next item is focused instead of the item itself.
152
+ var oNavigationBarMenuPopover = this.byId("NavigationBarMenuPopover");
153
+ oNavigationBarMenuPopover.focus();
154
+ var oPinnedSpacesList = this.byId("PinnedSpaces");
155
+ var oDelegate = {
156
+ onAfterRendering: function () {
157
+ // This needs to be done in onAfterRendering as the Popover gets closed
158
+ // if setting the focus is triggered too early.
159
+ oPinnedSpacesList.focus();
160
+ oPinnedSpacesList.removeEventDelegate(oDelegate);
161
+ }
162
+ };
163
+ oPinnedSpacesList.addEventDelegate(oDelegate);
164
+ }
119
165
  },
120
166
 
121
167
  /**
122
- * Unpins all pinnes Spaces.
168
+ * Unpins all pinned Spaces.
123
169
  *
124
170
  * @since 1.114.0
125
171
  * @private
@@ -144,16 +190,56 @@ sap.ui.define([
144
190
  * @private
145
191
  */
146
192
  rearrangePinnedSpaces: function (oEvent) {
147
- var oSpacesModel = oEvent.getSource().getModel("spaces");
148
193
  var oDraggedSpaceContext = oEvent.getParameter("draggedControl").getBindingContext("spaces");
149
- var iSourcePinnedSortOrder = oSpacesModel.getProperty(oDraggedSpaceContext.getPath()).pinnedSortOrder;
150
- var oDroppedSpaceContext = oEvent.getParameter("droppedControl").getBindingContext("spaces");
151
- var iDroppedPinnedSortOrder = oSpacesModel.getProperty(oDroppedSpaceContext.getPath()).pinnedSortOrder;
194
+ var iSourcePinnedSortOrder = this.oModel.getProperty(oDraggedSpaceContext.getPath()).pinnedSortOrder;
195
+ var oDroppedSpace = oEvent.getParameter("droppedControl");
196
+ var oDroppedSpaceContext = oDroppedSpace.getBindingContext("spaces");
197
+ var iDroppedPinnedSortOrder = this.oModel.getProperty(oDroppedSpaceContext.getPath()).pinnedSortOrder;
152
198
  var sDropPosition = oEvent.getParameter("dropPosition");
153
- var iTargetPinnedSortOrder = iDroppedPinnedSortOrder + (sDropPosition === "After" ? 1 : 0);
199
+ var iTargetPinnedSortOrder = iDroppedPinnedSortOrder + (sDropPosition === RelativeDropPosition.After ? 1 : 0);
200
+
201
+ this._rearrangePinnedSpaces(iSourcePinnedSortOrder, iTargetPinnedSortOrder, oDroppedSpace, sDropPosition);
202
+ },
154
203
 
204
+
205
+ /**
206
+ * Rearranges the pinned spaces by using the Menu service.
207
+ *
208
+ * @param {int} sourceIndex Initial index of the control to be rearranged.
209
+ * @param {int} targetIndex Target index for the control to be rearranged.
210
+ *
211
+ * @since 1.117.0
212
+ * @private
213
+ */
214
+ _rearrangePinnedSpaces: function (sourceIndex, targetIndex, droppedItem, dropPosition) {
155
215
  this.pMenuServicePromise.then(function (oMenu) {
156
- oMenu.moveMenuEntry(iSourcePinnedSortOrder, iTargetPinnedSortOrder);
216
+ oMenu.moveMenuEntry(sourceIndex, targetIndex);
217
+
218
+ // manage focus after move happened
219
+ var oPinnedSpacesTree = this.byId("PinnedSpaces");
220
+ var oDelegate = {
221
+ onAfterRendering: function () {
222
+ var aPinnedSpaces = oPinnedSpacesTree.getItems();
223
+ var iDroppedItemPosition = oPinnedSpacesTree.indexOfItem(droppedItem);
224
+ var focusIndex;
225
+ if (sourceIndex < targetIndex) {
226
+ focusIndex = iDroppedItemPosition - (dropPosition === RelativeDropPosition.Before ? 1 : 0);
227
+ } else {
228
+ focusIndex = iDroppedItemPosition + (dropPosition === RelativeDropPosition.After ? 1 : 0);
229
+ }
230
+ var oPinnedSpaceToFocus = aPinnedSpaces[focusIndex];
231
+ if (oPinnedSpaceToFocus) {
232
+ oPinnedSpaceToFocus.focus();
233
+ }
234
+ droppedItem.removeEventDelegate(oDelegate);
235
+ }
236
+ };
237
+ droppedItem.addEventDelegate(oDelegate);
238
+
239
+ // announces the move
240
+ var sPinnedSpaceMovedMessage = resources.i18n.getText("NavigationBarMenu.PinnedSpaces.Moved");
241
+ this._oInvisibleMessageInstance.announce(sPinnedSpaceMovedMessage, InvisibleMessageMode.Polite);
242
+
157
243
  this._savePinnedSpaces();
158
244
  }.bind(this));
159
245
  },
@@ -161,31 +247,89 @@ sap.ui.define([
161
247
  /**
162
248
  * Binds the pinned spaces to the Tree for pinned spaces.
163
249
  *
250
+ * @returns {Promise}
251
+ * A promise which is resolved after the binding is performed
252
+ *
164
253
  * @since 1.114.0
165
254
  * @private
166
255
  */
167
256
  _bindPinnedSpaces: function () {
168
257
  var oPinnedSpaces = this.byId("PinnedSpaces");
169
- Fragment.load({
170
- type: "XML",
171
- async: true,
172
- controller: this,
173
- name: "sap.ushell.components.shell.NavigationBarMenu.view.CustomTreeItem"
174
- }).then(function (oCustomTreeItem) {
175
- oPinnedSpaces.bindItems({
176
- path: "spaces>/",
177
- filters: [
178
- new Filter({ path: "pinned", operator: FilterOperator.EQ, value1: true }),
179
- new Filter({ path: "type", operator: FilterOperator.NE, value1: "separator" }),
180
- new Filter({ path: "isHomeEntry", operator: FilterOperator.EQ, value1: false })],
181
- sorter: [new Sorter({ path: "pinnedSortOrder", descending: false })],
182
- parameters: {
183
- arrayNames: ["menuEntries"]
184
- },
185
- template: oCustomTreeItem,
186
- templateShareable: false
187
- });
188
- });
258
+
259
+ if (!this._pCustomTreeItemPromise) {
260
+ this._pCustomTreeItemPromise = Fragment.load({
261
+ type: "XML",
262
+ async: true,
263
+ controller: this,
264
+ name: "sap.ushell.components.shell.NavigationBarMenu.view.CustomTreeItem"
265
+ }).then(function (oCustomTreeItem) {
266
+ oCustomTreeItem.addEventDelegate({
267
+ onsapdownmodifiers: this._handleSpacesSwap.bind(this),
268
+ onsapupmodifiers: this._handleSpacesSwap.bind(this)
269
+ });
270
+ oPinnedSpaces.bindItems({
271
+ path: "spaces>/",
272
+ filters: [
273
+ new Filter({ path: "pinned", operator: FilterOperator.EQ, value1: true }),
274
+ new Filter({ path: "type", operator: FilterOperator.NE, value1: "separator" }),
275
+ new Filter({ path: "isHomeEntry", operator: FilterOperator.EQ, value1: false })],
276
+ sorter: [new Sorter({ path: "pinnedSortOrder", descending: false })],
277
+ parameters: {
278
+ arrayNames: ["menuEntries"]
279
+ },
280
+ template: oCustomTreeItem,
281
+ templateShareable: false
282
+ });
283
+ }.bind(this));
284
+ }
285
+
286
+ return this._pCustomTreeItemPromise;
287
+ },
288
+
289
+ /**
290
+ * Handles keydown events to rearranges the pinned spaces.
291
+ *
292
+ * @param {sap.ui.base.Event} oEvent Keydown Event to rearrange the pinned spaces
293
+ *
294
+ * @since 1.117.0
295
+ * @private
296
+ */
297
+ _handleSpacesSwap: function (oEvent) {
298
+ var oPinnedSpacesTree = this.byId("PinnedSpaces");
299
+ var aPinnedSpaces = oPinnedSpacesTree.getItems();
300
+ var oPinnedSpace;
301
+
302
+ for (var i = 0; i < aPinnedSpaces.length; i++) {
303
+ oPinnedSpace = aPinnedSpaces[i];
304
+
305
+ if (document.activeElement === oPinnedSpace.getFocusDomRef()) {
306
+ var oSourceContext = oPinnedSpace.getBindingContext("spaces");
307
+ var iSourcePinnedSortOrder = this.oModel.getProperty(oSourceContext.getPath()).pinnedSortOrder;
308
+ var oTargetContext;
309
+ var iTargetPinnedSortOrder;
310
+
311
+ if (oEvent.type === "sapupmodifiers") {
312
+ var oPreviousPinnedSpace = aPinnedSpaces[i - 1];
313
+ if (oPreviousPinnedSpace) {
314
+ oTargetContext = oPreviousPinnedSpace.getBindingContext("spaces");
315
+ iTargetPinnedSortOrder = this.oModel.getProperty(oTargetContext.getPath()).pinnedSortOrder;
316
+ this._rearrangePinnedSpaces(iSourcePinnedSortOrder, iTargetPinnedSortOrder, oPreviousPinnedSpace, RelativeDropPosition.Before);
317
+ oEvent.preventDefault();
318
+ oEvent.stopPropagation();
319
+ }
320
+ } else if (oEvent.type === "sapdownmodifiers") {
321
+ var oNextPinnedSpace = aPinnedSpaces[i + 1];
322
+ if (oNextPinnedSpace) {
323
+ oTargetContext = oNextPinnedSpace.getBindingContext("spaces");
324
+ iTargetPinnedSortOrder = this.oModel.getProperty(oTargetContext.getPath()).pinnedSortOrder;
325
+ this._rearrangePinnedSpaces(iSourcePinnedSortOrder, iTargetPinnedSortOrder + 1, oNextPinnedSpace, RelativeDropPosition.After);
326
+ oEvent.preventDefault();
327
+ oEvent.stopPropagation();
328
+ }
329
+ }
330
+ return;
331
+ }
332
+ }
189
333
  },
190
334
 
191
335
  /**
@@ -198,18 +342,19 @@ sap.ui.define([
198
342
  * @private
199
343
  */
200
344
  allSpacesFactory: function (sId, oContext) {
201
- var oContextModel = oContext.getModel().getProperty(oContext.sPath);
345
+ var oMenuEntry = oContext.getModel().getProperty(oContext.getPath());
346
+ var aSubMenuEntries = oMenuEntry.menuEntries || [];
347
+
202
348
  var oSpaceItem = this.byId("AllSpaces").getDependents()[0].clone(sId);
203
- var aMenuEntries = oContext.getModel().getProperty(oContext.sPath).menuEntries || [];
204
349
  oSpaceItem.setType("Active");
205
350
  oSpaceItem.attachPress(this.onMenuItemSelection, this);
206
351
  // If the space has only one page, this means no sub menu:
207
352
  // Hide expander & enable navigation
208
- if (aMenuEntries.length < 1) {
353
+ if (aSubMenuEntries.length < 1) {
209
354
  oSpaceItem.addStyleClass("sapMTreeItemBaseLeaf");
210
355
  }
211
356
 
212
- if (oContextModel.type === "separator" || oContextModel.isHomeEntry) {
357
+ if (oMenuEntry.type === "separator" || oMenuEntry.isHomeEntry) {
213
358
  oSpaceItem.setVisible(false);
214
359
  }
215
360
 
@@ -225,11 +370,8 @@ sap.ui.define([
225
370
  * @private
226
371
  */
227
372
  _unpinSpace: function (sSpacePath, bSaveUnpinning) {
228
- var oNavigationBarMenuPopover = this.byId("NavigationBarMenuPopover");
229
- var oModel = oNavigationBarMenuPopover.getModel("spaces");
230
- oNavigationBarMenuPopover.focus();
231
- oModel.setProperty(sSpacePath + "/pinned", false);
232
- oModel.setProperty(sSpacePath + "/pinnedSortOrder", "-1");
373
+ this.oModel.setProperty(sSpacePath + "/pinned", false);
374
+ this.oModel.setProperty(sSpacePath + "/pinnedSortOrder", "-1");
233
375
  if (bSaveUnpinning) {
234
376
  this._savePinnedSpaces();
235
377
  }
@@ -243,17 +385,16 @@ sap.ui.define([
243
385
  * @private
244
386
  */
245
387
  _pinSpace: function (sSpacePath) {
246
- var oSpacesModel = this.byId("NavigationBarMenuPopover").getModel("spaces");
247
388
  var iNumberOfPinnedSpaces = this.byId("PinnedSpaces").getItems().length;
248
389
  // Since the MyHome and separator are part of the model (pinnedSortOrder 0 and 1), the 1st new pinned space starts with 2.
249
390
  var iNewPinnedSortOrder = 2;
250
391
  if (iNumberOfPinnedSpaces > 0) {
251
392
  var oLastPinnedSpace = this.byId("PinnedSpaces").getItems()[iNumberOfPinnedSpaces - 1];
252
393
  var sLastPinnedSpacePath = oLastPinnedSpace.getBindingContextPath("spaces");
253
- iNewPinnedSortOrder = oSpacesModel.getProperty(sLastPinnedSpacePath + "/pinnedSortOrder") + 1;
394
+ iNewPinnedSortOrder = this.oModel.getProperty(sLastPinnedSpacePath + "/pinnedSortOrder") + 1;
254
395
  }
255
- oSpacesModel.setProperty(sSpacePath + "/pinnedSortOrder", iNewPinnedSortOrder);
256
- oSpacesModel.setProperty(sSpacePath + "/pinned", true);
396
+ this.oModel.setProperty(sSpacePath + "/pinnedSortOrder", iNewPinnedSortOrder);
397
+ this.oModel.setProperty(sSpacePath + "/pinned", true);
257
398
  this._savePinnedSpaces();
258
399
  },
259
400
 
@@ -316,7 +457,6 @@ sap.ui.define([
316
457
  onMenuItemSelection: function (oEvent) {
317
458
 
318
459
  // Access menu entry
319
- var allSpaces = oEvent.getSource().getParent();
320
460
  var oListItem = oEvent.getSource();
321
461
  var oItemContextPath = oListItem.getBindingContextPath("spaces");
322
462
  var oListItemModelEntry = this.oModel.getProperty(oItemContextPath);
@@ -324,13 +464,7 @@ sap.ui.define([
324
464
  if (!bAmIAllSpacesItem) {
325
465
  return;
326
466
  }
327
- if (!oListItem.isLeaf()) {
328
- if (oListItem.getExpanded()) {
329
- allSpaces.collapse(allSpaces.indexOfItem(oListItem));
330
- } else {
331
- allSpaces.expand(allSpaces.indexOfItem(oListItem));
332
- }
333
- } else {
467
+ if (oListItem.isLeaf()) {
334
468
  // Intent based navigation
335
469
  if (oListItemModelEntry.type === "IBN") {
336
470
  this._performCrossApplicationNavigation(oListItemModelEntry.target)
@@ -344,7 +478,6 @@ sap.ui.define([
344
478
  }
345
479
  return;
346
480
  }
347
- this._savePinnedSpaces();
348
481
  },
349
482
 
350
483
  /**
@@ -355,7 +488,7 @@ sap.ui.define([
355
488
  */
356
489
  _savePinnedSpaces: function () {
357
490
  this.pMenuServicePromise.then(function (oMenu) {
358
- this.byId("NavigationBarMenuPopover").getModel("spaces").refresh(true);
491
+ this.oModel.refresh(true);
359
492
  return oMenu.savePersonalization();
360
493
  }.bind(this));
361
494
  }
@@ -3,7 +3,7 @@
3
3
  "sap.app": {
4
4
  "id": "sap.ushell.components.shell.NavigationBarMenu",
5
5
  "applicationVersion": {
6
- "version": "1.114.0"
6
+ "version": "1.114.2"
7
7
  },
8
8
  "i18n": {
9
9
  "bundleUrl": "../../../renderers/fiori2/resources/resources.properties",
@@ -7,6 +7,7 @@
7
7
  alignItems="Center"
8
8
  width="100%">
9
9
  <Text
10
+ id="spaceTitle"
10
11
  text="{spaces>title}"
11
12
  tooltip="{spaces>title}">
12
13
  <layoutData>
@@ -18,10 +19,9 @@
18
19
  class="sapUiTinyMarginEnd"
19
20
  icon="{= ${spaces>pinned} ? 'sap-icon://pushpin-on' : 'sap-icon://pushpin-off' }"
20
21
  press=".handlePinButtonPress"
21
- tooltip="{= ${spaces>pinned} ? ${i18n>NavigationBarMenu.Button.UnpinSpace} :
22
- ${i18n>NavigationBarMenu.Button.PinSpace} }"
23
- visible="{= ${spaces>pinned} === undefined ? false : true }">
24
- </Button>
22
+ tooltip="{= ${spaces>pinned} ? ${i18n>NavigationBarMenu.Button.UnpinSpace} : ${i18n>NavigationBarMenu.Button.PinSpace} }"
23
+ visible="{= ${spaces>pinned} === undefined ? false : true }"
24
+ ariaDescribedBy="spaceTitle" />
25
25
  </HBox>
26
26
  </content>
27
27
  </CustomTreeItem>
@@ -7,8 +7,9 @@
7
7
  <Button
8
8
  id="navigationBarMenuButton"
9
9
  icon="sap-icon://menu2"
10
+ type="Emphasized"
10
11
  press=".openNavigationBarMenuPopover"
11
- tooltip="{i18n>MenuBar.Personalization.Button}"
12
+ tooltip="{i18n>NavigationBarMenu.Button.OpenPopover}"
12
13
  ariaHasPopup="Dialog">
13
14
  <layoutData>
14
15
  <OverflowToolbarLayoutData priority="NeverOverflow" />
@@ -33,7 +33,14 @@
33
33
  id="UnpinAllSpaces"
34
34
  text="{i18n>NavigationBarMenu.Button.UnpinAll}"
35
35
  tooltip="{i18n>NavigationBarMenu.Button.UnpinAll.Tooltip}"
36
- press=".unpinAllSpaces"></Button>
36
+ press=".unpinAllSpaces">
37
+ <customData>
38
+ <core:CustomData
39
+ key="help-id"
40
+ value="shell-navigationBarMenu-unpinAllButton"
41
+ writeToDom="true" />
42
+ </customData>
43
+ </Button>
37
44
  </Toolbar>
38
45
  </headerToolbar>
39
46
  </Tree>
@@ -42,7 +42,7 @@ sap.ui.define([
42
42
 
43
43
  return UIComponent.extend("sap.ushell.components.shell.Notifications.Component", {
44
44
  metadata: {
45
- version: "1.114.0",
45
+ version: "1.114.2",
46
46
  library: "sap.ushell.components.shell.Notifications",
47
47
  dependencies: {
48
48
  libs: ["sap.m"]
@@ -211,9 +211,6 @@ sap.ui.define([
211
211
  };
212
212
 
213
213
  var oShellNavigationMenu = new ShellNavigationMenu(sMenuId, {
214
- title: "{/application/title}",
215
- description: "{/title}",
216
- icon: "{/application/icon}",
217
214
  showRelatedApps: oShellConfig.appState !== "lean",
218
215
  items: {
219
216
  path: "/application/hierarchy",
@@ -237,6 +234,7 @@ sap.ui.define([
237
234
  var oShellAppTitle = Core.byId("shellAppTitle");
238
235
  if (oShellAppTitle) {
239
236
  oShellAppTitle.setNavigationMenu(oShellNavigationMenu);
237
+ oShellAppTitle.setModel(oShellHeader.getModel());
240
238
  }
241
239
  aCreatedControlIds.push(sMenuId);
242
240
 
@@ -31,7 +31,7 @@ sap.ui.define([
31
31
  return UIComponent.extend("sap.ushell.components.shell.ProductSwitch.Component", {
32
32
 
33
33
  metadata: {
34
- version: "1.114.0",
34
+ version: "1.114.2",
35
35
  library: "sap.ushell.components.shell.ProductSwitch",
36
36
  dependencies: {
37
37
  libs: {
@@ -4,7 +4,7 @@
4
4
  "id": "sap.ushell.components.shell.Search",
5
5
 
6
6
  "applicationVersion": {
7
- "version": "1.114.0"
7
+ "version": "1.114.2"
8
8
  },
9
9
  "i18n": {
10
10
  "bundleUrl": "../../../renderers/fiori2/resources/resources.properties",
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
 
24
24
  return UIComponent.extend("sap.ushell.components.shell.SearchCEP.Component", {
25
25
  metadata: {
26
- version: "1.114.0",
26
+ version: "1.114.2",
27
27
  library: ["sap.ushell", "sap.ushell.components.shell"],
28
28
  dependencies: {
29
29
  libs: ["sap.m"]
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview
5
- * @version 1.114.0
5
+ * @version 1.114.2
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider",
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview This module handles the navigation service search actions
5
- * @version 1.114.0
5
+ * @version 1.114.2
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider",
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview
5
- * @version 1.114.0
5
+ * @version 1.114.2
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider",
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview This module is the search provider main interface
5
- * @version 1.114.0
5
+ * @version 1.114.2
6
6
  */
7
7
  sap.ui.define([], function () {
8
8
  "use strict";
@@ -48,7 +48,7 @@ sap.ui.define([
48
48
  return UIComponent.extend("sap.ushell.components.shell.Settings.Component", {
49
49
 
50
50
  metadata: {
51
- version: "1.114.0",
51
+ version: "1.114.2",
52
52
  library: "sap.ushell",
53
53
  dependencies: {
54
54
  libs: {
@@ -92,7 +92,11 @@ sap.ui.define([
92
92
  for (var i = 0; i < aUserDefaultInputs.length; i++) {
93
93
  sInputName = aUserDefaultInputs[i].getName();
94
94
  if (oVariantData[sInputName] !== undefined) {
95
- aUserDefaultInputs[i].setValue(oVariantData[sInputName].value);
95
+ if (aUserDefaultInputs[i].getDataType && aUserDefaultInputs[i].getDataType() === "Edm.DateTime") {
96
+ aUserDefaultInputs[i].setValue(new Date(oVariantData[sInputName].value));
97
+ } else {
98
+ aUserDefaultInputs[i].setValue(oVariantData[sInputName].value);
99
+ }
96
100
  oValueObject = oModel.getProperty("/" + sInputName + "/valueObject/");
97
101
  oValueObject.extendedValue = undefined;
98
102
  if (oVariantData[sInputName].additionalValues) {
@@ -728,8 +728,26 @@ sap.ui.define([
728
728
  var sParameterName = aDisplayedParameters[i].parameterName;
729
729
  if (this.aChangedParamsNames.indexOf(sParameterName) > -1) {
730
730
  var oOriginalParameter = this.oOriginalParameters[sParameterName];
731
- var oBoundModel = aDisplayedParameters[i].modelBind;
732
- oBoundModel.model.setProperty(oBoundModel.sFullPropertyPath, oOriginalParameter.valueObject.value || "");
731
+ var oParameter = aDisplayedParameters[i];
732
+ var oBoundModel = oParameter.modelBind;
733
+ var oODataMetadataModel = oBoundModel.model ? oBoundModel.model.getMetaModel() : undefined;
734
+
735
+ if (oODataMetadataModel) {
736
+ var sNS = oODataMetadataModel.getObject("/dataServices/schema/0/namespace");
737
+ var oType = oODataMetadataModel.getODataEntityType(sNS + "." + oParameter.editorMetadata.editorInfo.entityName);
738
+ var oODataProp = oType.property.find(function (obj) { if (obj.name === oParameter.editorMetadata.editorInfo.propertyName) { return true; } });
739
+ switch (oODataProp.type) {
740
+ case "Edm.DateTime":
741
+ oBoundModel.model.setProperty(oBoundModel.sFullPropertyPath, new Date(oOriginalParameter.valueObject.value) || null);
742
+ break;
743
+ default:
744
+ oBoundModel.model.setProperty(oBoundModel.sFullPropertyPath, oOriginalParameter.valueObject.value || "");
745
+ break;
746
+ }
747
+ } else {
748
+ oBoundModel.model.setProperty(oBoundModel.sFullPropertyPath, oOriginalParameter.valueObject.value || "");
749
+ }
750
+
733
751
  if (oOriginalParameter.editorMetadata && oOriginalParameter.editorMetadata.extendedUsage) {
734
752
  oBoundModel.extendedModel.setProperty("/" + sParameterName + "/valueObject/extendedValue",
735
753
  oOriginalParameter.valueObject.extendedValue || {});
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  return UIComponent.extend("sap.ushell.components.shell.UserActionsMenu.Component", {
26
26
 
27
27
  metadata: {
28
- version: "1.114.0",
28
+ version: "1.114.2",
29
29
  library: "sap.ushell",
30
30
  dependencies: {
31
31
  libs: ["sap.m"]
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  return UIComponent.extend("sap.ushell.components.shell.UserImage.Component", {
38
38
 
39
39
  metadata: {
40
- version: "1.114.0",
40
+ version: "1.114.2",
41
41
  library: "sap.ushell.components.shell.UserImage",
42
42
  dependencies: {
43
43
  libs: {
@@ -38,7 +38,7 @@ sap.ui.define([
38
38
  // visualizationOrganizer Component
39
39
  return UIComponent.extend("sap.ushell.components.visualizationOrganizer.Component", {
40
40
  metadata: {
41
- version: "1.114.0",
41
+ version: "1.114.2",
42
42
  library: "sap.ushell",
43
43
  dependencies: { libs: ["sap.m"] },
44
44
  properties: {