@openui5/sap.ui.core 1.103.1 → 1.106.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 (405) hide show
  1. package/.reuse/dep5 +35 -15
  2. package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +5 -0
  3. package/THIRDPARTY.txt +64 -21
  4. package/package.json +1 -1
  5. package/src/jquery.sap.dom.js +10 -10
  6. package/src/jquery.sap.global.js +24 -216
  7. package/src/jquery.sap.history.js +1 -1
  8. package/src/jquery.sap.properties.js +2 -2
  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 +4 -4
  12. package/src/sap/base/i18n/ResourceBundle.js +7 -11
  13. package/src/sap/base/util/LoaderExtensions.js +69 -61
  14. package/src/sap/base/util/ObjectPath.js +1 -1
  15. package/src/sap/base/util/Properties.js +1 -1
  16. package/src/sap/base/util/fetch.js +228 -0
  17. package/src/sap/base/util/mixedFetch.js +69 -0
  18. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  19. package/src/sap/base/util/restricted/_castArray.js +1 -1
  20. package/src/sap/base/util/restricted/_compact.js +1 -1
  21. package/src/sap/base/util/restricted/_curry.js +1 -1
  22. package/src/sap/base/util/restricted/_debounce.js +1 -1
  23. package/src/sap/base/util/restricted/_difference.js +1 -1
  24. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  25. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  26. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  27. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  28. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  29. package/src/sap/base/util/restricted/_flatten.js +1 -1
  30. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  31. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  32. package/src/sap/base/util/restricted/_intersection.js +1 -1
  33. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  34. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  35. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  36. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  37. package/src/sap/base/util/restricted/_isNil.js +1 -1
  38. package/src/sap/base/util/restricted/_max.js +1 -1
  39. package/src/sap/base/util/restricted/_merge.js +1 -1
  40. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  41. package/src/sap/base/util/restricted/_min.js +1 -1
  42. package/src/sap/base/util/restricted/_omit.js +1 -1
  43. package/src/sap/base/util/restricted/_pick.js +1 -1
  44. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  45. package/src/sap/base/util/restricted/_throttle.js +1 -1
  46. package/src/sap/base/util/restricted/_toArray.js +1 -1
  47. package/src/sap/base/util/restricted/_union.js +1 -1
  48. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  49. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  50. package/src/sap/base/util/restricted/_uniq.js +1 -1
  51. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  52. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  53. package/src/sap/base/util/restricted/_without.js +1 -1
  54. package/src/sap/base/util/restricted/_xor.js +1 -1
  55. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  56. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  57. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  58. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  59. package/src/sap/base/util/syncFetch.js +66 -0
  60. package/src/sap/ui/Device.js +5 -5
  61. package/src/sap/ui/Global.js +7 -14
  62. package/src/sap/ui/VersionInfo.js +57 -54
  63. package/src/sap/ui/base/BindingInfo.js +198 -0
  64. package/src/sap/ui/base/DataType.js +1 -1
  65. package/src/sap/ui/base/Event.js +2 -2
  66. package/src/sap/ui/base/EventProvider.js +2 -2
  67. package/src/sap/ui/base/Interface.js +1 -1
  68. package/src/sap/ui/base/ManagedObject.js +209 -979
  69. package/src/sap/ui/base/ManagedObjectMetadata.js +6 -6
  70. package/src/sap/ui/base/ManagedObjectObserver.js +2 -2
  71. package/src/sap/ui/base/Metadata.js +1 -1
  72. package/src/sap/ui/base/Object.js +1 -1
  73. package/src/sap/ui/base/ObjectPool.js +1 -1
  74. package/src/sap/ui/core/.library +72 -50
  75. package/src/sap/ui/core/AccessKeysEnablement.js +173 -0
  76. package/src/sap/ui/core/AppCacheBuster.js +65 -51
  77. package/src/sap/ui/core/BusyIndicator.js +1 -1
  78. package/src/sap/ui/core/Component.js +52 -25
  79. package/src/sap/ui/core/ComponentContainer.js +1 -1
  80. package/src/sap/ui/core/ComponentMetadata.js +16 -23
  81. package/src/sap/ui/core/ComponentSupport.js +1 -1
  82. package/src/sap/ui/core/Configuration.js +598 -358
  83. package/src/sap/ui/core/Control.js +1 -1
  84. package/src/sap/ui/core/Core.js +126 -185
  85. package/src/sap/ui/core/CustomData.js +1 -1
  86. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  87. package/src/sap/ui/core/Element.js +68 -4
  88. package/src/sap/ui/core/ElementMetadata.js +6 -4
  89. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  90. package/src/sap/ui/core/EventBus.js +1 -1
  91. package/src/sap/ui/core/ExtensionPoint.js +2 -2
  92. package/src/sap/ui/core/FocusHandler.js +84 -39
  93. package/src/sap/ui/core/Fragment.js +1 -1
  94. package/src/sap/ui/core/HTML.js +1 -1
  95. package/src/sap/ui/core/History.js +1 -1
  96. package/src/sap/ui/core/Icon.js +1 -1
  97. package/src/sap/ui/core/IconPool.js +8 -8
  98. package/src/sap/ui/core/IndicationColorSupport.js +2 -2
  99. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  100. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  101. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  102. package/src/sap/ui/core/InvisibleText.js +4 -1
  103. package/src/sap/ui/core/Item.js +1 -1
  104. package/src/sap/ui/core/LabelEnablement.js +1 -1
  105. package/src/sap/ui/core/LayoutData.js +1 -1
  106. package/src/sap/ui/core/ListItem.js +1 -1
  107. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  108. package/src/sap/ui/core/Locale.js +1 -1
  109. package/src/sap/ui/core/LocaleData.js +8 -51
  110. package/src/sap/ui/core/Manifest.js +3 -5
  111. package/src/sap/ui/core/Message.js +1 -1
  112. package/src/sap/ui/core/Popup.js +13 -8
  113. package/src/sap/ui/core/RenderManager.js +17 -21
  114. package/src/sap/ui/core/Renderer.js +1 -1
  115. package/src/sap/ui/core/ResizeHandler.js +28 -49
  116. package/src/sap/ui/core/ScrollBar.js +1 -1
  117. package/src/sap/ui/core/SeparatorItem.js +1 -1
  118. package/src/sap/ui/core/Title.js +1 -1
  119. package/src/sap/ui/core/TooltipBase.js +12 -13
  120. package/src/sap/ui/core/UIArea.js +13 -12
  121. package/src/sap/ui/core/UIComponent.js +3 -3
  122. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  123. package/src/sap/ui/core/ValueStateSupport.js +2 -2
  124. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  125. package/src/sap/ui/core/XMLComposite.js +5 -2
  126. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  127. package/src/sap/ui/core/XMLTemplateProcessor.js +7 -7
  128. package/src/sap/ui/core/_ConfigurationProvider.js +187 -0
  129. package/src/sap/ui/core/_IconRegistry.js +66 -55
  130. package/src/sap/ui/core/cache/CacheManager.js +20 -16
  131. package/src/sap/ui/core/cache/CacheManagerNOP.js +5 -2
  132. package/src/sap/ui/core/cache/LRUPersistentCache.js +15 -8
  133. package/src/sap/ui/core/cldr/en.json +0 -1
  134. package/src/sap/ui/core/cldr/es_BO.json +3 -3
  135. package/src/sap/ui/core/cldr/es_CL.json +3 -3
  136. package/src/sap/ui/core/cldr/es_MX.json +3 -3
  137. package/src/sap/ui/core/cldr/es_PE.json +3 -3
  138. package/src/sap/ui/core/cldr/es_UY.json +3 -3
  139. package/src/sap/ui/core/cldr/es_VE.json +2 -2
  140. package/src/sap/ui/core/date/Buddhist.js +15 -13
  141. package/src/sap/ui/core/date/Japanese.js +0 -6
  142. package/src/sap/ui/core/date/UniversalDate.js +144 -34
  143. package/src/sap/ui/core/delegate/ItemNavigation.js +2 -2
  144. package/src/sap/ui/core/delegate/ScrollEnablement.js +7 -6
  145. package/src/sap/ui/core/dnd/DragAndDrop.js +13 -9
  146. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  147. package/src/sap/ui/core/dnd/DragDropInfo.js +3 -3
  148. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  149. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  150. package/src/sap/ui/core/format/DateFormat.js +36 -9
  151. package/src/sap/ui/core/format/NumberFormat.js +92 -26
  152. package/src/sap/ui/core/format/TimezoneUtil.js +2 -2
  153. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  154. package/src/sap/ui/core/library.js +44 -3
  155. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  156. package/src/sap/ui/core/message/Message.js +1 -1
  157. package/src/sap/ui/core/message/MessageManager.js +1 -1
  158. package/src/sap/ui/core/message/MessageParser.js +1 -1
  159. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  160. package/src/sap/ui/core/messagebundle.properties +2 -0
  161. package/src/sap/ui/core/messagebundle_ar.properties +54 -53
  162. package/src/sap/ui/core/messagebundle_bg.properties +54 -53
  163. package/src/sap/ui/core/messagebundle_ca.properties +28 -27
  164. package/src/sap/ui/core/messagebundle_cs.properties +37 -36
  165. package/src/sap/ui/core/messagebundle_cy.properties +57 -56
  166. package/src/sap/ui/core/messagebundle_da.properties +53 -52
  167. package/src/sap/ui/core/messagebundle_de.properties +54 -53
  168. package/src/sap/ui/core/messagebundle_el.properties +46 -45
  169. package/src/sap/ui/core/messagebundle_en.properties +57 -56
  170. package/src/sap/ui/core/messagebundle_en_GB.properties +57 -56
  171. package/src/sap/ui/core/messagebundle_en_US_sappsd.properties +1 -0
  172. package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +1 -0
  173. package/src/sap/ui/core/messagebundle_en_US_saptrc.properties +1 -0
  174. package/src/sap/ui/core/messagebundle_es.properties +42 -41
  175. package/src/sap/ui/core/messagebundle_es_MX.properties +54 -53
  176. package/src/sap/ui/core/messagebundle_et.properties +51 -50
  177. package/src/sap/ui/core/messagebundle_fi.properties +48 -47
  178. package/src/sap/ui/core/messagebundle_fr.properties +37 -36
  179. package/src/sap/ui/core/messagebundle_fr_CA.properties +22 -21
  180. package/src/sap/ui/core/messagebundle_hi.properties +42 -41
  181. package/src/sap/ui/core/messagebundle_hr.properties +55 -54
  182. package/src/sap/ui/core/messagebundle_hu.properties +56 -55
  183. package/src/sap/ui/core/messagebundle_id.properties +55 -54
  184. package/src/sap/ui/core/messagebundle_it.properties +55 -54
  185. package/src/sap/ui/core/messagebundle_iw.properties +55 -54
  186. package/src/sap/ui/core/messagebundle_ja.properties +48 -47
  187. package/src/sap/ui/core/messagebundle_kk.properties +41 -40
  188. package/src/sap/ui/core/messagebundle_ko.properties +21 -20
  189. package/src/sap/ui/core/messagebundle_lt.properties +55 -54
  190. package/src/sap/ui/core/messagebundle_lv.properties +55 -54
  191. package/src/sap/ui/core/messagebundle_ms.properties +52 -51
  192. package/src/sap/ui/core/messagebundle_nl.properties +53 -52
  193. package/src/sap/ui/core/messagebundle_no.properties +53 -52
  194. package/src/sap/ui/core/messagebundle_pl.properties +52 -51
  195. package/src/sap/ui/core/messagebundle_pt.properties +54 -53
  196. package/src/sap/ui/core/messagebundle_pt_PT.properties +55 -54
  197. package/src/sap/ui/core/messagebundle_ro.properties +56 -55
  198. package/src/sap/ui/core/messagebundle_ru.properties +52 -51
  199. package/src/sap/ui/core/messagebundle_sh.properties +57 -56
  200. package/src/sap/ui/core/messagebundle_sk.properties +54 -53
  201. package/src/sap/ui/core/messagebundle_sl.properties +56 -55
  202. package/src/sap/ui/core/messagebundle_sv.properties +52 -51
  203. package/src/sap/ui/core/messagebundle_th.properties +25 -24
  204. package/src/sap/ui/core/messagebundle_tr.properties +56 -55
  205. package/src/sap/ui/core/messagebundle_uk.properties +55 -54
  206. package/src/sap/ui/core/messagebundle_vi.properties +56 -55
  207. package/src/sap/ui/core/messagebundle_zh_CN.properties +55 -54
  208. package/src/sap/ui/core/messagebundle_zh_TW.properties +55 -54
  209. package/src/sap/ui/core/mvc/Controller.js +17 -12
  210. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  211. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  212. package/src/sap/ui/core/mvc/JSView.js +2 -2
  213. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  214. package/src/sap/ui/core/mvc/View.js +7 -7
  215. package/src/sap/ui/core/mvc/XMLView.js +1 -2
  216. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  217. package/src/sap/ui/core/plugin/LessSupport.js +16 -14
  218. package/src/sap/ui/core/plugin/TemplatingSupport.js +2 -1
  219. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  220. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  221. package/src/sap/ui/core/routing/Router.js +4 -4
  222. package/src/sap/ui/core/routing/async/TargetCache.js +4 -0
  223. package/src/sap/ui/core/rules/App.support.js +11 -13
  224. package/src/sap/ui/core/rules/Config.support.js +14 -14
  225. package/src/sap/ui/core/rules/CoreHelper.support.js +3 -3
  226. package/src/sap/ui/core/rules/Model.support.js +8 -8
  227. package/src/sap/ui/core/rules/Rendering.support.js +1 -1
  228. package/src/sap/ui/core/rules/Theming.support.js +8 -8
  229. package/src/sap/ui/core/rules/View.support.js +20 -13
  230. package/src/sap/ui/core/search/OpenSearchProvider.js +25 -12
  231. package/src/sap/ui/core/search/SearchProvider.js +2 -2
  232. package/src/sap/ui/core/service/Service.js +1 -1
  233. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  234. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  235. package/src/sap/ui/core/support/Hotkeys.js +2 -3
  236. package/src/sap/ui/core/support/Plugin.js +1 -1
  237. package/src/sap/ui/core/support/Support.js +3 -4
  238. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  239. package/src/sap/ui/core/support/plugins/Debugging.js +4 -4
  240. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  241. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  242. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  243. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  244. package/src/sap/ui/core/support/plugins/TechInfo.js +46 -33
  245. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  246. package/src/sap/ui/core/support/plugins/ViewInfo.js +3 -4
  247. package/src/sap/ui/core/support/support.html +1 -1
  248. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +3 -3
  249. package/src/sap/ui/core/themes/base/Icon.less +4 -0
  250. package/src/sap/ui/core/themes/base/LocalBusyIndicator.less +1 -1
  251. package/src/sap/ui/core/themes/base/base.less +26 -26
  252. package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
  253. package/src/sap/ui/core/themes/base/global.less +5 -1
  254. package/src/sap/ui/core/themes/base/shared.less +6 -0
  255. package/src/sap/ui/core/theming/Parameters.js +52 -53
  256. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  257. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  258. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  259. package/src/sap/ui/core/tmpl/Template.js +7 -5
  260. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  261. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  262. package/src/sap/ui/core/util/Export.js +1 -1
  263. package/src/sap/ui/core/util/ExportCell.js +1 -1
  264. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  265. package/src/sap/ui/core/util/ExportRow.js +1 -1
  266. package/src/sap/ui/core/util/ExportType.js +1 -1
  267. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  268. package/src/sap/ui/core/util/File.js +1 -1
  269. package/src/sap/ui/core/util/LibraryInfo.js +61 -42
  270. package/src/sap/ui/core/util/MockServer.js +45 -71
  271. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  272. package/src/sap/ui/core/util/ResponsivePaddingsEnablement.js +4 -3
  273. package/src/sap/ui/core/util/XMLPreprocessor.js +3 -3
  274. package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +1 -4
  275. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  276. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  277. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  278. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  279. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  280. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  281. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  282. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  283. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  284. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  285. package/src/sap/ui/debug/ControlTree.js +1 -1
  286. package/src/sap/ui/debug/DebugEnv.js +1 -1
  287. package/src/sap/ui/debug/PropertyList.css +1 -31
  288. package/src/sap/ui/debug/PropertyList.js +6 -240
  289. package/src/sap/ui/dom/getScrollbarSize.js +1 -1
  290. package/src/sap/ui/dom/jquery/control.js +1 -0
  291. package/src/sap/ui/events/jquery/EventSimulation.js +4 -4
  292. package/src/sap/ui/model/ClientModel.js +1 -1
  293. package/src/sap/ui/model/CompositeDataState.js +1 -1
  294. package/src/sap/ui/model/CompositeType.js +1 -1
  295. package/src/sap/ui/model/Context.js +3 -0
  296. package/src/sap/ui/model/ContextBinding.js +1 -1
  297. package/src/sap/ui/model/DataState.js +3 -3
  298. package/src/sap/ui/model/ListBinding.js +2 -2
  299. package/src/sap/ui/model/ManagedObjectBindingSupport.js +871 -0
  300. package/src/sap/ui/model/MetaModel.js +1 -1
  301. package/src/sap/ui/model/Model.js +16 -5
  302. package/src/sap/ui/model/SelectionModel.js +1 -1
  303. package/src/sap/ui/model/SimpleType.js +2 -2
  304. package/src/sap/ui/model/Sorter.js +2 -2
  305. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  306. package/src/sap/ui/model/Type.js +1 -1
  307. package/src/sap/ui/model/_Helper.js +3 -1
  308. package/src/sap/ui/model/analytics/odata4analytics.js +2 -2
  309. package/src/sap/ui/model/base/ManagedObjectModel.js +2 -2
  310. package/src/sap/ui/model/json/JSONModel.js +2 -2
  311. package/src/sap/ui/model/message/MessageModel.js +1 -1
  312. package/src/sap/ui/model/odata/AnnotationHelper.js +4 -4
  313. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  314. package/src/sap/ui/model/odata/ODataMessageParser.js +4 -4
  315. package/src/sap/ui/model/odata/ODataMetaModel.js +10 -10
  316. package/src/sap/ui/model/odata/ODataMetadata.js +6 -3
  317. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  318. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +459 -268
  319. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  320. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  321. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  322. package/src/sap/ui/model/odata/type/Date.js +1 -1
  323. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  324. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  325. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  326. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  327. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  328. package/src/sap/ui/model/odata/type/Double.js +1 -1
  329. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  330. package/src/sap/ui/model/odata/type/Int.js +1 -1
  331. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  332. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  333. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  334. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  335. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  336. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  337. package/src/sap/ui/model/odata/type/Single.js +1 -1
  338. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  339. package/src/sap/ui/model/odata/type/String.js +1 -1
  340. package/src/sap/ui/model/odata/type/Time.js +1 -1
  341. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  342. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  343. package/src/sap/ui/model/odata/v2/Context.js +5 -5
  344. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  345. package/src/sap/ui/model/odata/v2/ODataContextBinding.js +5 -2
  346. package/src/sap/ui/model/odata/v2/ODataListBinding.js +26 -1
  347. package/src/sap/ui/model/odata/v2/ODataModel.js +164 -125
  348. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +18 -2
  349. package/src/sap/ui/model/odata/v4/AnnotationHelper.js +3 -3
  350. package/src/sap/ui/model/odata/v4/Context.js +169 -79
  351. package/src/sap/ui/model/odata/v4/ODataBinding.js +51 -12
  352. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +111 -92
  353. package/src/sap/ui/model/odata/v4/ODataListBinding.js +206 -150
  354. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +13 -10
  355. package/src/sap/ui/model/odata/v4/ODataModel.js +249 -28
  356. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +33 -18
  357. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +17 -11
  358. package/src/sap/ui/model/odata/v4/ODataUtils.js +7 -4
  359. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +142 -35
  360. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +167 -16
  361. package/src/sap/ui/model/odata/v4/lib/_Cache.js +388 -188
  362. package/src/sap/ui/model/odata/v4/lib/_ConcatHelper.js +2 -3
  363. package/src/sap/ui/model/odata/v4/lib/_Helper.js +119 -43
  364. package/src/sap/ui/model/odata/v4/lib/_MinMaxHelper.js +2 -3
  365. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +13 -6
  366. package/src/sap/ui/model/resource/ResourceModel.js +2 -2
  367. package/src/sap/ui/model/type/Boolean.js +1 -1
  368. package/src/sap/ui/model/type/Currency.js +2 -2
  369. package/src/sap/ui/model/type/Date.js +1 -1
  370. package/src/sap/ui/model/type/DateInterval.js +1 -1
  371. package/src/sap/ui/model/type/DateTime.js +1 -1
  372. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  373. package/src/sap/ui/model/type/FileSize.js +1 -1
  374. package/src/sap/ui/model/type/Float.js +1 -1
  375. package/src/sap/ui/model/type/Integer.js +1 -1
  376. package/src/sap/ui/model/type/String.js +2 -2
  377. package/src/sap/ui/model/type/Time.js +1 -1
  378. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  379. package/src/sap/ui/model/type/Unit.js +1 -1
  380. package/src/sap/ui/model/xml/XMLModel.js +4 -2
  381. package/src/sap/ui/performance/trace/FESR.js +27 -24
  382. package/src/sap/ui/performance/trace/Interaction.js +66 -16
  383. package/src/sap/ui/qunit/QUnitUtils.js +1 -2
  384. package/src/sap/ui/qunit/sinon-qunit-bridge.js +1 -1
  385. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  386. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  387. package/src/sap/ui/test/Opa5.js +1 -1
  388. package/src/sap/ui/test/OpaBuilder.js +1 -1
  389. package/src/sap/ui/test/TestUtils.js +35 -2
  390. package/src/sap/ui/test/actions/Press.js +7 -0
  391. package/src/sap/ui/test/generic/TestBase.js +1 -1
  392. package/src/sap/ui/test/matchers/AggregationContainsPropertyEqual.js +2 -3
  393. package/src/sap/ui/test/matchers/AggregationFilled.js +2 -3
  394. package/src/sap/ui/test/matchers/AggregationLengthEquals.js +2 -3
  395. package/src/sap/ui/test/matchers/Matcher.js +9 -11
  396. package/src/sap/ui/test/opaQunit.js +15 -9
  397. package/src/sap/ui/test/pipelines/ActionPipeline.js +2 -3
  398. package/src/sap/ui/test/pipelines/MatcherPipeline.js +2 -3
  399. package/src/sap/ui/test/pipelines/PipelineFactory.js +2 -3
  400. package/src/sap/ui/thirdparty/IPv6.js +1 -1
  401. package/src/sap/ui/thirdparty/SecondLevelDomains.js +1 -1
  402. package/src/sap/ui/thirdparty/URI.js +8 -2
  403. package/src/sap/ui/thirdparty/URITemplate.js +1 -1
  404. package/src/sap/ui/util/Storage.js +1 -1
  405. package/src/sap/ui/util/XMLHelper.js +1 -1
@@ -10,7 +10,7 @@
10
10
  * @alias module:sap/base/util/restricted/_xor
11
11
  * @author SAP SE
12
12
  * @since 1.80
13
- * @version 1.103.1
13
+ * @version 1.106.0
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias module:sap/base/util/restricted/_xorBy
11
11
  * @author SAP SE
12
12
  * @since 1.80
13
- * @version 1.103.1
13
+ * @version 1.106.0
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias module:sap/base/util/restricted/_xorWith
11
11
  * @author SAP SE
12
12
  * @since 1.80
13
- * @version 1.103.1
13
+ * @version 1.106.0
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias module:sap/base/util/restricted/_zipObject
11
11
  * @author SAP SE
12
12
  * @since 1.81
13
- * @version 1.103.1
13
+ * @version 1.106.0
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -10,7 +10,7 @@
10
10
  * @alias module:sap/base/util/restricted/_zipObjectDeep
11
11
  * @author SAP SE
12
12
  * @since 1.81
13
- * @version 1.103.1
13
+ * @version 1.106.0
14
14
  * @private
15
15
  * @ui5-restricted
16
16
  */
@@ -0,0 +1,66 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ sap.ui.define([
7
+ "./fetch",
8
+ "sap/ui/base/SyncPromise"
9
+ ], function (fetch, SyncPromise) {
10
+ "use strict";
11
+
12
+ function SyncResponseMixin() {
13
+ var superText = this.text;
14
+ var superJson = this.json;
15
+
16
+ this.text = function() {
17
+ return superText().unwrap();
18
+ };
19
+ this.json = function () {
20
+ return superJson().unwrap();
21
+ };
22
+ }
23
+
24
+
25
+ /**
26
+ * Performs a synchronous XMLHttpRequest (XHR) with the provided resource URL and request settings.
27
+ * It returns a <code>sap.base.util.SimpleResponse</code> object, which is
28
+ * a simplified implementation of the global Response interface, representing the response of the XHR.
29
+ *
30
+ * If the request encounters network failures, this method will throw a <code>TypeError</code>.
31
+ * In case of an HTTP error status (e.g. error status 404), no error will be thrown. The properties
32
+ * <code>response.ok</code> or <code>response.status</code> can be used to distinguish
33
+ * a success status from an error status.
34
+ *
35
+ * A <code>DOMException</code> will be thrown if the request gets aborted.
36
+ * To abort a request, an instance of the global <code>AbortSignal</code> must be provided to the settings.
37
+ * An abort signal can be created via an instance of the <code>AbortController</code>, and then using
38
+ * the <code>AbortController.signal</code> property. The signal associates the abort controller with the request
39
+ * and allows it to abort the XHR by calling <code>AbortController.abort()</code>.
40
+ *
41
+ * @param {string} resource A string containing the URL to which the request is sent
42
+ * @param {object} [init] A set of key/value pairs that configure the request.
43
+ * @param {any} [init.body] Any body that you want to add to your request: this can be a Blob, BufferSource, FormData, URLSearchParams, string, or ReadableStream object.
44
+ * Note that a request using the GET or HEAD method cannot have a body.
45
+ * @param {"omit"|"same-origin"|"include"} [init.credentials='same-origin'] Controls what browsers do with credentials.
46
+ * Must be either 'omit', 'same-origin' or 'include'.
47
+ * @param {Headers|object} [init.headers] A Headers object or an object with key/value pairs containing the request headers
48
+ * @param {string} [init.method='GET'] The request method, e.g. 'GET', 'POST'
49
+ * @param {AbortSignal} [init.signal] An AbortSignal object instance which allows to abort the request
50
+ * @return {sap.base.util.SimpleResponse} Returns a <code>sap.base.util.SimpleResponse</code> response object
51
+ *
52
+ * @alias module:sap/base/util/syncFetch
53
+ * @private
54
+ * @ui5-restricted SAPUI5 Dist
55
+ */
56
+ function syncFetch(resource, init) {
57
+ return fetch(resource, init, {
58
+ promiseImpl: SyncPromise,
59
+ responseMixin: SyncResponseMixin
60
+ }).unwrap();
61
+ }
62
+
63
+ syncFetch.ContentTypes = fetch.ContentTypes;
64
+
65
+ return syncFetch;
66
+ });
@@ -11,7 +11,7 @@
11
11
  * This API is independent from any other part of the UI5 framework. This allows it to be loaded beforehand, if it is needed, to create the UI5 bootstrap
12
12
  * dynamically depending on the capabilities of the browser or device.
13
13
  *
14
- * @version 1.103.1
14
+ * @version 1.106.0
15
15
  * @namespace
16
16
  * @name sap.ui.Device
17
17
  * @public
@@ -32,7 +32,7 @@ if (typeof window.sap.ui !== "object") {
32
32
 
33
33
  //Skip initialization if API is already available
34
34
  if (typeof window.sap.ui.Device === "object" || typeof window.sap.ui.Device === "function") {
35
- var apiVersion = "1.103.1";
35
+ var apiVersion = "1.106.0";
36
36
  window.sap.ui.Device._checkAPIVersion(apiVersion);
37
37
  return;
38
38
  }
@@ -105,7 +105,7 @@ if (typeof window.sap.ui !== "object") {
105
105
 
106
106
  //Only used internal to make clear when Device API is loaded in wrong version
107
107
  Device._checkAPIVersion = function(sVersion) {
108
- var v = "1.103.1";
108
+ var v = "1.106.0";
109
109
  if (v != sVersion) {
110
110
  oLogger.log(WARNING, "Device API version differs: " + v + " <-> " + sVersion);
111
111
  }
@@ -1192,7 +1192,7 @@ if (typeof window.sap.ui !== "object") {
1192
1192
  * <li><code>mParams.name</code>: The name of the entered interval, if available</li>
1193
1193
  * </ul>
1194
1194
  *
1195
- * @param {function}
1195
+ * @param {function({from: number, to: number, unit: string, name: string | undefined})}
1196
1196
  * fnFunction The handler function to call when the event occurs. This function will be called in the context of the
1197
1197
  * <code>oListener</code> instance (if present) or on the <code>window</code> instance. A map with information
1198
1198
  * about the entered range set is provided as a single argument to the handler (see details above).
@@ -1351,7 +1351,7 @@ if (typeof window.sap.ui !== "object") {
1351
1351
  * @param {string} sName The name of the range set. The range set must be initialized beforehand ({@link sap.ui.Device.media.initRangeSet})
1352
1352
  * @param {int} [iWidth] An optional width, based on which the range should be determined;
1353
1353
  * If <code>iWidth</code> is not a number, the window size will be used.
1354
- * @returns {object} Information about the current active interval of the range set. The returned object has the same structure as the argument of the event handlers ({@link sap.ui.Device.media.attachHandler})
1354
+ * @returns {{from: number, to: number, unit: string, name: string | undefined}} Information about the current active interval of the range set. The returned object has the same structure as the argument of the event handlers ({@link sap.ui.Device.media.attachHandler})
1355
1355
  *
1356
1356
  * @name sap.ui.Device.media.getCurrentRange
1357
1357
  * @function
@@ -18,7 +18,7 @@
18
18
  * sap.ui.lazyRequire("sap.ui.core.Control");
19
19
  * sap.ui.lazyRequire("sap.m.Button");
20
20
  *
21
- * @version 1.103.1
21
+ * @version 1.106.0
22
22
  * @author SAP SE
23
23
  * @public
24
24
  */
@@ -27,11 +27,12 @@
27
27
 
28
28
  sap.ui.define([
29
29
  'sap/ui/VersionInfo',
30
+ 'sap/ui/core/Configuration',
30
31
  'sap/base/Log',
31
32
  'sap/base/assert',
32
33
  'sap/base/util/ObjectPath'
33
34
  ],
34
- function(VersionInfo, Log, assert, ObjectPath) {
35
+ function(VersionInfo, Configuration, Log, assert, ObjectPath) {
35
36
  "use strict";
36
37
 
37
38
  // Register to the OpenAjax Hub if it exists
@@ -48,7 +49,7 @@ sap.ui.define([
48
49
  * The <code>sap</code> namespace is automatically registered with the
49
50
  * OpenAjax hub if it exists.
50
51
  *
51
- * @version 1.103.1
52
+ * @version 1.106.0
52
53
  * @namespace
53
54
  * @public
54
55
  * @name sap
@@ -61,7 +62,7 @@ sap.ui.define([
61
62
  * The <code>sap.ui</code> namespace is the central OpenAjax compliant entry
62
63
  * point for UI related JavaScript functionality provided by SAP.
63
64
  *
64
- * @version 1.103.1
65
+ * @version 1.106.0
65
66
  * @namespace
66
67
  * @name sap.ui
67
68
  * @public
@@ -75,20 +76,12 @@ sap.ui.define([
75
76
  * The version of the SAP UI Library
76
77
  * @type string
77
78
  */
78
- version: "1.103.1",
79
+ version: "1.106.0",
79
80
  // buildinfo.lastchange is deprecated and is therefore defaulted to empty string
80
81
  buildinfo : { lastchange : "", buildtime : "${buildtime}" }
81
82
  });
82
83
 
83
- var oCfgData = window["sap-ui-config"] || {};
84
-
85
- var syncCallBehavior = 0; // ignore
86
- if ( oCfgData['xx-nosync'] === 'warn' || /(?:\?|&)sap-ui-xx-nosync=(?:warn)/.exec(window.location.search) ) {
87
- syncCallBehavior = 1;
88
- }
89
- if ( oCfgData['xx-nosync'] === true || oCfgData['xx-nosync'] === 'true' || /(?:\?|&)sap-ui-xx-nosync=(?:x|X|true)/.exec(window.location.search) ) {
90
- syncCallBehavior = 2;
91
- }
84
+ var syncCallBehavior = Configuration.getSyncCallBehavior();
92
85
 
93
86
  /**
94
87
  * Loads the version info file (resources/sap-ui-version.json) and returns
@@ -53,16 +53,24 @@ sap.ui.define(['sap/base/util/LoaderExtensions'], function (LoaderExtensions) {
53
53
 
54
54
  /**
55
55
  * Mapping of library name to it's dependencies.
56
- * Extracted from sap.ui.versioninfo.
56
+ * Extracted from the loaded version info.
57
57
  */
58
58
  var mKnownLibs;
59
59
 
60
60
  /**
61
61
  * Mapping of component names to it's dependencies.
62
- * Extracted from sap.ui.versioninfo.
62
+ * Extracted from the loaded version info.
63
63
  */
64
64
  var mKnownComponents;
65
65
 
66
+ function updateVersionInfo(oNewVersionInfo) {
67
+ // Persist the info object
68
+ oVersionInfo = oNewVersionInfo;
69
+ // reset known libs and components
70
+ mKnownLibs = null;
71
+ mKnownComponents = null;
72
+ }
73
+
66
74
  Object.defineProperty(sap.ui, "versioninfo", {
67
75
  configurable: true,
68
76
  enumerable: true,
@@ -70,11 +78,7 @@ sap.ui.define(['sap/base/util/LoaderExtensions'], function (LoaderExtensions) {
70
78
  return oVersionInfo;
71
79
  },
72
80
  set: function(oNewVersionInfo) {
73
- oVersionInfo = oNewVersionInfo;
74
-
75
- // reset known libs and components
76
- mKnownLibs = null;
77
- mKnownComponents = null;
81
+ updateVersionInfo(oNewVersionInfo);
78
82
  }
79
83
  });
80
84
 
@@ -106,7 +110,7 @@ sap.ui.define(['sap/base/util/LoaderExtensions'], function (LoaderExtensions) {
106
110
  // Cast "failOnError" to boolean (defaults to true)
107
111
  mOptions.failOnError = mOptions.failOnError !== false;
108
112
 
109
- if (!sap.ui.versioninfo) {
113
+ if (!oVersionInfo) {
110
114
  // Load and cache the versioninfo
111
115
 
112
116
  // When async is enabled and the file is currently being loaded
@@ -120,8 +124,8 @@ sap.ui.define(['sap/base/util/LoaderExtensions'], function (LoaderExtensions) {
120
124
  });
121
125
  }
122
126
 
123
- var fnHandleSuccess = function(oVersionInfo) {
124
- // Remove the stored Promise as the versioninfo is now cached.
127
+ var fnHandleSuccess = function(oNewVersionInfo) {
128
+ // Remove the stored Promise as the version info is now cached.
125
129
  // This allows reloading the file by clearing "sap.ui.versioninfo"
126
130
  // (however this is not documented and therefore not supported).
127
131
  oVersionInfoPromise = null;
@@ -129,20 +133,18 @@ sap.ui.define(['sap/base/util/LoaderExtensions'], function (LoaderExtensions) {
129
133
  // "LoaderExtensions.loadResource" returns "null" in case of an error when
130
134
  // "failOnError" is set to "false". In this case the won't be persisted
131
135
  // and undefined will be returned.
132
- if (oVersionInfo === null) {
136
+ if (oNewVersionInfo === null) {
133
137
  return undefined;
134
138
  }
135
139
 
136
- // Persist the info object to return it in subsequent calls
137
- sap.ui.versioninfo = oVersionInfo;
138
-
140
+ updateVersionInfo(oNewVersionInfo);
139
141
 
140
142
  // Calling the function again with the same arguments will return the
141
- // cached value from "sap.ui.versioninfo".
143
+ // cached value from the loaded version info.
142
144
  return VersionInfo._load(mOptions);
143
145
  };
144
146
  var fnHandleError = function(oError) {
145
- // Remove the stored Promise as the versioninfo couldn't be loaded
147
+ // Remove the stored Promise as the version info couldn't be loaded
146
148
  // and should be requested again the next time.
147
149
  oVersionInfoPromise = null;
148
150
 
@@ -170,7 +172,7 @@ sap.ui.define(['sap/base/util/LoaderExtensions'], function (LoaderExtensions) {
170
172
  var oResult;
171
173
  if (typeof mOptions.library !== "undefined") {
172
174
  // Find the version of the individual library
173
- var aLibs = sap.ui.versioninfo.libraries;
175
+ var aLibs = oVersionInfo.libraries;
174
176
  if (aLibs) {
175
177
  for (var i = 0, l = aLibs.length; i < l; i++) {
176
178
  if (aLibs[i].name === mOptions.library) {
@@ -181,7 +183,7 @@ sap.ui.define(['sap/base/util/LoaderExtensions'], function (LoaderExtensions) {
181
183
  }
182
184
  } else {
183
185
  // Return the full version info
184
- oResult = sap.ui.versioninfo;
186
+ oResult = oVersionInfo;
185
187
  }
186
188
 
187
189
  return mOptions.async ? Promise.resolve(oResult) : oResult;
@@ -189,49 +191,50 @@ sap.ui.define(['sap/base/util/LoaderExtensions'], function (LoaderExtensions) {
189
191
  };
190
192
 
191
193
  /**
192
- * Transforms the sap.ui.versioninfo to an easier consumable map.
194
+ * Transforms the loaded version info to an easier consumable map.
193
195
  */
194
196
  function transformVersionInfo() {
195
-
196
- // get the transitive dependencies of the given libs from the sap.ui.versioninfo
197
- // only do this once if mKnownLibs is not created yet
198
- if (sap.ui.versioninfo && sap.ui.versioninfo.libraries && !mKnownLibs) {
199
- // flatten dependency lists for all libs
200
- mKnownLibs = {};
201
- sap.ui.versioninfo.libraries.forEach(function(oLib, i) {
202
- mKnownLibs[oLib.name] = {};
203
-
204
- var mDeps = oLib.manifestHints && oLib.manifestHints.dependencies &&
205
- oLib.manifestHints.dependencies.libs;
206
- for (var sDep in mDeps) {
207
- if (!mDeps[sDep].lazy) {
208
- mKnownLibs[oLib.name][sDep] = true;
197
+ if (oVersionInfo){
198
+ // get the transitive dependencies of the given libs from the loaded version info
199
+ // only do this once if mKnownLibs is not created yet
200
+ if (oVersionInfo.libraries && !mKnownLibs) {
201
+ // flatten dependency lists for all libs
202
+ mKnownLibs = {};
203
+ oVersionInfo.libraries.forEach(function(oLib, i) {
204
+ mKnownLibs[oLib.name] = {};
205
+
206
+ var mDeps = oLib.manifestHints && oLib.manifestHints.dependencies &&
207
+ oLib.manifestHints.dependencies.libs;
208
+ for (var sDep in mDeps) {
209
+ if (!mDeps[sDep].lazy) {
210
+ mKnownLibs[oLib.name][sDep] = true;
211
+ }
209
212
  }
210
- }
211
- });
212
- }
213
+ });
214
+ }
213
215
 
214
- // get transitive dependencies for a component
215
- if (sap.ui.versioninfo && sap.ui.versioninfo.components && !mKnownComponents) {
216
- mKnownComponents = {};
216
+ // get transitive dependencies for a component
217
+ if (oVersionInfo.components && !mKnownComponents) {
218
+ mKnownComponents = {};
217
219
 
218
- Object.keys(sap.ui.versioninfo.components).forEach(function(sComponentName) {
219
- var oComponentInfo = sap.ui.versioninfo.components[sComponentName];
220
+ Object.keys(oVersionInfo.components).forEach(function(sComponentName) {
221
+ var oComponentInfo = oVersionInfo.components[sComponentName];
220
222
 
221
- mKnownComponents[sComponentName] = {
222
- library: oComponentInfo.library,
223
- hasOwnPreload: oComponentInfo.hasOwnPreload || false,
224
- dependencies: []
225
- };
223
+ mKnownComponents[sComponentName] = {
224
+ library: oComponentInfo.library,
225
+ hasOwnPreload: oComponentInfo.hasOwnPreload || false,
226
+ dependencies: []
227
+ };
226
228
 
227
- var mDeps = oComponentInfo.manifestHints && oComponentInfo.manifestHints.dependencies &&
228
- oComponentInfo.manifestHints.dependencies.libs;
229
- for (var sDep in mDeps) {
230
- if (!mDeps[sDep].lazy) {
231
- mKnownComponents[sComponentName].dependencies.push(sDep);
229
+ var mDeps = oComponentInfo.manifestHints && oComponentInfo.manifestHints.dependencies &&
230
+ oComponentInfo.manifestHints.dependencies.libs;
231
+ for (var sDep in mDeps) {
232
+ if (!mDeps[sDep].lazy) {
233
+ mKnownComponents[sComponentName].dependencies.push(sDep);
234
+ }
232
235
  }
233
- }
234
- });
236
+ });
237
+ }
235
238
  }
236
239
  }
237
240
 
@@ -239,7 +242,7 @@ sap.ui.define(['sap/base/util/LoaderExtensions'], function (LoaderExtensions) {
239
242
  * Gets all additional transitive dependencies for the given list of libraries.
240
243
  * Returns a new array.
241
244
  * @param {string[]} aLibraries a list of libraries for which the transitive
242
- * dependencies will be extracted from the sap.ui.versioninfo
245
+ * dependencies will be extracted from the loaded version info
243
246
  * @returns {string[]} the list of all transitive dependencies for the given initial
244
247
  * list of libraries
245
248
  * @static
@@ -0,0 +1,198 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ /*eslint-disable max-len */
7
+ // Provides an abstraction for BindingInfos
8
+ sap.ui.define([
9
+ "sap/ui/core/Configuration",
10
+ "sap/ui/base/BindingParser",
11
+ "sap/ui/model/BindingMode",
12
+ "sap/base/Log"
13
+ ],
14
+ function(Configuration, BindingParser, BindingMode) {
15
+ "use strict";
16
+
17
+ // Marker to not 'forget' ui5Objects
18
+ var sUI5ObjectMarker = Symbol("ui5object");
19
+
20
+ /**
21
+ * This module is responsible for the following tasks:
22
+ * - extracting and parsing binding-info objects
23
+ * - creating Property, Object and Aggregation binding-infos
24
+ * - providing the UI5-object marker symbol
25
+ * - exposing and defaulting the BindingParser
26
+ *
27
+ * @alias sap.ui.base.BindingInfo
28
+ * @namespace
29
+ * @private
30
+ * @ui5-restricted sap.ui.base, sap.ui.core
31
+ */
32
+ var BindingInfo = {
33
+ /**
34
+ * Creates a new property binding-info object based on the given raw definition.
35
+ * @param {sap.ui.base.ManagedObject.PropertyBindingInfo} oBindingInfo raw binding info object
36
+ * @returns {object} valid property binding-info
37
+ * @private
38
+ * @ui5-restricted sap.ui.base, sap.ui.core
39
+ */
40
+ createProperty: function(oBindingInfo) {
41
+ var iSeparatorPos;
42
+
43
+ // only one binding object with one binding specified
44
+ if (!oBindingInfo.parts) {
45
+ oBindingInfo.parts = [];
46
+ oBindingInfo.parts[0] = {
47
+ path: oBindingInfo.path,
48
+ targetType: oBindingInfo.targetType,
49
+ type: oBindingInfo.type,
50
+ suspended: oBindingInfo.suspended,
51
+ formatOptions: oBindingInfo.formatOptions,
52
+ constraints: oBindingInfo.constraints,
53
+ model: oBindingInfo.model,
54
+ mode: oBindingInfo.mode,
55
+ value: oBindingInfo.value
56
+ };
57
+ delete oBindingInfo.path;
58
+ delete oBindingInfo.targetType;
59
+ delete oBindingInfo.mode;
60
+ delete oBindingInfo.model;
61
+ delete oBindingInfo.value;
62
+ }
63
+
64
+ for ( var i = 0; i < oBindingInfo.parts.length; i++ ) {
65
+
66
+ // Plain strings as parts are taken as paths of bindings
67
+ var oPart = oBindingInfo.parts[i];
68
+ if (typeof oPart == "string") {
69
+ oPart = { path: oPart };
70
+ oBindingInfo.parts[i] = oPart;
71
+ }
72
+
73
+ // if a model separator is found in the path, extract model name and path
74
+ if (oPart.path !== undefined) {
75
+ iSeparatorPos = oPart.path.indexOf(">");
76
+ if (iSeparatorPos > 0) {
77
+ oPart.model = oPart.path.substr(0, iSeparatorPos);
78
+ oPart.path = oPart.path.substr(iSeparatorPos + 1);
79
+ }
80
+ }
81
+ // if a formatter exists the binding mode can be one way or one time only
82
+ if (oBindingInfo.formatter &&
83
+ oPart.mode != BindingMode.OneWay &&
84
+ oPart.mode != BindingMode.OneTime) {
85
+ oPart.mode = BindingMode.OneWay;
86
+ }
87
+ }
88
+
89
+ //Initialize skip properties
90
+ oBindingInfo.skipPropertyUpdate = 0;
91
+ oBindingInfo.skipModelUpdate = 0;
92
+ return oBindingInfo;
93
+ },
94
+
95
+ /**
96
+ * Creates a new aggregation binding-info object based on the given raw definition.
97
+ * @param {sap.ui.base.ManagedObject.AggregationBindingInfo} oBindingInfo raw binding info object
98
+ * @returns {object} valid aggregation binding-info
99
+ * @private
100
+ * @ui5-restricted sap.ui.base, sap.ui.core
101
+ */
102
+ createAggregation: function(oBindingInfo, bDoesNotRequireFactory) {
103
+ if (!(oBindingInfo.template || oBindingInfo.factory)) {
104
+ // If aggregation is marked correspondingly in the metadata, factory can be omitted (usually requires an updateXYZ method)
105
+ if ( bDoesNotRequireFactory ) {
106
+ // add a dummy factory as property 'factory' is used to distinguish between property- and list-binding
107
+ oBindingInfo.factory = function() {
108
+ throw new Error("dummy factory called unexpectedly ");
109
+ };
110
+ }
111
+ } else if (oBindingInfo.template) {
112
+ // if we have a template we will create a factory function
113
+ oBindingInfo.factory = function(sId) {
114
+ return oBindingInfo.template.clone(sId);
115
+ };
116
+ }
117
+
118
+ // if a model separator is found in the path, extract model name and path
119
+ var iSeparatorPos = oBindingInfo.path.indexOf(">");
120
+ if (iSeparatorPos > 0) {
121
+ oBindingInfo.model = oBindingInfo.path.substr(0, iSeparatorPos);
122
+ oBindingInfo.path = oBindingInfo.path.substr(iSeparatorPos + 1);
123
+ }
124
+ return oBindingInfo;
125
+ },
126
+
127
+ /**
128
+ * Creates a new object binding-info object based on the given raw definition.
129
+ * @param {sap.ui.base.ManagedObject.ObjectBindingInfo} oBindingInfo raw binding info object
130
+ * @returns {object} valid object binding-info
131
+ * @private
132
+ * @ui5-restricted sap.ui.base, sap.ui.core
133
+ */
134
+ createObject: function(oBindingInfo) {
135
+ var iSeparatorPos;
136
+
137
+ // if a model separator is found in the path, extract model name and path
138
+ iSeparatorPos = oBindingInfo.path.indexOf(">");
139
+ if (iSeparatorPos > 0) {
140
+ oBindingInfo.model = oBindingInfo.path.substr(0, iSeparatorPos);
141
+ oBindingInfo.path = oBindingInfo.path.substr(iSeparatorPos + 1);
142
+ }
143
+ return oBindingInfo;
144
+ },
145
+
146
+ /**
147
+ * See {@link sap.ui.base.ManagedObject#extractBindingInfo}
148
+ */
149
+ extract: function(oValue, oScope, bDetectValue) {
150
+ var oBindingInfo;
151
+ // property:{path:"path", template:oTemplate}
152
+ if (oValue && typeof oValue === "object") {
153
+ if (oValue.Type) {
154
+ // if value contains the 'Type' property (capital 'T'), this is not a binding info.
155
+ oBindingInfo = undefined;
156
+ } else if (oValue[sUI5ObjectMarker]) {
157
+ // no bindingInfo, delete marker
158
+ delete oValue[sUI5ObjectMarker];
159
+ } else if (oValue.ui5object) {
160
+ // if value contains ui5object property, this is not a binding info,
161
+ // remove it and not check for path or parts property
162
+ delete oValue.ui5object;
163
+ } else if (oValue.path != undefined || oValue.parts || (bDetectValue && oValue.value != undefined)) {
164
+ oBindingInfo = oValue;
165
+ }
166
+ }
167
+
168
+ // property:"{path}" or "\{path\}"
169
+ if (typeof oValue === "string") {
170
+ // either returns a binding info or an unescaped string or undefined - depending on binding syntax
171
+ oBindingInfo = BindingInfo.parse(oValue, oScope, true);
172
+ }
173
+ return oBindingInfo;
174
+ },
175
+ escape: function () {
176
+ return BindingInfo.parse.escape.apply(this, arguments);
177
+ },
178
+ UI5ObjectMarker: sUI5ObjectMarker
179
+ };
180
+
181
+ Object.defineProperty(BindingInfo, "parse", {
182
+ get: function () {
183
+ if (!this.oParser) {
184
+ // Note: "simple" binding syntax is deprecated since 1.24
185
+ this.oParser = Configuration.getValue("bindingSyntax") === "simple" ? BindingParser.simpleParser : BindingParser.complexParser;
186
+ if ( Configuration.getDesignMode() == true ) {
187
+ BindingParser._keepBindingStrings = true;
188
+ }
189
+ }
190
+ return this.oParser;
191
+ },
192
+ set: function (parser) {
193
+ this.oParser = parser;
194
+ }
195
+ });
196
+
197
+ return BindingInfo;
198
+ });
@@ -126,7 +126,7 @@ sap.ui.define([
126
126
  * Returns the object with keys and values from which this enum type was created
127
127
  * or <code>undefined</code> if this is not an enum type.
128
128
  *
129
- * @returns {object} Object with enum keys and values or <code>undefined</code>
129
+ * @returns {object|undefined} Object with enum keys and values or <code>undefined</code>
130
130
  * @public
131
131
  */
132
132
  DataType.prototype.getEnumValues = function() {
@@ -23,7 +23,7 @@ sap.ui.define(['./Object', "sap/base/assert"],
23
23
  * @extends sap.ui.base.Object
24
24
  * @implements sap.ui.base.Poolable
25
25
  * @author SAP SE
26
- * @version 1.103.1
26
+ * @version 1.106.0
27
27
  * @alias sap.ui.base.Event
28
28
  * @public
29
29
  */
@@ -107,7 +107,7 @@ sap.ui.define(['./Object', "sap/base/assert"],
107
107
  /**
108
108
  * Returns an object with all parameter values of the event.
109
109
  *
110
- * @returns {object} All parameters of the event
110
+ * @returns {Object<string, any>} All parameters of the event
111
111
  * @public
112
112
  */
113
113
  Event.prototype.getParameters = function() {
@@ -18,7 +18,7 @@ sap.ui.define(['./Event', './Object', './ObjectPool', "sap/base/assert"],
18
18
  * @abstract
19
19
  * @extends sap.ui.base.Object
20
20
  * @author SAP SE
21
- * @version 1.103.1
21
+ * @version 1.106.0
22
22
  * @public
23
23
  * @alias sap.ui.base.EventProvider
24
24
  */
@@ -335,7 +335,7 @@ sap.ui.define(['./Event', './Object', './ObjectPool', "sap/base/assert"],
335
335
  * structured, this can be overwritten to make the object hierarchy visible to the eventing and
336
336
  * enables the use of event bubbling within this object hierarchy.
337
337
  *
338
- * @return {sap.ui.base.EventProvider} The parent event provider
338
+ * @return {sap.ui.base.EventProvider|null} The parent event provider
339
339
  * @protected
340
340
  */
341
341
  EventProvider.prototype.getEventingParent = function() {
@@ -28,7 +28,7 @@ sap.ui.define(['sap/ui/base/Object'], function(BaseObject) {
28
28
  * no internals of the class can be accessed.
29
29
  *
30
30
  * @author Malte Wedel, Daniel Brinkmann
31
- * @version 1.103.1
31
+ * @version 1.106.0
32
32
  * @param {sap.ui.base.Object} oObject
33
33
  * Object for which a facade should be created
34
34
  * @param {string[]} aMethods