@openui5/sap.ui.core 1.124.0 → 1.125.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 (647) hide show
  1. package/.reuse/dep5 +5 -0
  2. package/THIRDPARTY.txt +7 -0
  3. package/package.json +1 -1
  4. package/src/jquery.sap.global.js +4 -4
  5. package/src/jquery.sap.properties.js +2 -2
  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/jquery.sap.ui.js +6 -2
  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 +4 -4
  58. package/src/sap/ui/base/Event.js +1 -1
  59. package/src/sap/ui/base/EventProvider.js +1 -1
  60. package/src/sap/ui/base/Interface.js +1 -1
  61. package/src/sap/ui/base/ManagedObject.js +1 -1
  62. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  63. package/src/sap/ui/base/Metadata.js +1 -1
  64. package/src/sap/ui/base/Object.js +1 -1
  65. package/src/sap/ui/base/ObjectPool.js +1 -1
  66. package/src/sap/ui/core/.library +3 -3
  67. package/src/sap/ui/core/BusyIndicator.js +1 -1
  68. package/src/sap/ui/core/Component.js +7 -4
  69. package/src/sap/ui/core/ComponentContainer.js +1 -1
  70. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  71. package/src/sap/ui/core/ComponentSupport.js +1 -1
  72. package/src/sap/ui/core/Configuration.js +1 -1
  73. package/src/sap/ui/core/Control.js +1 -1
  74. package/src/sap/ui/core/Core.js +18 -25
  75. package/src/sap/ui/core/CustomData.js +1 -1
  76. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  77. package/src/sap/ui/core/Element.js +1 -1
  78. package/src/sap/ui/core/ElementMetadata.js +4 -3
  79. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  80. package/src/sap/ui/core/EventBus.js +1 -1
  81. package/src/sap/ui/core/ExtensionPoint.js +23 -9
  82. package/src/sap/ui/core/Fragment.js +15 -1
  83. package/src/sap/ui/core/HTML.js +1 -1
  84. package/src/sap/ui/core/History.js +1 -1
  85. package/src/sap/ui/core/Icon.js +84 -50
  86. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  87. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  88. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  89. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  90. package/src/sap/ui/core/InvisibleText.js +1 -1
  91. package/src/sap/ui/core/Item.js +1 -1
  92. package/src/sap/ui/core/LabelEnablement.js +66 -1
  93. package/src/sap/ui/core/LayoutData.js +1 -1
  94. package/src/sap/ui/core/ListItem.js +1 -1
  95. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  96. package/src/sap/ui/core/Locale.js +1 -1
  97. package/src/sap/ui/core/LocaleData.js +1 -1
  98. package/src/sap/ui/core/Manifest.js +1 -1
  99. package/src/sap/ui/core/Message.js +1 -1
  100. package/src/sap/ui/core/RenderManager.js +1 -1
  101. package/src/sap/ui/core/Renderer.js +1 -1
  102. package/src/sap/ui/core/ResizeHandler.js +1 -1
  103. package/src/sap/ui/core/ScrollBar.js +1 -1
  104. package/src/sap/ui/core/SeparatorItem.js +1 -1
  105. package/src/sap/ui/core/Title.js +1 -1
  106. package/src/sap/ui/core/TooltipBase.js +1 -1
  107. package/src/sap/ui/core/UIArea.js +5 -5
  108. package/src/sap/ui/core/UIComponent.js +24 -17
  109. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  110. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  111. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  112. package/src/sap/ui/core/XMLComposite.js +1 -1
  113. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  114. package/src/sap/ui/core/XMLTemplateProcessor.js +110 -74
  115. package/src/sap/ui/core/cldr/zh_TW.json +20 -20
  116. package/src/sap/ui/core/date/UI5Date.js +1 -1
  117. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  118. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  119. package/src/sap/ui/core/dnd/DragAndDrop.js +29 -23
  120. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  121. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  122. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  123. package/src/sap/ui/core/dnd/DropInfo.js +6 -3
  124. package/src/sap/ui/core/format/DateFormat.js +3 -3
  125. package/src/sap/ui/core/format/FormatUtils.js +1 -1
  126. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  127. package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
  128. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  129. package/src/sap/ui/core/library.js +3 -3
  130. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  131. package/src/sap/ui/core/message/Message.js +1 -1
  132. package/src/sap/ui/core/message/MessageManager.js +1 -1
  133. package/src/sap/ui/core/message/MessageParser.js +1 -1
  134. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  135. package/src/sap/ui/core/mvc/Controller.js +77 -77
  136. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  137. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  138. package/src/sap/ui/core/mvc/JSView.js +1 -1
  139. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  140. package/src/sap/ui/core/mvc/View.js +10 -2
  141. package/src/sap/ui/core/mvc/XMLProcessingMode.js +4 -1
  142. package/src/sap/ui/core/mvc/XMLView.js +33 -5
  143. package/src/sap/ui/core/mvc/XMLViewRenderer.js +40 -7
  144. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  145. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  146. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  147. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  148. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  149. package/src/sap/ui/core/routing/async/TargetCache.js +12 -1
  150. package/src/sap/ui/core/search/OpenSearchProvider.js +2 -2
  151. package/src/sap/ui/core/search/SearchProvider.js +2 -2
  152. package/src/sap/ui/core/service/Service.js +1 -1
  153. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  154. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  155. package/src/sap/ui/core/support/Plugin.js +1 -1
  156. package/src/sap/ui/core/support/Support.js +1 -1
  157. package/src/sap/ui/core/support/bootstrapFallback.js +1 -1
  158. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  159. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  160. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  161. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  162. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  163. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  164. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  165. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  166. package/src/sap/ui/core/tmpl/DOMAttribute.js +2 -2
  167. package/src/sap/ui/core/tmpl/DOMElement.js +2 -2
  168. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +2 -2
  169. package/src/sap/ui/core/tmpl/Template.js +1 -1
  170. package/src/sap/ui/core/tmpl/TemplateControl.js +2 -2
  171. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  172. package/src/sap/ui/core/util/Export.js +1 -1
  173. package/src/sap/ui/core/util/ExportCell.js +1 -1
  174. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  175. package/src/sap/ui/core/util/ExportRow.js +1 -1
  176. package/src/sap/ui/core/util/ExportType.js +1 -1
  177. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  178. package/src/sap/ui/core/util/File.js +1 -1
  179. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  180. package/src/sap/ui/core/util/MockServer.js +1 -1
  181. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  182. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  183. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  184. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  185. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  186. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  187. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  188. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  189. package/src/sap/ui/core/webc/WebComponent.js +1 -1
  190. package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
  191. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  192. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  193. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  194. package/src/sap/ui/debug/ControlTree.js +1 -1
  195. package/src/sap/ui/debug/DebugEnv.js +1 -1
  196. package/src/sap/ui/debug/PropertyList.js +1 -1
  197. package/src/sap/ui/dom/jquery/control.js +6 -3
  198. package/src/sap/ui/model/Binding.js +10 -0
  199. package/src/sap/ui/model/ClientModel.js +1 -1
  200. package/src/sap/ui/model/CompositeDataState.js +1 -1
  201. package/src/sap/ui/model/CompositeType.js +1 -1
  202. package/src/sap/ui/model/DataState.js +1 -1
  203. package/src/sap/ui/model/FieldHelp.js +362 -0
  204. package/src/sap/ui/model/MetaModel.js +1 -1
  205. package/src/sap/ui/model/Model.js +1 -1
  206. package/src/sap/ui/model/SelectionModel.js +1 -1
  207. package/src/sap/ui/model/SimpleType.js +1 -1
  208. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  209. package/src/sap/ui/model/Type.js +1 -1
  210. package/src/sap/ui/model/analytics/AnalyticalBinding.js +8 -12
  211. package/src/sap/ui/model/json/JSONModel.js +6 -5
  212. package/src/sap/ui/model/message/MessageModel.js +1 -1
  213. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  214. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  215. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  216. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  217. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  218. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  219. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  220. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  221. package/src/sap/ui/model/odata/type/Date.js +1 -1
  222. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  223. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  224. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  225. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  226. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  227. package/src/sap/ui/model/odata/type/Double.js +1 -1
  228. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  229. package/src/sap/ui/model/odata/type/Int.js +1 -1
  230. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  231. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  232. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  233. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  234. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  235. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  236. package/src/sap/ui/model/odata/type/Single.js +1 -1
  237. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  238. package/src/sap/ui/model/odata/type/String.js +1 -1
  239. package/src/sap/ui/model/odata/type/Time.js +1 -1
  240. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  241. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  242. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  243. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  244. package/src/sap/ui/model/odata/v2/ODataModel.js +50 -6
  245. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
  246. package/src/sap/ui/model/odata/v4/Context.js +46 -32
  247. package/src/sap/ui/model/odata/v4/ODataBinding.js +47 -57
  248. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +70 -82
  249. package/src/sap/ui/model/odata/v4/ODataListBinding.js +285 -213
  250. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +41 -39
  251. package/src/sap/ui/model/odata/v4/ODataModel.js +236 -209
  252. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +202 -203
  253. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -17
  254. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +94 -22
  255. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +5 -0
  256. package/src/sap/ui/model/odata/v4/lib/_Cache.js +41 -61
  257. package/src/sap/ui/model/odata/v4/lib/_Helper.js +111 -68
  258. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +78 -78
  259. package/src/sap/ui/model/odata/v4/lib/_TreeState.js +1 -1
  260. package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +20 -20
  261. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +60 -60
  262. package/src/sap/ui/model/resource/ResourceModel.js +7 -2
  263. package/src/sap/ui/model/type/Boolean.js +1 -1
  264. package/src/sap/ui/model/type/Currency.js +6 -3
  265. package/src/sap/ui/model/type/Date.js +1 -1
  266. package/src/sap/ui/model/type/DateInterval.js +1 -1
  267. package/src/sap/ui/model/type/DateTime.js +1 -1
  268. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  269. package/src/sap/ui/model/type/FileSize.js +1 -1
  270. package/src/sap/ui/model/type/Float.js +1 -1
  271. package/src/sap/ui/model/type/Integer.js +1 -1
  272. package/src/sap/ui/model/type/String.js +1 -1
  273. package/src/sap/ui/model/type/Time.js +1 -1
  274. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  275. package/src/sap/ui/model/type/Unit.js +6 -3
  276. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  277. package/src/sap/ui/qunit/qunit-coverage-istanbul.js +1 -1
  278. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  279. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  280. package/src/sap/ui/test/OpaPlugin.js +36 -12
  281. package/src/sap/ui/test/generic/TestBase.js +1 -1
  282. package/src/sap/ui/util/Storage.js +1 -1
  283. package/test/sap/ui/core/BindableResponseHeaders.html +4 -4
  284. package/test/sap/ui/core/ComponentCleanup.html +46 -46
  285. package/test/sap/ui/core/ComponentManifestFirst.html +26 -20
  286. package/test/sap/ui/core/ContextMenuSupport.html +9 -10
  287. package/test/sap/ui/core/DesigntimeOverview.html +1 -1
  288. package/test/sap/ui/core/EventBroadcaster.html +2 -2
  289. package/test/sap/ui/core/FieldGroup.html +70 -61
  290. package/test/sap/ui/core/GenericEventBinding.html +26 -23
  291. package/test/sap/ui/core/HTMLControl.html +46 -38
  292. package/test/sap/ui/core/HTMLSanitizer.html +70 -45
  293. package/test/sap/ui/core/IntervalTrigger.html +22 -21
  294. package/test/sap/ui/core/InvisibleControls.html +72 -72
  295. package/test/sap/ui/core/InvisibleText.html +2 -2
  296. package/test/sap/ui/core/LRUPersistentCache.html +19 -18
  297. package/test/sap/ui/core/LabelEnablement.html +18 -29
  298. package/test/sap/ui/core/Localization.html +40 -65
  299. package/test/sap/ui/core/Localization_HeapUsage.html +11 -12
  300. package/test/sap/ui/core/ManagedObjectModel.html +6 -7
  301. package/test/sap/ui/core/ODataAnnotationsPerformance.html +592 -602
  302. package/test/sap/ui/core/ODataV2CanonicalRequests.html +8 -8
  303. package/test/sap/ui/core/ODataV2Messages.html +1 -1
  304. package/test/sap/ui/core/ODataV2MessagesPerf.html +131 -132
  305. package/test/sap/ui/core/Popup.html +18 -14
  306. package/test/sap/ui/core/PopupWithUserSelection.html +4 -4
  307. package/test/sap/ui/core/StashedControlSupport.html +1 -1
  308. package/test/sap/ui/core/ThemeParameters.html +32 -20
  309. package/test/sap/ui/core/ValidateURL.html +109 -75
  310. package/test/sap/ui/core/demokit/sample/Messaging/ODataBackendMessagesComp/ui5.yaml +1 -1
  311. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Component.js +1 -4
  312. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Detail.controller.js +0 -1
  313. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Main.controller.js +0 -1
  314. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Opa.qunit.html +0 -1
  315. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/extension/Component.js +1 -5
  316. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/manifest.json +2 -10
  317. package/test/sap/ui/core/demokit/sample/ViewTemplate/tiny/Component.js +4 -1
  318. package/test/sap/ui/core/demokit/sample/ViewTemplate/tiny/manifest.json +37 -0
  319. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Component.js +5 -1
  320. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/manifest.json +42 -0
  321. package/test/sap/ui/core/demokit/sample/ViewTemplate/valuelist/Component.js +6 -3
  322. package/test/sap/ui/core/demokit/sample/ViewTemplate/valuelist/Main.view.xml +4 -1
  323. package/test/sap/ui/core/demokit/sample/ViewTemplate/valuelist/manifest.json +49 -0
  324. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/ui5.yaml +1 -1
  325. package/test/sap/ui/core/demokit/sample/matcher/Descendant/ui5.yaml +1 -1
  326. package/test/sap/ui/core/demokit/sample/matcher/I18NText/ui5.yaml +1 -1
  327. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/ui5.yaml +1 -1
  328. package/test/sap/ui/core/demokit/sample/odata/types/v2/DateTime/Component.js +1 -0
  329. package/test/sap/ui/core/demokit/sample/odata/types/v2/DateTime/manifest.json +1 -2
  330. package/test/sap/ui/core/demokit/sample/odata/types/v2/DateTimeOffset/Component.js +1 -0
  331. package/test/sap/ui/core/demokit/sample/odata/types/v2/DateTimeOffset/manifest.json +1 -2
  332. package/test/sap/ui/core/demokit/sample/odata/types/v2/Time/Component.js +1 -0
  333. package/test/sap/ui/core/demokit/sample/odata/types/v2/Time/manifest.json +1 -2
  334. package/test/sap/ui/core/demokit/sample/odata/types/v4/Date/Component.js +1 -0
  335. package/test/sap/ui/core/demokit/sample/odata/types/v4/Date/manifest.json +1 -2
  336. package/test/sap/ui/core/demokit/sample/odata/types/v4/DateTimeOffset/Component.js +1 -0
  337. package/test/sap/ui/core/demokit/sample/odata/types/v4/DateTimeOffset/manifest.json +1 -2
  338. package/test/sap/ui/core/demokit/sample/odata/types/v4/TimeOfDay/Component.js +1 -0
  339. package/test/sap/ui/core/demokit/sample/odata/types/v4/TimeOfDay/manifest.json +1 -2
  340. package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Component.js +1 -0
  341. package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.controller.js +35 -31
  342. package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/manifest.json +1 -10
  343. package/test/sap/ui/core/demokit/sample/odata/v4/ConsumeV2Service/Component.js +1 -0
  344. package/test/sap/ui/core/demokit/sample/odata/v4/ConsumeV2Service/manifest.json +2 -11
  345. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/Component.js +1 -0
  346. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/DataAggregation.controller.js +71 -68
  347. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/Opa.qunit.html +0 -1
  348. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/manifest.json +3 -11
  349. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Component.js +1 -0
  350. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.html +0 -1
  351. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/manifest.json +7 -16
  352. package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Component.js +1 -0
  353. package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Main.controller.js +3 -3
  354. package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Opa.qunit.html +0 -1
  355. package/test/sap/ui/core/demokit/sample/odata/v4/Draft/manifest.json +1 -10
  356. package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/Component.js +1 -0
  357. package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/FieldGroups.view.xml +0 -1
  358. package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/Opa.qunit.html +0 -1
  359. package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/manifest.json +3 -11
  360. package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/Component.js +1 -0
  361. package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.controller.js +46 -43
  362. package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.view.xml +12 -10
  363. package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/manifest.json +3 -11
  364. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Component.js +1 -0
  365. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Main.controller.js +21 -18
  366. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Opa.qunit.html +0 -1
  367. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/manifest.json +4 -7
  368. package/test/sap/ui/core/demokit/sample/odata/v4/GridTable/Component.js +1 -0
  369. package/test/sap/ui/core/demokit/sample/odata/v4/GridTable/manifest.json +1 -10
  370. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Component.js +1 -0
  371. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.controller.js +21 -18
  372. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/manifest.json +1 -10
  373. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Component.js +1 -0
  374. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Main.controller.js +25 -22
  375. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.OptimisticBatch.qunit.html +0 -1
  376. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.OptimisticBatch.qunit.js +5 -4
  377. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.qunit.html +0 -1
  378. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/manifest.json +3 -7
  379. package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Component.js +1 -0
  380. package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Opa.qunit.html +0 -1
  381. package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/manifest.json +3 -11
  382. package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Component.js +1 -0
  383. package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Opa.qunit.html +0 -1
  384. package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/manifest.json +2 -10
  385. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Component.js +1 -0
  386. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.controller.js +60 -57
  387. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.html +0 -1
  388. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/manifest.json +4 -6
  389. package/test/sap/ui/core/demokit/sample/odata/v4/MusicArtists/Component.js +1 -0
  390. package/test/sap/ui/core/demokit/sample/odata/v4/MusicArtists/manifest.json +3 -11
  391. package/test/sap/ui/core/demokit/sample/odata/v4/Products/Component.js +1 -0
  392. package/test/sap/ui/core/demokit/sample/odata/v4/Products/Main.view.xml +0 -1
  393. package/test/sap/ui/core/demokit/sample/odata/v4/Products/Opa.qunit.html +0 -1
  394. package/test/sap/ui/core/demokit/sample/odata/v4/Products/manifest.json +3 -10
  395. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/Component.js +1 -0
  396. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/Opa.qunit.html +0 -1
  397. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +81 -69
  398. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +44 -9
  399. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +49 -0
  400. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/data/metadata.xml +14 -0
  401. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/manifest.json +1 -10
  402. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/Component.js +1 -0
  403. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/Opa.qunit.html +0 -1
  404. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/manifest.json +2 -11
  405. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/Component.js +1 -0
  406. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/Opa.qunit.html +0 -1
  407. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/manifest.json +2 -11
  408. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Component.js +1 -2
  409. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Opa.qunit.html +0 -1
  410. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/manifest.json +3 -10
  411. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/Component.js +1 -0
  412. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/Opa.qunit.html +0 -1
  413. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/manifest.json +6 -5
  414. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Component.js +1 -0
  415. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Opa.qunit.html +0 -1
  416. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/manifest.json +2 -10
  417. package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Component.js +1 -0
  418. package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Opa.qunit.html +0 -1
  419. package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/manifest.json +3 -10
  420. package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/Opa.qunit.html +0 -1
  421. package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/manifest.json +3 -11
  422. package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +1 -1
  423. package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +1 -1
  424. package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +1 -1
  425. package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +1 -1
  426. package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +1 -1
  427. package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +1 -1
  428. package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +1 -1
  429. package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +1 -1
  430. package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +1 -1
  431. package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +1 -1
  432. package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +1 -1
  433. package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +1 -1
  434. package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +1 -1
  435. package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +1 -1
  436. package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +1 -1
  437. package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +1 -1
  438. package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +1 -1
  439. package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +1 -1
  440. package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +1 -1
  441. package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +1 -1
  442. package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +1 -1
  443. package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +1 -1
  444. package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +1 -1
  445. package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +1 -1
  446. package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +1 -1
  447. package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +1 -1
  448. package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +1 -1
  449. package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +1 -1
  450. package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +1 -1
  451. package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +1 -1
  452. package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +1 -1
  453. package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +1 -1
  454. package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +1 -1
  455. package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +1 -1
  456. package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +1 -1
  457. package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +1 -1
  458. package/test/sap/ui/core/demokit/tutorial/odatav4/01/Component.js +1 -0
  459. package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +1 -1
  460. package/test/sap/ui/core/demokit/tutorial/odatav4/01/webapp/Component.js +1 -0
  461. package/test/sap/ui/core/demokit/tutorial/odatav4/01/webapp/index.html +0 -1
  462. package/test/sap/ui/core/demokit/tutorial/odatav4/01/webapp/manifest.json +2 -13
  463. package/test/sap/ui/core/demokit/tutorial/odatav4/02/Component.js +1 -0
  464. package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +1 -1
  465. package/test/sap/ui/core/demokit/tutorial/odatav4/02/webapp/Component.js +1 -0
  466. package/test/sap/ui/core/demokit/tutorial/odatav4/02/webapp/index.html +0 -1
  467. package/test/sap/ui/core/demokit/tutorial/odatav4/02/webapp/manifest.json +2 -13
  468. package/test/sap/ui/core/demokit/tutorial/odatav4/03/Component.js +1 -0
  469. package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +1 -1
  470. package/test/sap/ui/core/demokit/tutorial/odatav4/03/webapp/Component.js +1 -0
  471. package/test/sap/ui/core/demokit/tutorial/odatav4/03/webapp/index.html +0 -1
  472. package/test/sap/ui/core/demokit/tutorial/odatav4/03/webapp/manifest.json +2 -13
  473. package/test/sap/ui/core/demokit/tutorial/odatav4/04/Component.js +1 -0
  474. package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +1 -1
  475. package/test/sap/ui/core/demokit/tutorial/odatav4/04/webapp/Component.js +1 -0
  476. package/test/sap/ui/core/demokit/tutorial/odatav4/04/webapp/index.html +0 -1
  477. package/test/sap/ui/core/demokit/tutorial/odatav4/04/webapp/manifest.json +2 -13
  478. package/test/sap/ui/core/demokit/tutorial/odatav4/05/Component.js +1 -0
  479. package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +1 -1
  480. package/test/sap/ui/core/demokit/tutorial/odatav4/05/webapp/Component.js +1 -0
  481. package/test/sap/ui/core/demokit/tutorial/odatav4/05/webapp/index.html +0 -1
  482. package/test/sap/ui/core/demokit/tutorial/odatav4/05/webapp/manifest.json +2 -13
  483. package/test/sap/ui/core/demokit/tutorial/odatav4/06/Component.js +1 -0
  484. package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +1 -1
  485. package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/Component.js +1 -0
  486. package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/index.html +0 -1
  487. package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/manifest.json +2 -13
  488. package/test/sap/ui/core/demokit/tutorial/odatav4/07/Component.js +1 -0
  489. package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +1 -1
  490. package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/Component.js +1 -0
  491. package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/index.html +0 -1
  492. package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/manifest.json +2 -13
  493. package/test/sap/ui/core/demokit/tutorial/odatav4/08/Component.js +1 -0
  494. package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +1 -1
  495. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/Component.js +1 -0
  496. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/index.html +0 -1
  497. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/manifest.json +2 -13
  498. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/test/integration/opaTests.qunit.html +0 -1
  499. package/test/sap/ui/core/demokit/tutorial/odatav4/09/Component.js +1 -0
  500. package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +1 -1
  501. package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/Component.js +1 -0
  502. package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/index.html +0 -1
  503. package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/manifest.json +2 -11
  504. package/test/sap/ui/core/demokit/tutorial/odatav4/10/Component.js +1 -0
  505. package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +1 -1
  506. package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/Component.js +1 -0
  507. package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/index.html +0 -1
  508. package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/manifest.json +2 -11
  509. package/test/sap/ui/core/demokit/tutorial/odatav4/11/Component.js +1 -0
  510. package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +1 -1
  511. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/Component.js +1 -0
  512. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/index.html +0 -1
  513. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/manifest.json +2 -11
  514. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/test/integration/opaTests.qunit.html +0 -1
  515. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +1 -1
  516. package/test/sap/ui/core/getComputedStyle.html +2 -1
  517. package/test/sap/ui/core/getComputedStyleFF.html +1 -1
  518. package/test/sap/ui/core/internal/samples/client/MusicCollection/Component.js +5 -8
  519. package/test/sap/ui/core/internal/samples/client/MusicCollection/Main.controller.js +6 -2
  520. package/test/sap/ui/core/internal/samples/client/MusicCollection/Main.view.xml +7 -3
  521. package/test/sap/ui/core/internal/samples/client/MusicCollection/index.html +1 -3
  522. package/test/sap/ui/core/internal/samples/client/MusicCollection/manifest.json +1 -13
  523. package/test/sap/ui/core/internal/samples/odata/twoFields/Component.js +3 -45
  524. package/test/sap/ui/core/internal/samples/odata/twoFields/Main.controller.js +37 -1
  525. package/test/sap/ui/core/internal/samples/odata/twoFields/Main.view.xml +5 -5
  526. package/test/sap/ui/core/internal/samples/odata/twoFields/Opa.qunit.html +1 -3
  527. package/test/sap/ui/core/internal/samples/odata/twoFields/index.html +1 -3
  528. package/test/sap/ui/core/internal/samples/odata/twoFields/manifest.json +1 -11
  529. package/test/sap/ui/core/internal/samples/odata/v2/Products/Component.js +3 -22
  530. package/test/sap/ui/core/internal/samples/odata/v2/Products/Main.controller.js +16 -22
  531. package/test/sap/ui/core/internal/samples/odata/v2/Products/Main.view.xml +3 -2
  532. package/test/sap/ui/core/internal/samples/odata/v2/Products/SandboxModel.js +1 -1
  533. package/test/sap/ui/core/internal/samples/odata/v2/Products/index.html +1 -3
  534. package/test/sap/ui/core/internal/samples/odata/v2/Products/manifest.json +2 -13
  535. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Component.js +1 -0
  536. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.controller.js +49 -41
  537. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.view.xml +6 -4
  538. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/manifest.json +3 -12
  539. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Component.js +1 -0
  540. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Main.controller.js +2 -2
  541. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Main.view.xml +4 -3
  542. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/index.html +1 -3
  543. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/manifest.json +1 -11
  544. package/test/sap/ui/core/qunit/Fragment.qunit.js +20 -20
  545. package/test/sap/ui/core/qunit/Fragment_legacyAPIs.qunit.js +4 -4
  546. package/test/sap/ui/core/qunit/Icon.qunit.js +217 -1
  547. package/test/sap/ui/core/qunit/RenderManager.qunit.js +18 -5
  548. package/test/sap/ui/core/qunit/ScrollBar.qunit.js +15 -18
  549. package/test/sap/ui/core/qunit/analytics/AnalyticalBinding.qunit.js +5 -13
  550. package/test/sap/ui/core/qunit/component/Customizing.qunit.js +2 -2
  551. package/test/sap/ui/core/qunit/component/Customizing_async.qunit.js +36 -1
  552. package/test/sap/ui/core/qunit/component/ExtensionPoint.qunit.js +475 -290
  553. package/test/sap/ui/core/qunit/component/Models.qunit.js +97 -70
  554. package/test/sap/ui/core/qunit/component/Models_unavoidablySync.qunit.js +86 -0
  555. package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +86 -1
  556. package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/EP_In_Product_Table_Cell_Found.fragment.xml +5 -0
  557. package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/EP_In_Product_Table_Column.fragment.xml +5 -0
  558. package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/EPinNestedView.view.xml +51 -0
  559. package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/ExtensionPointProvider.js +27 -4
  560. package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/Main.view.xml +5 -0
  561. package/test/sap/ui/core/qunit/component/testdata/customizing/sap/Main.view.xml +0 -1
  562. package/test/sap/ui/core/qunit/component/testdata/customizing/sap/Sub2.view.xml +1 -3
  563. package/test/sap/ui/core/qunit/component/testdata/v4models/sapSystem/Component.js +16 -0
  564. package/test/sap/ui/core/qunit/component/testdata/v4models/sapSystem/manifest.json +102 -0
  565. package/test/sap/ui/core/qunit/dnd/DragAndDrop.qunit.js +72 -2
  566. package/test/sap/ui/core/qunit/dnd/DropInfo.qunit.js +14 -2
  567. package/test/sap/ui/core/qunit/generic/ControlRenderer.qunit.js +4 -1
  568. package/test/sap/ui/core/qunit/generic/legacy/ControlRenderer.qunit.js +4 -0
  569. package/test/sap/ui/core/qunit/internal/1RingModels.qunit.js +1 -0
  570. package/test/sap/ui/core/qunit/loader/amd/base_tag/_launchTest.js +2 -4
  571. package/test/sap/ui/core/qunit/loader/amd/config_paths/_launchTest.js +2 -4
  572. package/test/sap/ui/core/qunit/loader/amd/config_paths_relative/_launchTest.js +2 -4
  573. package/test/sap/ui/core/qunit/loader/amdAPIs.qunit.js +3 -0
  574. package/test/sap/ui/core/qunit/model/Binding.qunit.js +13 -0
  575. package/test/sap/ui/core/qunit/model/FieldHelp.qunit.js +864 -0
  576. package/test/sap/ui/core/qunit/mvc/Controller.qunit.js +2 -2
  577. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorAsync.qunit.js +8 -6
  578. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +7 -7
  579. package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +131 -22
  580. package/test/sap/ui/core/qunit/mvc/testdata/Async.view.xml +1 -2
  581. package/test/sap/ui/core/qunit/mvc/testdata/asyncHooks.view.xml +1 -3
  582. package/test/sap/ui/core/qunit/mvc/testdata/cache.view.xml +1 -1
  583. package/test/sap/ui/core/qunit/mvc/testdata/legacy/test.view.xml +32 -0
  584. package/test/sap/ui/core/qunit/mvc/testdata/test.view.xml +2 -15
  585. package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +159 -8
  586. package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +55 -6
  587. package/test/sap/ui/core/qunit/odata/v2/data/ZUI5_GWSAMPLE_BASIC.metadata.xml +14 -0
  588. package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +48 -21
  589. package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +17 -70
  590. package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +19 -42
  591. package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +290 -20
  592. package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +613 -25
  593. package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +86 -5
  594. package/test/sap/ui/core/qunit/odata/v4/ODataParentBinding.qunit.js +0 -1
  595. package/test/sap/ui/core/qunit/odata/v4/ODataPropertyBinding.qunit.js +0 -49
  596. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +272 -8
  597. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +20 -0
  598. package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +46 -46
  599. package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +91 -13
  600. package/test/sap/ui/core/qunit/resource/ResourceBinding.qunit.js +17 -14
  601. package/test/sap/ui/core/qunit/routing/async/Views.qunit.js +3 -0
  602. package/test/sap/ui/core/qunit/test/starter/find/main.js +6 -4
  603. package/test/sap/ui/core/qunit/testdata/routing/HistoryIFrame.html +2 -1
  604. package/test/sap/ui/core/qunit/testsuites/testsuite.databinding.qunit.js +3 -0
  605. package/test/sap/ui/core/qunit/types/DateFormat.qunit.js +51 -22
  606. package/test/sap/ui/core/qunit/types/Types.qunit.js +35 -6
  607. package/test/sap/ui/core/qunit/ui/Device.qunit.js +24 -0
  608. package/test/sap/ui/core/qunit/util/LabelEnablement.qunit.js +47 -1
  609. package/test/sap/ui/core/relnotes/changes-1.124.json +1 -1
  610. package/test/sap/ui/core/relnotes/changes-1.125.json +37 -0
  611. package/test/sap/ui/core/samples/ResponsiveDemo.html +97 -103
  612. package/test/sap/ui/core/samples/databinding/UnitTable/ui5.yaml +1 -1
  613. package/test/sap/ui/core/samples/draganddrop/DragAndDrop.html +2 -2
  614. package/test/sap/ui/core/samples/mvc/Product.html +1 -7
  615. package/test/sap/ui/core/samples/mvc/ViewPreprocessor.html +20 -12
  616. package/test/sap/ui/core/samples/mvc/XMLView.html +77 -24
  617. package/test/sap/ui/core/samples/mvc/XMLViewAsync.html +13 -19
  618. package/test/sap/ui/core/samples/mvc/controller/Async.controller.js +0 -1
  619. package/test/sap/ui/core/samples/mvc/controller/Product.controller.js +0 -1
  620. package/test/sap/ui/core/samples/mvc/views/Async.view.xml +16 -57
  621. package/test/sap/ui/core/samples/mvc/views/Dummy.fragment.xml +2 -2
  622. package/test/sap/ui/core/samples/mvc/views/Dummy.view.xml +2 -2
  623. package/test/sap/ui/core/samples/mvc/views/Product.view.xml +16 -57
  624. package/test/sap/ui/core/util/PasteHelper.html +148 -147
  625. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/firstItem-contextMenu.ref.lnk +1 -1
  626. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/initial.ref.lnk +1 -1
  627. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/lastItem-contextMenu.ref.lnk +1 -1
  628. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/leftDownBtn-contextMenu.ref.lnk +1 -1
  629. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/myButtonSample-contextMenu.ref.lnk +1 -1
  630. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/rightDownBtn-contextMenu.ref.lnk +1 -1
  631. package/test/testsuite/js/settings.js +5 -4
  632. package/test/testsuite/styles/main.css +5 -0
  633. package/test/sap/ui/core/ResourceRoots.html +0 -28
  634. package/test/sap/ui/core/demokit/sample/ViewTemplate/tiny/component.json +0 -17
  635. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/component.json +0 -18
  636. package/test/sap/ui/core/demokit/sample/ViewTemplate/valuelist/component.json +0 -30
  637. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/AutoExpand.view.xml +0 -52
  638. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/Component.js +0 -30
  639. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/Sandbox.js +0 -51
  640. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/data/Items_L0_top5.json +0 -32
  641. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/data/Items_L1_A_skip8.json +0 -138
  642. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/data/Items_L1_B.json +0 -17
  643. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/data/Items_L1_C.json +0 -17
  644. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/data/Items_L1_top8.json +0 -93
  645. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/data/metadata.xml +0 -2322
  646. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/i18n/i18n.properties +0 -3
  647. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/manifest.json +0 -69
@@ -0,0 +1,362 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2024 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/core/Element",
9
+ "sap/ui/core/ElementRegistry",
10
+ "sap/ui/core/LabelEnablement"
11
+ ], function (Log, Element, ElementRegistry, LabelEnablement) {
12
+ "use strict";
13
+
14
+ const sClassName = "sap/ui/model/FieldHelp";
15
+ const sDocumentationRef = "com.sap.vocabularies.Common.v1.DocumentationRef";
16
+ const sURNPrefix = "urn:sap-com:documentation:key?=";
17
+
18
+ /**
19
+ * @typedef {object} module:sap/ui/model/BackendHelpKey
20
+ * @description The back-end help key as used by the SAP Companion to retrieve the field help.
21
+ * @property {string} id The ID of the back-end help key
22
+ * @property {string} [origin] The origin of the back end
23
+ * @property {string} type The type of the help key
24
+ *
25
+ * @private
26
+ * @ui5-restricted sap.ui.core
27
+ */
28
+
29
+ /**
30
+ * @typedef {object} module:sap/ui/model/FieldHelpInfo
31
+ * @description The label, the control ID and the back-end help key as required by the SAP Companion to display
32
+ * the field help for the control with the given ID.
33
+ * @property {module:sap/ui/model/BackendHelpKey} backendHelpKey The back-end help key
34
+ * @property {string} hotspotId The ID of the control
35
+ * @property {string} labelText The label text of the control
36
+ *
37
+ * @private
38
+ * @ui5-restricted sap.ui.core
39
+ */
40
+
41
+ /**
42
+ * @typedef {Object<string, module:sap/ui/model/BackendHelpKey[]>} module:sap/ui/model/PropertyBackendHelpKeys
43
+ * @description
44
+ * Maps the control property to the array of back-end help keys.
45
+ */
46
+
47
+ /**
48
+ * The singleton instance.
49
+ * @type {module:sap/ui/model/FieldHelp}
50
+ */
51
+ let oFieldHelp;
52
+
53
+ /**
54
+ * DO NOT call this private constructor for <code>FieldHelp</code>; use <code>FieldHelp.getInstance</code> instead.
55
+ * Singleton class to provide field help support for controls as used by the SAP Companion.
56
+ *
57
+ * @alias module:sap/ui/model/FieldHelp
58
+ * @author SAP SE
59
+ * @class
60
+ *
61
+ * @hideconstructor
62
+ * @private
63
+ * @since 1.125.0
64
+ */
65
+ class FieldHelp {
66
+ /**
67
+ * Whether the field help support is active.
68
+ *
69
+ * @default false
70
+ * @type {boolean}
71
+ */
72
+ #bActive = false;
73
+
74
+ /**
75
+ * The callback function that is called if the field help hotspots have changed.
76
+ *
77
+ * @default null
78
+ * @type {function(module:sap/ui/model/FieldHelpInfo[])}
79
+ */
80
+ #fnUpdateHotspotsCallback = null;
81
+
82
+ /**
83
+ * Maps a control ID to an object mapping a control property to a back-end help key URNs.
84
+ *
85
+ * @default {}
86
+ * @type {Object<string, Object<string, string[]>>}
87
+ */
88
+ #mDocuRefControlToFieldHelp = {};
89
+
90
+ /**
91
+ * A Promise that resolves when all hotspot updates are done.
92
+ *
93
+ * @default null
94
+ * @type {Promise}
95
+ */
96
+ #oUpdateHotspotsPromise = null;
97
+
98
+ /**
99
+ * Requests the <code>String</code> value of the <code>com.sap.vocabularies.Common.v1.DocumentationRef</code>
100
+ * annotation for the given binding.
101
+ *
102
+ * @param {sap.ui.model.Binding} oBinding The binding
103
+ * @return {Promise<string>|undefined}
104
+ * If the binding is destroyed, or does not belong to an OData model, or the resolved path of the binding is a
105
+ * meta model path or referencing an annotation, then <code>undefined</code> is returned; if the binding
106
+ * belongs to an OData model the <code>com.sap.vocabularies.Common.v1.DocumentationRef</code> annotation value
107
+ * for the binding is asynchronously requested via the OData meta model and the resulting <code>Promise</code>
108
+ * either resolves with the <code>String</code> value of that annotation or with <code>undefined</code> if the
109
+ * annotation is not available; the <code>Promise</code> never rejects
110
+ */
111
+ static _requestDocumentationRef(oBinding) {
112
+ if (oBinding.isDestroyed()) {
113
+ return undefined;
114
+ }
115
+ const sResolvedPath = oBinding.getResolvedPath();
116
+ if (!sResolvedPath || sResolvedPath.includes("#") /*meta model path*/
117
+ || sResolvedPath.includes("@") /*annotation path*/) {
118
+ return undefined;
119
+ }
120
+ const oMetaModel = oBinding.getModel()?.getMetaModel();
121
+ if (!oMetaModel || !oMetaModel.getMetaContext) {
122
+ return undefined;
123
+ }
124
+
125
+ let oFieldHelpAnnotationPromise;
126
+ if (oMetaModel.isA("sap.ui.model.odata.ODataMetaModel")) {
127
+ oFieldHelpAnnotationPromise = oMetaModel.loaded().then(() => {
128
+ // first get the object for the meta context then get the annotation to avoid warnings that an
129
+ // invalid path is used; getMetaContext has to be called after the meta model is loaded.
130
+ return oMetaModel.getObject("", oMetaModel.getMetaContext(sResolvedPath))?.[sDocumentationRef];
131
+ });
132
+ } else { // V4 meta model
133
+ oFieldHelpAnnotationPromise = oMetaModel.requestObject("@" + sDocumentationRef,
134
+ oMetaModel.getMetaContext(sResolvedPath));
135
+ }
136
+ return oFieldHelpAnnotationPromise.then((oFieldHelpAnnotation) => oFieldHelpAnnotation?.String)
137
+ .catch((oReason) => {
138
+ Log.error(`Failed to request '${sDocumentationRef}' annotation for path '${sResolvedPath}'`,
139
+ oReason, sClassName);
140
+ return undefined;
141
+ });
142
+ }
143
+
144
+ /**
145
+ * Gets an array of field help hotspots as required by the SAP Companion.
146
+ *
147
+ * @returns {module:sap/ui/model/FieldHelpInfo[]} The array of field help hotspots
148
+ */
149
+ _getFieldHelpHotspots() {
150
+ const aFieldHelpHotspots = [];
151
+ Object.keys(this.#mDocuRefControlToFieldHelp).forEach((sControlID) => {
152
+ const oControl = Element.getElementById(sControlID);
153
+ if (!oControl) { // control has been destroyed, cleanup internal data structure
154
+ delete this.#mDocuRefControlToFieldHelp[sControlID];
155
+ return;
156
+ }
157
+ const sLabel = LabelEnablement._getLabelTexts(oControl)[0];
158
+ if (!sLabel) {
159
+ Log.error(`Cannot find a label for control '${sControlID}'; ignoring field help`,
160
+ JSON.stringify(this.#mDocuRefControlToFieldHelp[sControlID]), sClassName);
161
+
162
+ return;
163
+ }
164
+ const oURNSet = new Set();
165
+ Object.values(this.#mDocuRefControlToFieldHelp[sControlID]).forEach((aURNs) => {
166
+ // filter duplicates
167
+ aURNs.forEach(oURNSet.add.bind(oURNSet));
168
+ });
169
+ Array.from(oURNSet).forEach((sURN) => {
170
+ const oParameters = new URLSearchParams(sURN.slice(sURNPrefix.length));
171
+ aFieldHelpHotspots.push({
172
+ backendHelpKey: {
173
+ id: oParameters.get("id"),
174
+ origin: oParameters.get("origin"),
175
+ type: oParameters.get("type")
176
+ },
177
+ hotspotId: sControlID,
178
+ labelText: sLabel
179
+ });
180
+ });
181
+ });
182
+
183
+ return aFieldHelpHotspots;
184
+ }
185
+
186
+ /**
187
+ * Sets the field help information, given as documentation reference URNs, for the given control and the given
188
+ * control property and calls asynchronously the <code>fnUpdateHotspotsCallback</code> as given in
189
+ * {@link #activate}.
190
+ *
191
+ * @param {sap.ui.core.Element} oElement
192
+ * The control
193
+ * @param {string} [sControlProperty]
194
+ * The name of the control property
195
+ * @param {Array<string>} aDocumentationRefs
196
+ * An array of documentation reference annotation URNs, e.g.
197
+ * <code>["urn:sap-com:documentation:key?=~key&type=~type&id=~id&origin=~origin"]</code>
198
+ */
199
+ _setFieldHelpDocumentationRefs(oElement, sControlProperty, aDocumentationRefs) {
200
+ const sControlID = oElement.getId();
201
+ this.#mDocuRefControlToFieldHelp[sControlID] ||= {};
202
+ if (aDocumentationRefs.length > 0) {
203
+ this.#mDocuRefControlToFieldHelp[sControlID][sControlProperty] = aDocumentationRefs;
204
+ } else {
205
+ delete this.#mDocuRefControlToFieldHelp[sControlID][sControlProperty];
206
+ if (Object.keys(this.#mDocuRefControlToFieldHelp[sControlID]).length === 0) {
207
+ delete this.#mDocuRefControlToFieldHelp[sControlID];
208
+ }
209
+ }
210
+ this._updateHotspots().catch(() => {/* avoid uncaught in Promise; do nothing */});
211
+ }
212
+
213
+ /**
214
+ * Calls the <code>fnUpdateHotspotsCallback</code> as given in {@link #activate} asynchronously with the latest
215
+ * field help hotspots.
216
+ *
217
+ * @returns {Promise}
218
+ * A Promise that resolves when the <code>fnUpdateHotspotsCallback</code> as given in {@link #activate} has
219
+ * been called with the latest field help hotspots; rejects if the field help has been deactivated in between.
220
+ */
221
+ _updateHotspots() {
222
+ if (this.#oUpdateHotspotsPromise) {
223
+ return this.#oUpdateHotspotsPromise;
224
+ }
225
+ let fnResolve, fnReject;
226
+ this.#oUpdateHotspotsPromise = new Promise((resolve, reject) => {
227
+ fnResolve = resolve;
228
+ fnReject = reject;
229
+ });
230
+
231
+ // gather and send field help info in task so that e.g. field help can be displayed at a column header
232
+ setTimeout(() => {
233
+ if (this.isActive()) {
234
+ this.#fnUpdateHotspotsCallback(this._getFieldHelpHotspots());
235
+ fnResolve();
236
+ } else {
237
+ fnReject();
238
+ }
239
+ this.#oUpdateHotspotsPromise = null;
240
+ }, 0);
241
+
242
+ return this.#oUpdateHotspotsPromise;
243
+ }
244
+
245
+ /**
246
+ * Gets the singleton instance of <code>FieldHelp</code>.
247
+ *
248
+ * @returns {module:sap/ui/model/FieldHelp} The singleton instance
249
+ *
250
+ * @private
251
+ * @ui5-restricted sap.ui.core
252
+ * @since 1.125.0
253
+ */
254
+ static getInstance() {
255
+ oFieldHelp ||= new FieldHelp();
256
+ return oFieldHelp;
257
+ }
258
+
259
+ /**
260
+ * Activates the field help support. Determines the field help for all controls and calls the given update
261
+ * callback with the currently available field help.
262
+ *
263
+ * @param {function(module:sap/ui/model/FieldHelpInfo[])} fnUpdateHotspotsCallback
264
+ * The callback function that is called with the currently available field help information if the hotspots
265
+ * for the field help have changed
266
+ * @throws {Error}
267
+ * If the field help is already active and the update hotspots callback is different
268
+ *
269
+ * @private
270
+ * @ui5-restricted sap.ui.core
271
+ * @since 1.125.0
272
+ */
273
+ activate(fnUpdateHotspotsCallback) {
274
+ if (this.#bActive) {
275
+ if (this.#fnUpdateHotspotsCallback !== fnUpdateHotspotsCallback) {
276
+ throw new Error("The field help is active for a different update hotspots callback handler");
277
+ }
278
+ return;
279
+ }
280
+
281
+ this.#bActive = true;
282
+ this.#fnUpdateHotspotsCallback = fnUpdateHotspotsCallback;
283
+ ElementRegistry.forEach((oElement) => {
284
+ const vDocumentationRef = oElement.data("sap-ui-DocumentationRef");
285
+ if (vDocumentationRef) {
286
+ this._setFieldHelpDocumentationRefs(oElement, undefined, Array.isArray(vDocumentationRef)
287
+ ? vDocumentationRef
288
+ : [vDocumentationRef]);
289
+ } else {
290
+ Object.keys(oElement.getMetadata().getAllProperties()).forEach((sPropertyName) => {
291
+ this.update(oElement, sPropertyName);
292
+ });
293
+ }
294
+ });
295
+ }
296
+
297
+ /**
298
+ * Deactivates the field help support and cleans up the internal data structures.
299
+ *
300
+ * @private
301
+ * @ui5-restricted sap.ui.core
302
+ * @since 1.125.0
303
+ */
304
+ deactivate() {
305
+ this.#bActive = false;
306
+ this.#mDocuRefControlToFieldHelp = {};
307
+ this.#fnUpdateHotspotsCallback = null;
308
+ }
309
+
310
+ /**
311
+ * Whether the field help is currently active.
312
+ *
313
+ * @returns {boolean} Whether the field help is active
314
+ *
315
+ * @private
316
+ * @ui5-restricted sap.ui.core
317
+ * @since 1.125.0
318
+ */
319
+ isActive() {
320
+ return this.#bActive;
321
+ }
322
+
323
+ /**
324
+ * Updates the field help information for the given property of the given control if the control property
325
+ * belongs to the {@link sap.ui.base.ManagedObject.MetadataOptions.Property "Data" group} and is bound to an
326
+ * OData model.
327
+ *
328
+ * @param {sap.ui.core.Element} oElement The control
329
+ * @param {string} sControlProperty The name of the control property
330
+ *
331
+ * @private
332
+ * @ui5-restricted sap.ui.core
333
+ * @since 1.125.0
334
+ */
335
+ update(oElement, sControlProperty) {
336
+ if (!this.#bActive || oElement.getMetadata().getProperty(sControlProperty)?.group !== "Data") {
337
+ return;
338
+ }
339
+
340
+ const oBinding = oElement.getBinding(sControlProperty);
341
+ if (!oBinding) {
342
+ return;
343
+ }
344
+
345
+ let aBindings;
346
+ if (oBinding.isA("sap.ui.model.CompositeBinding")) {
347
+ const aPartsToIgnore = oBinding.getType()?.getPartsIgnoringMessages() || [];
348
+ aBindings = oBinding.getBindings().filter((oPart, i) => !aPartsToIgnore.includes(i));
349
+ } else {
350
+ aBindings = [oBinding];
351
+ }
352
+ Promise.all(
353
+ aBindings.map((oBinding) => FieldHelp._requestDocumentationRef(oBinding))
354
+ ).then((aDocumentationRefs) => {
355
+ aDocumentationRefs = aDocumentationRefs.filter((sDocumentationRef) => sDocumentationRef);
356
+ this._setFieldHelpDocumentationRefs(oElement, sControlProperty, aDocumentationRefs);
357
+ });
358
+ }
359
+ }
360
+
361
+ return FieldHelp;
362
+ });
@@ -16,7 +16,7 @@ sap.ui.define(['./Model'],
16
16
  * @extends sap.ui.model.Model
17
17
  *
18
18
  * @author SAP SE
19
- * @version 1.124.0
19
+ * @version 1.125.0
20
20
  *
21
21
  * @public
22
22
  * @alias sap.ui.model.MetaModel
@@ -51,7 +51,7 @@ sap.ui.define([
51
51
  * @extends sap.ui.core.message.MessageProcessor
52
52
  *
53
53
  * @author SAP SE
54
- * @version 1.124.0
54
+ * @version 1.125.0
55
55
  *
56
56
  * @public
57
57
  * @alias sap.ui.model.Model
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/base/EventProvider', "sap/base/assert"],
20
20
  * @extends sap.ui.base.EventProvider
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.124.0
23
+ * @version 1.125.0
24
24
  *
25
25
  * @param {int} iSelectionMode <code>sap.ui.model.SelectionModel.SINGLE_SELECTION</code> or <code>sap.ui.model.SelectionModel.MULTI_SELECTION</code>
26
26
  *
@@ -46,7 +46,7 @@ sap.ui.define([
46
46
  *
47
47
  * @extends sap.ui.model.Type
48
48
  * @public
49
- * @version 1.124.0
49
+ * @version 1.125.0
50
50
  */
51
51
  var SimpleType = Type.extend("sap.ui.model.SimpleType", /** @lends sap.ui.model.SimpleType.prototype */ {
52
52
 
@@ -12,7 +12,7 @@ sap.ui.define([],
12
12
  /**
13
13
  * Different modes for setting the auto expand mode on tree or analytical bindings.
14
14
  *
15
- * @version 1.124.0
15
+ * @version 1.125.0
16
16
  * @enum {string}
17
17
  * @alias sap.ui.model.TreeAutoExpandMode
18
18
  * @protected
@@ -19,7 +19,7 @@ sap.ui.define(['sap/ui/base/Object'],
19
19
  *
20
20
  * @extends sap.ui.base.Object
21
21
  * @public
22
- * @version 1.124.0
22
+ * @version 1.125.0
23
23
  */
24
24
  var Type = BaseObject.extend("sap.ui.model.Type", /** @lends sap.ui.model.Type.prototype */ {
25
25
 
@@ -270,11 +270,10 @@ sap.ui.define([
270
270
  * <code>select</code> parameter is ignored.
271
271
  *
272
272
  * @throws {Error}
273
- * If no analytic query result object could be determined from the bound OData entity set,
274
- * either from an explicitly given EntitySet (via optional mParameters.entitySet argument), or
275
- * by default implicitly from the binding path (see mandatory sPath argument), or if the
276
- * {@link sap.ui.model.Filter.NONE} filter instance is contained in <code>aFilters</code> together with other
277
- * filters
273
+ * If no analytic query result object could be determined from the bound OData entity set, either from an
274
+ * explicitly given EntitySet (via optional mParameters.entitySet argument), or by default implicitly from the
275
+ * binding path (see mandatory sPath argument), or if the {@link sap.ui.model.Filter.NONE} filter instance is
276
+ * contained in <code>aFilters</code> together with other filters, or if the given model is not supported.
278
277
  *
279
278
  * @alias sap.ui.model.analytics.AnalyticalBinding
280
279
  * @extends sap.ui.model.TreeBinding
@@ -286,6 +285,10 @@ sap.ui.define([
286
285
  constructor : function(oModel, sPath, oContext, aSorter, aFilters, mParameters) {
287
286
  TreeBinding.call(this, oModel, sPath, oContext, aFilters, mParameters);
288
287
 
288
+ this.iModelVersion = AnalyticalBinding._getModelVersion(this.oModel);
289
+ if (this.iModelVersion === null) {
290
+ throw new Error("The AnalyticalBinding does not support the given model");
291
+ }
289
292
  this.aAdditionalSelects = [];
290
293
  // attribute members for addressing the requested entity set
291
294
  this.sEntitySetName = mParameters.entitySet ? mParameters.entitySet : undefined;
@@ -360,13 +363,6 @@ sap.ui.define([
360
363
  + " $inlinecount options");
361
364
  }
362
365
 
363
- // detect ODataModel version
364
- this.iModelVersion = AnalyticalBinding._getModelVersion(this.oModel);
365
- if (this.iModelVersion === null) {
366
- oLogger.error("The AnalyticalBinding does not support the given model");
367
- return;
368
- }
369
-
370
366
  // list of sorted dimension names as basis for later calculations, initialized via "initialize" function
371
367
  this.aAllDimensionSortedByName = null;
372
368
 
@@ -29,12 +29,13 @@ sap.ui.define([
29
29
  /**
30
30
  * Constructor for a new JSONModel.
31
31
  *
32
- * The observation feature is experimental! When observation is activated, the application can directly change the
33
- * JS objects without the need to call setData, setProperty or refresh. Observation does only work for existing
34
- * properties in the JSON, it cannot detect new properties or new array entries.
32
+ * When observation is activated, the application can directly change the JS objects without the need to call
33
+ * {@link sap.ui.model.json.JSONModel#setData}, {@link sap.ui.model.json.JSONModel#setProperty} or
34
+ * {@link sap.ui.model.Model#refresh}. <b>Note:</b> Observation only works for existing properties in the JSON
35
+ * model. Newly added or removed properties and newly added or removed array entries, for example, are not detected.
35
36
  *
36
37
  * @param {object|string} [oData] Either the URL where to load the JSON from or a JS object
37
- * @param {boolean} [bObserve] Whether to observe the JSON data for property changes (experimental)
38
+ * @param {boolean} [bObserve=false] Whether to observe the JSON data for property changes
38
39
  *
39
40
  * @class
40
41
  * Model implementation for the JSON format.
@@ -48,7 +49,7 @@ sap.ui.define([
48
49
  * @extends sap.ui.model.ClientModel
49
50
  *
50
51
  * @author SAP SE
51
- * @version 1.124.0
52
+ * @version 1.125.0
52
53
  * @public
53
54
  * @alias sap.ui.model.json.JSONModel
54
55
  */
@@ -29,7 +29,7 @@ sap.ui.define(['sap/ui/model/BindingMode', 'sap/ui/model/ClientModel', 'sap/ui/m
29
29
  * @extends sap.ui.model.ClientModel
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.124.0
32
+ * @version 1.125.0
33
33
  *
34
34
  * @public
35
35
  * @alias sap.ui.model.message.MessageModel
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  *
28
28
  * @author SAP SE
29
29
  * @version
30
- * 1.124.0
30
+ * 1.125.0
31
31
  *
32
32
  * @public
33
33
  * @deprecated As of version 1.66, please use {@link sap.ui.model.odata.v2.ODataAnnotations} instead.
@@ -84,7 +84,7 @@ var sClassName = "sap.ui.model.odata.ODataMessageParser",
84
84
  * @extends sap.ui.core.message.MessageParser
85
85
  *
86
86
  * @author SAP SE
87
- * @version 1.124.0
87
+ * @version 1.125.0
88
88
  * @public
89
89
  * @alias sap.ui.model.odata.ODataMessageParser
90
90
  */
@@ -880,7 +880,7 @@ sap.ui.define([
880
880
  * {@link #loaded loaded} has been resolved!
881
881
  *
882
882
  * @author SAP SE
883
- * @version 1.124.0
883
+ * @version 1.125.0
884
884
  * @alias sap.ui.model.odata.ODataMetaModel
885
885
  * @extends sap.ui.model.MetaModel
886
886
  * @public
@@ -49,7 +49,7 @@ sap.ui.define([
49
49
  * Implementation to access OData metadata
50
50
  *
51
51
  * @author SAP SE
52
- * @version 1.124.0
52
+ * @version 1.125.0
53
53
  *
54
54
  * @public
55
55
  * @alias sap.ui.model.odata.ODataMetadata
@@ -78,7 +78,7 @@ sap.ui.define([
78
78
  *
79
79
  *
80
80
  * @author SAP SE
81
- * @version 1.124.0
81
+ * @version 1.125.0
82
82
  *
83
83
  * @public
84
84
  * @deprecated As of version 1.48, please use {@link sap.ui.model.odata.v2.ODataModel} instead.
@@ -87,7 +87,7 @@ sap.ui.define([
87
87
  * @extends sap.ui.model.odata.type.ODataType
88
88
  *
89
89
  * @author SAP SE
90
- * @version 1.124.0
90
+ * @version 1.125.0
91
91
  *
92
92
  * @alias sap.ui.model.odata.type.Boolean
93
93
  * @param {object} [oFormatOptions]
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @extends sap.ui.model.odata.type.Int
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.124.0
27
+ * @version 1.125.0
28
28
  *
29
29
  * @alias sap.ui.model.odata.type.Byte
30
30
  * @param {object} [oFormatOptions]
@@ -65,7 +65,7 @@ sap.ui.define([
65
65
  * @extends sap.ui.model.type.Currency
66
66
  * @public
67
67
  * @since 1.63.0
68
- * @version 1.124.0
68
+ * @version 1.125.0
69
69
  */
70
70
  var Currency = BaseCurrency.extend("sap.ui.model.odata.type.Currency", {
71
71
  constructor : function (oFormatOptions, oConstraints) {
@@ -76,7 +76,7 @@ sap.ui.define([
76
76
  * @extends sap.ui.model.odata.type.ODataType
77
77
  *
78
78
  * @author SAP SE
79
- * @version 1.124.0
79
+ * @version 1.125.0
80
80
  *
81
81
  * @alias sap.ui.model.odata.type.Date
82
82
  * @param {object} [oFormatOptions]
@@ -61,7 +61,7 @@ sap.ui.define([
61
61
  * @extends sap.ui.model.odata.type.DateTimeBase
62
62
  *
63
63
  * @author SAP SE
64
- * @version 1.124.0
64
+ * @version 1.125.0
65
65
  *
66
66
  * @alias sap.ui.model.odata.type.DateTime
67
67
  * @param {object} [oFormatOptions]
@@ -92,7 +92,7 @@ sap.ui.define([
92
92
  * @extends sap.ui.model.odata.type.ODataType
93
93
  * @public
94
94
  * @since 1.27.0
95
- * @version 1.124.0
95
+ * @version 1.125.0
96
96
  */
97
97
  var DateTimeBase = ODataType.extend("sap.ui.model.odata.type.DateTimeBase", {
98
98
  constructor : function (oFormatOptions, oConstraints) {
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * @extends sap.ui.model.odata.type.DateTimeBase
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.124.0
32
+ * @version 1.125.0
33
33
  *
34
34
  * @alias sap.ui.model.odata.type.DateTimeOffset
35
35
  * @param {object} [oFormatOptions]
@@ -46,7 +46,7 @@ sap.ui.define([
46
46
  * @public
47
47
  * @see {sap.ui.model.odata.v2.ODataModel#bindProperty}
48
48
  * @since 1.99.0
49
- * @version 1.124.0
49
+ * @version 1.125.0
50
50
  */
51
51
  var DateTimeWithTimezone = CompositeType.extend("sap.ui.model.odata.type.DateTimeWithTimezone",
52
52
  {
@@ -171,7 +171,7 @@ sap.ui.define([
171
171
  * @extends sap.ui.model.odata.type.ODataType
172
172
  *
173
173
  * @author SAP SE
174
- * @version 1.124.0
174
+ * @version 1.125.0
175
175
  *
176
176
  * @alias sap.ui.model.odata.type.Decimal
177
177
  * @param {object} [oFormatOptions]
@@ -74,7 +74,7 @@ sap.ui.define([
74
74
  * @extends sap.ui.model.odata.type.ODataType
75
75
  *
76
76
  * @author SAP SE
77
- * @version 1.124.0
77
+ * @version 1.125.0
78
78
  *
79
79
  * @alias sap.ui.model.odata.type.Double
80
80
  * @param {object} [oFormatOptions]
@@ -63,7 +63,7 @@ sap.ui.define([
63
63
  * @extends sap.ui.model.odata.type.ODataType
64
64
  *
65
65
  * @author SAP SE
66
- * @version 1.124.0
66
+ * @version 1.125.0
67
67
  *
68
68
  * @alias sap.ui.model.odata.type.Guid
69
69
  * @param {object} [oFormatOptions]
@@ -63,7 +63,7 @@ sap.ui.define([
63
63
  * @extends sap.ui.model.odata.type.ODataType
64
64
  *
65
65
  * @author SAP SE
66
- * @version 1.124.0
66
+ * @version 1.125.0
67
67
  *
68
68
  * @abstract
69
69
  * @alias sap.ui.model.odata.type.Int