@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
@@ -1351,6 +1351,103 @@ sap.ui.define([
1351
1351
  }.bind(this));
1352
1352
  });
1353
1353
 
1354
+ QUnit.test("metadata v4 with sap-system URL parameter", async function(assert) {
1355
+ this.stubGetUriParameters({ sapSystem: "URL_123" });
1356
+
1357
+ this.oComponent = await Component.create({
1358
+ name: "sap.ui.test.v4models.sapSystem"
1359
+ });
1360
+
1361
+ this.assertModelInstances({
1362
+ "v4-ODataModel": this.modelSpy.odataV4,
1363
+ "v4-ODataModel-ServiceOrigin": this.modelSpy.odataV4,
1364
+ "v4-ODataModel-OtherOrigins": this.modelSpy.odataV4
1365
+ });
1366
+
1367
+ // model: "v4-ODataModel"
1368
+ sinon.assert.calledWithExactly(this.modelSpy.odataV4, {
1369
+ serviceUrl: '/path/to/odata/service;o=URL_123/'
1370
+ });
1371
+
1372
+ // model: "v4-ODataModel-ServiceOrigin" with a trailing slash and URL Parameters
1373
+ sinon.assert.calledWithExactly(this.modelSpy.odataV4, {
1374
+ serviceUrl: '/path/to/odata/service/with/trailing/slash;o=URL_123/?sap-client=foo&sap-server=bar',
1375
+ annotationURI: [
1376
+ '/path/to/odata/service/with/trailing/slash;o=URL_123/annotations.xml?sap-language=EN&sap-client=foo',
1377
+ 'test-resources/sap/ui/core/qunit/component/testdata/v4models/sapSystem/path/to/local/odata/annotations/2?sap-language=EN&sap-client=foo'
1378
+ ],
1379
+ metadataUrlParams: { "sap-language": "EN" }
1380
+ });
1381
+
1382
+ // model: "v4-ODataModel-OtherOrigins" with multi origin annotations
1383
+ sinon.assert.calledWithExactly(this.modelSpy.odataV4, {
1384
+ serviceUrl: '/path/to/odata/service/with/multi/origin/annotations;o=URL_123/?sap-client=foo&sap-server=bar',
1385
+ annotationURI: ["/path/to/other/odata/service;o=URL_123/Annotations(TechnicalName='%2FIWBEP%2FTEA_TEST_ANNOTATION_FILE',Version='0001')/$value?sap-language=EN&sap-client=foo",
1386
+ "test-resources/sap/ui/core/qunit/component/testdata/v4models/sapSystem/path/to/other/odata/service;o=URL_123/Annotations%28TechnicalName=%27%2FIWBEP%2FTEA_TEST_ANNOTATION_FILE%27,Version=%270001%27%29/$value?sap-language=EN&sap-client=foo",
1387
+ "/path/to/other/odata/service/other2/Annotations(TechnicalName='%2FIWBEP%2FTEA_TEST_ANNOTATION_FILE',Version='0001')/?sap-language=EN&sap-client=foo",
1388
+ "/path/to/other3/odata/service/;o=sid(G1Y.400)/Annotations(TechnicalName='%2FIWBEP%2FTEA_TEST_ANNOTATION_FILE',Version='0001')/$value?sap-language=EN&sap-client=foo"
1389
+ ],
1390
+ metadataUrlParams: { "sap-language": "EN" }
1391
+ });
1392
+
1393
+ // destroy the component
1394
+ this.oComponent.destroy();
1395
+
1396
+ // check if all models got destroyed (uses the models from #assertModelInstances)
1397
+ this.assertModelsDestroyed();
1398
+ });
1399
+
1400
+ QUnit.test("metadata v4 with sap-system startup parameter", async function(assert) {
1401
+ this.stubGetUriParameters();
1402
+
1403
+ this.oComponent = await Component.create({
1404
+ name: "sap.ui.test.v4models.sapSystem",
1405
+ componentData: {
1406
+ startupParameters: {
1407
+ "sap-system": "STARTUP123"
1408
+ }
1409
+ }
1410
+ });
1411
+
1412
+ this.assertModelInstances({
1413
+ "v4-ODataModel": this.modelSpy.odataV4,
1414
+ "v4-ODataModel-ServiceOrigin": this.modelSpy.odataV4,
1415
+ "v4-ODataModel-OtherOrigins": this.modelSpy.odataV4
1416
+ });
1417
+
1418
+ // model: "v4-ODataModel"
1419
+ sinon.assert.calledWithExactly(this.modelSpy.odataV4, {
1420
+ serviceUrl: '/path/to/odata/service;o=STARTUP123/'
1421
+ });
1422
+
1423
+ // model: "v4-ODataModel-ServiceOrigin" with a trailing slash and URL Parameters
1424
+ sinon.assert.calledWithExactly(this.modelSpy.odataV4, {
1425
+ serviceUrl: '/path/to/odata/service/with/trailing/slash;o=STARTUP123/?sap-client=foo&sap-server=bar',
1426
+ annotationURI: [
1427
+ '/path/to/odata/service/with/trailing/slash;o=STARTUP123/annotations.xml?sap-language=EN&sap-client=foo',
1428
+ 'test-resources/sap/ui/core/qunit/component/testdata/v4models/sapSystem/path/to/local/odata/annotations/2?sap-language=EN&sap-client=foo'
1429
+ ],
1430
+ metadataUrlParams: { "sap-language": "EN" }
1431
+ });
1432
+
1433
+ // model: "v4-ODataModel-OtherOrigins" with multi origin annotations
1434
+ sinon.assert.calledWithExactly(this.modelSpy.odataV4, {
1435
+ serviceUrl: '/path/to/odata/service/with/multi/origin/annotations;o=STARTUP123/?sap-client=foo&sap-server=bar',
1436
+ annotationURI: ["/path/to/other/odata/service;o=STARTUP123/Annotations(TechnicalName='%2FIWBEP%2FTEA_TEST_ANNOTATION_FILE',Version='0001')/$value?sap-language=EN&sap-client=foo",
1437
+ "test-resources/sap/ui/core/qunit/component/testdata/v4models/sapSystem/path/to/other/odata/service;o=STARTUP123/Annotations%28TechnicalName=%27%2FIWBEP%2FTEA_TEST_ANNOTATION_FILE%27,Version=%270001%27%29/$value?sap-language=EN&sap-client=foo",
1438
+ "/path/to/other/odata/service/other2/Annotations(TechnicalName='%2FIWBEP%2FTEA_TEST_ANNOTATION_FILE',Version='0001')/?sap-language=EN&sap-client=foo",
1439
+ "/path/to/other3/odata/service/;o=sid(G1Y.400)/Annotations(TechnicalName='%2FIWBEP%2FTEA_TEST_ANNOTATION_FILE',Version='0001')/$value?sap-language=EN&sap-client=foo"
1440
+ ],
1441
+ metadataUrlParams: { "sap-language": "EN" }
1442
+ });
1443
+
1444
+ // destroy the component
1445
+ this.oComponent.destroy();
1446
+
1447
+ // check if all models got destroyed (uses the models from #assertModelInstances)
1448
+ this.assertModelsDestroyed();
1449
+ });
1450
+
1354
1451
  QUnit.test("metadata v2 with dataSources (extension inheritance)", function(assert) {
1355
1452
  this.stubGetUriParameters();
1356
1453
 
@@ -1538,76 +1635,6 @@ sap.ui.define([
1538
1635
  }.bind(this));
1539
1636
  });
1540
1637
 
1541
- // TODO Should we move all v1 tests to unavoidablySync or should we keep it, since the test do not trigger CSP violations?
1542
- QUnit.test("metadata v1 with models", function(assert) {
1543
- this.stubGetUriParameters();
1544
-
1545
- return Component.create({
1546
- name: "sap.ui.test.v1",
1547
- manifest: false
1548
- }).then(function(oComponent) {
1549
- this.oComponent = oComponent;
1550
-
1551
- // sap.ui.model.resource.ResourceModel
1552
- sinon.assert.callCount(this.modelSpy.resource, 1);
1553
-
1554
- // model: "i18n"
1555
- sinon.assert.calledWithExactly(this.modelSpy.resource, {
1556
- bundleUrl: "test-resources/sap/ui/core/qunit/component/testdata/v1/i18n/i18n.properties"
1557
- });
1558
-
1559
- // check if models are set on component (and save them internally)
1560
- this.assertModelInstances({
1561
- "i18n": this.modelSpy.resource,
1562
- "sfapi": this.modelSpy.odataV2
1563
- });
1564
-
1565
- // destroy the component
1566
- this.oComponent.destroy();
1567
-
1568
- // check if all models got destroyed (uses the models from #assertModelInstances)
1569
- this.assertModelsDestroyed();
1570
-
1571
- // check if internal models references were removed
1572
- assert.ok(!this.oComponent._mManifestModels, "Component should not have internal model references anymore");
1573
-
1574
- }.bind(this));
1575
- });
1576
-
1577
- QUnit.test("metadata v1 without models", function(assert) {
1578
-
1579
- return Component.create({
1580
- name: "sap.ui.test.v1empty",
1581
- manifest: false
1582
- }).then(function(oComponent) {
1583
- this.oComponent = oComponent;
1584
-
1585
- /**
1586
- * @deprecated As of version 1.48
1587
- */
1588
- // sap.ui.model.odata.ODataModel
1589
- sinon.assert.callCount(this.modelSpy.odata, 0);
1590
-
1591
- // sap.ui.model.odata.v2.ODataModel
1592
- sinon.assert.callCount(this.modelSpy.odataV2, 0);
1593
- // sap.ui.model.json.JSONModel
1594
- sinon.assert.callCount(this.modelSpy.json, 0);
1595
- // sap.ui.model.xml.XMLModel
1596
- sinon.assert.callCount(this.modelSpy.xml, 0);
1597
- // sap.ui.model.resource.ResourceModel
1598
- sinon.assert.callCount(this.modelSpy.resource, 0);
1599
- // sap.ui.test.v2models.CustomModel
1600
- sinon.assert.callCount(this.modelSpy.custom, 0);
1601
-
1602
- assert.ok(!this.oComponent.getModel(), "Component should not have a model");
1603
- assert.deepEqual(this.oComponent._mManifestModels, {}, "Component should not have internal model references");
1604
-
1605
- // destroy the component
1606
- this.oComponent.destroy();
1607
-
1608
- }.bind(this));
1609
- });
1610
-
1611
1638
  QUnit.test("dynamic enhance of models and datasources", function(assert) {
1612
1639
  this.stubGetUriParameters();
1613
1640
 
@@ -60,6 +60,23 @@ sap.ui.define([
60
60
  this.oConfigurationStub.restore();
61
61
  this.oConfigurationStub = null;
62
62
  }
63
+ },
64
+ assertModelInstances: function(mClasses) {
65
+ this.mModels = {};
66
+ for (var sName in mClasses) {
67
+ var oClass = mClasses[sName];
68
+ var oModel = this.oComponent.getModel(sName || undefined);
69
+ this.mModels[sName] = oModel;
70
+ QUnit.assert.ok(oModel instanceof oClass,
71
+ 'Expected model "' + sName + '" to be an instance of ' + oClass.getMetadata().getName());
72
+ }
73
+ },
74
+ assertModelsDestroyed: function() {
75
+ for (var sName in this.mModels) {
76
+ var oModel = this.mModels[sName];
77
+ QUnit.assert.ok(oModel && oModel.bDestroyed,
78
+ 'Expected model "' + sName + '" to be destroyed');
79
+ }
63
80
  }
64
81
  };
65
82
  // Binds all the helper functions to the test instance
@@ -193,4 +210,73 @@ sap.ui.define([
193
210
 
194
211
  fnAssert.call(this, assert);
195
212
  });
213
+
214
+ QUnit.test("metadata v1 with models", function(assert) {
215
+ this.stubGetUriParameters();
216
+
217
+ return Component.create({
218
+ name: "sap.ui.test.v1",
219
+ manifest: false
220
+ }).then(function(oComponent) {
221
+ this.oComponent = oComponent;
222
+
223
+ // sap.ui.model.resource.ResourceModel
224
+ sinon.assert.callCount(this.modelSpy.resource, 1);
225
+
226
+ // model: "i18n"
227
+ sinon.assert.calledWithExactly(this.modelSpy.resource, {
228
+ bundleUrl: "test-resources/sap/ui/core/qunit/component/testdata/v1/i18n/i18n.properties"
229
+ });
230
+
231
+ // check if models are set on component (and save them internally)
232
+ this.assertModelInstances({
233
+ "i18n": this.modelSpy.resource,
234
+ "sfapi": this.modelSpy.odataV2
235
+ });
236
+
237
+ // destroy the component
238
+ this.oComponent.destroy();
239
+
240
+ // check if all models got destroyed (uses the models from #assertModelInstances)
241
+ this.assertModelsDestroyed();
242
+
243
+ // check if internal models references were removed
244
+ assert.ok(!this.oComponent._mManifestModels, "Component should not have internal model references anymore");
245
+
246
+ }.bind(this));
247
+ });
248
+
249
+ QUnit.test("metadata v1 without models", function(assert) {
250
+
251
+ return Component.create({
252
+ name: "sap.ui.test.v1empty",
253
+ manifest: false
254
+ }).then(function(oComponent) {
255
+ this.oComponent = oComponent;
256
+
257
+ /**
258
+ * @deprecated As of version 1.48
259
+ */
260
+ // sap.ui.model.odata.ODataModel
261
+ sinon.assert.callCount(this.modelSpy.odata, 0);
262
+
263
+ // sap.ui.model.odata.v2.ODataModel
264
+ sinon.assert.callCount(this.modelSpy.odataV2, 0);
265
+ // sap.ui.model.json.JSONModel
266
+ sinon.assert.callCount(this.modelSpy.json, 0);
267
+ // sap.ui.model.xml.XMLModel
268
+ sinon.assert.callCount(this.modelSpy.xml, 0);
269
+ // sap.ui.model.resource.ResourceModel
270
+ sinon.assert.callCount(this.modelSpy.resource, 0);
271
+ // sap.ui.test.v2models.CustomModel
272
+ sinon.assert.callCount(this.modelSpy.custom, 0);
273
+
274
+ assert.ok(!this.oComponent.getModel(), "Component should not have a model");
275
+ assert.deepEqual(this.oComponent._mManifestModels, {}, "Component should not have internal model references");
276
+
277
+ // destroy the component
278
+ this.oComponent.destroy();
279
+
280
+ }.bind(this));
281
+ });
196
282
  });
@@ -394,6 +394,18 @@ sap.ui.define([
394
394
  }
395
395
  };
396
396
 
397
+ const oManifestTypedViewAsString = {
398
+ "sap.ui5" : {
399
+ "rootView" : "module:my/own/TypedView"
400
+ }
401
+ };
402
+
403
+ const oManifestViewAsString = {
404
+ "sap.ui5" : {
405
+ "rootView" : "my.own.View"
406
+ }
407
+ };
408
+
397
409
  var oManifestMissingViewType = {
398
410
  "sap.app" : {
399
411
  "id" : "my.own.missingViewType"
@@ -439,6 +451,8 @@ sap.ui.define([
439
451
  !/^\/anylocation\/missingViewType\/manifest\.json/.test(url) &&
440
452
  !/^\/anylocation\/missingViewTypeForTypedView\/manifest\.json/.test(url) &&
441
453
  !/^\/anylocation\/prefixid\/manifest\.json/.test(url) &&
454
+ !/^\/anylocation\/typedViewAsString\/manifest\.json/.test(url) &&
455
+ !/^\/anylocation\/viewAsString\/manifest\.json/.test(url) &&
442
456
  !/^\/anylocation\/mf1st\/autoid\/manifest\.json/.test(url) &&
443
457
  !/^\/anylocation\/mf1st\/prefixid\/manifest\.json/.test(url) &&
444
458
  !/\/test-resources\/sap\/ui\/core\/qunit\/component\/testdata\/view\/manifest\.json/.test(url) &&
@@ -468,6 +482,20 @@ sap.ui.define([
468
482
  },
469
483
  JSON.stringify(oManifestMissingViewType)
470
484
  ]);
485
+ oServer.respondWith("GET", /^\/anylocation\/typedViewAsString\/manifest\.json/, [
486
+ 200,
487
+ {
488
+ "Content-Type": "application/json"
489
+ },
490
+ JSON.stringify(oManifestTypedViewAsString)
491
+ ]);
492
+ oServer.respondWith("GET", /^\/anylocation\/viewAsString\/manifest\.json/, [
493
+ 200,
494
+ {
495
+ "Content-Type": "application/json"
496
+ },
497
+ JSON.stringify(oManifestViewAsString)
498
+ ]);
471
499
  oServer.respondWith("GET", /^\/anylocation\/missingViewTypeForTypedView\/manifest\.json/, [
472
500
  200,
473
501
  {
@@ -553,7 +581,30 @@ sap.ui.define([
553
581
  });
554
582
 
555
583
  });
584
+ sap.ui.define("my/own/typedViewAsString/Component", ["sap/ui/core/UIComponent"], function(UIComponent) {
585
+
586
+ return UIComponent.extend("my.own.typedViewAsString.Component", {
587
+ metadata: {
588
+ manifest: "json",
589
+ interfaces: [
590
+ "sap.ui.core.IAsyncContentCreation"
591
+ ]
592
+ }
593
+ });
594
+
595
+ });
596
+ sap.ui.define("my/own/viewAsString/Component", ["sap/ui/core/UIComponent"], function(UIComponent) {
597
+
598
+ return UIComponent.extend("my.own.viewAsString.Component", {
599
+ metadata: {
600
+ manifest: "json",
601
+ interfaces: [
602
+ "sap.ui.core.IAsyncContentCreation"
603
+ ]
604
+ }
605
+ });
556
606
 
607
+ });
557
608
  sap.ui.define("error/test/Component", ["sap/ui/core/UIComponent"], function(UIComponent) {
558
609
 
559
610
  return UIComponent.extend("error.test.Component", {
@@ -717,6 +768,40 @@ sap.ui.define([
717
768
  });
718
769
  });
719
770
 
771
+ QUnit.test("UIComponent (IAsyncContentCreation) check when rootView is set with string and the defaulting of view type", function(assert) {
772
+ assert.expect(2);
773
+
774
+ const oCreateSpy = this.spy(View, "create");
775
+
776
+ return Component.create({
777
+ name: "my.own.viewAsString"
778
+ }).then(function(oComponent) {
779
+ // a missing type in the root-view definition should be defaulted to XML
780
+ assert.ok(oComponent.getRootControl().isA("sap.ui.core.mvc.XMLView"));
781
+ assert.equal(oCreateSpy.callCount, 1, "Modern view factory View.create is called");
782
+ oComponent.destroy();
783
+ }, function() {
784
+ assert.ok(false, "Error handler must not be called");
785
+ });
786
+ });
787
+
788
+ QUnit.test("UIComponent (IAsyncContentCreation) check when rootView is set with string and it's a typed view", function(assert) {
789
+ assert.expect(2);
790
+
791
+ const oCreateSpy = this.spy(View, "create");
792
+
793
+ return Component.create({
794
+ name: "my.own.typedViewAsString"
795
+ }).then(function(oComponent) {
796
+ // root control must be of the typed view class
797
+ assert.ok(oComponent.getRootControl().isA("my.own.TypedView"));
798
+ assert.equal(oCreateSpy.callCount, 1, "Modern view factory View.create is called");
799
+ oComponent.destroy();
800
+ }, function() {
801
+ assert.ok(false, "Error handler must not be called");
802
+ });
803
+ });
804
+
720
805
  QUnit.test("UIComponent check NO-defaulting of root-view type if root-view is a typed view", function(assert) {
721
806
  assert.expect(2);
722
807
 
@@ -1658,7 +1743,7 @@ sap.ui.define([
1658
1743
  });
1659
1744
 
1660
1745
  QUnit.test("Nested component - no duplicate ID issue expected", function(assert) {
1661
- assert.expect(3);
1746
+ assert.expect(4);
1662
1747
  var oManifest = {
1663
1748
  "sap.app" : {
1664
1749
  "id" : "app"
@@ -0,0 +1,5 @@
1
+ <core:FragmentDefinition
2
+ xmlns="sap.m"
3
+ xmlns:core="sap.ui.core">
4
+ <Input id="Input_From_EP" value="Input from EP Fragment: EP_In_Product_Table_Cell_Found.fragment.xml" />
5
+ </core:FragmentDefinition>
@@ -0,0 +1,5 @@
1
+ <core:FragmentDefinition
2
+ xmlns="sap.m"
3
+ xmlns:core="sap.ui.core">
4
+ <Text text="Table Header Text from EP Fragment: EP_In_Product_Table_Column.fragment.xml" />
5
+ </core:FragmentDefinition>
@@ -0,0 +1,51 @@
1
+ <mvc:View
2
+ xmlns="sap.m" xmlns:core="sap.ui.core" xmlns:mvc="sap.ui.core.mvc">
3
+ <Table id="product_table">
4
+ <columns>
5
+ <!--
6
+ The following two EPs are the same,
7
+ the Fragment behind it must be created twice -->
8
+ <Column id="column_0">
9
+ <header>
10
+ <core:ExtensionPoint name="EP_In_Product_Table_Column"/>
11
+ </header>
12
+ </Column>
13
+ <Column id="column_1">
14
+ <header>
15
+ <core:ExtensionPoint name="EP_In_Product_Table_Column"/>
16
+ </header>
17
+ </Column>
18
+ </columns>
19
+ <items>
20
+ <ColumnListItem id="list_item_0">
21
+ <cells>
22
+ <!--
23
+ Test-scenario with an active provider:
24
+ * Default content must be created
25
+ Test-scenario _without_ an active provider:
26
+ * Default content must be created
27
+ -->
28
+ <core:ExtensionPoint name="EP_In_Product_Table_Cell_Not_Found">
29
+ <Button id="TableRowButton" xmlns="sap.m" text="Table row Button from EP's default content must be created" />
30
+ </core:ExtensionPoint>
31
+ </cells>
32
+ </ColumnListItem>
33
+ <ColumnListItem id="list_item_1">
34
+ <cells>
35
+ <!--
36
+ Test-scenario with an active provider:
37
+ * default content must _not_ be created
38
+ Test-scenario _without_ an active provider:
39
+ * Default content must be created
40
+ -->
41
+ <core:ExtensionPoint name="EP_In_Product_Table_Cell_Found">
42
+ <Button id="TableRowButton2" xmlns="sap.m" text="Table row Button from EP's default content must not be created" />
43
+ </core:ExtensionPoint>
44
+ </cells>
45
+ </ColumnListItem>
46
+ </items>
47
+ </Table>
48
+ <core:ExtensionPoint name="EP_in_Panel">
49
+ <Button id="PanelButton" xmlns="sap.m" text="Panel Button from EP" />
50
+ </core:ExtensionPoint>
51
+ </mvc:View>
@@ -43,12 +43,23 @@ sap.ui.define(['sap/ui/core/Fragment'],
43
43
  }
44
44
  };
45
45
  var fnInsert = function(aControls) {
46
- aControls.forEach(function(oControl, i) {
47
- oExtensionPoint.targetControl.insertAggregation(oExtensionPoint.aggregationName, oControl, oExtensionPoint.index + i);
48
- });
46
+ const oAggregationInfo = oExtensionPoint.targetControl.getMetadata().getAggregation(oExtensionPoint.aggregationName);
47
+
48
+ // 0..1 Aggregations ("multiple: false") must be set via setAggregation()
49
+ // 0..n Aggergations must be changed with insertAggregation
50
+ if (oAggregationInfo.multiple) {
51
+ aControls.forEach(function(oControl, i) {
52
+ oExtensionPoint.targetControl.insertAggregation(oExtensionPoint.aggregationName, oControl, oExtensionPoint.index + i);
53
+ });
54
+ } else {
55
+ if (aControls.length > 1) {
56
+ throw new Error("Your test tries to add multiple Controls to an aggregation marked as 'multiple: false'.");
57
+ }
58
+ oExtensionPoint.targetControl.setAggregation(oExtensionPoint.aggregationName, aControls[0]);
59
+ }
49
60
  };
50
61
 
51
- if (["EP1", "EP99"].indexOf(oExtensionPoint.name) >= 0) {
62
+ if (["EP1", "EP99", "EP_In_Product_Table_Column", "EP_In_Product_Table_Cell_Found"].indexOf(oExtensionPoint.name) >= 0) {
52
63
 
53
64
  if (oExtensionPoint.name == "EP1") {
54
65
  pLoaded = Fragment.load({
@@ -60,6 +71,18 @@ sap.ui.define(['sap/ui/core/Fragment'],
60
71
  id: oExtensionPoint.view.createId("ep99"),
61
72
  name: "testdata.customizing.customer.ext.EP99"
62
73
  });
74
+ } else if (oExtensionPoint.name === "EP_In_Product_Table_Column") {
75
+ // resolves to a sap.m.Text control for the sap.m.Column's header aggregation
76
+ pLoaded = Fragment.load({
77
+ id: oExtensionPoint.view.createId("column_header_fragment"),
78
+ name: "testdata.customizing.customer.ext.EP_In_Product_Table_Column"
79
+ });
80
+ } else if (oExtensionPoint.name === "EP_In_Product_Table_Cell_Found") {
81
+ pLoaded =
82
+ Fragment.load({
83
+ id: oExtensionPoint.view.createId("column_list_item_fragment"),
84
+ name: "testdata.customizing.customer.ext.EP_In_Product_Table_Cell_Found"
85
+ });
63
86
  }
64
87
 
65
88
  /**
@@ -79,6 +79,11 @@
79
79
  </ColumnListItem>
80
80
  </core:ExtensionPoint>
81
81
 
82
+ <!-- Nested View in the middle -->
83
+ <Panel id="Panel_With_Nested_View">
84
+ <mvc:XMLView id="EPs_In_Nested_View" async="true" viewName="testdata.customizing.customer.ext.EPinNestedView" />
85
+ </Panel>
86
+
82
87
  <!-- EP contains EP -->
83
88
  <core:ExtensionPoint name="EPinEPRoot">
84
89
  <Button id="ButtonInRootEP"></Button>
@@ -14,7 +14,6 @@
14
14
  <core:Fragment fragmentName="testdata.customizing.sap.Frag1" type="XML" />
15
15
  <core:Fragment id="frag1" fragmentName="testdata.customizing.sap.Frag1" type="XML" />
16
16
 
17
- <html:h2>JSView Extension Tests start below:</html:h2>
18
17
  <mvc:View viewName="module:testdata/customizing/sap/Sub4Typed" />
19
18
 
20
19
  <mvc:XMLView id="sub6View" viewName="testdata.customizing.sap.Sub6" />
@@ -11,9 +11,7 @@
11
11
 
12
12
 
13
13
  <Panel id="panel">
14
- <html:div id="htmlDiv">
15
- <core:ExtensionPoint name="extension21" />
16
- </html:div>
14
+ <core:ExtensionPoint name="extension21" />
17
15
  </Panel>
18
16
 
19
17
  <core:ExtensionPoint name="extension3" />
@@ -0,0 +1,16 @@
1
+ /*
2
+ * ${copyright}
3
+ */
4
+
5
+ // Provides class sap.ui.test.v4models.sapSystem.Component
6
+ sap.ui.define(["sap/ui/core/UIComponent"], function(UIComponent) {
7
+ "use strict";
8
+
9
+ return UIComponent.extend("sap.ui.test.v4models.sapSystem.Component", {
10
+ interfaces: ["sap.ui.core.IAsyncContentCreation"],
11
+ metadata: {
12
+ manifest: "json"
13
+ }
14
+ });
15
+
16
+ });
@@ -0,0 +1,102 @@
1
+ {
2
+
3
+ "_version": "1.0.0",
4
+
5
+ "sap.app": {
6
+ "_version": "1.0.0",
7
+ "id": "sap.ui.test.v4models.sapSystem",
8
+ "type": "application",
9
+ "applicationVersion": {
10
+ "version": "1.0.0"
11
+ },
12
+ "i18n": "i18n.properties",
13
+ "title": "{{title}}",
14
+ "description": "{{description}}",
15
+ "dataSources": {
16
+
17
+ "dataSourceODataV4": {
18
+ "uri": "/path/to/odata/service/with/trailing/slash/",
19
+ "type": "OData",
20
+ "settings": {
21
+ "annotations": ["originAnnotations", "annotations2"]
22
+ }
23
+ },
24
+
25
+ "originAnnotations" : {
26
+ "uri": "/path/to/odata/service/with/trailing/slash/annotations.xml",
27
+ "type": "ODataAnnotation"
28
+ },
29
+
30
+ "annotations2": {
31
+ "uri": "path/to/local/odata/annotations/2",
32
+ "type": "ODataAnnotation"
33
+ },
34
+
35
+
36
+
37
+ "ODataWithMultiOriginAnnotations": {
38
+ "uri": "/path/to/odata/service/with/multi/origin/annotations/",
39
+ "type": "OData",
40
+ "settings": {
41
+ "annotations": ["annotationWithOtherOrigin1", "annotationWithOtherOrigin2", "annotationWithOtherOrigin3", "annotationWithOtherOrigin4"]
42
+ }
43
+ },
44
+
45
+ "annotationWithOtherOrigin1": {
46
+ "uri": "/path/to/other/odata/service/Annotations(TechnicalName='%2FIWBEP%2FTEA_TEST_ANNOTATION_FILE',Version='0001')/$value",
47
+ "type":"ODataAnnotation"
48
+ },
49
+
50
+ "annotationWithOtherOrigin2": {
51
+ "uri": "path/to/other/odata/service/Annotations(TechnicalName='%2FIWBEP%2FTEA_TEST_ANNOTATION_FILE',Version='0001')/$value",
52
+ "type":"ODataAnnotation"
53
+ },
54
+
55
+ "annotationWithOtherOrigin3": {
56
+ "uri": "/path/to/other/odata/service/other2/Annotations(TechnicalName='%2FIWBEP%2FTEA_TEST_ANNOTATION_FILE',Version='0001')/",
57
+ "type":"ODataAnnotation"
58
+ },
59
+
60
+ "annotationWithOtherOrigin4": {
61
+ "uri": "/path/to/other3/odata/service/;o=sid(G1Y.400)/Annotations(TechnicalName='%2FIWBEP%2FTEA_TEST_ANNOTATION_FILE',Version='0001')/$value",
62
+ "type":"ODataAnnotation"
63
+ }
64
+ }
65
+ },
66
+
67
+ "sap.ui": {
68
+ "_version": "1.0.0",
69
+ "technology": "UI5"
70
+ },
71
+
72
+ "sap.ui5": {
73
+
74
+ "dependencies": {
75
+ "minUI5Version": "1.120.0",
76
+ "libs": {
77
+ "sap.ui.core": {
78
+ "minVersion": "1.120.0"
79
+ }
80
+ }
81
+ },
82
+
83
+ "models": {
84
+ "v4-ODataModel": {
85
+ "type": "sap.ui.model.odata.v4.ODataModel",
86
+ "settings": {
87
+ "serviceUrl": "/path/to/odata/service/"
88
+ }
89
+ },
90
+
91
+ "v4-ODataModel-ServiceOrigin": {
92
+ "type": "sap.ui.model.odata.v4.ODataModel",
93
+ "dataSource": "dataSourceODataV4"
94
+ },
95
+
96
+ "v4-ODataModel-OtherOrigins": {
97
+ "type": "sap.ui.model.odata.v4.ODataModel",
98
+ "dataSource": "ODataWithMultiOriginAnnotations"
99
+ }
100
+ }
101
+ }
102
+ }