@openui5/sap.ui.core 1.132.1 → 1.134.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 (393) hide show
  1. package/.dtsgenrc +5 -0
  2. package/.eslintrc.json +4 -0
  3. package/.reuse/dep5 +2 -9
  4. package/LICENSES/LicenseRef-Unicode-3.0.txt +39 -0
  5. package/THIRDPARTY.txt +45 -78
  6. package/package.json +1 -1
  7. package/src/jquery.sap.global.js +1 -1
  8. package/src/jquery.sap.properties.js +1 -1
  9. package/src/jquery.sap.resources.js +1 -1
  10. package/src/jquery.sap.script.js +1 -1
  11. package/src/jquery.sap.storage.js +3 -3
  12. package/src/sap/base/Event.js +1 -1
  13. package/src/sap/base/Eventing.js +1 -1
  14. package/src/sap/base/config.js +1 -1
  15. package/src/sap/base/i18n/LanguageTag.js +1 -1
  16. package/src/sap/base/i18n/date/TimezoneUtils.js +159 -12
  17. package/src/sap/base/util/JSTokenizer.js +25 -18
  18. package/src/sap/base/util/LoaderExtensions.js +2 -8
  19. package/src/sap/base/util/mixedFetch.js +0 -1
  20. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  21. package/src/sap/base/util/restricted/_castArray.js +1 -1
  22. package/src/sap/base/util/restricted/_compact.js +1 -1
  23. package/src/sap/base/util/restricted/_curry.js +1 -1
  24. package/src/sap/base/util/restricted/_debounce.js +1 -1
  25. package/src/sap/base/util/restricted/_difference.js +1 -1
  26. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  27. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  28. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  29. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  30. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  31. package/src/sap/base/util/restricted/_flatten.js +1 -1
  32. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  33. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  34. package/src/sap/base/util/restricted/_intersection.js +1 -1
  35. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  36. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  37. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  38. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  39. package/src/sap/base/util/restricted/_isNil.js +1 -1
  40. package/src/sap/base/util/restricted/_max.js +1 -1
  41. package/src/sap/base/util/restricted/_merge.js +1 -1
  42. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  43. package/src/sap/base/util/restricted/_min.js +1 -1
  44. package/src/sap/base/util/restricted/_omit.js +1 -1
  45. package/src/sap/base/util/restricted/_pick.js +1 -1
  46. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  47. package/src/sap/base/util/restricted/_throttle.js +1 -1
  48. package/src/sap/base/util/restricted/_toArray.js +1 -1
  49. package/src/sap/base/util/restricted/_union.js +1 -1
  50. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  51. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  52. package/src/sap/base/util/restricted/_uniq.js +1 -1
  53. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  54. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  55. package/src/sap/base/util/restricted/_without.js +1 -1
  56. package/src/sap/base/util/restricted/_xor.js +1 -1
  57. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  58. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  59. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  60. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  61. package/src/sap/base/util/syncFetch.js +0 -1
  62. package/src/sap/ui/Device.js +3 -3
  63. package/src/sap/ui/Global.js +3 -3
  64. package/src/sap/ui/base/Event.js +1 -1
  65. package/src/sap/ui/base/EventProvider.js +1 -1
  66. package/src/sap/ui/base/Interface.js +1 -1
  67. package/src/sap/ui/base/ManagedObject.js +14 -11
  68. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  69. package/src/sap/ui/base/Metadata.js +1 -1
  70. package/src/sap/ui/base/Object.js +1 -1
  71. package/src/sap/ui/base/ObjectPool.js +1 -1
  72. package/src/sap/ui/base/SyncPromise.js +136 -25
  73. package/src/sap/ui/core/.library +5 -10
  74. package/src/sap/ui/core/AppCacheBuster.js +4 -9
  75. package/src/sap/ui/core/BusyIndicator.js +1 -1
  76. package/src/sap/ui/core/Component.js +1 -1
  77. package/src/sap/ui/core/ComponentContainer.js +1 -1
  78. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  79. package/src/sap/ui/core/ComponentSupport.js +1 -1
  80. package/src/sap/ui/core/Configuration.js +1 -1
  81. package/src/sap/ui/core/Control.js +1 -1
  82. package/src/sap/ui/core/Core.js +2 -2
  83. package/src/sap/ui/core/CustomData.js +1 -1
  84. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  85. package/src/sap/ui/core/Element.js +3 -1
  86. package/src/sap/ui/core/ElementMetadata.js +1 -1
  87. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  88. package/src/sap/ui/core/EventBus.js +1 -1
  89. package/src/sap/ui/core/Fragment.js +1 -1
  90. package/src/sap/ui/core/HTML.js +1 -1
  91. package/src/sap/ui/core/History.js +1 -1
  92. package/src/sap/ui/core/Icon.js +1 -1
  93. package/src/sap/ui/core/IconPool.js +20 -3
  94. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  95. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  96. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  97. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  98. package/src/sap/ui/core/InvisibleText.js +1 -1
  99. package/src/sap/ui/core/Item.js +1 -1
  100. package/src/sap/ui/core/LabelEnablement.js +1 -1
  101. package/src/sap/ui/core/LayoutData.js +1 -1
  102. package/src/sap/ui/core/ListItem.js +1 -1
  103. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  104. package/src/sap/ui/core/Locale.js +1 -1
  105. package/src/sap/ui/core/LocaleData.js +101 -79
  106. package/src/sap/ui/core/Manifest.js +1 -1
  107. package/src/sap/ui/core/Message.js +1 -1
  108. package/src/sap/ui/core/RenderManager.js +1 -1
  109. package/src/sap/ui/core/Renderer.js +1 -1
  110. package/src/sap/ui/core/ResizeHandler.js +1 -1
  111. package/src/sap/ui/core/ScrollBar.js +1 -1
  112. package/src/sap/ui/core/SeparatorItem.js +1 -1
  113. package/src/sap/ui/core/Title.js +1 -1
  114. package/src/sap/ui/core/TooltipBase.js +1 -1
  115. package/src/sap/ui/core/UIArea.js +1 -1
  116. package/src/sap/ui/core/UIComponent.js +1 -1
  117. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  118. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  119. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  120. package/src/sap/ui/core/XMLComposite.js +1 -1
  121. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  122. package/src/sap/ui/core/XMLTemplateProcessor.js +22 -3
  123. package/src/sap/ui/core/_IconRegistry.js +2 -0
  124. package/src/sap/ui/core/boot/_bootConfig.js +134 -105
  125. package/src/sap/ui/core/cldr/Unicode-Data-Files-LICENSE.txt +36 -24
  126. package/src/sap/ui/core/cldr/ar.json +106 -98
  127. package/src/sap/ui/core/cldr/ar_EG.json +106 -98
  128. package/src/sap/ui/core/cldr/ar_SA.json +106 -98
  129. package/src/sap/ui/core/cldr/bg.json +44 -38
  130. package/src/sap/ui/core/cldr/ca.json +65 -65
  131. package/src/sap/ui/core/cldr/cnr.json +182 -170
  132. package/src/sap/ui/core/cldr/cs.json +39 -31
  133. package/src/sap/ui/core/cldr/cy.json +319 -233
  134. package/src/sap/ui/core/cldr/da.json +36 -32
  135. package/src/sap/ui/core/cldr/de.json +134 -135
  136. package/src/sap/ui/core/cldr/de_AT.json +134 -135
  137. package/src/sap/ui/core/cldr/de_CH.json +135 -136
  138. package/src/sap/ui/core/cldr/el.json +44 -37
  139. package/src/sap/ui/core/cldr/el_CY.json +44 -37
  140. package/src/sap/ui/core/cldr/en.json +91 -53
  141. package/src/sap/ui/core/cldr/en_AU.json +108 -70
  142. package/src/sap/ui/core/cldr/en_GB.json +123 -85
  143. package/src/sap/ui/core/cldr/en_HK.json +102 -64
  144. package/src/sap/ui/core/cldr/en_IE.json +102 -64
  145. package/src/sap/ui/core/cldr/en_IN.json +207 -67
  146. package/src/sap/ui/core/cldr/en_NZ.json +102 -64
  147. package/src/sap/ui/core/cldr/en_PG.json +102 -64
  148. package/src/sap/ui/core/cldr/en_SG.json +102 -64
  149. package/src/sap/ui/core/cldr/en_ZA.json +106 -66
  150. package/src/sap/ui/core/cldr/es.json +43 -39
  151. package/src/sap/ui/core/cldr/es_AR.json +92 -64
  152. package/src/sap/ui/core/cldr/es_BO.json +92 -64
  153. package/src/sap/ui/core/cldr/es_CL.json +92 -64
  154. package/src/sap/ui/core/cldr/es_CO.json +92 -64
  155. package/src/sap/ui/core/cldr/es_MX.json +131 -83
  156. package/src/sap/ui/core/cldr/es_PE.json +69 -41
  157. package/src/sap/ui/core/cldr/es_UY.json +93 -65
  158. package/src/sap/ui/core/cldr/es_VE.json +92 -64
  159. package/src/sap/ui/core/cldr/et.json +60 -59
  160. package/src/sap/ui/core/cldr/fa.json +122 -116
  161. package/src/sap/ui/core/cldr/fi.json +186 -82
  162. package/src/sap/ui/core/cldr/fr.json +57 -56
  163. package/src/sap/ui/core/cldr/fr_BE.json +56 -55
  164. package/src/sap/ui/core/cldr/fr_CA.json +139 -89
  165. package/src/sap/ui/core/cldr/fr_CH.json +47 -46
  166. package/src/sap/ui/core/cldr/fr_LU.json +57 -56
  167. package/src/sap/ui/core/cldr/he.json +458 -381
  168. package/src/sap/ui/core/cldr/hi.json +204 -170
  169. package/src/sap/ui/core/cldr/hr.json +64 -57
  170. package/src/sap/ui/core/cldr/hu.json +145 -148
  171. package/src/sap/ui/core/cldr/id.json +72 -62
  172. package/src/sap/ui/core/cldr/it.json +76 -75
  173. package/src/sap/ui/core/cldr/it_CH.json +76 -75
  174. package/src/sap/ui/core/cldr/ja.json +62 -44
  175. package/src/sap/ui/core/cldr/kk.json +171 -146
  176. package/src/sap/ui/core/cldr/ko.json +91 -73
  177. package/src/sap/ui/core/cldr/lt.json +134 -135
  178. package/src/sap/ui/core/cldr/lv.json +119 -111
  179. package/src/sap/ui/core/cldr/mk.json +316 -314
  180. package/src/sap/ui/core/cldr/ms.json +91 -75
  181. package/src/sap/ui/core/cldr/nb.json +37 -37
  182. package/src/sap/ui/core/cldr/nl.json +45 -48
  183. package/src/sap/ui/core/cldr/nl_BE.json +45 -48
  184. package/src/sap/ui/core/cldr/pl.json +47 -42
  185. package/src/sap/ui/core/cldr/pt.json +129 -124
  186. package/src/sap/ui/core/cldr/pt_PT.json +43 -38
  187. package/src/sap/ui/core/cldr/ro.json +42 -37
  188. package/src/sap/ui/core/cldr/ru.json +59 -51
  189. package/src/sap/ui/core/cldr/ru_UA.json +59 -51
  190. package/src/sap/ui/core/cldr/sk.json +55 -46
  191. package/src/sap/ui/core/cldr/sl.json +45 -31
  192. package/src/sap/ui/core/cldr/sr.json +189 -177
  193. package/src/sap/ui/core/cldr/sr_Latn.json +189 -177
  194. package/src/sap/ui/core/cldr/sv.json +42 -41
  195. package/src/sap/ui/core/cldr/th.json +104 -90
  196. package/src/sap/ui/core/cldr/tr.json +40 -39
  197. package/src/sap/ui/core/cldr/uk.json +143 -123
  198. package/src/sap/ui/core/cldr/vi.json +136 -133
  199. package/src/sap/ui/core/cldr/zh_CN.json +47 -41
  200. package/src/sap/ui/core/cldr/zh_HK.json +47 -41
  201. package/src/sap/ui/core/cldr/zh_SG.json +47 -41
  202. package/src/sap/ui/core/cldr/zh_TW.json +163 -160
  203. package/src/sap/ui/core/date/Buddhist.js +2 -2
  204. package/src/sap/ui/core/date/CalendarUtils.js +4 -4
  205. package/src/sap/ui/core/date/Gregorian.js +2 -2
  206. package/src/sap/ui/core/date/Islamic.js +2 -2
  207. package/src/sap/ui/core/date/Japanese.js +2 -2
  208. package/src/sap/ui/core/date/Persian.js +2 -2
  209. package/src/sap/ui/core/date/UI5Date.js +1 -1
  210. package/src/sap/ui/core/date/UniversalDate.js +12 -12
  211. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  212. package/src/sap/ui/core/delegate/ScrollEnablement.js +7 -5
  213. package/src/sap/ui/core/dnd/DragAndDrop.js +14 -7
  214. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  215. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  216. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  217. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  218. package/src/sap/ui/core/fieldhelp/FieldHelp.js +355 -53
  219. package/src/sap/ui/core/fieldhelp/FieldHelpUtil.js +10 -8
  220. package/src/sap/ui/core/format/DateFormat.js +18 -16
  221. package/src/sap/ui/core/format/FormatUtils.js +1 -1
  222. package/src/sap/ui/core/format/NumberFormat.js +346 -364
  223. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  224. package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
  225. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  226. package/src/sap/ui/core/library.js +36 -5
  227. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  228. package/src/sap/ui/core/message/Message.js +1 -1
  229. package/src/sap/ui/core/message/MessageManager.js +1 -1
  230. package/src/sap/ui/core/message/MessageMixin.js +12 -4
  231. package/src/sap/ui/core/message/MessageParser.js +1 -1
  232. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  233. package/src/sap/ui/core/messagebundle_ko.properties +1 -1
  234. package/src/sap/ui/core/messagebundle_sv.properties +1 -1
  235. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  236. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  237. package/src/sap/ui/core/mvc/JSView.js +1 -1
  238. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  239. package/src/sap/ui/core/mvc/View.js +1 -1
  240. package/src/sap/ui/core/mvc/XMLView.js +1 -1
  241. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  242. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  243. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  244. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  245. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  246. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  247. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  248. package/src/sap/ui/core/service/Service.js +1 -1
  249. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  250. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  251. package/src/sap/ui/core/support/Plugin.js +1 -1
  252. package/src/sap/ui/core/support/Support.js +1 -1
  253. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  254. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  255. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  256. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  257. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  258. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  259. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  260. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  261. package/src/sap/ui/core/themes/base/fonts/SAP-icons.ttf +0 -0
  262. package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
  263. package/src/sap/ui/core/theming/Parameters.js +1 -6
  264. package/src/sap/ui/core/theming/ThemeManager.js +84 -33
  265. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  266. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  267. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  268. package/src/sap/ui/core/tmpl/Template.js +1 -1
  269. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  270. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  271. package/src/sap/ui/core/util/Export.js +1 -1
  272. package/src/sap/ui/core/util/ExportCell.js +1 -1
  273. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  274. package/src/sap/ui/core/util/ExportRow.js +1 -1
  275. package/src/sap/ui/core/util/ExportType.js +1 -1
  276. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  277. package/src/sap/ui/core/util/File.js +1 -1
  278. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  279. package/src/sap/ui/core/util/MockServer.js +5 -2
  280. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  281. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  282. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  283. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  284. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  285. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  286. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  287. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  288. package/src/sap/ui/core/webc/WebComponent.js +1 -1
  289. package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
  290. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  291. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  292. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  293. package/src/sap/ui/debug/ControlTree.js +1 -1
  294. package/src/sap/ui/debug/DebugEnv.js +1 -1
  295. package/src/sap/ui/debug/PropertyList.js +1 -1
  296. package/src/sap/ui/model/ClientModel.js +1 -1
  297. package/src/sap/ui/model/ClientTreeBinding.js +5 -1
  298. package/src/sap/ui/model/CompositeDataState.js +1 -1
  299. package/src/sap/ui/model/CompositeType.js +1 -1
  300. package/src/sap/ui/model/DataState.js +1 -1
  301. package/src/sap/ui/model/ManagedObjectBindingSupport.js +21 -12
  302. package/src/sap/ui/model/MetaModel.js +1 -1
  303. package/src/sap/ui/model/Model.js +1 -1
  304. package/src/sap/ui/model/SelectionModel.js +1 -1
  305. package/src/sap/ui/model/SimpleType.js +1 -1
  306. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  307. package/src/sap/ui/model/Type.js +1 -1
  308. package/src/sap/ui/model/analytics/AnalyticalBinding.js +1 -1
  309. package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +51 -13
  310. package/src/sap/ui/model/base/ManagedObjectModel.js +5 -2
  311. package/src/sap/ui/model/json/JSONModel.js +1 -1
  312. package/src/sap/ui/model/message/MessageModel.js +1 -1
  313. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  314. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  315. package/src/sap/ui/model/odata/ODataMetaModel.js +46 -14
  316. package/src/sap/ui/model/odata/ODataMetadata.js +2 -2
  317. package/src/sap/ui/model/odata/ODataModel.js +2 -2
  318. package/src/sap/ui/model/odata/ODataUtils.js +2 -2
  319. package/src/sap/ui/model/odata/UpdateMethod.js +18 -1
  320. package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +2 -2
  321. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  322. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  323. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  324. package/src/sap/ui/model/odata/type/Date.js +3 -3
  325. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  326. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  327. package/src/sap/ui/model/odata/type/DateTimeOffset.js +2 -2
  328. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  329. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  330. package/src/sap/ui/model/odata/type/Double.js +1 -1
  331. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  332. package/src/sap/ui/model/odata/type/Int.js +1 -1
  333. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  334. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  335. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  336. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  337. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  338. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  339. package/src/sap/ui/model/odata/type/Single.js +1 -1
  340. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  341. package/src/sap/ui/model/odata/type/String.js +1 -1
  342. package/src/sap/ui/model/odata/type/Time.js +1 -1
  343. package/src/sap/ui/model/odata/type/TimeOfDay.js +3 -3
  344. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  345. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  346. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +4 -3
  347. package/src/sap/ui/model/odata/v2/ODataListBinding.js +2 -2
  348. package/src/sap/ui/model/odata/v2/ODataModel.js +63 -37
  349. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
  350. package/src/sap/ui/model/odata/v4/Context.js +52 -23
  351. package/src/sap/ui/model/odata/v4/ODataBinding.js +9 -6
  352. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +5 -4
  353. package/src/sap/ui/model/odata/v4/ODataListBinding.js +137 -56
  354. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +19 -8
  355. package/src/sap/ui/model/odata/v4/ODataModel.js +54 -33
  356. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +10 -3
  357. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +3 -4
  358. package/src/sap/ui/model/odata/v4/ODataUtils.js +1 -1
  359. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +33 -9
  360. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +13 -16
  361. package/src/sap/ui/model/odata/v4/lib/_Cache.js +334 -139
  362. package/src/sap/ui/model/odata/v4/lib/_Helper.js +20 -0
  363. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +26 -4
  364. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +1 -1
  365. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  366. package/src/sap/ui/model/type/Boolean.js +1 -1
  367. package/src/sap/ui/model/type/Currency.js +1 -1
  368. package/src/sap/ui/model/type/Date.js +1 -1
  369. package/src/sap/ui/model/type/DateInterval.js +1 -1
  370. package/src/sap/ui/model/type/DateTime.js +1 -1
  371. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  372. package/src/sap/ui/model/type/FileSize.js +1 -1
  373. package/src/sap/ui/model/type/Float.js +1 -1
  374. package/src/sap/ui/model/type/Integer.js +1 -1
  375. package/src/sap/ui/model/type/String.js +1 -1
  376. package/src/sap/ui/model/type/Time.js +1 -1
  377. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  378. package/src/sap/ui/model/type/Unit.js +1 -1
  379. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  380. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  381. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  382. package/src/sap/ui/test/BranchTracking.js +1 -1
  383. package/src/sap/ui/test/TestUtils.js +82 -14
  384. package/src/sap/ui/test/actions/EnterText.js +2 -20
  385. package/src/sap/ui/test/generic/TestBase.js +1 -1
  386. package/src/sap/ui/test/starter/_setupAndStart.js +12 -3
  387. package/src/sap/ui/test/starter/_utils.js +0 -1
  388. package/src/sap/ui/thirdparty/jquery-compat.js +1 -1
  389. package/src/sap/ui/util/Storage.js +1 -1
  390. package/src/ui5loader.js +4 -1
  391. package/test/sap/ui/qunit/TestRunner.js +10 -11
  392. package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +0 -5
  393. package/LICENSES/Unicode-DFS-2015.txt +0 -51
@@ -42,7 +42,7 @@ sap.ui.define([
42
42
  * @hideconstructor
43
43
  * @public
44
44
  * @since 1.39.0
45
- * @version 1.132.1
45
+ * @version 1.134.0
46
46
  */
47
47
  Context = BaseContext.extend("sap.ui.model.odata.v4.Context", {
48
48
  constructor : constructor
@@ -88,10 +88,7 @@ sap.ui.define([
88
88
  }
89
89
  BaseContext.call(this, oModel, sPath);
90
90
  this.oBinding = oBinding;
91
- this.oCreatedPromise = oCreatePromise
92
- // ensure to return a promise that is resolved w/o data
93
- && Promise.resolve(oCreatePromise).then(function () {});
94
- this.oSyncCreatePromise = oCreatePromise;
91
+ this.setCreated(oCreatePromise);
95
92
  // a promise waiting for the deletion, also used as indicator for #isDeleted
96
93
  this.oDeletePromise = null;
97
94
  // avoids recursion when calling #doSetProperty within the createActivate event handler
@@ -211,8 +208,7 @@ sap.ui.define([
211
208
  * A promise which is resolved without a defined result when the entity represented by this
212
209
  * context has been created in the back end. It is rejected with an <code>Error</code>
213
210
  * instance where <code>oError.canceled === true</code> if the transient entity is deleted
214
- * before it is created in the back end, for example via
215
- * {@link sap.ui.model.odata.v4.Context#delete},
211
+ * before it is created in the back end, for example via {@link #delete},
216
212
  * {@link sap.ui.model.odata.v4.ODataListBinding#resetChanges} or
217
213
  * {@link sap.ui.model.odata.v4.ODataModel#resetChanges}, and for all nested contexts within a
218
214
  * deep create. It is rejected with an <code>Error</code> instance without
@@ -294,6 +290,8 @@ sap.ui.define([
294
290
  * {@link #isKeepAlive kept alive},
295
291
  * <li> the context is already being deleted,
296
292
  * <li> the context's binding is a list binding with data aggregation,
293
+ * <li> the context is transient but its binding is not a list binding ("upsert") and it
294
+ * therefore must be reset via {@link #resetChanges},
297
295
  * <li> the restrictions for deleting from a recursive hierarchy (see above) are not met.
298
296
  * </ul>
299
297
  *
@@ -322,12 +320,15 @@ sap.ui.define([
322
320
  }
323
321
  this.oBinding.checkSuspended();
324
322
  if (this.isTransient()) {
323
+ if (!this.oBinding.getHeaderContext) { // upsert
324
+ throw new Error("Cannot delete " + this);
325
+ }
325
326
  if (this.iIndex === undefined) {
326
327
  return Promise.resolve(); // already deleted, nothing to do
327
328
  }
328
329
  sGroupId = null;
329
330
  } else if (sGroupId === null) {
330
- if (!(this.isKeepAlive() && this.iIndex === undefined)) {
331
+ if (this.iIndex !== undefined || !this.isKeepAlive()) {
331
332
  throw new Error("Cannot delete " + this);
332
333
  }
333
334
  }
@@ -433,7 +434,7 @@ sap.ui.define([
433
434
  * instance of <code>Error</code> in case of failure
434
435
  *
435
436
  * @private
436
- * @see sap.ui.model.odata.v4.Context#delete
437
+ * @see #delete
437
438
  */
438
439
  Context.prototype.doDelete = function (oGroupLock, sEditUrl, sPath, oETagEntity, oBinding,
439
440
  fnCallback) {
@@ -584,7 +585,7 @@ sap.ui.define([
584
585
  bUpdating);
585
586
  }
586
587
 
587
- if (that.isInactive() && !that.bFiringCreateActivate) {
588
+ if (that.bInactive && !that.bFiringCreateActivate) {
588
589
  // early cache update so that the new value is properly available on the
589
590
  // event listener
590
591
  // runs synchronously - setProperty calls fetchValue with $cached
@@ -596,6 +597,10 @@ sap.ui.define([
596
597
  oCache.setInactive(sEntityPath, that.bInactive);
597
598
  }
598
599
 
600
+ const fnSetUpsertPromise = _Helper.hasPathSuffix(that.sPath, sEntityPath)
601
+ ? that.setCreated.bind(that)
602
+ : null;
603
+
599
604
  // if request is canceled fnPatchSent and fnErrorCallback are not called and
600
605
  // returned Promise is rejected -> no patch events
601
606
  return oCache.update(oGroupLock, oResult.propertyPath, vValue,
@@ -603,7 +608,7 @@ sap.ui.define([
603
608
  // Note: use that.oModel intentionally, fails if already destroyed!
604
609
  oMetaModel.getUnitOrCurrencyPath(that.oModel.resolve(sPath, that)),
605
610
  oBinding.isPatchWithoutSideEffects(), patchSent,
606
- that.isEffectivelyKeptAlive.bind(that)
611
+ that.isEffectivelyKeptAlive.bind(that), fnSetUpsertPromise
607
612
  ).then(function () {
608
613
  firePatchCompleted(true);
609
614
  }, function (oError) {
@@ -673,6 +678,7 @@ sap.ui.define([
673
678
  if (!bAll) {
674
679
  throw new Error("Already expanded: " + this);
675
680
  }
681
+ this.oBinding.collapse(this, /*bAll*/false, /*bSilent*/true);
676
682
  // falls through
677
683
  case false: {
678
684
  const iLevels = bAll ? Number.MAX_SAFE_INTEGER : 1;
@@ -1195,7 +1201,7 @@ sap.ui.define([
1195
1201
  var that = this;
1196
1202
 
1197
1203
  return this.isTransient() && this.isInactive() !== true
1198
- || this.oDeletePromise && this.oDeletePromise.isPending()
1204
+ || this.oDeletePromise?.isPending()
1199
1205
  || this.oBinding.hasPendingChangesForPath(this.sPath)
1200
1206
  || this.oModel.getDependentBindings(this).some(function (oDependentBinding) {
1201
1207
  return oDependentBinding.oCache
@@ -1287,7 +1293,7 @@ sap.ui.define([
1287
1293
  || !mParameters.$$sharedRequest
1288
1294
  && this.oBinding.getHeaderContext?.()
1289
1295
  && this.oBinding.getHeaderContext().isSelected() !== this.isSelected()
1290
- && !(this.oBinding.isRelative() && !mParameters.$$ownRequest)
1296
+ && (mParameters.$$ownRequest || !this.oBinding.isRelative())
1291
1297
  && !_Helper.isDataAggregation(mParameters)
1292
1298
  // check for key predicate in the last path segment
1293
1299
  && this.sPath.indexOf("(", this.sPath.lastIndexOf("/")) > 0;
@@ -1403,7 +1409,7 @@ sap.ui.define([
1403
1409
  * @since 1.43.0
1404
1410
  */
1405
1411
  Context.prototype.isTransient = function () {
1406
- return this.oSyncCreatePromise && this.oSyncCreatePromise.isPending();
1412
+ return this.oSyncCreatePromise?.isPending();
1407
1413
  };
1408
1414
 
1409
1415
  /**
@@ -1475,11 +1481,11 @@ sap.ui.define([
1475
1481
  if (oNextSibling === undefined && oParent === undefined) {
1476
1482
  return Promise.resolve(); // "no move happens"
1477
1483
  }
1478
- if (this.isDeleted() || this.isTransient() || this.iIndex === undefined) {
1484
+ if (this.iIndex === undefined || this.isDeleted() || this.isTransient()) {
1479
1485
  throw new Error("Cannot move " + this);
1480
1486
  }
1481
1487
  if (oParent
1482
- && (oParent.isDeleted() || oParent.isTransient() || oParent.iIndex === undefined)) {
1488
+ && (oParent.iIndex === undefined || oParent.isDeleted() || oParent.isTransient())) {
1483
1489
  throw new Error("Cannot move to " + oParent);
1484
1490
  }
1485
1491
  if (this.isAncestorOf(oParent)) {
@@ -1639,8 +1645,7 @@ sap.ui.define([
1639
1645
  * any part thereof. The data is a JSON structure as described in <a href=
1640
1646
  * "https://docs.oasis-open.org/odata/odata-json-format/v4.0/odata-json-format-v4.0.html"
1641
1647
  * >"OData JSON Format Version 4.0"</a>.
1642
- * Note that the function clones the result. Modify values via
1643
- * {@link sap.ui.model.odata.v4.Context#setProperty}.
1648
+ * Note that the function clones the result. Modify values via {@link #setProperty}.
1644
1649
  *
1645
1650
  * The header context of a list binding only delivers <code>$count</code> and
1646
1651
  * <code>@$ui5.context.isSelected</code> (wrapped in an object if <code>sPath</code> is "").
@@ -2112,8 +2117,7 @@ sap.ui.define([
2112
2117
  /**
2113
2118
  * Resets all property changes, created entities, and entity deletions of this context. Resets
2114
2119
  * also invalid user input and inactive contexts which had their activation prevented (see
2115
- * {@link sap.ui.model.odata.v4.Context#isInactive}). This function does not reset the
2116
- * invocation of OData operations (see
2120
+ * {@link #isInactive}). This function does not reset the invocation of OData operations (see
2117
2121
  * {@link sap.ui.model.odata.v4.ODataContextBinding#invoke}). For a context which is currently
2118
2122
  * {@link #delete deleted} on the client, but not yet on the server, this method cancels the
2119
2123
  * deletion and restores the context.
@@ -2126,8 +2130,8 @@ sap.ui.define([
2126
2130
  * <li> the binding's root binding is suspended,
2127
2131
  * <li> a change of this context has already been sent to the server and there is no response
2128
2132
  * yet,
2129
- * <li> this context is transient, but not inactive and therefore should rather be reset via
2130
- * {@link #delete}.
2133
+ * <li> this context is a transient row context but not inactive and therefore must be reset
2134
+ * via {@link #delete}.
2131
2135
  * <li> this context is a
2132
2136
  * {@link sap.ui.model.odata.v4.ODataListBinding#getHeaderContext header context}.
2133
2137
  * <li> this context is a
@@ -2144,7 +2148,8 @@ sap.ui.define([
2144
2148
  : [],
2145
2149
  that = this;
2146
2150
 
2147
- if (this.iIndex === iVIRTUAL || this.isTransient() && !this.isInactive()
2151
+ if (this.iIndex === iVIRTUAL
2152
+ || this.oBinding.getHeaderContext && !this.bInactive && this.isTransient()
2148
2153
  || this === this.oBinding.getHeaderContext?.()
2149
2154
  // only operation bindings have a parameter context, for others the function fails
2150
2155
  || this.oBinding.oOperation && this === this.oBinding.getParameterContext()) {
@@ -2180,6 +2185,30 @@ sap.ui.define([
2180
2185
  this.bSelected = false;
2181
2186
  };
2182
2187
 
2188
+ /**
2189
+ * Sets this context's {@link #created created} promise based on the given one.
2190
+ *
2191
+ * Note: this is a private and internal API. Do not call this!
2192
+ *
2193
+ * @param {sap.ui.base.SyncPromise} [oSyncCreatePromise]
2194
+ * A promise which is resolved with the created entity when the PATCH or POST request has been
2195
+ * successfully sent and the entity has been marked as non-transient; used as base for
2196
+ * {@link #created}. If missing, this context's {@link #created created} promise is removed
2197
+ * again. Don't use <code>null</code>!
2198
+ * @throws {Error} If this context is not "created" or still transient
2199
+ *
2200
+ * @private
2201
+ */
2202
+ Context.prototype.setCreated = function (oSyncCreatePromise) {
2203
+ if (oSyncCreatePromise && this.oCreatedPromise) {
2204
+ throw new Error("Already 'created'");
2205
+ }
2206
+ this.oCreatedPromise = oSyncCreatePromise
2207
+ // ensure to return a promise that is resolved w/o data
2208
+ && Promise.resolve(oSyncCreatePromise).then(function () {});
2209
+ this.oSyncCreatePromise = oSyncCreatePromise;
2210
+ };
2211
+
2183
2212
  /**
2184
2213
  * Sets the inactive flag to <code>true</code>
2185
2214
  *
@@ -403,7 +403,7 @@ sap.ui.define([
403
403
  * Destroys the object. The object must not be used anymore after this function was called.
404
404
  *
405
405
  * @public
406
- * @since 1.66
406
+ * @since 1.66.0
407
407
  */
408
408
  ODataBinding.prototype.destroy = function () {
409
409
  this.mCacheByResourcePath = undefined;
@@ -422,8 +422,8 @@ sap.ui.define([
422
422
  };
423
423
 
424
424
  /**
425
- * Hook method for {@link sap.ui.model.odata.v4.ODataBinding#fetchCache} to create a cache for
426
- * this binding with the given resource path and query options.
425
+ * Hook method for {@link #fetchCache} to create a cache for this binding with the given
426
+ * resource path and query options.
427
427
  *
428
428
  * @param {string} sResourcePath
429
429
  * The resource path, for example "EMPLOYEES"
@@ -1157,6 +1157,8 @@ sap.ui.define([
1157
1157
  * @param {string} sCanonicalPath
1158
1158
  * The canonical path of the entity (as a context path with the leading "/")
1159
1159
  *
1160
+ * @abstract
1161
+ * @function
1160
1162
  * @name sap.ui.model.odata.v4.ODataBinding#onDelete
1161
1163
  * @private
1162
1164
  */
@@ -1426,8 +1428,9 @@ sap.ui.define([
1426
1428
  * <li> the binding's root binding is suspended,
1427
1429
  * <li> there is a change of this binding which has been sent to the server and for which
1428
1430
  * there is no response yet,
1429
- * <li> the binding is {@link #isTransient transient} (part of a
1430
- * {@link sap.ui.model.odata.v4.ODataListBinding#create deep create}).
1431
+ * <li> the binding is part of a
1432
+ * {@link sap.ui.model.odata.v4.ODataListBinding#create deep create} because it is
1433
+ * relative to a {@link sap.ui.model.odata.v4.Context#isTransient transient} context,
1431
1434
  * </ul>
1432
1435
  *
1433
1436
  * @public
@@ -1559,7 +1562,7 @@ sap.ui.define([
1559
1562
  * @param {Promise[]} aPromises
1560
1563
  * List of (sync) promises which is extended for each call to
1561
1564
  * {@link sap.ui.model.odata.v4.ODataParentBinding#requestSideEffects} or
1562
- * {@link sap.ui.model.odata.v4.ODataBinding#refreshInternal}.
1565
+ * {@link #refreshInternal}
1563
1566
  * @param {string} [sPrefix=""]
1564
1567
  * Prefix for navigation property meta paths; must only be used during recursion
1565
1568
  *
@@ -74,7 +74,7 @@ sap.ui.define([
74
74
  * @mixes sap.ui.model.odata.v4.ODataParentBinding
75
75
  * @public
76
76
  * @since 1.37.0
77
- * @version 1.132.1
77
+ * @version 1.134.0
78
78
  *
79
79
  * @borrows sap.ui.model.odata.v4.ODataBinding#getGroupId as #getGroupId
80
80
  * @borrows sap.ui.model.odata.v4.ODataBinding#getRootBinding as #getRootBinding
@@ -841,6 +841,8 @@ sap.ui.define([
841
841
  /**
842
842
  * Handles setting a parameter property in case of a deferred operation binding, otherwise it
843
843
  * returns <code>undefined</code>.
844
+ *
845
+ * @private
844
846
  */
845
847
  // @override sap.ui.model.odata.v4.ODataParentBinding#doSetProperty
846
848
  ODataContextBinding.prototype.doSetProperty = function (sPath, vValue, oGroupLock) {
@@ -1285,9 +1287,8 @@ sap.ui.define([
1285
1287
  *
1286
1288
  * @param {string} [sGroupId]
1287
1289
  * The group ID to be used for the request; if not specified, the group ID for this binding is
1288
- * used, see {@link sap.ui.model.odata.v4.ODataContextBinding#constructor} and
1289
- * {@link #getGroupId}. To use the update group ID, see {@link #getUpdateGroupId}, it needs to
1290
- * be specified explicitly.
1290
+ * used, see {@link #constructor} and {@link #getGroupId}. To use the update group ID, see
1291
+ * {@link #getUpdateGroupId}, it needs to be specified explicitly.
1291
1292
  * Valid values are <code>undefined</code>, '$auto', '$auto.*', '$direct', '$single', or
1292
1293
  * application group IDs as specified in {@link sap.ui.model.odata.v4.ODataModel}. If
1293
1294
  * '$single' is used, the request will be sent as fast as '$direct', but wrapped in a batch