@openui5/sap.ui.core 1.128.0 → 1.129.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 (277) hide show
  1. package/THIRDPARTY.txt +1 -1
  2. package/package.json +1 -1
  3. package/src/jquery.sap.global.js +1 -1
  4. package/src/jquery.sap.properties.js +1 -1
  5. package/src/jquery.sap.resources.js +1 -1
  6. package/src/jquery.sap.script.js +1 -1
  7. package/src/jquery.sap.storage.js +3 -3
  8. package/src/sap/base/Event.js +1 -1
  9. package/src/sap/base/Eventing.js +1 -1
  10. package/src/sap/base/config.js +1 -1
  11. package/src/sap/base/i18n/LanguageTag.js +1 -1
  12. package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
  13. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  14. package/src/sap/base/util/restricted/_castArray.js +1 -1
  15. package/src/sap/base/util/restricted/_compact.js +1 -1
  16. package/src/sap/base/util/restricted/_curry.js +1 -1
  17. package/src/sap/base/util/restricted/_debounce.js +1 -1
  18. package/src/sap/base/util/restricted/_difference.js +1 -1
  19. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  20. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  21. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  22. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  23. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  24. package/src/sap/base/util/restricted/_flatten.js +1 -1
  25. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  26. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  27. package/src/sap/base/util/restricted/_intersection.js +1 -1
  28. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  29. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  30. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  31. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  32. package/src/sap/base/util/restricted/_isNil.js +1 -1
  33. package/src/sap/base/util/restricted/_max.js +1 -1
  34. package/src/sap/base/util/restricted/_merge.js +1 -1
  35. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  36. package/src/sap/base/util/restricted/_min.js +1 -1
  37. package/src/sap/base/util/restricted/_omit.js +1 -1
  38. package/src/sap/base/util/restricted/_pick.js +1 -1
  39. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  40. package/src/sap/base/util/restricted/_throttle.js +1 -1
  41. package/src/sap/base/util/restricted/_toArray.js +1 -1
  42. package/src/sap/base/util/restricted/_union.js +1 -1
  43. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  44. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  45. package/src/sap/base/util/restricted/_uniq.js +1 -1
  46. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  47. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  48. package/src/sap/base/util/restricted/_without.js +1 -1
  49. package/src/sap/base/util/restricted/_xor.js +1 -1
  50. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  51. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  52. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  53. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  54. package/src/sap/ui/Device.js +3 -3
  55. package/src/sap/ui/Global.js +3 -3
  56. package/src/sap/ui/base/Event.js +1 -1
  57. package/src/sap/ui/base/EventProvider.js +1 -1
  58. package/src/sap/ui/base/Interface.js +1 -1
  59. package/src/sap/ui/base/ManagedObject.js +1 -1
  60. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  61. package/src/sap/ui/base/Metadata.js +1 -1
  62. package/src/sap/ui/base/Object.js +1 -1
  63. package/src/sap/ui/base/ObjectPool.js +1 -1
  64. package/src/sap/ui/core/.library +1 -1
  65. package/src/sap/ui/core/BusyIndicator.js +1 -1
  66. package/src/sap/ui/core/Component.js +28 -6
  67. package/src/sap/ui/core/ComponentContainer.js +1 -1
  68. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  69. package/src/sap/ui/core/ComponentSupport.js +1 -1
  70. package/src/sap/ui/core/Configuration.js +1 -1
  71. package/src/sap/ui/core/Control.js +1 -1
  72. package/src/sap/ui/core/Core.js +8 -3
  73. package/src/sap/ui/core/CustomData.js +1 -1
  74. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  75. package/src/sap/ui/core/Element.js +1 -1
  76. package/src/sap/ui/core/ElementMetadata.js +1 -1
  77. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  78. package/src/sap/ui/core/EventBus.js +1 -1
  79. package/src/sap/ui/core/Fragment.js +1 -1
  80. package/src/sap/ui/core/HTML.js +1 -1
  81. package/src/sap/ui/core/History.js +1 -1
  82. package/src/sap/ui/core/Icon.js +2 -2
  83. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  84. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  85. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  86. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  87. package/src/sap/ui/core/InvisibleText.js +1 -1
  88. package/src/sap/ui/core/Item.js +1 -1
  89. package/src/sap/ui/core/LabelEnablement.js +1 -1
  90. package/src/sap/ui/core/LayoutData.js +1 -1
  91. package/src/sap/ui/core/ListItem.js +1 -1
  92. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  93. package/src/sap/ui/core/Locale.js +1 -1
  94. package/src/sap/ui/core/LocaleData.js +1 -1
  95. package/src/sap/ui/core/Manifest.js +1 -1
  96. package/src/sap/ui/core/Message.js +1 -1
  97. package/src/sap/ui/core/RenderManager.js +1 -1
  98. package/src/sap/ui/core/Renderer.js +1 -1
  99. package/src/sap/ui/core/ResizeHandler.js +1 -1
  100. package/src/sap/ui/core/ScrollBar.js +1 -1
  101. package/src/sap/ui/core/SeparatorItem.js +1 -1
  102. package/src/sap/ui/core/Title.js +1 -1
  103. package/src/sap/ui/core/TooltipBase.js +1 -1
  104. package/src/sap/ui/core/UIArea.js +1 -1
  105. package/src/sap/ui/core/UIComponent.js +1 -1
  106. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  107. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  108. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  109. package/src/sap/ui/core/XMLComposite.js +1 -1
  110. package/src/sap/ui/core/XMLCompositeMetadata.js +4 -4
  111. package/src/sap/ui/core/date/UI5Date.js +1 -1
  112. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  113. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  114. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  115. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  116. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  117. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  118. package/src/sap/ui/core/fieldhelp/FieldHelp.js +3 -3
  119. package/src/sap/ui/core/format/FormatUtils.js +1 -1
  120. package/src/sap/ui/core/format/NumberFormat.js +6 -2
  121. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  122. package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
  123. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  124. package/src/sap/ui/core/library.js +3 -3
  125. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  126. package/src/sap/ui/core/message/Message.js +1 -1
  127. package/src/sap/ui/core/message/MessageManager.js +1 -1
  128. package/src/sap/ui/core/message/MessageParser.js +1 -1
  129. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  130. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  131. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  132. package/src/sap/ui/core/mvc/JSView.js +1 -1
  133. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  134. package/src/sap/ui/core/mvc/View.js +1 -1
  135. package/src/sap/ui/core/mvc/XMLView.js +1 -1
  136. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  137. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  138. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  139. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  140. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  141. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  142. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  143. package/src/sap/ui/core/service/Service.js +1 -1
  144. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  145. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  146. package/src/sap/ui/core/support/Plugin.js +1 -1
  147. package/src/sap/ui/core/support/Support.js +1 -1
  148. package/src/sap/ui/core/support/ToolsAPI.js +4 -2
  149. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  150. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  151. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  152. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  153. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  154. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  155. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  156. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  157. package/src/sap/ui/core/themes/base/base.less +4238 -122
  158. package/src/sap/ui/core/themes/base/global.less +460 -7
  159. package/src/sap/ui/core/themes/base/skeleton.less +454 -3
  160. package/src/sap/ui/core/themes/sap_hcb/global.less +493 -40
  161. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  162. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  163. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  164. package/src/sap/ui/core/tmpl/Template.js +1 -1
  165. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  166. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  167. package/src/sap/ui/core/util/Export.js +1 -1
  168. package/src/sap/ui/core/util/ExportCell.js +1 -1
  169. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  170. package/src/sap/ui/core/util/ExportRow.js +1 -1
  171. package/src/sap/ui/core/util/ExportType.js +1 -1
  172. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  173. package/src/sap/ui/core/util/File.js +1 -1
  174. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  175. package/src/sap/ui/core/util/MockServer.js +1 -1
  176. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  177. package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +134 -148
  178. package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +165 -202
  179. package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +365 -468
  180. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  181. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  182. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  183. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  184. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  185. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  186. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  187. package/src/sap/ui/core/webc/WebComponent.js +1 -1
  188. package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
  189. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  190. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  191. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  192. package/src/sap/ui/debug/ControlTree.js +1 -1
  193. package/src/sap/ui/debug/DebugEnv.js +1 -1
  194. package/src/sap/ui/debug/PropertyList.js +1 -1
  195. package/src/sap/ui/dom/findTabbable.js +3 -5
  196. package/src/sap/ui/model/ClientModel.js +1 -1
  197. package/src/sap/ui/model/CompositeDataState.js +11 -12
  198. package/src/sap/ui/model/CompositeType.js +1 -1
  199. package/src/sap/ui/model/DataState.js +33 -5
  200. package/src/sap/ui/model/MetaModel.js +1 -1
  201. package/src/sap/ui/model/Model.js +1 -1
  202. package/src/sap/ui/model/SelectionModel.js +1 -1
  203. package/src/sap/ui/model/SimpleType.js +1 -1
  204. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  205. package/src/sap/ui/model/Type.js +1 -1
  206. package/src/sap/ui/model/_Helper.js +3 -1
  207. package/src/sap/ui/model/json/JSONModel.js +1 -1
  208. package/src/sap/ui/model/message/MessageModel.js +1 -1
  209. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  210. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  211. package/src/sap/ui/model/odata/ODataMetaModel.js +116 -35
  212. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  213. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  214. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  215. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  216. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  217. package/src/sap/ui/model/odata/type/Date.js +1 -1
  218. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  219. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  220. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  221. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  222. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  223. package/src/sap/ui/model/odata/type/Double.js +1 -1
  224. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  225. package/src/sap/ui/model/odata/type/Int.js +1 -1
  226. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  227. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  228. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  229. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  230. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  231. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  232. package/src/sap/ui/model/odata/type/Single.js +1 -1
  233. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  234. package/src/sap/ui/model/odata/type/String.js +1 -1
  235. package/src/sap/ui/model/odata/type/Time.js +1 -1
  236. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  237. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  238. package/src/sap/ui/model/odata/type/UnitMixin.js +14 -9
  239. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  240. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  241. package/src/sap/ui/model/odata/v2/ODataListBinding.js +21 -6
  242. package/src/sap/ui/model/odata/v2/ODataModel.js +77 -7
  243. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
  244. package/src/sap/ui/model/odata/v4/Context.js +2 -2
  245. package/src/sap/ui/model/odata/v4/ODataBinding.js +6 -0
  246. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +1 -1
  247. package/src/sap/ui/model/odata/v4/ODataListBinding.js +91 -28
  248. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
  249. package/src/sap/ui/model/odata/v4/ODataModel.js +36 -1
  250. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
  251. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +70 -47
  252. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +40 -15
  253. package/src/sap/ui/model/odata/v4/lib/_Cache.js +52 -33
  254. package/src/sap/ui/model/odata/v4/lib/_Helper.js +8 -5
  255. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +29 -4
  256. package/src/sap/ui/model/odata/v4/lib/_TreeState.js +14 -18
  257. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  258. package/src/sap/ui/model/type/Boolean.js +1 -1
  259. package/src/sap/ui/model/type/Currency.js +1 -1
  260. package/src/sap/ui/model/type/Date.js +1 -1
  261. package/src/sap/ui/model/type/DateInterval.js +1 -1
  262. package/src/sap/ui/model/type/DateTime.js +1 -1
  263. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  264. package/src/sap/ui/model/type/FileSize.js +1 -1
  265. package/src/sap/ui/model/type/Float.js +1 -1
  266. package/src/sap/ui/model/type/Integer.js +1 -1
  267. package/src/sap/ui/model/type/String.js +1 -1
  268. package/src/sap/ui/model/type/Time.js +1 -1
  269. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  270. package/src/sap/ui/model/type/Unit.js +1 -1
  271. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  272. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  273. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  274. package/src/sap/ui/test/TestUtils.js +45 -19
  275. package/src/sap/ui/test/generic/TestBase.js +1 -1
  276. package/src/sap/ui/util/Storage.js +1 -1
  277. package/src/ui5loader.js +1 -1
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/base/EventProvider', './Serializer', './delegate/HTML', '
20
20
  * @class HTMLViewSerializer class.
21
21
  * @extends sap.ui.base.EventProvider
22
22
  * @author SAP SE
23
- * @version 1.128.0
23
+ * @version 1.129.0
24
24
  * @alias sap.ui.core.util.serializer.HTMLViewSerializer
25
25
  * @private
26
26
  * @ui5-restricted sap.watt, com.sap.webide
@@ -21,7 +21,7 @@ sap.ui.define(['sap/ui/base/EventProvider', "sap/base/assert"],
21
21
  * @class Serializer class.
22
22
  * @extends sap.ui.base.EventProvider
23
23
  * @author SAP SE
24
- * @version 1.128.0
24
+ * @version 1.129.0
25
25
  * @alias sap.ui.core.util.serializer.Serializer
26
26
  * @private
27
27
  * @ui5-restricted sap.watt, com.sap.webide
@@ -21,7 +21,7 @@ sap.ui.define(['sap/ui/base/EventProvider', './HTMLViewSerializer', './XMLViewSe
21
21
  * @class ViewSerializer class.
22
22
  * @extends sap.ui.base.EventProvider
23
23
  * @author SAP SE
24
- * @version 1.128.0
24
+ * @version 1.129.0
25
25
  * @alias sap.ui.core.util.serializer.ViewSerializer
26
26
  * @private
27
27
  * @ui5-restricted sap.watt, com.sap.webide
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/base/EventProvider', './Serializer', './delegate/XML', 's
20
20
  * @class XMLViewSerializer class.
21
21
  * @extends sap.ui.base.EventProvider
22
22
  * @author SAP SE
23
- * @version 1.128.0
23
+ * @version 1.129.0
24
24
  * @alias sap.ui.core.util.serializer.XMLViewSerializer
25
25
  * @private
26
26
  * @ui5-restricted sap.watt, com.sap.webide
@@ -17,7 +17,7 @@ sap.ui.define(['sap/ui/base/EventProvider'],
17
17
  * @class Abstract serializer delegate class.
18
18
  * @extends sap.ui.base.EventProvider
19
19
  * @author SAP SE
20
- * @version 1.128.0
20
+ * @version 1.129.0
21
21
  * @alias sap.ui.core.util.serializer.delegate.Delegate
22
22
  * @private
23
23
  * @ui5-restricted sap.watt, com.sap.webide
@@ -19,7 +19,7 @@ sap.ui.define(['./Delegate', "sap/base/strings/hyphenate", "sap/base/util/deepEq
19
19
  * @class HTML serializer delegate class.
20
20
  * @extends sap.ui.core.util.serializer.delegate.Delegate
21
21
  * @author SAP SE
22
- * @version 1.128.0
22
+ * @version 1.129.0
23
23
  * @alias sap.ui.core.util.serializer.delegate.HTML
24
24
  * @private
25
25
  * @ui5-restricted sap.watt, com.sap.webide
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @class XML serializer delegate class.
25
25
  * @extends sap.ui.core.util.serializer.delegate.Delegate
26
26
  * @author SAP SE
27
- * @version 1.128.0
27
+ * @version 1.129.0
28
28
  * @alias sap.ui.core.util.serializer.delegate.XML
29
29
  * @private
30
30
  * @ui5-restricted sap.watt, com.sap.webide
@@ -108,7 +108,7 @@ function(
108
108
  *
109
109
  * @extends sap.ui.core.Control
110
110
  * @author SAP SE
111
- * @version 1.128.0
111
+ * @version 1.129.0
112
112
  * @public
113
113
  * @since 1.118.0
114
114
  * @alias sap.ui.core.webc.WebComponent
@@ -23,7 +23,7 @@ function(ElementMetadata, WebComponentRenderer, camelize) {
23
23
  *
24
24
  * @class
25
25
  * @author SAP SE
26
- * @version 1.128.0
26
+ * @version 1.129.0
27
27
  * @since 1.118.0
28
28
  * @experimental Since 1.118.0 The API might change. It is not intended for productive usage yet!
29
29
  * @alias sap.ui.core.webc.WebComponentMetadata
@@ -12,7 +12,7 @@ sap.ui.define(function() {
12
12
  /**
13
13
  * Defines the different ready states for a WebSocket connection.
14
14
  *
15
- * @version 1.128.0
15
+ * @version 1.129.0
16
16
  * @enum {int}
17
17
  * @public
18
18
  * @alias sap.ui.core.ws.ReadyState
@@ -21,7 +21,7 @@ sap.ui.define(['./WebSocket', "sap/base/Log"],
21
21
  * @class WebSocket class implementing the pcp-protocol.
22
22
  * @extends sap.ui.core.ws.WebSocket
23
23
  * @author SAP SE
24
- * @version 1.128.0
24
+ * @version 1.129.0
25
25
  * @alias sap.ui.core.ws.SapPcpWebSocket
26
26
  */
27
27
  var SapPcpWebSocket = WebSocket.extend("sap.ui.core.ws.SapPcpWebSocket", /** @lends sap.ui.core.ws.SapPcpWebSocket.prototype */ {
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * @class Basic WebSocket class.
26
26
  * @extends sap.ui.base.EventProvider
27
27
  * @author SAP SE
28
- * @version 1.128.0
28
+ * @version 1.129.0
29
29
  * @alias sap.ui.core.ws.WebSocket
30
30
  */
31
31
  var WebSocket = EventProvider.extend("sap.ui.core.ws.WebSocket", /** @lends sap.ui.core.ws.WebSocket.prototype */ {
@@ -34,7 +34,7 @@ sap.ui.define('sap/ui/debug/ControlTree', [
34
34
  * @class Control Tree used for the Debug Environment
35
35
  * @extends sap.ui.base.EventProvider
36
36
  * @author Martin Schaus, Frank Weigel
37
- * @version 1.128.0
37
+ * @version 1.129.0
38
38
  * @alias sap.ui.debug.ControlTree
39
39
  * @private
40
40
  */
@@ -37,7 +37,7 @@ sap.ui.define('sap/ui/debug/DebugEnv', [
37
37
  * @class Central Class for the Debug Environment
38
38
  *
39
39
  * @author Martin Schaus, Frank Weigel
40
- * @version 1.128.0
40
+ * @version 1.129.0
41
41
  * @private
42
42
  * @alias sap.ui.debug.DebugEnv
43
43
  * @deprecated As of Version 1.120
@@ -32,7 +32,7 @@ sap.ui.define('sap/ui/debug/PropertyList', [
32
32
  *
33
33
  * @extends sap.ui.base.EventProvider
34
34
  * @author Martin Schaus
35
- * @version 1.128.0
35
+ * @version 1.129.0
36
36
  *
37
37
  * @param {sap.ui.core.Core}
38
38
  * oCore Core instance of the app; version might differ!
@@ -48,6 +48,9 @@ sap.ui.define([
48
48
  } else if (oElement.firstElementChild) {
49
49
  return oElement.firstElementChild;
50
50
  }
51
+ } else if (oElement === oScope) {
52
+ // return the scope when the scope is reached during backwards traversing
53
+ return oScope;
51
54
  }
52
55
 
53
56
  // If there are no child elements or in case we children were skipped, check for the next sibling
@@ -65,11 +68,6 @@ sap.ui.define([
65
68
  return oElement.nextElementSibling;
66
69
  }
67
70
 
68
- // Return the scope in case our parent is the scope
69
- if (oElement.parentNode === oScope) {
70
- return oScope;
71
- }
72
-
73
71
  stack.push({
74
72
  element: oElement.assignedSlot || oElement.parentElement || oElement.parentNode || oElement.host,
75
73
  skipChild: true
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * @extends sap.ui.model.Model
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.128.0
32
+ * @version 1.129.0
33
33
  *
34
34
  * @param {string} [oData] URL where to load the data from
35
35
  * @public
@@ -14,7 +14,7 @@ sap.ui.define(['./DataState', "sap/base/util/deepEqual", "sap/base/util/each"],
14
14
  * @extends sap.ui.model.DataState
15
15
  *
16
16
  * @author SAP SE
17
- * @version 1.128.0
17
+ * @version 1.129.0
18
18
  *
19
19
  * @public
20
20
  * @alias sap.ui.model.CompositeDataState
@@ -32,6 +32,9 @@ sap.ui.define(['./DataState', "sap/base/util/deepEqual", "sap/base/util/each"],
32
32
  this.mChangedProperties = Object.assign({},this.mProperties);
33
33
 
34
34
  this.aDataStates = aDataStates;
35
+ aDataStates.forEach((oDataState) => {
36
+ oDataState.setParent(this);
37
+ });
35
38
  }
36
39
  });
37
40
 
@@ -197,20 +200,16 @@ sap.ui.define(['./DataState', "sap/base/util/deepEqual", "sap/base/util/each"],
197
200
  };
198
201
 
199
202
  /**
200
- * Returns whether the data state is dirty in the UI control.
201
- * A data state is dirty in the UI control if the entered value did not yet pass the type validation.
203
+ * Returns whether the data state is dirty in the UI control. A data state is dirty in the UI control if an entered
204
+ * value did not pass the type validation.
202
205
  *
203
- * @returns {boolean} Whether the control data state is dirty
206
+ * @returns {boolean}
207
+ * Whether this data state or at least one of the aggregated data states is dirty in the UI control
204
208
  * @public
205
209
  */
206
- CompositeDataState.prototype.isControlDirty = function() {
207
- return this.aDataStates.reduce(function(bIsInvalid, oDataState) {
208
- if (oDataState.isControlDirty()) {
209
- return true;
210
- } else {
211
- return bIsInvalid;
212
- }
213
- }, DataState.prototype.isControlDirty.apply(this, arguments));
210
+ CompositeDataState.prototype.isControlDirty = function () {
211
+ return DataState.prototype.isControlDirty.call(this)
212
+ || this.aDataStates.some((oDataState) => oDataState.isControlDirtyInternal());
214
213
  };
215
214
 
216
215
  /**
@@ -39,7 +39,7 @@ sap.ui.define(['./SimpleType'],
39
39
  * <code>true</code>.
40
40
  * @extends sap.ui.model.SimpleType
41
41
  * @public
42
- * @version 1.128.0
42
+ * @version 1.129.0
43
43
  */
44
44
  var CompositeType = SimpleType.extend("sap.ui.model.CompositeType", /** @lends sap.ui.model.CompositeType.prototype */ {
45
45
 
@@ -65,7 +65,7 @@ sap.ui.define([
65
65
  * @extends sap.ui.base.Object
66
66
  *
67
67
  * @author SAP SE
68
- * @version 1.128.0
68
+ * @version 1.129.0
69
69
  *
70
70
  * @public
71
71
  * @alias sap.ui.model.DataState
@@ -75,9 +75,23 @@ sap.ui.define([
75
75
  constructor : function () {
76
76
  this.mProperties = DataState.getInitialProperties();
77
77
  this.mChangedProperties = DataState.getInitialProperties();
78
+ // parent data state is set by the CompositeDataState if this data state is part of a composite data state
79
+ // this.oParentDataState = undefined;
78
80
  }
79
81
  });
80
82
 
83
+ /**
84
+ * Sets the parent data state. If a parent data state is set, it is used to check whether the associated control is
85
+ * dirty.
86
+ * @param {sap.ui.model.DataState} oParentDataState The parent data state
87
+ *
88
+ * @private
89
+ * @see sap.ui.model.DataState#isControlDirty
90
+ */
91
+ DataState.prototype.setParent = function(oParentDataState) {
92
+ this.oParentDataState = oParentDataState;
93
+ };
94
+
81
95
  /**
82
96
  * Updates the given property with the given value.
83
97
  *
@@ -248,13 +262,27 @@ sap.ui.define([
248
262
  };
249
263
 
250
264
  /**
251
- * Returns whether the data state is dirty in the UI control.
252
- * A data state is dirty in the UI control if the entered value did not yet pass the type validation.
265
+ * Returns whether the data state is dirty in the UI control. A data state is dirty in the UI control if an entered
266
+ * value did not pass the type validation. If the data state is used by a composite data state, it is also checked
267
+ * whether the composite data state is dirty in the UI control.
253
268
  *
254
- * @returns {boolean} Whether the data state is dirty
269
+ * @returns {boolean} Whether the data state is dirty in the UI control
255
270
  * @public
256
271
  */
257
- DataState.prototype.isControlDirty = function() {
272
+ DataState.prototype.isControlDirty = function () {
273
+ return this.oParentDataState
274
+ ? this.oParentDataState.isControlDirty()
275
+ : this.isControlDirtyInternal();
276
+ };
277
+
278
+ /**
279
+ * Returns whether the data state is dirty in the UI control. If the data state is used by a composite data state,
280
+ * the composite data state is not considered.
281
+ *
282
+ * @returns {boolean} Whether this data state is dirty in the UI control
283
+ * @private
284
+ */
285
+ DataState.prototype.isControlDirtyInternal = function () {
258
286
  return this.mChangedProperties["invalidValue"] !== undefined;
259
287
  };
260
288
 
@@ -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.128.0
19
+ * @version 1.129.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.128.0
54
+ * @version 1.129.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.128.0
23
+ * @version 1.129.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.128.0
49
+ * @version 1.129.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.128.0
15
+ * @version 1.129.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.128.0
22
+ * @version 1.129.0
23
23
  */
24
24
  var Type = BaseObject.extend("sap.ui.model.Type", /** @lends sap.ui.model.Type.prototype */ {
25
25
 
@@ -5,11 +5,12 @@
5
5
  */
6
6
  sap.ui.define([
7
7
  "sap/base/security/encodeURL",
8
+ "sap/base/util/deepClone",
8
9
  "sap/base/util/deepEqual",
9
10
  "sap/base/util/extend",
10
11
  "sap/base/util/isPlainObject",
11
12
  "sap/base/util/merge"
12
- ], function (encodeURL, deepEqual, extend, isPlainObject, merge) {
13
+ ], function (encodeURL, deepClone, deepEqual, extend, isPlainObject, merge) {
13
14
  "use strict";
14
15
 
15
16
  /**
@@ -19,6 +20,7 @@ sap.ui.define([
19
20
  var _Helper = {
20
21
  // Trampoline properties to allow for mocking in unit tests.
21
22
  // @see sap.base.(security|util).*
23
+ deepClone : deepClone,
22
24
  deepEqual : deepEqual,
23
25
  encodeURL : encodeURL,
24
26
  extend : extend,
@@ -49,7 +49,7 @@ sap.ui.define([
49
49
  * @extends sap.ui.model.ClientModel
50
50
  *
51
51
  * @author SAP SE
52
- * @version 1.128.0
52
+ * @version 1.129.0
53
53
  * @public
54
54
  * @alias sap.ui.model.json.JSONModel
55
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.128.0
32
+ * @version 1.129.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.128.0
30
+ * 1.129.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.128.0
87
+ * @version 1.129.0
88
88
  * @public
89
89
  * @alias sap.ui.model.odata.ODataMessageParser
90
90
  */