@openui5/sap.ui.core 1.136.2 → 1.138.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 (320) hide show
  1. package/.eslintrc.json +3 -3
  2. package/REUSE.toml +0 -28
  3. package/THIRDPARTY.txt +0 -24
  4. package/package.json +1 -1
  5. package/src/jquery.sap.global.js +1 -1
  6. package/src/jquery.sap.properties.js +1 -1
  7. package/src/jquery.sap.resources.js +1 -1
  8. package/src/jquery.sap.script.js +1 -1
  9. package/src/jquery.sap.storage.js +3 -3
  10. package/src/sap/base/Event.js +1 -1
  11. package/src/sap/base/Eventing.js +1 -1
  12. package/src/sap/base/config.js +1 -1
  13. package/src/sap/base/i18n/LanguageTag.js +1 -1
  14. package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
  15. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  16. package/src/sap/base/util/restricted/_castArray.js +1 -1
  17. package/src/sap/base/util/restricted/_compact.js +1 -1
  18. package/src/sap/base/util/restricted/_curry.js +1 -1
  19. package/src/sap/base/util/restricted/_debounce.js +1 -1
  20. package/src/sap/base/util/restricted/_difference.js +1 -1
  21. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  22. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  23. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  24. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  25. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  26. package/src/sap/base/util/restricted/_flatten.js +1 -1
  27. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  28. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  29. package/src/sap/base/util/restricted/_intersection.js +1 -1
  30. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  31. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  32. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  33. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  34. package/src/sap/base/util/restricted/_isNil.js +1 -1
  35. package/src/sap/base/util/restricted/_max.js +1 -1
  36. package/src/sap/base/util/restricted/_merge.js +1 -1
  37. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  38. package/src/sap/base/util/restricted/_min.js +1 -1
  39. package/src/sap/base/util/restricted/_omit.js +1 -1
  40. package/src/sap/base/util/restricted/_pick.js +1 -1
  41. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  42. package/src/sap/base/util/restricted/_throttle.js +1 -1
  43. package/src/sap/base/util/restricted/_toArray.js +1 -1
  44. package/src/sap/base/util/restricted/_union.js +1 -1
  45. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  46. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  47. package/src/sap/base/util/restricted/_uniq.js +1 -1
  48. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  49. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  50. package/src/sap/base/util/restricted/_without.js +1 -1
  51. package/src/sap/base/util/restricted/_xor.js +1 -1
  52. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  53. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  54. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  55. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  56. package/src/sap/ui/Device.js +3 -3
  57. package/src/sap/ui/Global.js +3 -3
  58. package/src/sap/ui/base/BindingInfo.js +12 -8
  59. package/src/sap/ui/base/BindingParser.js +13 -6
  60. package/src/sap/ui/base/Event.js +1 -1
  61. package/src/sap/ui/base/EventProvider.js +1 -8
  62. package/src/sap/ui/base/Interface.js +1 -1
  63. package/src/sap/ui/base/ManagedObject.js +15 -42
  64. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  65. package/src/sap/ui/base/Metadata.js +1 -1
  66. package/src/sap/ui/base/Object.js +1 -1
  67. package/src/sap/ui/base/ObjectPool.js +1 -1
  68. package/src/sap/ui/base/_runWithOwner.js +43 -0
  69. package/src/sap/ui/core/.library +3 -30
  70. package/src/sap/ui/core/BusyIndicator.js +8 -8
  71. package/src/sap/ui/core/Component.js +61 -73
  72. package/src/sap/ui/core/ComponentContainer.js +22 -2
  73. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  74. package/src/sap/ui/core/ComponentSupport.js +1 -1
  75. package/src/sap/ui/core/Configuration.js +1 -1
  76. package/src/sap/ui/core/Control.js +1 -1
  77. package/src/sap/ui/core/Core.js +2 -2
  78. package/src/sap/ui/core/CustomData.js +1 -1
  79. package/src/sap/ui/core/DeclarativeSupport.js +13 -11
  80. package/src/sap/ui/core/Element.js +1 -3
  81. package/src/sap/ui/core/ElementMetadata.js +1 -1
  82. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  83. package/src/sap/ui/core/EventBus.js +1 -1
  84. package/src/sap/ui/core/ExtensionPoint.js +4 -4
  85. package/src/sap/ui/core/Fragment.js +4 -2
  86. package/src/sap/ui/core/HTML.js +1 -1
  87. package/src/sap/ui/core/History.js +1 -1
  88. package/src/sap/ui/core/Icon.js +1 -1
  89. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  90. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  91. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  92. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  93. package/src/sap/ui/core/InvisibleText.js +1 -1
  94. package/src/sap/ui/core/Item.js +1 -1
  95. package/src/sap/ui/core/LabelEnablement.js +1 -1
  96. package/src/sap/ui/core/LayoutData.js +1 -1
  97. package/src/sap/ui/core/ListItem.js +1 -1
  98. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  99. package/src/sap/ui/core/Locale.js +1 -1
  100. package/src/sap/ui/core/LocaleData.js +1 -1
  101. package/src/sap/ui/core/Manifest.js +1 -1
  102. package/src/sap/ui/core/Message.js +1 -1
  103. package/src/sap/ui/core/Popup.js +65 -180
  104. package/src/sap/ui/core/RenderManager.js +1 -1
  105. package/src/sap/ui/core/Renderer.js +1 -1
  106. package/src/sap/ui/core/ResizeHandler.js +1 -1
  107. package/src/sap/ui/core/ScrollBar.js +1 -1
  108. package/src/sap/ui/core/SeparatorItem.js +1 -1
  109. package/src/sap/ui/core/Theming.js +2 -2
  110. package/src/sap/ui/core/Title.js +1 -1
  111. package/src/sap/ui/core/TooltipBase.js +1 -1
  112. package/src/sap/ui/core/UIArea.js +1 -1
  113. package/src/sap/ui/core/UIComponent.js +11 -56
  114. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  115. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  116. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  117. package/src/sap/ui/core/XMLComposite.js +1 -1
  118. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  119. package/src/sap/ui/core/XMLTemplateProcessor.js +5 -1
  120. package/src/sap/ui/core/_IconRegistry.js +2 -0
  121. package/src/sap/ui/core/date/UI5Date.js +1 -1
  122. package/src/sap/ui/core/delegate/ItemNavigation.js +2 -2
  123. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  124. package/src/sap/ui/core/dnd/DragDropBase.js +12 -2
  125. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  126. package/src/sap/ui/core/dnd/DragInfo.js +5 -3
  127. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  128. package/src/sap/ui/core/format/FormatUtils.js +1 -1
  129. package/src/sap/ui/core/format/NumberFormat.js +19 -43
  130. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  131. package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
  132. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  133. package/src/sap/ui/core/i18n/interaction_ar.xml +1 -1
  134. package/src/sap/ui/core/library.js +3 -3
  135. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  136. package/src/sap/ui/core/message/Message.js +1 -1
  137. package/src/sap/ui/core/message/MessageManager.js +1 -1
  138. package/src/sap/ui/core/message/MessageParser.js +1 -1
  139. package/src/sap/ui/core/message/MessageProcessor.js +6 -6
  140. package/src/sap/ui/core/messagebundle_fr_CA.properties +4 -4
  141. package/src/sap/ui/core/messagebundle_hr.properties +7 -7
  142. package/src/sap/ui/core/messagebundle_ja.properties +4 -4
  143. package/src/sap/ui/core/messagebundle_sv.properties +2 -2
  144. package/src/sap/ui/core/mvc/Controller.js +3 -1
  145. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  146. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  147. package/src/sap/ui/core/mvc/JSView.js +1 -1
  148. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  149. package/src/sap/ui/core/mvc/View.js +12 -181
  150. package/src/sap/ui/core/mvc/XMLView.js +2 -1
  151. package/src/sap/ui/core/mvc/_ViewFactory.js +192 -0
  152. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  153. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  154. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  155. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  156. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  157. package/src/sap/ui/core/routing/Route.js +197 -13
  158. package/src/sap/ui/core/routing/Router.js +19 -8
  159. package/src/sap/ui/core/routing/RouterHashChanger.js +12 -3
  160. package/src/sap/ui/core/routing/Target.js +714 -61
  161. package/src/sap/ui/core/routing/TargetCache.js +205 -25
  162. package/src/sap/ui/core/routing/Targets.js +162 -67
  163. package/src/sap/ui/core/routing/Views.js +1 -0
  164. package/src/sap/ui/core/routing/sync/Route.js +1 -1
  165. package/src/sap/ui/core/routing/sync/Target.js +11 -1
  166. package/src/sap/ui/core/routing/sync/TargetCache.js +3 -3
  167. package/src/sap/ui/core/routing/sync/Targets.js +1 -1
  168. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  169. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  170. package/src/sap/ui/core/service/Service.js +1 -48
  171. package/src/sap/ui/core/service/ServiceFactory.js +44 -4
  172. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  173. package/src/sap/ui/core/support/Plugin.js +1 -1
  174. package/src/sap/ui/core/support/Support.js +356 -353
  175. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  176. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  177. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  178. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  179. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  180. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  181. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  182. package/src/sap/ui/core/support/plugins/ViewInfo.js +4 -2
  183. package/src/sap/ui/core/themes/base/fonts/SAP-icons.ttf +0 -0
  184. package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
  185. package/src/sap/ui/core/themes/base/global.less +4 -0
  186. package/src/sap/ui/core/theming/ThemeHelper.js +1 -18
  187. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  188. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  189. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +4 -4
  190. package/src/sap/ui/core/tmpl/Template.js +1 -1
  191. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  192. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  193. package/src/sap/ui/core/util/Export.js +1 -1
  194. package/src/sap/ui/core/util/ExportCell.js +1 -1
  195. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  196. package/src/sap/ui/core/util/ExportRow.js +1 -1
  197. package/src/sap/ui/core/util/ExportType.js +1 -1
  198. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  199. package/src/sap/ui/core/util/File.js +1 -1
  200. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  201. package/src/sap/ui/core/util/MockServer.js +1 -1
  202. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  203. package/src/sap/ui/core/util/XMLPreprocessor.js +8 -1
  204. package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +4 -4
  205. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  206. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  207. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  208. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  209. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  210. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  211. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  212. package/src/sap/ui/core/webc/WebComponent.js +71 -3
  213. package/src/sap/ui/core/webc/WebComponentMetadata.js +2 -3
  214. package/src/sap/ui/core/webc/WebComponentRenderer.js +1 -1
  215. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  216. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  217. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  218. package/src/sap/ui/debug/ControlTree.js +1 -1
  219. package/src/sap/ui/debug/DebugEnv.js +1 -1
  220. package/src/sap/ui/debug/PropertyList.js +1 -1
  221. package/src/sap/ui/model/ClientModel.js +1 -1
  222. package/src/sap/ui/model/CompositeDataState.js +1 -1
  223. package/src/sap/ui/model/CompositeType.js +1 -1
  224. package/src/sap/ui/model/DataState.js +1 -1
  225. package/src/sap/ui/model/MetaModel.js +1 -1
  226. package/src/sap/ui/model/Model.js +1 -1
  227. package/src/sap/ui/model/SelectionModel.js +1 -1
  228. package/src/sap/ui/model/SimpleType.js +1 -1
  229. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  230. package/src/sap/ui/model/Type.js +1 -1
  231. package/src/sap/ui/model/analytics/AnalyticalBinding.js +2 -1
  232. package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +2 -1
  233. package/src/sap/ui/model/analytics/ODataModelAdapter.js +2 -1
  234. package/src/sap/ui/model/analytics/odata4analytics.js +2 -1
  235. package/src/sap/ui/model/json/JSONModel.js +1 -1
  236. package/src/sap/ui/model/message/MessageModel.js +1 -1
  237. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  238. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  239. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  240. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  241. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  242. package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +2 -1
  243. package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +3 -3
  244. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  245. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  246. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  247. package/src/sap/ui/model/odata/type/Date.js +1 -1
  248. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  249. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  250. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  251. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  252. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  253. package/src/sap/ui/model/odata/type/Double.js +1 -1
  254. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  255. package/src/sap/ui/model/odata/type/Int.js +1 -1
  256. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  257. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  258. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  259. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  260. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  261. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  262. package/src/sap/ui/model/odata/type/Single.js +1 -1
  263. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  264. package/src/sap/ui/model/odata/type/String.js +1 -1
  265. package/src/sap/ui/model/odata/type/Time.js +1 -1
  266. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  267. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  268. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  269. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  270. package/src/sap/ui/model/odata/v2/ODataModel.js +1 -1
  271. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
  272. package/src/sap/ui/model/odata/v4/Context.js +2 -3
  273. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +1 -1
  274. package/src/sap/ui/model/odata/v4/ODataListBinding.js +9 -9
  275. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +57 -19
  276. package/src/sap/ui/model/odata/v4/ODataModel.js +8 -7
  277. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
  278. package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +3 -3
  279. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +86 -90
  280. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +29 -0
  281. package/src/sap/ui/model/odata/v4/lib/_Cache.js +15 -11
  282. package/src/sap/ui/model/odata/v4/lib/_GroupLock.js +10 -4
  283. package/src/sap/ui/model/odata/v4/lib/_Helper.js +5 -3
  284. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +47 -16
  285. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  286. package/src/sap/ui/model/type/Boolean.js +1 -1
  287. package/src/sap/ui/model/type/Currency.js +1 -1
  288. package/src/sap/ui/model/type/Date.js +1 -1
  289. package/src/sap/ui/model/type/DateInterval.js +1 -1
  290. package/src/sap/ui/model/type/DateTime.js +1 -1
  291. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  292. package/src/sap/ui/model/type/FileSize.js +1 -1
  293. package/src/sap/ui/model/type/Float.js +1 -1
  294. package/src/sap/ui/model/type/Integer.js +1 -1
  295. package/src/sap/ui/model/type/String.js +1 -1
  296. package/src/sap/ui/model/type/Time.js +1 -1
  297. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  298. package/src/sap/ui/model/type/Unit.js +1 -1
  299. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  300. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  301. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  302. package/src/sap/ui/test/Opa.js +14 -2
  303. package/src/sap/ui/test/Opa5.js +61 -10
  304. package/src/sap/ui/test/TestUtils.js +6 -2
  305. package/src/sap/ui/test/generic/TestBase.js +1 -1
  306. package/src/sap/ui/thirdparty/datajs.js +13 -10
  307. package/src/sap/ui/util/Storage.js +1 -1
  308. package/src/ui5loader-autoconfig.js +1 -18
  309. package/src/ui5loader.js +1 -1
  310. package/src/sap/ui/core/routing/async/Route.js +0 -186
  311. package/src/sap/ui/core/routing/async/Target.js +0 -712
  312. package/src/sap/ui/core/routing/async/TargetCache.js +0 -196
  313. package/src/sap/ui/core/routing/async/Targets.js +0 -130
  314. package/src/sap/ui/thirdparty/iscroll-lite.js +0 -603
  315. package/src/sap/ui/thirdparty/iscroll.js +0 -1104
  316. package/src/sap/ui/thirdparty/mobiscroll/css/mobiscroll-core.css +0 -416
  317. package/src/sap/ui/thirdparty/mobiscroll/js/mobiscroll-core.js +0 -127
  318. package/src/sap/ui/thirdparty/mobiscroll/js/mobiscroll-datetime.js +0 -818
  319. package/src/sap/ui/thirdparty/mobiscroll/js/mobiscroll-scroller.js +0 -1264
  320. package/src/sap/ui/thirdparty/swipe-view.js +0 -560
@@ -44,7 +44,7 @@
44
44
  * feature - DO NOT USE IN PRODUCTIVE SCENARIOS!!
45
45
  *
46
46
  * @author Peter Muessig
47
- * @version 1.136.2
47
+ * @version 1.138.0
48
48
  * @private
49
49
  * @alias sap.ui.core.plugin.LessSupport
50
50
  */
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * @public
22
22
  * @since 1.15.0
23
23
  * @deprecated since 1.56, use an {@link sap.ui.core.mvc.XMLView} or a {@link topic:e6bb33d076dc4f23be50c082c271b9f0 Typed View} instead
24
- * @version 1.136.2
24
+ * @version 1.138.0
25
25
  * @alias sap.ui.core.plugin.TemplatingSupport
26
26
  */
27
27
  var TemplatingSupport = function() {
@@ -38,7 +38,7 @@ function (
38
38
  * @alias sap.ui.core.postmessage.Bus
39
39
  * @author SAP SE
40
40
  * @since 1.56.0
41
- * @version 1.136.2
41
+ * @version 1.138.0
42
42
  * @private
43
43
  * @ui5-restricted sap.ui.core.support, sap.ui.support, sap.ui.rta
44
44
  */
@@ -13,7 +13,7 @@ sap.ui.define(["sap/ui/core/Lib"], function(Library) {
13
13
  *
14
14
  * @author SAP SE
15
15
  * @since 1.56.0
16
- * @version 1.136.2
16
+ * @version 1.138.0
17
17
  *
18
18
  * @function
19
19
  * @param {string} sMessage - Dialog message
@@ -6,17 +6,28 @@
6
6
 
7
7
 
8
8
  sap.ui.define([
9
- 'sap/ui/base/EventProvider',
10
- 'sap/ui/core/routing/Target',
11
- 'sap/ui/core/routing/async/Route',
12
- 'sap/ui/core/routing/sync/Route',
13
- 'sap/ui/core/Component',
14
- "sap/base/future",
9
+ "sap/base/Log",
15
10
  "sap/base/assert",
16
- "sap/base/util/deepExtend"
11
+ "sap/base/future",
12
+ "sap/base/util/deepExtend",
13
+ "sap/base/util/extend",
14
+ "sap/ui/base/EventProvider",
15
+ "sap/ui/core/Component",
16
+ "sap/ui/core/routing/Target",
17
+ "sap/ui/core/routing/sync/Route"
17
18
  ],
18
- function(EventProvider, Target, asyncRoute, syncRoute, Component, future, assert, deepExtend) {
19
- "use strict";
19
+ function(
20
+ Log,
21
+ assert,
22
+ future,
23
+ deepExtend,
24
+ extend,
25
+ EventProvider,
26
+ Component,
27
+ Target,
28
+ SyncRoute
29
+ ) {
30
+ "use strict";
20
31
 
21
32
  /**
22
33
  * Configuration object for a route
@@ -124,12 +135,14 @@ sap.ui.define([
124
135
  aSubRoutes,
125
136
  sRouteName,
126
137
  oSubRouteConfig,
127
- RouteStub,
138
+ /** @ui5-transform-hint replace-local true */
128
139
  async = oRouter._isAsync();
129
140
 
130
- RouteStub = async ? asyncRoute : syncRoute;
131
- for (var fn in RouteStub) {
132
- this[fn] = RouteStub[fn];
141
+
142
+ if (!async) {
143
+ for (const fn in SyncRoute) {
144
+ this[fn] = SyncRoute[fn];
145
+ }
133
146
  }
134
147
 
135
148
  if (!Array.isArray(vRoute)) {
@@ -693,6 +706,177 @@ sap.ui.define([
693
706
  */
694
707
  getPatternArguments : function(sHash) {
695
708
  return this._aRoutes[0].extrapolate(sHash);
709
+ },
710
+
711
+
712
+ /**
713
+ * Executes the route matched logic
714
+ *
715
+ * @param {object} oArguments The arguments of the event
716
+ * @param {Promise} oSequencePromise Promise chain for resolution in the correct order
717
+ * @param {sap.ui.core.routing.Route} oNestingChild The nesting route
718
+ * @returns {Promise} resolves with {name: *, view: *, control: *}
719
+ * @private
720
+ */
721
+ _routeMatched : function(oArguments, oSequencePromise, oNestingChild) {
722
+
723
+ var oRouter = this._oRouter,
724
+ oTarget,
725
+ oTargets,
726
+ oConfig,
727
+ oEventData,
728
+ oView = null,
729
+ oTargetControl = null,
730
+ bInitial,
731
+ oTargetData,
732
+ oCurrentPromise,
733
+ aAlignedTargets,
734
+ bRepeated = (oRouter._oMatchedRoute === this);
735
+
736
+ oRouter._sRouteInProgress = null;
737
+ oRouter._stopWaitingTitleChangedFromChild();
738
+
739
+ if (oRouter._oMatchedRoute) {
740
+ // clear the dynamicTarget of the previous matched route
741
+ delete oRouter._oMatchedRoute._oConfig.dynamicTarget;
742
+ }
743
+
744
+ oRouter._oMatchedRoute = this;
745
+ oRouter._bMatchingProcessStarted = true;
746
+
747
+ oConfig = extend({}, oRouter._oConfig, this._oConfig);
748
+
749
+ oTargets = oRouter.getTargets();
750
+ var sTitleName;
751
+ if (oTargets) {
752
+ sTitleName = oTargets._getTitleTargetName(oConfig.target, oConfig.titleTarget);
753
+ if (sTitleName && oRouter._oPreviousTitleChangedRoute !== this) {
754
+ oRouter._bFireTitleChanged = true;
755
+ if ((oRouter._oOwner && oRouter._oOwner._bRoutingPropagateTitle)) {
756
+ var oParentComponent = Component.getOwnerComponentFor(oRouter._oOwner);
757
+ var oParentRouter = oParentComponent && oParentComponent.getRouter();
758
+ if (oParentRouter) {
759
+ oParentRouter._waitForTitleChangedOn(oRouter);
760
+ }
761
+ }
762
+ } else {
763
+ oRouter._bFireTitleChanged = false;
764
+ }
765
+
766
+ if (this._oConfig.target) {
767
+ aAlignedTargets = oTargets._alignTargetsInfo(this._oConfig.target);
768
+ aAlignedTargets.forEach(function(oTarget){
769
+ oTarget.propagateTitle = oTarget.hasOwnProperty("propagateTitle") ? oTarget.propagateTitle : oRouter._oConfig.propagateTitle;
770
+ oTarget.routeRelevant = true;
771
+ oTarget.repeatedRoute = bRepeated;
772
+ });
773
+ }
774
+ } else {
775
+ aAlignedTargets = this._oConfig.target;
776
+ }
777
+
778
+ if (!oSequencePromise || oSequencePromise === true) {
779
+ bInitial = true;
780
+ oSequencePromise = Promise.resolve();
781
+ }
782
+
783
+ // Recursively fire matched event and display views of this routes parents
784
+ if (this._oParent) {
785
+ oSequencePromise = this._oParent._routeMatched(oArguments, oSequencePromise);
786
+ } else if (this._oNestingParent) {
787
+ // pass child for setting the flag in event parameter of parent
788
+ this._oNestingParent._routeMatched(oArguments, oSequencePromise, this);
789
+ }
790
+
791
+
792
+ // make a copy of arguments and forward route config to target
793
+ oTargetData = Object.assign({}, oArguments);
794
+ oTargetData.routeConfig = oConfig;
795
+
796
+ oEventData = {
797
+ name: oConfig.name,
798
+ arguments: oArguments,
799
+ config : oConfig
800
+ };
801
+
802
+ if (oNestingChild) {
803
+ // setting the event parameter of nesting child
804
+ oEventData.nestedRoute = oNestingChild;
805
+ }
806
+
807
+ // fire the beforeMatched and beforeRouteMathced events
808
+ this.fireBeforeMatched(oEventData);
809
+ oRouter.fireBeforeRouteMatched(oEventData);
810
+
811
+ // Route is defined without target in the config - use the internally created target to place the view
812
+ if (this._oTarget) {
813
+ oTarget = this._oTarget;
814
+ // update the targets config so defaults are taken into account - since targets cannot be added in runtime they don't merge configs like routes do
815
+ oTarget._updateOptions(this._convertToTargetOptions(oConfig));
816
+
817
+ oSequencePromise = oTarget._place(oSequencePromise, { legacy: true });
818
+
819
+ // this is for sap.m.routing.Router to chain the promise to the navigation promise in TargetHandler
820
+ if (this._oRouter._oTargetHandler && this._oRouter._oTargetHandler._chainNavigation) {
821
+ oCurrentPromise = oSequencePromise;
822
+ oSequencePromise = this._oRouter._oTargetHandler._chainNavigation(function() {
823
+ return oCurrentPromise;
824
+ });
825
+ }
826
+ } else {
827
+ oSequencePromise = oRouter._oTargets._display(aAlignedTargets, oTargetData, this._oConfig.titleTarget, oSequencePromise);
828
+ }
829
+
830
+ return oSequencePromise.then(function(oResult) {
831
+ oRouter._bMatchingProcessStarted = false;
832
+ var aResult, aViews, aControls;
833
+
834
+ // The legacy config uses single target to display which makes the promise resolve with an object
835
+ // However, the new config uses targets to display which makes the promise resolve with an array
836
+ // Both cases need to be handled here
837
+ if (Array.isArray(oResult)) {
838
+ aResult = oResult;
839
+ oResult = aResult[0];
840
+ }
841
+
842
+ oResult = oResult || {};
843
+
844
+ oView = oResult.view;
845
+ oTargetControl = oResult.control;
846
+
847
+ // Extend the event data with view and targetControl
848
+ oEventData.view = oView;
849
+ oEventData.targetControl = oTargetControl;
850
+
851
+ if (aResult) {
852
+ aViews = [];
853
+ aControls = [];
854
+
855
+ aResult.forEach(function(oResult) {
856
+ aViews.push(oResult.view);
857
+ aControls.push(oResult.control);
858
+ });
859
+
860
+ oEventData.views = aViews;
861
+ oEventData.targetControls = aControls;
862
+ }
863
+
864
+ if (oConfig.callback) {
865
+ //Targets don't pass TargetControl and view since there might be multiple
866
+ oConfig.callback(this, oArguments, oConfig, oTargetControl, oView);
867
+ }
868
+
869
+ this.fireEvent("matched", oEventData);
870
+ oRouter.fireRouteMatched(oEventData);
871
+ // skip this event in the recursion
872
+ if (bInitial) {
873
+ Log.info("The route named '" + oConfig.name + "' did match with its pattern", this);
874
+ this.fireEvent("patternMatched", oEventData);
875
+ oRouter.fireRoutePatternMatched(oEventData);
876
+ }
877
+
878
+ return oResult;
879
+ }.bind(this));
696
880
  }
697
881
  });
698
882
 
@@ -219,19 +219,21 @@ sap.ui.define([
219
219
  * </pre>
220
220
  * @public
221
221
  * @alias sap.ui.core.routing.Router
222
+ * @ui5-transform-hint replace-param oConfig.async true
223
+ * @ui5-transform-hint replace-param oConfig._async true
222
224
  */
223
225
  var Router = EventProvider.extend("sap.ui.core.routing.Router", /** @lends sap.ui.core.routing.Router.prototype */ {
224
226
 
225
227
  constructor : function(oRoutes, oConfig, oOwner, oTargetsConfig, oRouterHashChanger) {
226
228
  EventProvider.apply(this);
227
229
 
228
- this._oConfig = oConfig || {};
230
+ oConfig = oConfig || {};
229
231
  this._oRouter = crossroads.create();
230
232
  this._oRouter.ignoreState = true;
231
233
  this._oRoutes = {};
232
234
  this._oOwner = oOwner;
233
235
 
234
- this._oConfig.router = this;
236
+ oConfig.router = this;
235
237
 
236
238
  // temporarily: for checking the url param
237
239
  function checkUrl() {
@@ -242,16 +244,17 @@ sap.ui.define([
242
244
  return false;
243
245
  }
244
246
 
245
- // set the default view loading mode to sync for compatibility reasons
246
- this._oConfig._async = this._oConfig.async;
247
- if (this._oConfig._async === undefined) {
247
+ oConfig._async = oConfig.async;
248
+ if (oConfig._async === undefined) {
248
249
  // temporarily: set the default value depending on the url parameter "sap-ui-xx-asyncRouting"
249
- this._oConfig._async = checkUrl();
250
+ oConfig._async = checkUrl();
250
251
  }
251
252
 
253
+ this._oConfig = oConfig;
254
+
252
255
  this._oViews = new Views({
253
256
  component : oOwner,
254
- async : this._oConfig._async
257
+ async : oConfig._async
255
258
  });
256
259
 
257
260
  if (oTargetsConfig) {
@@ -881,6 +884,9 @@ sap.ui.define([
881
884
  }
882
885
 
883
886
  if (oComponentTargetInfo && !isEmptyObject(oComponentTargetInfo)) {
887
+ /**
888
+ * @deprecated
889
+ */
884
890
  if (!this._oConfig._async) {
885
891
  Log.error("navTo with component target info is only supported with async router", this);
886
892
  return this;
@@ -1500,7 +1506,9 @@ sap.ui.define([
1500
1506
  }
1501
1507
 
1502
1508
  if (bImmediateFire) {
1503
- if (this._bMatchingProcessStarted && this._isAsync()) {
1509
+ /** @ui5-transform-hint replace-local true */
1510
+ const bAsync = this._isAsync();
1511
+ if (this._bMatchingProcessStarted && bAsync) {
1504
1512
  this.attachEventOnce("routeMatched", function(){
1505
1513
  this.fireEvent(Router.M_EVENTS.TITLE_CHANGED, mParameters);
1506
1514
  }, this);
@@ -1581,6 +1589,9 @@ sap.ui.define([
1581
1589
  fnFireEvent();
1582
1590
  },
1583
1591
 
1592
+ /**
1593
+ * @deprecated
1594
+ */
1584
1595
  _isAsync : function() {
1585
1596
  return this._oConfig._async;
1586
1597
  },
@@ -46,9 +46,18 @@ sap.ui.define([
46
46
  return this.key ? (this.key + "-" + sKey) : sKey;
47
47
  };
48
48
 
49
- /*
50
- * @param {string} sKey the prefix for the sub RouterHashChanger
51
- * @return {sap.ui.core.routing.RouterHashChanger} the sub RouterHashChanger
49
+ /**
50
+ * Returns a managed instance of {@link sap.ui.core.routing.RouterHashChanger} associated with the current instance.
51
+ *
52
+ * This sub-instance handles a specific part of the URL hash. When the sub-instance modifies the hash,
53
+ * it notifies the parent instance, which then updates the browser’s hash accordingly.
54
+ * Likewise, when the relevant part of the hash changes externally, the parent instance notifies the sub-instance.
55
+ *
56
+ * The provided <code>sKey</code> is used as an identifier for caching the sub-instance.
57
+ * If this method is called again with the same key, the previously created instance is returned.
58
+ *
59
+ * @param {string} sKey A unique key used as the prefix for the sub RouterHashChanger.
60
+ * @returns {sap.ui.core.routing.RouterHashChanger} The corresponding sub RouterHashChanger instance.
52
61
  * @protected
53
62
  */
54
63
  RouterHashChanger.prototype.createSubHashChanger = function(sKey) {