@openui5/sap.ui.core 1.142.0 → 1.143.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 (281) hide show
  1. package/REUSE.toml +1 -1
  2. package/THIRDPARTY.txt +2 -2
  3. package/package.json +1 -1
  4. package/src/jquery.sap.global.js +1 -1
  5. package/src/jquery.sap.properties.js +1 -1
  6. package/src/jquery.sap.resources.js +1 -1
  7. package/src/jquery.sap.script.js +1 -1
  8. package/src/jquery.sap.storage.js +3 -3
  9. package/src/sap/base/Event.js +1 -1
  10. package/src/sap/base/Eventing.js +1 -1
  11. package/src/sap/base/config.js +1 -1
  12. package/src/sap/base/i18n/LanguageTag.js +1 -1
  13. package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
  14. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  15. package/src/sap/base/util/restricted/_castArray.js +1 -1
  16. package/src/sap/base/util/restricted/_compact.js +1 -1
  17. package/src/sap/base/util/restricted/_curry.js +1 -1
  18. package/src/sap/base/util/restricted/_debounce.js +1 -1
  19. package/src/sap/base/util/restricted/_difference.js +1 -1
  20. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  21. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  22. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  23. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  24. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  25. package/src/sap/base/util/restricted/_flatten.js +1 -1
  26. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  27. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  28. package/src/sap/base/util/restricted/_intersection.js +1 -1
  29. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  30. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  31. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  32. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  33. package/src/sap/base/util/restricted/_isNil.js +1 -1
  34. package/src/sap/base/util/restricted/_max.js +1 -1
  35. package/src/sap/base/util/restricted/_merge.js +1 -1
  36. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  37. package/src/sap/base/util/restricted/_min.js +1 -1
  38. package/src/sap/base/util/restricted/_omit.js +1 -1
  39. package/src/sap/base/util/restricted/_pick.js +1 -1
  40. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  41. package/src/sap/base/util/restricted/_throttle.js +1 -1
  42. package/src/sap/base/util/restricted/_toArray.js +1 -1
  43. package/src/sap/base/util/restricted/_union.js +1 -1
  44. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  45. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  46. package/src/sap/base/util/restricted/_uniq.js +1 -1
  47. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  48. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  49. package/src/sap/base/util/restricted/_without.js +1 -1
  50. package/src/sap/base/util/restricted/_xor.js +1 -1
  51. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  52. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  53. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  54. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  55. package/src/sap/ui/Device.js +3 -3
  56. package/src/sap/ui/Global.js +3 -3
  57. package/src/sap/ui/base/Event.js +1 -1
  58. package/src/sap/ui/base/EventProvider.js +1 -1
  59. package/src/sap/ui/base/Exception.js +9 -7
  60. package/src/sap/ui/base/ExpressionParser.js +8 -7
  61. package/src/sap/ui/base/Interface.js +1 -1
  62. package/src/sap/ui/base/ManagedObject.js +1 -1
  63. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  64. package/src/sap/ui/base/Metadata.js +1 -1
  65. package/src/sap/ui/base/Object.js +1 -1
  66. package/src/sap/ui/base/ObjectPool.js +1 -1
  67. package/src/sap/ui/core/.library +5 -5
  68. package/src/sap/ui/core/BusyIndicator.js +1 -1
  69. package/src/sap/ui/core/Component.js +16 -6
  70. package/src/sap/ui/core/ComponentContainer.js +1 -1
  71. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  72. package/src/sap/ui/core/ComponentSupport.js +1 -1
  73. package/src/sap/ui/core/Configuration.js +1 -1
  74. package/src/sap/ui/core/Control.js +1 -1
  75. package/src/sap/ui/core/Core.js +6 -3
  76. package/src/sap/ui/core/CustomData.js +1 -1
  77. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  78. package/src/sap/ui/core/Element.js +3 -2
  79. package/src/sap/ui/core/ElementMetadata.js +1 -1
  80. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  81. package/src/sap/ui/core/EventBus.js +1 -1
  82. package/src/sap/ui/core/Fragment.js +1 -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 +1 -1
  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 +6 -4
  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 +13 -2
  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 +1 -1
  108. package/src/sap/ui/core/UIComponent.js +1 -1
  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/date/UI5Date.js +1 -1
  115. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  116. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  117. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  118. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  119. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  120. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  121. package/src/sap/ui/core/format/FormatUtils.js +1 -1
  122. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  123. package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
  124. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  125. package/src/sap/ui/core/library.js +11 -11
  126. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  127. package/src/sap/ui/core/message/Message.js +1 -1
  128. package/src/sap/ui/core/message/MessageManager.js +1 -1
  129. package/src/sap/ui/core/message/MessageParser.js +1 -1
  130. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  131. package/src/sap/ui/core/messagebundle_de.properties +1 -1
  132. package/src/sap/ui/core/messagebundle_es.properties +20 -20
  133. package/src/sap/ui/core/messagebundle_id.properties +2 -2
  134. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  135. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  136. package/src/sap/ui/core/mvc/JSView.js +1 -1
  137. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  138. package/src/sap/ui/core/mvc/View.js +1 -1
  139. package/src/sap/ui/core/mvc/XMLView.js +1 -1
  140. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  141. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  142. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  143. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  144. package/src/sap/ui/core/routing/History.js +8 -4
  145. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  146. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  147. package/src/sap/ui/core/service/Service.js +1 -1
  148. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  149. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  150. package/src/sap/ui/core/support/Plugin.js +1 -1
  151. package/src/sap/ui/core/support/Support.js +1 -1
  152. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  153. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  154. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  155. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  156. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  157. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  158. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  159. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  160. package/src/sap/ui/core/themes/base/BrowserScrollbar.less +1 -1
  161. package/src/sap/ui/core/themes/base/DragAndDrop.less +21 -20
  162. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  163. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  164. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  165. package/src/sap/ui/core/tmpl/Template.js +1 -1
  166. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  167. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  168. package/src/sap/ui/core/util/Export.js +1 -1
  169. package/src/sap/ui/core/util/ExportCell.js +1 -1
  170. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  171. package/src/sap/ui/core/util/ExportRow.js +1 -1
  172. package/src/sap/ui/core/util/ExportType.js +1 -1
  173. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  174. package/src/sap/ui/core/util/File.js +1 -1
  175. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  176. package/src/sap/ui/core/util/MockServer.js +1 -1
  177. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  178. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  179. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  180. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  181. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  182. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  183. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  184. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  185. package/src/sap/ui/core/webc/WebComponent.js +1 -1
  186. package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
  187. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  188. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  189. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  190. package/src/sap/ui/debug/ControlTree.js +1 -1
  191. package/src/sap/ui/debug/DebugEnv.js +1 -1
  192. package/src/sap/ui/debug/PropertyList.js +1 -1
  193. package/src/sap/ui/events/FocusEventFix.js +36 -0
  194. package/src/sap/ui/model/ClientModel.js +1 -1
  195. package/src/sap/ui/model/ClientTreeBinding.js +50 -7
  196. package/src/sap/ui/model/CompositeDataState.js +1 -1
  197. package/src/sap/ui/model/CompositeType.js +1 -1
  198. package/src/sap/ui/model/DataState.js +1 -1
  199. package/src/sap/ui/model/MetaModel.js +1 -1
  200. package/src/sap/ui/model/Model.js +1 -1
  201. package/src/sap/ui/model/SelectionModel.js +1 -1
  202. package/src/sap/ui/model/SimpleType.js +1 -1
  203. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  204. package/src/sap/ui/model/Type.js +1 -1
  205. package/src/sap/ui/model/json/JSONModel.js +2 -2
  206. package/src/sap/ui/model/message/MessageModel.js +1 -1
  207. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  208. package/src/sap/ui/model/odata/ODataMessageParser.js +31 -64
  209. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  210. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  211. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  212. package/src/sap/ui/model/odata/type/Boolean.js +8 -4
  213. package/src/sap/ui/model/odata/type/Byte.js +8 -4
  214. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  215. package/src/sap/ui/model/odata/type/Date.js +2 -2
  216. package/src/sap/ui/model/odata/type/DateTime.js +2 -2
  217. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  218. package/src/sap/ui/model/odata/type/DateTimeOffset.js +8 -4
  219. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  220. package/src/sap/ui/model/odata/type/Decimal.js +8 -4
  221. package/src/sap/ui/model/odata/type/Double.js +8 -4
  222. package/src/sap/ui/model/odata/type/Guid.js +8 -4
  223. package/src/sap/ui/model/odata/type/Int.js +9 -4
  224. package/src/sap/ui/model/odata/type/Int16.js +8 -4
  225. package/src/sap/ui/model/odata/type/Int32.js +8 -4
  226. package/src/sap/ui/model/odata/type/Int64.js +8 -4
  227. package/src/sap/ui/model/odata/type/ODataType.js +6 -7
  228. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  229. package/src/sap/ui/model/odata/type/SByte.js +8 -4
  230. package/src/sap/ui/model/odata/type/Single.js +8 -4
  231. package/src/sap/ui/model/odata/type/Stream.js +2 -2
  232. package/src/sap/ui/model/odata/type/String.js +8 -4
  233. package/src/sap/ui/model/odata/type/Time.js +2 -2
  234. package/src/sap/ui/model/odata/type/TimeOfDay.js +2 -2
  235. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  236. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  237. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  238. package/src/sap/ui/model/odata/v2/ODataModel.js +6 -11
  239. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
  240. package/src/sap/ui/model/odata/v4/Context.js +2 -1
  241. package/src/sap/ui/model/odata/v4/ODataBinding.js +3 -0
  242. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +1 -1
  243. package/src/sap/ui/model/odata/v4/ODataListBinding.js +18 -1
  244. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +7 -29
  245. package/src/sap/ui/model/odata/v4/ODataModel.js +17 -16
  246. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +13 -8
  247. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
  248. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +21 -1
  249. package/src/sap/ui/model/odata/v4/lib/_Cache.js +5 -3
  250. package/src/sap/ui/model/odata/v4/lib/_Helper.js +45 -31
  251. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +15 -4
  252. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  253. package/src/sap/ui/model/type/Boolean.js +1 -1
  254. package/src/sap/ui/model/type/Currency.js +1 -1
  255. package/src/sap/ui/model/type/Date.js +1 -1
  256. package/src/sap/ui/model/type/DateInterval.js +1 -1
  257. package/src/sap/ui/model/type/DateTime.js +1 -1
  258. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  259. package/src/sap/ui/model/type/FileSize.js +1 -1
  260. package/src/sap/ui/model/type/Float.js +1 -1
  261. package/src/sap/ui/model/type/Integer.js +1 -1
  262. package/src/sap/ui/model/type/String.js +1 -1
  263. package/src/sap/ui/model/type/Time.js +1 -1
  264. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  265. package/src/sap/ui/model/type/Unit.js +1 -1
  266. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  267. package/src/sap/ui/model/xml/XMLTreeBinding.js +10 -0
  268. package/src/sap/ui/performance/Measurement.js +18 -24
  269. package/src/sap/ui/performance/trace/FESR.js +3 -2
  270. package/src/sap/ui/performance/trace/Interaction.js +35 -2
  271. package/src/sap/ui/performance/trace/_InteractionImpl.js +254 -166
  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/generic/TestBase.js +1 -1
  275. package/src/sap/ui/test/launchers/componentLauncher.js +3 -2
  276. package/src/sap/ui/test/launchers/iFrameLauncher.js +3 -1
  277. package/src/sap/ui/test/starter/_setupAndStart.js +3 -1
  278. package/src/sap/ui/thirdparty/caja-html-sanitizer.js +6 -0
  279. package/src/sap/ui/thirdparty/require.js +255 -162
  280. package/src/sap/ui/util/Storage.js +1 -1
  281. package/src/ui5loader.js +2 -8
@@ -8,11 +8,13 @@
8
8
  sap.ui.define([
9
9
  "./ChangeReason",
10
10
  "./TreeBinding",
11
+ "sap/base/util/deepEqual",
12
+ "sap/base/util/deepExtend",
11
13
  "sap/base/util/each",
12
14
  "sap/ui/model/FilterProcessor",
13
15
  "sap/ui/model/FilterType",
14
16
  "sap/ui/model/SorterProcessor"
15
- ], function(ChangeReason, TreeBinding, each, FilterProcessor, FilterType, SorterProcessor) {
17
+ ], function(ChangeReason, TreeBinding, deepEqual, deepExtend, each, FilterProcessor, FilterType, SorterProcessor) {
16
18
  "use strict";
17
19
 
18
20
  /**
@@ -65,11 +67,12 @@ sap.ui.define([
65
67
  };
66
68
  this.oCombinedFilter = null;
67
69
  this.mNormalizeCache = {};
70
+ this.oTreeData = this.cloneData(this.oModel._getObject(this.sPath, this.oContext));
68
71
 
69
72
  if (aApplicationFilters) {
70
73
  this.oModel.checkFilter(aApplicationFilters);
71
74
 
72
- if (this.oModel._getObject(this.sPath, this.oContext)) {
75
+ if (this.oTreeData) {
73
76
  this.filter(aApplicationFilters, FilterType.Application);
74
77
  }
75
78
  }
@@ -78,6 +81,21 @@ sap.ui.define([
78
81
 
79
82
  });
80
83
 
84
+ ClientTreeBinding.CannotCloneData = Symbol("CannotCloneData");
85
+
86
+ /**
87
+ * Returns a deep clone of the tree data or a symbol indicating that the given tree data cannot be cloned.
88
+ *
89
+ * @param {any} oTreeData
90
+ * The tree data to clone
91
+ * @returns {any|sap.ui.model.ClientTreeBinding.CannotCloneData}
92
+ * A deep clone or the symbol ClientTreeBinding.CannotCloneData
93
+ * @private
94
+ */
95
+ ClientTreeBinding.prototype.cloneData = function(oTreeData) {
96
+ return deepExtend(Array.isArray(oTreeData) ? [] : {}, oTreeData);
97
+ };
98
+
81
99
  /**
82
100
  * Return root contexts for the tree.
83
101
  *
@@ -319,7 +337,7 @@ sap.ui.define([
319
337
  this.applyFilter();
320
338
  }
321
339
  this._mLengthsCache = {};
322
- this._fireChange({reason: "filter"});
340
+ this._fireChange({reason: ChangeReason.Filter});
323
341
  /** @deprecated As of version 1.11.0 */
324
342
  this._fireFilter({filters: aFilters});
325
343
 
@@ -445,18 +463,43 @@ sap.ui.define([
445
463
  this._mLengthsCache[sKey] = iLength;
446
464
  };
447
465
 
466
+ /**
467
+ * Sets the context for this instance. If the context changes and the binding is relative a change event is fired
468
+ * with reason {@link sap.ui.model.ChangeReason.Context}.
469
+ *
470
+ * @param {sap.ui.model.Context} oContext
471
+ * The new context object
472
+ */
473
+ ClientTreeBinding.prototype.setContext = function (oContext) {
474
+ if (this.oContext != oContext) {
475
+ this.oContext = oContext;
476
+ if (this.isRelative()) {
477
+ const oTreeData = this.oModel._getObject(this.sPath, this.oContext);
478
+ this.oTreeData = this.cloneData(oTreeData);
479
+ this._fireChange({reason: ChangeReason.Context});
480
+ }
481
+ }
482
+ };
483
+
448
484
  /**
449
485
  * Check whether this Binding would provide new values and in case it changed,
450
486
  * inform interested parties about this.
451
487
  *
452
- * @param {boolean} [bForceupdate] Not used in this method
488
+ * @param {boolean} [bForceUpdate]
489
+ * Whether the change event will be fired regardless of the bindings state
453
490
  *
454
491
  */
455
- ClientTreeBinding.prototype.checkUpdate = function(bForceupdate){
492
+ ClientTreeBinding.prototype.checkUpdate = function(bForceUpdate) {
493
+ const oCurrentTreeData = this.oModel._getObject(this.sPath, this.oContext);
494
+
456
495
  // apply filter again
457
496
  this.applyFilter();
458
497
  this._mLengthsCache = {};
459
- this._fireChange();
498
+
499
+ if (bForceUpdate || !deepEqual(this.oTreeData, oCurrentTreeData)) {
500
+ this.oTreeData = this.cloneData(oCurrentTreeData);
501
+ this._fireChange({reason: ChangeReason.Change});
502
+ }
460
503
  };
461
504
 
462
505
  /**
@@ -515,4 +558,4 @@ sap.ui.define([
515
558
  };
516
559
 
517
560
  return ClientTreeBinding;
518
- });
561
+ });
@@ -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.142.0
17
+ * @version 1.143.0
18
18
  *
19
19
  * @public
20
20
  * @alias sap.ui.model.CompositeDataState
@@ -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.142.0
42
+ * @version 1.143.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.142.0
68
+ * @version 1.143.0
69
69
  *
70
70
  * @public
71
71
  * @alias sap.ui.model.DataState
@@ -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.142.0
19
+ * @version 1.143.0
20
20
  *
21
21
  * @public
22
22
  * @alias sap.ui.model.MetaModel
@@ -52,7 +52,7 @@ sap.ui.define([
52
52
  * @extends sap.ui.core.message.MessageProcessor
53
53
  *
54
54
  * @author SAP SE
55
- * @version 1.142.0
55
+ * @version 1.143.0
56
56
  *
57
57
  * @public
58
58
  * @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.142.0
23
+ * @version 1.143.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.142.0
49
+ * @version 1.143.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.142.0
15
+ * @version 1.143.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.142.0
22
+ * @version 1.143.0
23
23
  */
24
24
  var Type = BaseObject.extend("sap.ui.model.Type", /** @lends sap.ui.model.Type.prototype */ {
25
25
 
@@ -49,7 +49,7 @@ sap.ui.define([
49
49
  * @extends sap.ui.model.ClientModel
50
50
  *
51
51
  * @author SAP SE
52
- * @version 1.142.0
52
+ * @version 1.143.0
53
53
  * @public
54
54
  * @alias sap.ui.model.json.JSONModel
55
55
  */
@@ -293,7 +293,7 @@ sap.ui.define([
293
293
 
294
294
  // attach exception/rejection handler, so the internal import promise always resolves
295
295
  this.pSequentialImportCompleted = pReturn.catch(function(oError) {
296
- Log.error("Loading of data failed: " + oError.stack);
296
+ Log.error("Loading of data failed: " + sURL);
297
297
  });
298
298
 
299
299
  // return chained loadData promise (sequential imports)
@@ -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.142.0
32
+ * @version 1.143.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.142.0
30
+ * 1.143.0
31
31
  *
32
32
  * @public
33
33
  * @deprecated As of version 1.66, please use {@link sap.ui.model.odata.v2.ODataAnnotations} instead.
@@ -8,14 +8,13 @@ sap.ui.define([
8
8
  "sap/ui/core/Lib",
9
9
  "sap/ui/model/odata/ODataMetadata",
10
10
  "sap/ui/model/odata/ODataUtils",
11
- "sap/ui/thirdparty/URI",
12
11
  "sap/ui/core/Messaging",
13
12
  "sap/ui/core/message/MessageParser",
14
13
  "sap/ui/core/message/Message",
15
14
  "sap/ui/core/message/MessageType",
16
15
  "sap/base/Log"
17
16
  ],
18
- function(Library, ODataMetadata, ODataUtils, URI, Messaging, MessageParser, Message, MessageType, Log) {
17
+ function(Library, ODataMetadata, ODataUtils, Messaging, MessageParser, Message, MessageType, Log) {
19
18
  "use strict";
20
19
 
21
20
  var sClassName = "sap.ui.model.odata.ODataMessageParser",
@@ -29,6 +28,8 @@ var sClassName = "sap.ui.model.odata.ODataMessageParser",
29
28
  "warning" : MessageType.Warning
30
29
  };
31
30
 
31
+ const rQuestionMarkOrHash = /[?#]/;
32
+
32
33
  /**
33
34
  * A plain error object as returned by the server. Either "@sap-severity"- or "severity"-property
34
35
  * must be set.
@@ -50,15 +51,6 @@ var sClassName = "sap.ui.model.odata.ODataMessageParser",
50
51
  * @property {object} response - The response object
51
52
  */
52
53
 
53
- /**
54
- * A map containing a parsed URL
55
- *
56
- * @typedef {object} ODataMessageParser~UrlInfo
57
- * @property {string} url - The URL, stripped of query and hash
58
- * @property {Object<string,string>} parameters - A map of the query parameters
59
- * @property {string} hash - The hash value of the URL
60
- */
61
-
62
54
 
63
55
  /**
64
56
  *
@@ -84,7 +76,7 @@ var sClassName = "sap.ui.model.odata.ODataMessageParser",
84
76
  * @extends sap.ui.core.message.MessageParser
85
77
  *
86
78
  * @author SAP SE
87
- * @version 1.142.0
79
+ * @version 1.143.0
88
80
  * @public
89
81
  * @alias sap.ui.model.odata.ODataMessageParser
90
82
  */
@@ -95,7 +87,8 @@ var ODataMessageParser = MessageParser.extend("sap.ui.model.odata.ODataMessagePa
95
87
 
96
88
  constructor: function(sServiceUrl, oMetadata, bPersistTechnicalMessages) {
97
89
  MessageParser.apply(this);
98
- this._serviceUrl = getRelativeServerUrl(this._parseUrl(sServiceUrl).url);
90
+ this._sRelativeServerUrl = ODataMessageParser.getRelativeServerUrl(
91
+ ODataMessageParser._removeParametersAndHash(sServiceUrl));
99
92
  this._metadata = oMetadata;
100
93
  this._headerField = "sap-message"; // Default header field
101
94
  this._lastMessages = [];
@@ -221,14 +214,14 @@ ODataMessageParser.prototype._getAffectedTargets = function (aMessages, mRequest
221
214
  // unbound messages are always affected => add target ""
222
215
  var mAffectedTargets = Object.assign({"" : true}, mGetEntities, mChangeEntities),
223
216
  oEntitySet,
224
- sRequestTarget = this._parseUrl(mRequestInfo.url).url;
217
+ sRequestTarget = ODataMessageParser._removeParametersAndHash(mRequestInfo.url);
225
218
 
226
219
  if (mRequestInfo.request.key && mRequestInfo.request.created){
227
220
  mAffectedTargets[mRequestInfo.request.key] = true;
228
221
  }
229
222
 
230
- if (sRequestTarget.startsWith(this._serviceUrl)) {
231
- sRequestTarget = sRequestTarget.slice(this._serviceUrl.length + 1);
223
+ if (sRequestTarget.startsWith(this._sRelativeServerUrl)) {
224
+ sRequestTarget = sRequestTarget.slice(this._sRelativeServerUrl.length + 1);
232
225
  }
233
226
  oEntitySet = this._metadata._getEntitySetByPath(sRequestTarget);
234
227
  if (oEntitySet) {
@@ -465,7 +458,7 @@ ODataMessageParser._isResponseForCreate = function (mRequestInfo) {
465
458
  ODataMessageParser.prototype._createTarget = function (sODataTarget, mRequestInfo, bIsTechnical,
466
459
  bODataTransition) {
467
460
  var sCanonicalTarget, bCreate, sDeepPath, iPos, sPreviousCanonicalTarget, sRequestTarget, sUrl,
468
- mUrlData, sUrlForTargetCalculation,
461
+ sUrlForTargetCalculation,
469
462
  oRequest = mRequestInfo.request,
470
463
  oResponse = mRequestInfo.response;
471
464
 
@@ -491,11 +484,10 @@ ODataMessageParser.prototype._createTarget = function (sODataTarget, mRequestInf
491
484
  } else {
492
485
  sUrlForTargetCalculation = mRequestInfo.url;
493
486
  }
494
- mUrlData = this._parseUrl(sUrlForTargetCalculation);
495
- sUrl = mUrlData.url;
496
- iPos = sUrl.indexOf(this._serviceUrl);
487
+ sUrl = ODataMessageParser._removeParametersAndHash(sUrlForTargetCalculation);
488
+ iPos = sUrl.indexOf(this._sRelativeServerUrl);
497
489
  if (iPos > -1) {
498
- sRequestTarget = sUrl.slice(iPos + this._serviceUrl.length);
490
+ sRequestTarget = sUrl.slice(iPos + this._sRelativeServerUrl.length);
499
491
  } else { // e.g. within $batch responses
500
492
  sRequestTarget = "/" + sUrl;
501
493
  }
@@ -832,35 +824,16 @@ ODataMessageParser.prototype._parseBodyJSON = function(oResponse, mRequestInfo)
832
824
  };
833
825
 
834
826
  /**
835
- * Parses the URL into an info map containing the url, the parameters and the has in its properties
827
+ * Removes the parameters and the hash from the given URL.
836
828
  *
837
- * @param {string} sUrl - The URL to be stripped
838
- * @returns {ODataMessageParser~UrlInfo} An info map about the parsed URL
829
+ * @param {string} sUrl
830
+ * The URL from which the parameters and the hash should be removed
831
+ * @returns {string}
832
+ * The URL without the parameters and the hash
839
833
  * @private
840
834
  */
841
- ODataMessageParser.prototype._parseUrl = function(sUrl) {
842
- var mUrlData = {
843
- url: sUrl,
844
- parameters: {},
845
- hash: ""
846
- };
847
-
848
- var iPos = -1;
849
-
850
- iPos = sUrl.indexOf("#");
851
- if (iPos > -1) {
852
- mUrlData.hash = mUrlData.url.substr(iPos + 1);
853
- mUrlData.url = mUrlData.url.substr(0, iPos);
854
- }
855
-
856
- iPos = sUrl.indexOf("?");
857
- if (iPos > -1) {
858
- var sParameters = mUrlData.url.substr(iPos + 1);
859
- mUrlData.parameters = URI.parseQuery(sParameters);
860
- mUrlData.url = mUrlData.url.substr(0, iPos);
861
- }
862
-
863
- return mUrlData;
835
+ ODataMessageParser._removeParametersAndHash = function(sUrl) {
836
+ return sUrl.split(rQuestionMarkOrHash)[0];
864
837
  };
865
838
 
866
839
  /**
@@ -874,6 +847,17 @@ ODataMessageParser.prototype._setPersistTechnicalMessages = function (bPersistTe
874
847
  this._bPersistTechnicalMessages = bPersistTechnicalMessages;
875
848
  };
876
849
 
850
+ /**
851
+ * Returns the URL relative to the host (i.e. the absolute path on the server) for the given URL
852
+ *
853
+ * @param {string} sUrl - The URL to be converted
854
+ * @returns {string} The server-relative URL
855
+ * @private
856
+ */
857
+ ODataMessageParser.getRelativeServerUrl = function (sUrl) {
858
+ return new URL(sUrl, document.baseURI).pathname;
859
+ };
860
+
877
861
  ///////////////////////////////////////// Hidden Functions /////////////////////////////////////////
878
862
 
879
863
 
@@ -896,23 +880,6 @@ function getContentType(oResponse) {
896
880
  return false;
897
881
  }
898
882
 
899
- /**
900
- * Local helper element used to determine the path of a URL relative to the server
901
- *
902
- * @type {HTMLAnchorElement}
903
- */
904
- var oLinkElement = document.createElement("a");
905
- /**
906
- * Returns the URL relative to the host (i.e. the absolute path on the server) for the given URL
907
- *
908
- * @param {string} sUrl - The URL to be converted
909
- * @returns {string} The server-relative URL
910
- */
911
- function getRelativeServerUrl(sUrl) {
912
- oLinkElement.href = sUrl;
913
- return URI.parse(oLinkElement.href).path;
914
- }
915
-
916
883
  /**
917
884
  * Returns all elements in the given document (or node) that match the given elementnames
918
885
  *
@@ -881,7 +881,7 @@ sap.ui.define([
881
881
  * {@link #loaded loaded} has been resolved!
882
882
  *
883
883
  * @author SAP SE
884
- * @version 1.142.0
884
+ * @version 1.143.0
885
885
  * @alias sap.ui.model.odata.ODataMetaModel
886
886
  * @extends sap.ui.model.MetaModel
887
887
  * @public
@@ -49,7 +49,7 @@ sap.ui.define([
49
49
  * Implementation to access OData metadata
50
50
  *
51
51
  * @author SAP SE
52
- * @version 1.142.0
52
+ * @version 1.143.0
53
53
  *
54
54
  * @public
55
55
  * @alias sap.ui.model.odata.ODataMetadata
@@ -78,7 +78,7 @@ sap.ui.define([
78
78
  *
79
79
  *
80
80
  * @author SAP SE
81
- * @version 1.142.0
81
+ * @version 1.143.0
82
82
  *
83
83
  * @public
84
84
  * @deprecated As of version 1.48, please use {@link sap.ui.model.odata.v2.ODataModel} instead.
@@ -77,9 +77,13 @@ sap.ui.define([
77
77
  /**
78
78
  * Constructor for an OData primitive type <code>Edm.Boolean</code>.
79
79
  *
80
- * @class This class represents the OData primitive type <a
81
- * href="http://www.odata.org/documentation/odata-version-2-0/overview#AbstractTypeSystem">
82
- * <code>Edm.Boolean</code></a>.
80
+ * @class This class represents the OData primitive type <code>Edm.Boolean</code>, see
81
+ * <a
82
+ * href="https://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/odata-csdl-xml-v4.01.html#_Toc38530338">
83
+ * type definition for OData V4.01</a> or
84
+ * <a
85
+ * href="https://www.odata.org/documentation/odata-version-2-0/overview#AbstractTypeSystem">
86
+ * type definition for OData V2</a>.
83
87
  *
84
88
  * In both {@link sap.ui.model.odata.v2.ODataModel} and {@link sap.ui.model.odata.v4.ODataModel}
85
89
  * this type is represented as a <code>boolean</code>.
@@ -87,7 +91,7 @@ sap.ui.define([
87
91
  * @extends sap.ui.model.odata.type.ODataType
88
92
  *
89
93
  * @author SAP SE
90
- * @version 1.142.0
94
+ * @version 1.143.0
91
95
  *
92
96
  * @alias sap.ui.model.odata.type.Boolean
93
97
  * @param {object} [oFormatOptions]
@@ -14,9 +14,13 @@ sap.ui.define([
14
14
  /**
15
15
  * Constructor for a primitive type <code>Edm.Byte</code>.
16
16
  *
17
- * @class This class represents the OData primitive type <a
18
- * href="http://www.odata.org/documentation/odata-version-2-0/overview#AbstractTypeSystem">
19
- * <code>Edm.Byte</code></a>.
17
+ * @class This class represents the OData primitive type <code>Edm.Byte</code>, see
18
+ * <a
19
+ * href="https://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/odata-csdl-xml-v4.01.html#_Toc38530338">
20
+ * type definition for OData V4.01</a> or
21
+ * <a
22
+ * href="https://www.odata.org/documentation/odata-version-2-0/overview#AbstractTypeSystem">
23
+ * type definition for OData V2</a>.
20
24
  *
21
25
  * In both {@link sap.ui.model.odata.v2.ODataModel} and {@link sap.ui.model.odata.v4.ODataModel}
22
26
  * this type is represented as a <code>number</code>.
@@ -24,7 +28,7 @@ sap.ui.define([
24
28
  * @extends sap.ui.model.odata.type.Int
25
29
  *
26
30
  * @author SAP SE
27
- * @version 1.142.0
31
+ * @version 1.143.0
28
32
  *
29
33
  * @alias sap.ui.model.odata.type.Byte
30
34
  * @param {object} [oFormatOptions]
@@ -71,7 +71,7 @@ sap.ui.define([
71
71
  * @extends sap.ui.model.type.Currency
72
72
  * @public
73
73
  * @since 1.63.0
74
- * @version 1.142.0
74
+ * @version 1.143.0
75
75
  */
76
76
  var Currency = BaseCurrency.extend("sap.ui.model.odata.type.Currency", {
77
77
  constructor : function (oFormatOptions, oConstraints) {
@@ -76,7 +76,7 @@ sap.ui.define([
76
76
  * @extends sap.ui.model.odata.type.ODataType
77
77
  *
78
78
  * @author SAP SE
79
- * @version 1.142.0
79
+ * @version 1.143.0
80
80
  *
81
81
  * @alias sap.ui.model.odata.type.Date
82
82
  * @param {object} [oFormatOptions]
@@ -88,7 +88,7 @@ sap.ui.define([
88
88
  * if <code>true</code>, the value <code>null</code> is accepted
89
89
  * @public
90
90
  * @since 1.37.0
91
- * @see http://docs.oasis-open.org/odata/odata/v4.0/odata-v4.0-part3-csdl.html
91
+ * @see https://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/odata-csdl-xml-v4.01.html#_Toc38530338
92
92
  */
93
93
  var EdmDate = ODataType.extend("sap.ui.model.odata.type.Date",
94
94
  /** @lends sap.ui.model.odata.type.Date.prototype */
@@ -44,7 +44,7 @@ sap.ui.define([
44
44
  * Constructor for a primitive type <code>Edm.DateTime</code>.
45
45
  *
46
46
  * @class This class represents the OData V2 primitive type <a
47
- * href="http://www.odata.org/documentation/odata-version-2-0/overview#AbstractTypeSystem">
47
+ * href="https://www.odata.org/documentation/odata-version-2-0/overview#AbstractTypeSystem">
48
48
  * <code>Edm.DateTime</code></a>.
49
49
  *
50
50
  * If you want to display a date and a time, prefer {@link
@@ -61,7 +61,7 @@ sap.ui.define([
61
61
  * @extends sap.ui.model.odata.type.DateTimeBase
62
62
  *
63
63
  * @author SAP SE
64
- * @version 1.142.0
64
+ * @version 1.143.0
65
65
  *
66
66
  * @alias sap.ui.model.odata.type.DateTime
67
67
  * @param {object} [oFormatOptions]
@@ -92,7 +92,7 @@ sap.ui.define([
92
92
  * @extends sap.ui.model.odata.type.ODataType
93
93
  * @public
94
94
  * @since 1.27.0
95
- * @version 1.142.0
95
+ * @version 1.143.0
96
96
  */
97
97
  var DateTimeBase = ODataType.extend("sap.ui.model.odata.type.DateTimeBase", {
98
98
  constructor : function (oFormatOptions, oConstraints) {
@@ -17,9 +17,13 @@ sap.ui.define([
17
17
  /**
18
18
  * Constructor for a primitive type <code>Edm.DateTimeOffset</code>.
19
19
  *
20
- * @class This class represents the OData primitive type <a
21
- * href="http://www.odata.org/documentation/odata-version-2-0/overview#AbstractTypeSystem">
22
- * <code>Edm.DateTimeOffset</code></a>.
20
+ * @class This class represents the OData primitive type <code>Edm.DateTimeOffset</code>, see
21
+ * <a
22
+ * href="https://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/odata-csdl-xml-v4.01.html#_Toc38530338">
23
+ * type definition for OData V4.01</a> or
24
+ * <a
25
+ * href="https://www.odata.org/documentation/odata-version-2-0/overview#AbstractTypeSystem">
26
+ * type definition for OData V2</a>.
23
27
  *
24
28
  * In {@link sap.ui.model.odata.v2.ODataModel} this type is represented as a
25
29
  * <code>Date</code> instance in local time. In {@link sap.ui.model.odata.v4.ODataModel} this
@@ -29,7 +33,7 @@ sap.ui.define([
29
33
  * @extends sap.ui.model.odata.type.DateTimeBase
30
34
  *
31
35
  * @author SAP SE
32
- * @version 1.142.0
36
+ * @version 1.143.0
33
37
  *
34
38
  * @alias sap.ui.model.odata.type.DateTimeOffset
35
39
  * @param {object} [oFormatOptions]
@@ -46,7 +46,7 @@ sap.ui.define([
46
46
  * @public
47
47
  * @see {sap.ui.model.odata.v2.ODataModel#bindProperty}
48
48
  * @since 1.99.0
49
- * @version 1.142.0
49
+ * @version 1.143.0
50
50
  */
51
51
  var DateTimeWithTimezone = CompositeType.extend("sap.ui.model.odata.type.DateTimeWithTimezone",
52
52
  {
@@ -163,9 +163,13 @@ sap.ui.define([
163
163
  /**
164
164
  * Constructor for a primitive type <code>Edm.Decimal</code>.
165
165
  *
166
- * @class This class represents the OData primitive type <a
167
- * href="http://www.odata.org/documentation/odata-version-2-0/overview#AbstractTypeSystem">
168
- * <code>Edm.Decimal</code></a>.
166
+ * @class This class represents the OData primitive type <code>Edm.Decimal</code>, see
167
+ * <a
168
+ * href="https://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/odata-csdl-xml-v4.01.html#_Toc38530338">
169
+ * type definition for OData V4.01</a> or
170
+ * <a
171
+ * href="https://www.odata.org/documentation/odata-version-2-0/overview#AbstractTypeSystem">
172
+ * type definition for OData V2</a>.
169
173
  *
170
174
  * In both {@link sap.ui.model.odata.v2.ODataModel} and {@link sap.ui.model.odata.v4.ODataModel}
171
175
  * this type is represented as a <code>string</code>.
@@ -173,7 +177,7 @@ sap.ui.define([
173
177
  * @extends sap.ui.model.odata.type.ODataType
174
178
  *
175
179
  * @author SAP SE
176
- * @version 1.142.0
180
+ * @version 1.143.0
177
181
  *
178
182
  * @alias sap.ui.model.odata.type.Decimal
179
183
  * @param {object} [oFormatOptions]
@@ -64,9 +64,13 @@ sap.ui.define([
64
64
  /**
65
65
  * Constructor for a primitive type <code>Edm.Double</code>.
66
66
  *
67
- * @class This class represents the OData primitive type <a
68
- * href="http://www.odata.org/documentation/odata-version-2-0/overview#AbstractTypeSystem">
69
- * <code>Edm.Double</code></a>.
67
+ * @class This class represents the OData primitive type <code>Edm.Double</code>, see
68
+ * <a
69
+ * href="https://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/odata-csdl-xml-v4.01.html#_Toc38530338">
70
+ * type definition for OData V4.01</a> or
71
+ * <a
72
+ * href="https://www.odata.org/documentation/odata-version-2-0/overview#AbstractTypeSystem">
73
+ * type definition for OData V2</a>.
70
74
  *
71
75
  * In both {@link sap.ui.model.odata.v2.ODataModel} and {@link sap.ui.model.odata.v4.ODataModel}
72
76
  * this type is represented as a <code>number</code>.
@@ -74,7 +78,7 @@ sap.ui.define([
74
78
  * @extends sap.ui.model.odata.type.ODataType
75
79
  *
76
80
  * @author SAP SE
77
- * @version 1.142.0
81
+ * @version 1.143.0
78
82
  *
79
83
  * @alias sap.ui.model.odata.type.Double
80
84
  * @param {object} [oFormatOptions]