@openui5/sap.ui.core 1.120.1 → 1.120.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 (476) hide show
  1. package/.reuse/dep5 +1 -1
  2. package/THIRDPARTY.txt +1 -1
  3. package/package.json +1 -1
  4. package/src/jquery.sap.global.js +1 -1
  5. package/src/jquery.sap.properties.js +1 -1
  6. package/src/jquery.sap.resources.js +1 -1
  7. package/src/jquery.sap.script.js +1 -1
  8. package/src/jquery.sap.storage.js +3 -3
  9. package/src/sap/base/Event.js +1 -1
  10. package/src/sap/base/Eventing.js +1 -1
  11. package/src/sap/base/config.js +1 -1
  12. package/src/sap/base/i18n/LanguageTag.js +1 -1
  13. package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
  14. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  15. package/src/sap/base/util/restricted/_castArray.js +1 -1
  16. package/src/sap/base/util/restricted/_compact.js +1 -1
  17. package/src/sap/base/util/restricted/_curry.js +1 -1
  18. package/src/sap/base/util/restricted/_debounce.js +1 -1
  19. package/src/sap/base/util/restricted/_difference.js +1 -1
  20. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  21. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  22. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  23. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  24. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  25. package/src/sap/base/util/restricted/_flatten.js +1 -1
  26. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  27. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  28. package/src/sap/base/util/restricted/_intersection.js +1 -1
  29. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  30. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  31. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  32. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  33. package/src/sap/base/util/restricted/_isNil.js +1 -1
  34. package/src/sap/base/util/restricted/_max.js +1 -1
  35. package/src/sap/base/util/restricted/_merge.js +1 -1
  36. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  37. package/src/sap/base/util/restricted/_min.js +1 -1
  38. package/src/sap/base/util/restricted/_omit.js +1 -1
  39. package/src/sap/base/util/restricted/_pick.js +1 -1
  40. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  41. package/src/sap/base/util/restricted/_throttle.js +1 -1
  42. package/src/sap/base/util/restricted/_toArray.js +1 -1
  43. package/src/sap/base/util/restricted/_union.js +1 -1
  44. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  45. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  46. package/src/sap/base/util/restricted/_uniq.js +1 -1
  47. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  48. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  49. package/src/sap/base/util/restricted/_without.js +1 -1
  50. package/src/sap/base/util/restricted/_xor.js +1 -1
  51. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  52. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  53. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  54. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  55. package/src/sap/ui/Device.js +3 -3
  56. package/src/sap/ui/Global.js +4 -4
  57. package/src/sap/ui/base/BindingParser.js +4 -4
  58. package/src/sap/ui/base/DataType.js +5 -5
  59. package/src/sap/ui/base/Event.js +1 -1
  60. package/src/sap/ui/base/EventProvider.js +1 -1
  61. package/src/sap/ui/base/Interface.js +1 -1
  62. package/src/sap/ui/base/ManagedObject.js +9 -9
  63. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  64. package/src/sap/ui/base/ManagedObjectRegistry.js +186 -169
  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/core/.library +3 -3
  69. package/src/sap/ui/core/BusyIndicator.js +1 -1
  70. package/src/sap/ui/core/Component.js +30 -144
  71. package/src/sap/ui/core/ComponentContainer.js +3 -3
  72. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  73. package/src/sap/ui/core/ComponentRegistry.js +153 -0
  74. package/src/sap/ui/core/ComponentSupport.js +3 -3
  75. package/src/sap/ui/core/Configuration.js +1 -1
  76. package/src/sap/ui/core/Control.js +6 -4
  77. package/src/sap/ui/core/Core.js +6 -4
  78. package/src/sap/ui/core/CustomData.js +1 -1
  79. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  80. package/src/sap/ui/core/Element.js +25 -141
  81. package/src/sap/ui/core/ElementMetadata.js +1 -1
  82. package/src/sap/ui/core/ElementRegistry.js +159 -0
  83. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  84. package/src/sap/ui/core/EventBus.js +1 -1
  85. package/src/sap/ui/core/ExtensionPoint.js +5 -5
  86. package/src/sap/ui/core/FocusHandler.js +3 -2
  87. package/src/sap/ui/core/Fragment.js +5 -5
  88. package/src/sap/ui/core/HTML.js +1 -1
  89. package/src/sap/ui/core/History.js +1 -1
  90. package/src/sap/ui/core/Icon.js +1 -1
  91. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  92. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  93. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  94. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  95. package/src/sap/ui/core/InvisibleText.js +1 -1
  96. package/src/sap/ui/core/Item.js +1 -1
  97. package/src/sap/ui/core/LabelEnablement.js +1 -1
  98. package/src/sap/ui/core/LayoutData.js +1 -1
  99. package/src/sap/ui/core/Lib.js +7 -7
  100. package/src/sap/ui/core/ListItem.js +1 -1
  101. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  102. package/src/sap/ui/core/Locale.js +1 -1
  103. package/src/sap/ui/core/LocaleData.js +55 -11
  104. package/src/sap/ui/core/Manifest.js +4 -5
  105. package/src/sap/ui/core/Message.js +2 -1
  106. package/src/sap/ui/core/Messaging.js +2 -2
  107. package/src/sap/ui/core/RenderManager.js +1 -1
  108. package/src/sap/ui/core/Renderer.js +1 -1
  109. package/src/sap/ui/core/ResizeHandler.js +1 -1
  110. package/src/sap/ui/core/ScrollBar.js +1 -1
  111. package/src/sap/ui/core/SeparatorItem.js +1 -1
  112. package/src/sap/ui/core/Shortcut.js +15 -9
  113. package/src/sap/ui/core/StaticArea.js +4 -1
  114. package/src/sap/ui/core/Theming.js +3 -3
  115. package/src/sap/ui/core/Title.js +1 -1
  116. package/src/sap/ui/core/TooltipBase.js +1 -1
  117. package/src/sap/ui/core/UIArea.js +51 -13
  118. package/src/sap/ui/core/UIAreaRegistry.js +150 -0
  119. package/src/sap/ui/core/UIComponent.js +3 -3
  120. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  121. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  122. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  123. package/src/sap/ui/core/XMLComposite.js +1 -1
  124. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  125. package/src/sap/ui/core/XMLTemplateProcessor.js +95 -76
  126. package/src/sap/ui/core/cldr/Unicode-Data-Files-LICENSE.txt +1 -1
  127. package/src/sap/ui/core/cldr/cy.json +12 -3
  128. package/src/sap/ui/core/cldr/en_AU.json +48 -12
  129. package/src/sap/ui/core/cldr/en_GB.json +24 -6
  130. package/src/sap/ui/core/cldr/en_HK.json +24 -6
  131. package/src/sap/ui/core/cldr/en_IE.json +24 -6
  132. package/src/sap/ui/core/cldr/en_IN.json +24 -6
  133. package/src/sap/ui/core/cldr/en_NZ.json +24 -6
  134. package/src/sap/ui/core/cldr/en_PG.json +24 -6
  135. package/src/sap/ui/core/cldr/en_SG.json +24 -6
  136. package/src/sap/ui/core/cldr/en_ZA.json +24 -6
  137. package/src/sap/ui/core/cldr/es.json +288 -72
  138. package/src/sap/ui/core/cldr/es_AR.json +288 -72
  139. package/src/sap/ui/core/cldr/es_BO.json +288 -72
  140. package/src/sap/ui/core/cldr/es_CL.json +144 -36
  141. package/src/sap/ui/core/cldr/es_CO.json +144 -36
  142. package/src/sap/ui/core/cldr/es_MX.json +288 -72
  143. package/src/sap/ui/core/cldr/fa.json +48 -12
  144. package/src/sap/ui/core/cldr/id.json +56 -14
  145. package/src/sap/ui/core/cldr/kk.json +184 -46
  146. package/src/sap/ui/core/cldr/ms.json +56 -14
  147. package/src/sap/ui/core/cldr/nb.json +36 -9
  148. package/src/sap/ui/core/cldr/nl.json +264 -66
  149. package/src/sap/ui/core/cldr/nl_BE.json +264 -66
  150. package/src/sap/ui/core/cldr/pt.json +288 -72
  151. package/src/sap/ui/core/cldr/pt_PT.json +288 -72
  152. package/src/sap/ui/core/cldr/sr.json +96 -24
  153. package/src/sap/ui/core/cldr/sr_Latn.json +72 -18
  154. package/src/sap/ui/core/date/UI5Date.js +1 -1
  155. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  156. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  157. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  158. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  159. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  160. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  161. package/src/sap/ui/core/format/DateFormat.js +25 -13
  162. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  163. package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
  164. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  165. package/src/sap/ui/core/library.js +9 -3
  166. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  167. package/src/sap/ui/core/message/Message.js +7 -7
  168. package/src/sap/ui/core/message/MessageManager.js +1 -1
  169. package/src/sap/ui/core/message/MessageParser.js +1 -1
  170. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  171. package/src/sap/ui/core/message/MessageType.js +1 -1
  172. package/src/sap/ui/core/mvc/Controller.js +15 -13
  173. package/src/sap/ui/core/mvc/ControllerExtension.js +7 -5
  174. package/src/sap/ui/core/mvc/ControllerExtensionProvider.js +1 -1
  175. package/src/sap/ui/core/mvc/ControllerMetadata.js +1 -1
  176. package/src/sap/ui/core/mvc/EventHandlerResolver.js +4 -4
  177. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  178. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  179. package/src/sap/ui/core/mvc/JSView.js +1 -1
  180. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  181. package/src/sap/ui/core/mvc/View.js +20 -9
  182. package/src/sap/ui/core/mvc/XMLView.js +8 -2
  183. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  184. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  185. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  186. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  187. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  188. package/src/sap/ui/core/routing/History.js +1 -1
  189. package/src/sap/ui/core/routing/Route.js +6 -6
  190. package/src/sap/ui/core/routing/Router.js +6 -6
  191. package/src/sap/ui/core/routing/Targets.js +3 -3
  192. package/src/sap/ui/core/routing/async/Target.js +2 -2
  193. package/src/sap/ui/core/routing/async/Targets.js +1 -1
  194. package/src/sap/ui/core/rules/Misc.support.js +3 -3
  195. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  196. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  197. package/src/sap/ui/core/service/Service.js +1 -1
  198. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  199. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  200. package/src/sap/ui/core/support/Plugin.js +1 -1
  201. package/src/sap/ui/core/support/Support.js +1 -1
  202. package/src/sap/ui/core/support/plugins/ControlTree.js +6 -4
  203. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  204. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  205. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  206. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  207. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  208. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  209. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  210. package/src/sap/ui/core/theming/Parameters.js +7 -7
  211. package/src/sap/ui/core/theming/ThemeHelper.js +2 -2
  212. package/src/sap/ui/core/theming/ThemeManager.js +2 -2
  213. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  214. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  215. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  216. package/src/sap/ui/core/tmpl/Template.js +1 -1
  217. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  218. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  219. package/src/sap/ui/core/util/Export.js +1 -1
  220. package/src/sap/ui/core/util/ExportCell.js +1 -1
  221. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  222. package/src/sap/ui/core/util/ExportRow.js +1 -1
  223. package/src/sap/ui/core/util/ExportType.js +1 -1
  224. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  225. package/src/sap/ui/core/util/File.js +1 -1
  226. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  227. package/src/sap/ui/core/util/MockServer.js +34 -3
  228. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  229. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  230. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  231. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  232. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  233. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  234. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  235. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  236. package/src/sap/ui/core/webc/WebComponent.js +1 -1
  237. package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
  238. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  239. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  240. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  241. package/src/sap/ui/debug/ControlTree.js +1 -1
  242. package/src/sap/ui/debug/DebugEnv.js +1 -1
  243. package/src/sap/ui/debug/PropertyList.js +1 -1
  244. package/src/sap/ui/model/Binding.js +2 -2
  245. package/src/sap/ui/model/ClientModel.js +1 -1
  246. package/src/sap/ui/model/CompositeDataState.js +5 -5
  247. package/src/sap/ui/model/CompositeType.js +1 -1
  248. package/src/sap/ui/model/DataState.js +10 -10
  249. package/src/sap/ui/model/FilterProcessor.js +8 -5
  250. package/src/sap/ui/model/ManagedObjectBindingSupport.js +2 -2
  251. package/src/sap/ui/model/MetaModel.js +1 -1
  252. package/src/sap/ui/model/Model.js +1 -1
  253. package/src/sap/ui/model/SelectionModel.js +1 -1
  254. package/src/sap/ui/model/SimpleType.js +1 -1
  255. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  256. package/src/sap/ui/model/Type.js +1 -1
  257. package/src/sap/ui/model/analytics/odata4analytics.js +6 -6
  258. package/src/sap/ui/model/json/JSONModel.js +1 -1
  259. package/src/sap/ui/model/message/MessageModel.js +1 -1
  260. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  261. package/src/sap/ui/model/odata/ODataMessageParser.js +3 -3
  262. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  263. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  264. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  265. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  266. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  267. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  268. package/src/sap/ui/model/odata/type/Date.js +1 -1
  269. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  270. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  271. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  272. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  273. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  274. package/src/sap/ui/model/odata/type/Double.js +1 -1
  275. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  276. package/src/sap/ui/model/odata/type/Int.js +1 -1
  277. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  278. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  279. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  280. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  281. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  282. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  283. package/src/sap/ui/model/odata/type/Single.js +1 -1
  284. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  285. package/src/sap/ui/model/odata/type/String.js +1 -1
  286. package/src/sap/ui/model/odata/type/Time.js +1 -1
  287. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  288. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  289. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  290. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  291. package/src/sap/ui/model/odata/v2/ODataModel.js +4 -4
  292. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
  293. package/src/sap/ui/model/odata/v4/Context.js +32 -27
  294. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +1 -1
  295. package/src/sap/ui/model/odata/v4/ODataListBinding.js +198 -155
  296. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
  297. package/src/sap/ui/model/odata/v4/ODataModel.js +9 -4
  298. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +9 -6
  299. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
  300. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +220 -85
  301. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +33 -20
  302. package/src/sap/ui/model/odata/v4/lib/_Cache.js +70 -18
  303. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +9 -5
  304. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  305. package/src/sap/ui/model/type/Boolean.js +1 -1
  306. package/src/sap/ui/model/type/Currency.js +1 -1
  307. package/src/sap/ui/model/type/Date.js +1 -1
  308. package/src/sap/ui/model/type/DateInterval.js +1 -1
  309. package/src/sap/ui/model/type/DateTime.js +1 -1
  310. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  311. package/src/sap/ui/model/type/FileSize.js +1 -1
  312. package/src/sap/ui/model/type/Float.js +1 -1
  313. package/src/sap/ui/model/type/Integer.js +1 -1
  314. package/src/sap/ui/model/type/String.js +1 -1
  315. package/src/sap/ui/model/type/Time.js +1 -1
  316. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  317. package/src/sap/ui/model/type/Unit.js +1 -1
  318. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  319. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  320. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +5 -5
  321. package/src/sap/ui/test/BranchTracking.js +4 -0
  322. package/src/sap/ui/test/actions/EnterText.js +1 -5
  323. package/src/sap/ui/test/generic/GenericTestCollection.js +1 -0
  324. package/src/sap/ui/test/generic/TestBase.js +4 -4
  325. package/src/sap/ui/test/generic/Utils.js +3 -2
  326. package/src/sap/ui/util/Storage.js +1 -1
  327. package/src/ui5loader-autoconfig.js +23 -15
  328. package/src/ui5loader.js +9 -4
  329. package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/ui5.yaml +1 -1
  330. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Template.controller.js +3 -3
  331. package/test/sap/ui/core/demokit/sample/common/Controller.js +0 -1
  332. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/ui5.yaml +1 -1
  333. package/test/sap/ui/core/demokit/sample/matcher/Descendant/ui5.yaml +1 -1
  334. package/test/sap/ui/core/demokit/sample/matcher/I18NText/ui5.yaml +1 -1
  335. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/ui5.yaml +1 -1
  336. package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.controller.js +1 -1
  337. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.controller.js +14 -1
  338. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.view.xml +6 -0
  339. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/MIT.MultipleInlineCreationRowsGrid.html +5 -0
  340. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.view.xml +9 -2
  341. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.js +23 -0
  342. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/pages/Main.js +58 -1
  343. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +75 -30
  344. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +19 -1
  345. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +84 -28
  346. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/data/metadata.xml +3 -3
  347. package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +1 -1
  348. package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +1 -1
  349. package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +1 -1
  350. package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +1 -1
  351. package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +1 -1
  352. package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +1 -1
  353. package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +1 -1
  354. package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +1 -1
  355. package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +1 -1
  356. package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +1 -1
  357. package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +1 -1
  358. package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +1 -1
  359. package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +1 -1
  360. package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +1 -1
  361. package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +1 -1
  362. package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +1 -1
  363. package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +1 -1
  364. package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +1 -1
  365. package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +1 -1
  366. package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +1 -1
  367. package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +1 -1
  368. package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +1 -1
  369. package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +1 -1
  370. package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +1 -1
  371. package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +1 -1
  372. package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +1 -1
  373. package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +1 -1
  374. package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +1 -1
  375. package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +1 -1
  376. package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +1 -1
  377. package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +1 -1
  378. package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +1 -1
  379. package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +1 -1
  380. package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +1 -1
  381. package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +1 -1
  382. package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +1 -1
  383. package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +1 -1
  384. package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +1 -1
  385. package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +1 -1
  386. package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +1 -1
  387. package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +1 -1
  388. package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +1 -1
  389. package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +1 -1
  390. package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +1 -1
  391. package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +1 -1
  392. package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +1 -1
  393. package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +1 -1
  394. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +1 -1
  395. package/test/sap/ui/core/qunit/BindingParser.qunit.js +4 -4
  396. package/test/sap/ui/core/qunit/CommandExecution.qunit.js +3 -1
  397. package/test/sap/ui/core/qunit/Core.qunit.js +1 -1
  398. package/test/sap/ui/core/qunit/DataBinding.qunit.js +6 -6
  399. package/test/sap/ui/core/qunit/Declarative.qunit.js +6 -6
  400. package/test/sap/ui/core/qunit/Element_base.qunit.js +8 -7
  401. package/test/sap/ui/core/qunit/Element_base_legacyAPIs.qunit.js +48 -0
  402. package/test/sap/ui/core/qunit/Element_closestTo.qunit.js +1 -1
  403. package/test/sap/ui/core/qunit/Fragment.qunit.js +63 -13
  404. package/test/sap/ui/core/qunit/HTML.qunit.js +5 -5
  405. package/test/sap/ui/core/qunit/Lib.qunit.js +19 -2
  406. package/test/sap/ui/core/qunit/PlaceAt.qunit.js +6 -6
  407. package/test/sap/ui/core/qunit/Shortcut.qunit.js +9 -1
  408. package/test/sap/ui/core/qunit/UIArea.qunit.js +7 -6
  409. package/test/sap/ui/core/qunit/analytics/odata4analytics.qunit.js +41 -0
  410. package/test/sap/ui/core/qunit/base/Config_cascade.qunit.html +7 -5
  411. package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +46 -7
  412. package/test/sap/ui/core/qunit/base/config/GlobalConfigForCascade.js +24 -21
  413. package/test/sap/ui/core/qunit/component/Component.qunit.js +9 -8
  414. package/test/sap/ui/core/qunit/component/ComponentContainer.qunit.js +1 -1
  415. package/test/sap/ui/core/qunit/component/Models.qunit.js +29 -30
  416. package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +3 -3
  417. package/test/sap/ui/core/qunit/generic/ControlMemoryLeaks.qunit.js +4 -3
  418. package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaks.qunit.js +6 -7
  419. package/test/sap/ui/core/qunit/generic/legacy/DuplicateIdCheck.qunit.js +3 -2
  420. package/test/sap/ui/core/qunit/generic/legacy/testsuite.generic.qunit.js +3 -0
  421. package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +65 -0
  422. package/test/sap/ui/core/qunit/jquery.sap.ui.qunit.js +12 -12
  423. package/test/sap/ui/core/qunit/loader/syncMode_unavoidablySync.qunit.js +54 -1
  424. package/test/sap/ui/core/qunit/messages/messagesGeneral.qunit.js +3 -1
  425. package/test/sap/ui/core/qunit/mockserver/testdata/shopping/Products.json +1 -1
  426. package/test/sap/ui/core/qunit/model/FilterProcessor.qunit.js +22 -8
  427. package/test/sap/ui/core/qunit/mvc/AnyView.qunit.js +3 -0
  428. package/test/sap/ui/core/qunit/mvc/Controller.qunit.js +3 -2
  429. package/test/sap/ui/core/qunit/mvc/EventHandlerResolver.qunit.js +2 -2
  430. package/test/sap/ui/core/qunit/mvc/View.qunit.js +38 -35
  431. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessor.qunit.js +1 -1
  432. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorAsync.qunit.js +1 -1
  433. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +5 -5
  434. package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +1 -1
  435. package/test/sap/ui/core/qunit/mvc/extensions/ControllerMetadata.qunit.js +6 -2
  436. package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions.qunit.js +12 -0
  437. package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions_legacy.qunit.js +12 -0
  438. package/test/sap/ui/core/qunit/mvc/extensions/testdata/AnotherMain.controller.js +3 -1
  439. package/test/sap/ui/core/qunit/mvc/testdata/XMLViewEmbeddingTypedViews.view.xml +1 -1
  440. package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing.qunit.js +26 -7
  441. package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLTemplateProcessorRequireXML_legacyAPIs.qunit.js +5 -5
  442. package/test/sap/ui/core/qunit/mvc_legacyAPIs/XMLView_legacyAPIs.qunit.js +2 -2
  443. package/test/sap/ui/core/qunit/odata/ODataMessageParserNoFakeService.qunit.js +36 -34
  444. package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +69 -0
  445. package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +43 -22
  446. package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +318 -217
  447. package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +2111 -124
  448. package/test/sap/ui/core/qunit/odata/v4/ODataParentBinding.qunit.js +43 -35
  449. package/test/sap/ui/core/qunit/odata/v4/data/metadata_special_cases.xml +20 -2
  450. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +453 -125
  451. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +70 -33
  452. package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +256 -8
  453. package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +10 -2
  454. package/test/sap/ui/core/qunit/opa/actions/EnterText.qunit.js +38 -14
  455. package/test/sap/ui/core/qunit/routing/async/Router.qunit.js +102 -52
  456. package/test/sap/ui/core/qunit/routing/async/Target.qunit.js +1 -1
  457. package/test/sap/ui/core/qunit/routing/async/Targets.qunit.js +4 -5
  458. package/test/sap/ui/core/qunit/routing/async/TitleHistory.qunit.js +1 -1
  459. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Child/Component.js +1 -0
  460. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Child/manifest.json +1 -5
  461. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Parent/Component.js +1 -0
  462. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/Parent/manifest.json +1 -5
  463. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/ParentExtended/Component.js +15 -0
  464. package/test/sap/ui/core/qunit/routing/fixture/router/component/parentRoute/ParentExtended/manifest.json +8 -0
  465. package/test/sap/ui/core/qunit/routing/sync/Router.qunit.js +2 -2
  466. package/test/sap/ui/core/qunit/routing/sync/Targets.qunit.js +2 -3
  467. package/test/sap/ui/core/qunit/testdata/fragments/XMLTestFragmentWithXMLView.fragment.xml +5 -0
  468. package/test/sap/ui/core/qunit/testsuites/testsuite.base.configuration.qunit.js +1 -1
  469. package/test/sap/ui/core/qunit/testsuites/testsuite.control.framework.qunit.js +4 -0
  470. package/test/sap/ui/core/qunit/types/DateFormat.qunit.js +190 -0
  471. package/test/sap/ui/core/qunit/types/DateInterval.qunit.js +2 -2
  472. package/test/sap/ui/core/qunit/ui5classes/ManagedObjectRegistry.qunit.js +161 -0
  473. package/test/sap/ui/core/qunit/ui5classes/ManagedObjectRegistry_legacyAPIs.qunit.js +150 -0
  474. package/test/sap/ui/core/qunit/ui5classes/testsuite.ui5classes.qunit.js +84 -0
  475. package/test/sap/ui/core/qunit/util/ViewSerializer.qunit.js +4 -3
  476. package/test/sap/ui/core/relnotes/changes-1.120.json +225 -0
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * in the documentation.
25
25
  *
26
26
  * @extends sap.ui.core.Element
27
- * @version 1.120.1
27
+ * @version 1.120.2
28
28
  *
29
29
  * @public
30
30
  * @alias sap.ui.core.CustomData
@@ -40,7 +40,7 @@ sap.ui.define([
40
40
  * @class Static class for enabling declarative UI support.
41
41
  *
42
42
  * @author Peter Muessig, Tino Butz
43
- * @version 1.120.1
43
+ * @version 1.120.2
44
44
  * @since 1.7.0
45
45
  * @public
46
46
  * @alias sap.ui.core.DeclarativeSupport
@@ -9,7 +9,6 @@ sap.ui.define([
9
9
  '../base/DataType',
10
10
  '../base/Object',
11
11
  '../base/ManagedObject',
12
- '../base/ManagedObjectRegistry',
13
12
  './ElementMetadata',
14
13
  '../Device',
15
14
  "sap/ui/performance/trace/Interaction",
@@ -20,6 +19,7 @@ sap.ui.define([
20
19
  "./RenderManager",
21
20
  "./Configuration",
22
21
  "./EnabledPropagator",
22
+ "./ElementRegistry",
23
23
  "./Theming",
24
24
  "sap/ui/core/util/_LocalizationHelper"
25
25
  ],
@@ -27,7 +27,6 @@ sap.ui.define([
27
27
  DataType,
28
28
  BaseObject,
29
29
  ManagedObject,
30
- ManagedObjectRegistry,
31
30
  ElementMetadata,
32
31
  Device,
33
32
  Interaction,
@@ -38,6 +37,7 @@ sap.ui.define([
38
37
  RenderManager,
39
38
  Configuration,
40
39
  EnabledPropagator,
40
+ ElementRegistry,
41
41
  Theming,
42
42
  _LocalizationHelper
43
43
  ) {
@@ -134,7 +134,7 @@ sap.ui.define([
134
134
  *
135
135
  * @extends sap.ui.base.ManagedObject
136
136
  * @author SAP SE
137
- * @version 1.120.1
137
+ * @version 1.120.2
138
138
  * @public
139
139
  * @alias sap.ui.core.Element
140
140
  */
@@ -212,27 +212,7 @@ sap.ui.define([
212
212
 
213
213
  }, /* Metadata constructor */ ElementMetadata);
214
214
 
215
- // apply the registry mixin
216
- ManagedObjectRegistry.apply(Element, {
217
- onDuplicate: function(sId, oldElement, newElement) {
218
- if ( oldElement._sapui_candidateForDestroy ) {
219
- Log.debug("destroying dangling template " + oldElement + " when creating new object with same ID");
220
- oldElement.destroy();
221
- } else {
222
- var sMsg = "adding element with duplicate id '" + sId + "'";
223
- /**
224
- * duplicate ID detected => fail or at least log a warning
225
- * @deprecated As of Version 1.120.
226
- */
227
- if (!Configuration.getNoDuplicateIds()) {
228
- Log.warning(sMsg);
229
- return;
230
- }
231
- Log.error(sMsg);
232
- throw new Error("Error: " + sMsg);
233
- }
234
- }
235
- });
215
+ ElementRegistry.init(Element);
236
216
 
237
217
  /**
238
218
  * Creates metadata for a UI Element by extending the Object Metadata.
@@ -568,6 +548,14 @@ sap.ui.define([
568
548
  /**
569
549
  * This triggers immediate rerendering of its parent and thus of itself and its children.
570
550
  *
551
+ * @deprecated As of 1.70, using this method is no longer recommended, but still works. Synchronous DOM
552
+ * updates via this method have several drawbacks: they only work when the control has been rendered
553
+ * before (no initial rendering possible), multiple state changes won't be combined automatically into
554
+ * a single re-rendering, they might cause additional layout trashing, standard invalidation might
555
+ * cause another async re-rendering.
556
+ *
557
+ * The recommended alternative is to rely on invalidation and standard re-rendering.
558
+ *
571
559
  * As <code>sap.ui.core.Element</code> "bubbles up" the rerender, changes to
572
560
  * child-<code>Elements</code> will also result in immediate rerendering of the whole sub tree.
573
561
  * @protected
@@ -578,7 +566,6 @@ sap.ui.define([
578
566
  }
579
567
  };
580
568
 
581
-
582
569
  /**
583
570
  * Returns the UI area of this element, if any.
584
571
  *
@@ -1261,7 +1248,7 @@ sap.ui.define([
1261
1248
  var value = this.getValue();
1262
1249
 
1263
1250
  function error(reason) {
1264
- Log.error("CustomData with key " + key + " should be written to HTML of " + oRelated + " but " + reason);
1251
+ Log.error("[FUTURE FATAL] CustomData with key " + key + " should be written to HTML of " + oRelated + " but " + reason);
1265
1252
  return null;
1266
1253
  }
1267
1254
 
@@ -1485,7 +1472,7 @@ sap.ui.define([
1485
1472
  var argLength = arguments.length;
1486
1473
  if ( argLength === 1 && arguments[0] !== null && typeof arguments[0] == "object"
1487
1474
  || argLength > 1 && argLength < 4 && arguments[1] !== null ) {
1488
- Log.error("Cannot create custom data on an already destroyed element '" + this + "'");
1475
+ Log.error("[FUTURE FATAL] Cannot create custom data on an already destroyed element '" + this + "'");
1489
1476
  return this;
1490
1477
  }
1491
1478
  return Element.prototype.data.apply(this, arguments);
@@ -1893,7 +1880,7 @@ sap.ui.define([
1893
1880
  oDomRef = vParam;
1894
1881
  } else if (vParam.jquery) {
1895
1882
  oDomRef = vParam[0];
1896
- Log.error("[FUTURE] Do not call Element.closestTo() with jQuery object as parameter. \
1883
+ Log.error("[FUTURE FATAL] Do not call Element.closestTo() with jQuery object as parameter. \
1897
1884
  The function should be called with either a DOM Element or a CSS selector. \
1898
1885
  (future error, ignored for now)");
1899
1886
  } else {
@@ -1933,7 +1920,7 @@ sap.ui.define([
1933
1920
  * @function
1934
1921
  * @since 1.119
1935
1922
  */
1936
- Element.getElementById = Element.registry.get;
1923
+ Element.getElementById = ElementRegistry.get;
1937
1924
 
1938
1925
  /**
1939
1926
  * Returns the element currently in focus.
@@ -1959,128 +1946,25 @@ sap.ui.define([
1959
1946
  * @namespace sap.ui.core.Element.registry
1960
1947
  * @public
1961
1948
  * @since 1.67
1949
+ * @deprecated As of version 1.120. Use {@link module:sap/ui/core/ElementRegistry} instead.
1950
+ * @borrows module:sap/ui/core/ElementRegistry.size as size
1951
+ * @borrows module:sap/ui/core/ElementRegistry.all as all
1952
+ * @borrows module:sap/ui/core/ElementRegistry.get as get
1953
+ * @borrows module:sap/ui/core/ElementRegistry.forEach as forEach
1954
+ * @borrows module:sap/ui/core/ElementRegistry.filter as filter
1962
1955
  */
1963
-
1964
- /**
1965
- * Number of existing elements.
1966
- *
1967
- * @type {int}
1968
- * @readonly
1969
- * @name sap.ui.core.Element.registry.size
1970
- * @public
1971
- */
1972
-
1973
- /**
1974
- * Return an object with all instances of <code>sap.ui.core.Element</code>,
1975
- * keyed by their ID.
1976
- *
1977
- * Each call creates a new snapshot object. Depending on the size of the UI,
1978
- * this operation therefore might be expensive. Consider to use the <code>forEach</code>
1979
- * or <code>filter</code> method instead of executing similar operations on the returned
1980
- * object.
1981
- *
1982
- * <b>Note</b>: The returned object is created by a call to <code>Object.create(null)</code>,
1983
- * and therefore lacks all methods of <code>Object.prototype</code>, e.g. <code>toString</code> etc.
1984
- *
1985
- * @returns {Object<sap.ui.core.ID,sap.ui.core.Element>} Object with all elements, keyed by their ID
1986
- * @name sap.ui.core.Element.registry.all
1987
- * @function
1988
- * @public
1989
- */
1990
-
1991
- /**
1992
- * Retrieves an Element by its ID.
1993
- *
1994
- * When the ID is <code>null</code> or <code>undefined</code> or when there's no element with
1995
- * the given ID, then <code>undefined</code> is returned.
1996
- *
1997
- * @param {sap.ui.core.ID} id ID of the element to retrieve
1998
- * @returns {sap.ui.core.Element|undefined} Element with the given ID or <code>undefined</code>
1999
- * @name sap.ui.core.Element.getElementById
2000
- * @function
2001
- * @public
2002
- */
2003
-
2004
- /**
2005
- * Calls the given <code>callback</code> for each element.
2006
- *
2007
- * The expected signature of the callback is
2008
- * <pre>
2009
- * function callback(oElement, sID)
2010
- * </pre>
2011
- * where <code>oElement</code> is the currently visited element instance and <code>sID</code>
2012
- * is the ID of that instance.
2013
- *
2014
- * The order in which the callback is called for elements is not specified and might change between
2015
- * calls (over time and across different versions of UI5).
2016
- *
2017
- * If elements are created or destroyed within the <code>callback</code>, then the behavior is
2018
- * not specified. Newly added objects might or might not be visited. When an element is destroyed during
2019
- * the filtering and was not visited yet, it might or might not be visited. As the behavior for such
2020
- * concurrent modifications is not specified, it may change in newer releases.
2021
- *
2022
- * If a <code>thisArg</code> is given, it will be provided as <code>this</code> context when calling
2023
- * <code>callback</code>. The <code>this</code> value that the implementation of <code>callback</code>
2024
- * sees, depends on the usual resolution mechanism. E.g. when <code>callback</code> was bound to some
2025
- * context object, that object wins over the given <code>thisArg</code>.
2026
- *
2027
- * @param {function(sap.ui.core.Element,sap.ui.core.ID)} callback
2028
- * Function to call for each element
2029
- * @param {Object} [thisArg=undefined]
2030
- * Context object to provide as <code>this</code> in each call of <code>callback</code>
2031
- * @throws {TypeError} If <code>callback</code> is not a function
2032
- * @name sap.ui.core.Element.registry.forEach
2033
- * @function
2034
- * @public
2035
- */
2036
-
2037
- /**
2038
- * Returns an array with elements for which the given <code>callback</code> returns a value that coerces
2039
- * to <code>true</code>.
2040
- *
2041
- * The expected signature of the callback is
2042
- * <pre>
2043
- * function callback(oElement, sID)
2044
- * </pre>
2045
- * where <code>oElement</code> is the currently visited element instance and <code>sID</code>
2046
- * is the ID of that instance.
2047
- *
2048
- * If elements are created or destroyed within the <code>callback</code>, then the behavior is
2049
- * not specified. Newly added objects might or might not be visited. When an element is destroyed during
2050
- * the filtering and was not visited yet, it might or might not be visited. As the behavior for such
2051
- * concurrent modifications is not specified, it may change in newer releases.
2052
- *
2053
- * If a <code>thisArg</code> is given, it will be provided as <code>this</code> context when calling
2054
- * <code>callback</code>. The <code>this</code> value that the implementation of <code>callback</code>
2055
- * sees, depends on the usual resolution mechanism. E.g. when <code>callback</code> was bound to some
2056
- * context object, that object wins over the given <code>thisArg</code>.
2057
- *
2058
- * This function returns an array with all elements matching the given predicate. The order of the
2059
- * elements in the array is not specified and might change between calls (over time and across different
2060
- * versions of UI5).
2061
- *
2062
- * @param {function(sap.ui.core.Element,sap.ui.core.ID):boolean} callback
2063
- * predicate against which each element is tested
2064
- * @param {Object} [thisArg=undefined]
2065
- * context object to provide as <code>this</code> in each call of <code>callback</code>
2066
- * @returns {sap.ui.core.Element[]}
2067
- * Array of elements matching the predicate; order is undefined and might change in newer versions of UI5
2068
- * @throws {TypeError} If <code>callback</code> is not a function
2069
- * @name sap.ui.core.Element.registry.filter
2070
- * @function
2071
- * @public
2072
- */
1956
+ Element.registry = ElementRegistry;
2073
1957
 
2074
1958
  Theming.attachApplied(function(oEvent) {
2075
1959
  // notify all elements/controls via a pseudo browser event
2076
1960
  var oJQueryEvent = jQuery.Event("ThemeChanged");
2077
1961
  oJQueryEvent.theme = oEvent.theme;
2078
- Element.registry.forEach(function(oElement) {
1962
+ ElementRegistry.forEach(function(oElement) {
2079
1963
  oElement._handleEvent(oJQueryEvent);
2080
1964
  });
2081
1965
  });
2082
1966
 
2083
- _LocalizationHelper.registerForUpdate("Elements", Element.registry.all);
1967
+ _LocalizationHelper.registerForUpdate("Elements", ElementRegistry.all);
2084
1968
 
2085
1969
  return Element;
2086
1970
 
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  *
37
37
  * @class
38
38
  * @author SAP SE
39
- * @version 1.120.1
39
+ * @version 1.120.2
40
40
  * @since 0.8.6
41
41
  * @alias sap.ui.core.ElementMetadata
42
42
  * @extends sap.ui.base.ManagedObjectMetadata
@@ -0,0 +1,159 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ sap.ui.define([
7
+ "sap/base/Log",
8
+ "sap/ui/base/ManagedObjectRegistry",
9
+ "sap/ui/core/Configuration"
10
+ ], (
11
+ Log,
12
+ ManagedObjectRegistry,
13
+ Configuration
14
+ ) => {
15
+ "use strict";
16
+
17
+ const fnOnDuplicate = function(sId, oldElement, newElement) {
18
+ if ( oldElement._sapui_candidateForDestroy ) {
19
+ Log.debug("destroying dangling template " + oldElement + " when creating new object with same ID");
20
+ oldElement.destroy();
21
+ } else {
22
+ var sMsg = "adding element with duplicate id '" + sId + "'";
23
+ /**
24
+ * duplicate ID detected => fail or at least log a warning
25
+ * @deprecated As of Version 1.120.
26
+ */
27
+ if (!Configuration.getNoDuplicateIds()) {
28
+ Log.warning(sMsg);
29
+ return;
30
+ }
31
+ Log.error(sMsg);
32
+ throw new Error("Error: " + sMsg);
33
+ }
34
+ };
35
+
36
+ /**
37
+ * Registry of all <code>sap.ui.core.Element</code>s that currently exist.
38
+ *
39
+ * @alias module:sap/ui/core/ElementRegistry
40
+ * @namespace
41
+ * @public
42
+ * @since 1.120
43
+ */
44
+ const ElementRegistry = ManagedObjectRegistry.create({
45
+ "onDuplicate": fnOnDuplicate
46
+ });
47
+
48
+ /**
49
+ * Number of existing elements.
50
+ *
51
+ * @type {int}
52
+ * @readonly
53
+ * @name module:sap/ui/core/ElementRegistry.size
54
+ * @public
55
+ */
56
+
57
+ /**
58
+ * Return an object with all instances of <code>sap.ui.core.Element</code>,
59
+ * keyed by their ID.
60
+ *
61
+ * Each call creates a new snapshot object. Depending on the size of the UI,
62
+ * this operation therefore might be expensive. Consider to use the <code>forEach</code>
63
+ * or <code>filter</code> method instead of executing similar operations on the returned
64
+ * object.
65
+ *
66
+ * <b>Note</b>: The returned object is created by a call to <code>Object.create(null)</code>,
67
+ * and therefore lacks all methods of <code>Object.prototype</code>, e.g. <code>toString</code> etc.
68
+ *
69
+ * @returns {Object<sap.ui.core.ID,sap.ui.core.Element>} Object with all elements, keyed by their ID
70
+ * @name module:sap/ui/core/ElementRegistry.all
71
+ * @function
72
+ * @public
73
+ */
74
+
75
+ /**
76
+ * Retrieves an Element by its ID.
77
+ *
78
+ * When the ID is <code>null</code> or <code>undefined</code> or when there's no element with
79
+ * the given ID, then <code>undefined</code> is returned.
80
+ *
81
+ * @param {sap.ui.core.ID} id ID of the element to retrieve
82
+ * @returns {sap.ui.core.Element|undefined} Element with the given ID or <code>undefined</code>
83
+ * @name module:sap/ui/core/ElementRegistry.get
84
+ * @function
85
+ * @public
86
+ */
87
+
88
+ /**
89
+ * Calls the given <code>callback</code> for each element.
90
+ *
91
+ * The expected signature of the callback is
92
+ * <pre>
93
+ * function callback(oElement, sID)
94
+ * </pre>
95
+ * where <code>oElement</code> is the currently visited element instance and <code>sID</code>
96
+ * is the ID of that instance.
97
+ *
98
+ * The order in which the callback is called for elements is not specified and might change between
99
+ * calls (over time and across different versions of UI5).
100
+ *
101
+ * If elements are created or destroyed within the <code>callback</code>, then the behavior is
102
+ * not specified. Newly added objects might or might not be visited. When an element is destroyed during
103
+ * the filtering and was not visited yet, it might or might not be visited. As the behavior for such
104
+ * concurrent modifications is not specified, it may change in newer releases.
105
+ *
106
+ * If a <code>thisArg</code> is given, it will be provided as <code>this</code> context when calling
107
+ * <code>callback</code>. The <code>this</code> value that the implementation of <code>callback</code>
108
+ * sees, depends on the usual resolution mechanism. E.g. when <code>callback</code> was bound to some
109
+ * context object, that object wins over the given <code>thisArg</code>.
110
+ *
111
+ * @param {function(sap.ui.core.Element,sap.ui.core.ID)} callback
112
+ * Function to call for each element
113
+ * @param {Object} [thisArg=undefined]
114
+ * Context object to provide as <code>this</code> in each call of <code>callback</code>
115
+ * @throws {TypeError} If <code>callback</code> is not a function
116
+ * @name module:sap/ui/core/ElementRegistry.forEach
117
+ * @function
118
+ * @public
119
+ */
120
+
121
+ /**
122
+ * Returns an array with elements for which the given <code>callback</code> returns a value that coerces
123
+ * to <code>true</code>.
124
+ *
125
+ * The expected signature of the callback is
126
+ * <pre>
127
+ * function callback(oElement, sID)
128
+ * </pre>
129
+ * where <code>oElement</code> is the currently visited element instance and <code>sID</code>
130
+ * is the ID of that instance.
131
+ *
132
+ * If elements are created or destroyed within the <code>callback</code>, then the behavior is
133
+ * not specified. Newly added objects might or might not be visited. When an element is destroyed during
134
+ * the filtering and was not visited yet, it might or might not be visited. As the behavior for such
135
+ * concurrent modifications is not specified, it may change in newer releases.
136
+ *
137
+ * If a <code>thisArg</code> is given, it will be provided as <code>this</code> context when calling
138
+ * <code>callback</code>. The <code>this</code> value that the implementation of <code>callback</code>
139
+ * sees, depends on the usual resolution mechanism. E.g. when <code>callback</code> was bound to some
140
+ * context object, that object wins over the given <code>thisArg</code>.
141
+ *
142
+ * This function returns an array with all elements matching the given predicate. The order of the
143
+ * elements in the array is not specified and might change between calls (over time and across different
144
+ * versions of UI5).
145
+ *
146
+ * @param {function(sap.ui.core.Element,sap.ui.core.ID):boolean} callback
147
+ * predicate against which each element is tested
148
+ * @param {Object} [thisArg=undefined]
149
+ * context object to provide as <code>this</code> in each call of <code>callback</code>
150
+ * @returns {sap.ui.core.Element[]}
151
+ * Array of elements matching the predicate; order is undefined and might change in newer versions of UI5
152
+ * @throws {TypeError} If <code>callback</code> is not a function
153
+ * @name module:sap/ui/core/ElementRegistry.filter
154
+ * @function
155
+ * @public
156
+ */
157
+
158
+ return ElementRegistry;
159
+ });
@@ -43,7 +43,7 @@ sap.ui.define([
43
43
  *
44
44
  * @param {boolean} [bDefault=true] Value that should be used as default value for the enhancement of the control.
45
45
  * @param {boolean} [bLegacy=false] Whether the introduced property should use the old name <code>Enabled</code>.
46
- * @version 1.120.1
46
+ * @version 1.120.2
47
47
  * @public
48
48
  * @class
49
49
  * @alias sap.ui.core.EnabledPropagator
@@ -31,7 +31,7 @@ sap.ui.define([
31
31
  *
32
32
  * @extends sap.ui.base.Object
33
33
  * @author SAP SE
34
- * @version 1.120.1
34
+ * @version 1.120.2
35
35
  * @public
36
36
  * @since 1.8.0
37
37
  * @alias sap.ui.core.EventBus
@@ -151,11 +151,11 @@ sap.ui.define(["sap/base/Log", "sap/ui/core/mvc/View", "sap/ui/core/Component"],
151
151
  }
152
152
  } else {
153
153
  // unknown extension class
154
- Log.warning("Customizing: Unknown extension className configured (and ignored) in Component.js for extension point '" + sExtName
154
+ Log.warning("[FUTURE FATAL] Customizing: Unknown extension className configured (and ignored) in Component.js for extension point '" + sExtName
155
155
  + "' in View '" + oView.sViewName + "': " + oExtensionConfig.className);
156
156
  }
157
157
  } else {
158
- Log.warning("Customizing: no extension className configured in Component.js for extension point '" + sExtName
158
+ Log.warning("[FUTURE FATAL] Customizing: no extension className configured in Component.js for extension point '" + sExtName
159
159
  + "' in View '" + oView.sViewName + "': " + oExtensionConfig.className);
160
160
  }
161
161
  } else if (ExtensionPoint._fnExtensionProvider) {
@@ -180,7 +180,7 @@ sap.ui.define(["sap/base/Log", "sap/ui/core/mvc/View", "sap/ui/core/Component"],
180
180
  if (!oView) {
181
181
  // Someone could create a Fragment via the factory with a Controller without an associated view,
182
182
  // e.g. by creating a Controller instance via Controller.create().
183
- Log.warning("View instance could not be passed to ExtensionPoint Provider for extension point '" + sExtName + "' " +
183
+ Log.warning("[FUTURE FATAL] View instance could not be passed to ExtensionPoint Provider for extension point '" + sExtName + "' " +
184
184
  "in fragment '" + sFragmentId + "'.");
185
185
  }
186
186
  /**
@@ -275,7 +275,7 @@ sap.ui.define(["sap/base/Log", "sap/ui/core/mvc/View", "sap/ui/core/Component"],
275
275
  }
276
276
  } else {
277
277
  // the target control has no default aggregation, or the aggregationName provided doesn't match an existing aggregation as defined at the targetControl
278
- Log.error("Creating extension point failed - Tried to add extension point with name " + sExtName + " to an aggregation of " +
278
+ Log.error("[FUTURE FATAL] Creating extension point failed - Tried to add extension point with name " + sExtName + " to an aggregation of " +
279
279
  oTargetControl.getId() + " in view " + oView.sViewName + ", but sAggregationName was not provided correctly and I could not find a default aggregation");
280
280
  }
281
281
  }
@@ -310,7 +310,7 @@ sap.ui.define(["sap/base/Log", "sap/ui/core/mvc/View", "sap/ui/core/Component"],
310
310
  } else if (typeof fnExtensionProvider == "function") {
311
311
  ExtensionPoint._fnExtensionProvider = fnExtensionProvider;
312
312
  } else {
313
- Log.error("ExtensionPoint provider must be a function!");
313
+ Log.error("[FUTURE FATAL] ExtensionPoint provider must be a function!");
314
314
  }
315
315
  };
316
316
 
@@ -9,10 +9,11 @@ sap.ui.define([
9
9
  "../base/EventProvider",
10
10
  "../base/Object",
11
11
  "sap/base/Log",
12
+ "sap/ui/core/UIAreaRegistry",
12
13
  "sap/ui/thirdparty/jquery",
13
14
  "sap/ui/dom/_ready"
14
15
  ],
15
- function(EventProvider, BaseObject, Log, jQuery, _ready) {
16
+ function (EventProvider, BaseObject, Log, UIAreaRegistry, jQuery, _ready) {
16
17
  "use strict";
17
18
 
18
19
  // Element, UIArea module references, lazily probed when needed
@@ -397,7 +398,7 @@ sap.ui.define([
397
398
  var oControlUIArea = oControl.getUIArea();
398
399
  var oUIArea = null;
399
400
  if (oControlUIArea) {
400
- oUIArea = UIArea.registry.get(oControlUIArea.getId());
401
+ oUIArea = oControlUIArea;
401
402
  } else {
402
403
  StaticArea = StaticArea || sap.ui.require("sap/ui/core/StaticArea");
403
404
  if (StaticArea) {
@@ -60,7 +60,7 @@ function(
60
60
  * @class
61
61
  * @extends sap.ui.base.ManagedObject
62
62
  * @author SAP SE
63
- * @version 1.120.1
63
+ * @version 1.120.2
64
64
  * @public
65
65
  * @alias sap.ui.core.Fragment
66
66
  */
@@ -145,7 +145,7 @@ function(
145
145
  */
146
146
  Fragment.registerType = function(sType, oFragmentImpl) {
147
147
  if (typeof (sType) !== "string") {
148
- Log.error("Ignoring non-string Fragment type: " + sType);
148
+ Log.error("[FUTURE FATAL] Ignoring non-string Fragment type: " + sType);
149
149
  return;
150
150
  }
151
151
 
@@ -230,7 +230,7 @@ function(
230
230
  */
231
231
  Fragment.byId = function(sFragmentId, sId) {
232
232
  if (!(typeof (sFragmentId) === "string" && typeof (sId) === "string")) {
233
- Log.error("sap.ui.core.Fragment.byId: two strings must be given as parameters, but are: " + sFragmentId + " and " + sId);
233
+ Log.error("[FUTURE FATAL] sap.ui.core.Fragment.byId: two strings must be given as parameters, but are: " + sFragmentId + " and " + sId);
234
234
  return undefined;
235
235
  }
236
236
  return Element.getElementById(sFragmentId + "--" + sId);
@@ -248,7 +248,7 @@ function(
248
248
  */
249
249
  Fragment.createId = function(sFragmentId, sId) {
250
250
  if (!(typeof (sFragmentId) === "string" && typeof (sId) === "string")) {
251
- Log.error("sap.ui.core.Fragment.createId: two strings must be given as parameters, but are: " + sFragmentId + " and " + sId);
251
+ Log.error("[FUTURE FATAL] sap.ui.core.Fragment.createId: two strings must be given as parameters, but are: " + sFragmentId + " and " + sId);
252
252
  return undefined;
253
253
  }
254
254
  return sFragmentId + "--" + sId;
@@ -832,7 +832,7 @@ function(
832
832
  try {
833
833
  pContentPromise.unwrap();
834
834
  } catch (e) {
835
- Log.error("An Error occured during XML processing of '" +
835
+ Log.error("[FUTURE FATAL] An Error occured during XML processing of '" +
836
836
  this.getMetadata().getName() +
837
837
  "' with id '" +
838
838
  this.getId() +
@@ -44,7 +44,7 @@ sap.ui.define([
44
44
  * @extends sap.ui.core.Control
45
45
  *
46
46
  * @author SAP SE
47
- * @version 1.120.1
47
+ * @version 1.120.2
48
48
  *
49
49
  * @public
50
50
  * @alias sap.ui.core.HTML
@@ -22,7 +22,7 @@ sap.ui.define(['sap/ui/base/Object', "sap/ui/util/Storage"],
22
22
  *
23
23
  * @extends sap.ui.base.Object
24
24
  * @author SAP SE
25
- * @version 1.120.1
25
+ * @version 1.120.2
26
26
  * @alias sap.ui.core.History
27
27
  * @protected
28
28
  */
@@ -75,7 +75,7 @@ sap.ui.define([
75
75
  * @implements sap.ui.core.IFormContent
76
76
  *
77
77
  * @author SAP SE
78
- * @version 1.120.1
78
+ * @version 1.120.2
79
79
  *
80
80
  * @public
81
81
  * @since 1.11.1
@@ -16,7 +16,7 @@ sap.ui.define(['./library', 'sap/ui/core/Lib'],
16
16
  * Helper functionality for indication color support.
17
17
  *
18
18
  * @author SAP SE
19
- * @version 1.120.1
19
+ * @version 1.120.2
20
20
  * @public
21
21
  * @namespace sap.ui.core.IndicationColorSupport
22
22
  * @since 1.66
@@ -23,7 +23,7 @@ sap.ui.define(['../base/Object', './EventBus', "sap/base/assert"],
23
23
  *
24
24
  * @extends sap.ui.base.Object
25
25
  * @author SAP SE
26
- * @version 1.120.1
26
+ * @version 1.120.2
27
27
  * @public
28
28
  * @since 1.11.0
29
29
  * @alias sap.ui.core.IntervalTrigger
@@ -32,7 +32,7 @@ function (coreLibrary, ManagedObject, Log, StaticArea) {
32
32
  * @extends sap.ui.base.ManagedObject
33
33
  *
34
34
  * @author SAP SE
35
- * @version 1.120.1
35
+ * @version 1.120.2
36
36
  * @hideconstructor
37
37
  * @public
38
38
  * @since 1.78
@@ -12,7 +12,7 @@ sap.ui.define([], function() {
12
12
  * Provides the default renderer for the controls that have set their <code>visible</code> property to <code>false</code>.
13
13
  *
14
14
  * @author SAP SE
15
- * @version 1.120.1
15
+ * @version 1.120.2
16
16
  * @alias module:sap/ui/core/InvisibleRenderer
17
17
  * @since 1.66.0
18
18
  * @protected
@@ -34,7 +34,7 @@ sap.ui.define([
34
34
  * @extends sap.ui.core.Control
35
35
  *
36
36
  * @author SAP SE
37
- * @version 1.120.1
37
+ * @version 1.120.2
38
38
  *
39
39
  * @public
40
40
  * @since 1.27.0
@@ -24,7 +24,7 @@ sap.ui.define(['./Element', './library'],
24
24
  * @extends sap.ui.core.Element
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.120.1
27
+ * @version 1.120.2
28
28
  *
29
29
  * @public
30
30
  * @alias sap.ui.core.Item