@openui5/sap.ui.core 1.101.0 → 1.103.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/.eslintrc.json +26 -5
  2. package/THIRDPARTY.txt +1 -1
  3. package/package.json +1 -1
  4. package/src/jquery.sap.global.js +2 -2
  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/assert.js +1 -1
  10. package/src/sap/base/i18n/ResourceBundle.js +2 -2
  11. package/src/sap/base/strings/whitespaceReplacer.js +1 -1
  12. package/src/sap/base/util/restricted/_CancelablePromise.js +2 -2
  13. package/src/sap/base/util/restricted/_castArray.js +1 -1
  14. package/src/sap/base/util/restricted/_compact.js +1 -1
  15. package/src/sap/base/util/restricted/_curry.js +1 -1
  16. package/src/sap/base/util/restricted/_debounce.js +1 -1
  17. package/src/sap/base/util/restricted/_difference.js +1 -1
  18. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  19. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  20. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  21. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  22. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  23. package/src/sap/base/util/restricted/_flatten.js +1 -1
  24. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  25. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  26. package/src/sap/base/util/restricted/_intersection.js +1 -1
  27. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  28. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  29. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  30. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  31. package/src/sap/base/util/restricted/_isNil.js +1 -1
  32. package/src/sap/base/util/restricted/_max.js +1 -1
  33. package/src/sap/base/util/restricted/_merge.js +1 -1
  34. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  35. package/src/sap/base/util/restricted/_min.js +1 -1
  36. package/src/sap/base/util/restricted/_omit.js +1 -1
  37. package/src/sap/base/util/restricted/_pick.js +1 -1
  38. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  39. package/src/sap/base/util/restricted/_throttle.js +1 -1
  40. package/src/sap/base/util/restricted/_toArray.js +1 -1
  41. package/src/sap/base/util/restricted/_union.js +1 -1
  42. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  43. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  44. package/src/sap/base/util/restricted/_uniq.js +1 -1
  45. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  46. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  47. package/src/sap/base/util/restricted/_without.js +1 -1
  48. package/src/sap/base/util/restricted/_xor.js +1 -1
  49. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  50. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  51. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  52. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  53. package/src/sap/ui/Device.js +9 -3
  54. package/src/sap/ui/Global.js +4 -4
  55. package/src/sap/ui/VersionInfo.js +12 -6
  56. package/src/sap/ui/base/Event.js +1 -1
  57. package/src/sap/ui/base/EventProvider.js +2 -2
  58. package/src/sap/ui/base/ExpressionParser.js +2 -2
  59. package/src/sap/ui/base/Interface.js +1 -1
  60. package/src/sap/ui/base/ManagedObject.js +10 -8
  61. package/src/sap/ui/base/ManagedObjectMetadata.js +21 -8
  62. package/src/sap/ui/base/Metadata.js +1 -1
  63. package/src/sap/ui/base/Object.js +1 -1
  64. package/src/sap/ui/base/ObjectPool.js +1 -1
  65. package/src/sap/ui/base/SyncPromise.js +2 -0
  66. package/src/sap/ui/core/.library +2 -89
  67. package/src/sap/ui/core/AppCacheBuster.js +4 -4
  68. package/src/sap/ui/core/BusyIndicator.js +1 -1
  69. package/src/sap/ui/core/CommandExecution.js +15 -12
  70. package/src/sap/ui/core/Component.js +34 -15
  71. package/src/sap/ui/core/ComponentContainer.js +1 -1
  72. package/src/sap/ui/core/ComponentMetadata.js +27 -12
  73. package/src/sap/ui/core/ComponentSupport.js +1 -1
  74. package/src/sap/ui/core/Configuration.js +23 -9
  75. package/src/sap/ui/core/Control.js +3 -4
  76. package/src/sap/ui/core/Core.js +102 -34
  77. package/src/sap/ui/core/CustomData.js +1 -1
  78. package/src/sap/ui/core/DeclarativeSupport.js +10 -9
  79. package/src/sap/ui/core/Element.js +12 -11
  80. package/src/sap/ui/core/ElementMetadata.js +1 -1
  81. package/src/sap/ui/core/EnabledPropagator.js +4 -2
  82. package/src/sap/ui/core/EventBus.js +1 -1
  83. package/src/sap/ui/core/ExtensionPoint.js +1 -1
  84. package/src/sap/ui/core/FocusHandler.js +4 -5
  85. package/src/sap/ui/core/Fragment.js +17 -14
  86. package/src/sap/ui/core/HTML.js +2 -2
  87. package/src/sap/ui/core/History.js +1 -1
  88. package/src/sap/ui/core/Icon.js +7 -7
  89. package/src/sap/ui/core/IconPool.js +1 -3
  90. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  91. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  92. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  93. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  94. package/src/sap/ui/core/InvisibleText.js +1 -1
  95. package/src/sap/ui/core/Item.js +1 -1
  96. package/src/sap/ui/core/LabelEnablement.js +1 -1
  97. package/src/sap/ui/core/LayoutData.js +1 -1
  98. package/src/sap/ui/core/ListItem.js +1 -1
  99. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  100. package/src/sap/ui/core/Locale.js +28 -4
  101. package/src/sap/ui/core/LocaleData.js +119 -1
  102. package/src/sap/ui/core/Manifest.js +1 -1
  103. package/src/sap/ui/core/Message.js +1 -1
  104. package/src/sap/ui/core/Popup.js +16 -16
  105. package/src/sap/ui/core/RenderManager.js +1 -1
  106. package/src/sap/ui/core/Renderer.js +1 -1
  107. package/src/sap/ui/core/ResizeHandler.js +1 -1
  108. package/src/sap/ui/core/ScrollBar.js +21 -15
  109. package/src/sap/ui/core/SeparatorItem.js +1 -1
  110. package/src/sap/ui/core/ShortcutHintsMixin.js +2 -4
  111. package/src/sap/ui/core/ThemeCheck.js +7 -7
  112. package/src/sap/ui/core/Title.js +1 -1
  113. package/src/sap/ui/core/TooltipBase.js +1 -1
  114. package/src/sap/ui/core/UIArea.js +5 -6
  115. package/src/sap/ui/core/UIComponent.js +2 -2
  116. package/src/sap/ui/core/UIComponentMetadata.js +2 -2
  117. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  118. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  119. package/src/sap/ui/core/XMLComposite.js +1 -1
  120. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  121. package/src/sap/ui/core/XMLTemplateProcessor.js +515 -392
  122. package/src/sap/ui/core/cache/CacheManager.js +27 -0
  123. package/src/sap/ui/core/cache/CacheManagerNOP.js +3 -0
  124. package/src/sap/ui/core/cache/LRUPersistentCache.js +75 -3
  125. package/src/sap/ui/core/cldr/ar.json +469 -1
  126. package/src/sap/ui/core/cldr/ar_EG.json +469 -1
  127. package/src/sap/ui/core/cldr/ar_SA.json +469 -1
  128. package/src/sap/ui/core/cldr/bg.json +469 -1
  129. package/src/sap/ui/core/cldr/ca.json +469 -1
  130. package/src/sap/ui/core/cldr/cs.json +469 -1
  131. package/src/sap/ui/core/cldr/cy.json +469 -1
  132. package/src/sap/ui/core/cldr/da.json +469 -1
  133. package/src/sap/ui/core/cldr/de.json +469 -1
  134. package/src/sap/ui/core/cldr/de_AT.json +469 -1
  135. package/src/sap/ui/core/cldr/de_CH.json +469 -1
  136. package/src/sap/ui/core/cldr/el.json +469 -1
  137. package/src/sap/ui/core/cldr/el_CY.json +469 -1
  138. package/src/sap/ui/core/cldr/en.json +469 -1
  139. package/src/sap/ui/core/cldr/en_AU.json +469 -1
  140. package/src/sap/ui/core/cldr/en_GB.json +469 -1
  141. package/src/sap/ui/core/cldr/en_HK.json +469 -1
  142. package/src/sap/ui/core/cldr/en_IE.json +469 -1
  143. package/src/sap/ui/core/cldr/en_IN.json +469 -1
  144. package/src/sap/ui/core/cldr/en_NZ.json +469 -1
  145. package/src/sap/ui/core/cldr/en_PG.json +469 -1
  146. package/src/sap/ui/core/cldr/en_SG.json +469 -1
  147. package/src/sap/ui/core/cldr/en_ZA.json +469 -1
  148. package/src/sap/ui/core/cldr/es.json +469 -1
  149. package/src/sap/ui/core/cldr/es_AR.json +469 -1
  150. package/src/sap/ui/core/cldr/es_BO.json +469 -1
  151. package/src/sap/ui/core/cldr/es_CL.json +469 -1
  152. package/src/sap/ui/core/cldr/es_CO.json +469 -1
  153. package/src/sap/ui/core/cldr/es_MX.json +469 -1
  154. package/src/sap/ui/core/cldr/es_PE.json +469 -1
  155. package/src/sap/ui/core/cldr/es_UY.json +469 -1
  156. package/src/sap/ui/core/cldr/es_VE.json +469 -1
  157. package/src/sap/ui/core/cldr/et.json +469 -1
  158. package/src/sap/ui/core/cldr/fa.json +469 -1
  159. package/src/sap/ui/core/cldr/fi.json +469 -1
  160. package/src/sap/ui/core/cldr/fr.json +469 -1
  161. package/src/sap/ui/core/cldr/fr_BE.json +469 -1
  162. package/src/sap/ui/core/cldr/fr_CA.json +469 -1
  163. package/src/sap/ui/core/cldr/fr_CH.json +469 -1
  164. package/src/sap/ui/core/cldr/fr_LU.json +469 -1
  165. package/src/sap/ui/core/cldr/he.json +469 -1
  166. package/src/sap/ui/core/cldr/hi.json +469 -1
  167. package/src/sap/ui/core/cldr/hr.json +469 -1
  168. package/src/sap/ui/core/cldr/hu.json +469 -1
  169. package/src/sap/ui/core/cldr/id.json +469 -1
  170. package/src/sap/ui/core/cldr/it.json +469 -1
  171. package/src/sap/ui/core/cldr/it_CH.json +469 -1
  172. package/src/sap/ui/core/cldr/ja.json +469 -1
  173. package/src/sap/ui/core/cldr/kk.json +469 -1
  174. package/src/sap/ui/core/cldr/ko.json +469 -1
  175. package/src/sap/ui/core/cldr/lt.json +469 -1
  176. package/src/sap/ui/core/cldr/lv.json +469 -1
  177. package/src/sap/ui/core/cldr/ms.json +469 -1
  178. package/src/sap/ui/core/cldr/nb.json +469 -1
  179. package/src/sap/ui/core/cldr/nl.json +469 -1
  180. package/src/sap/ui/core/cldr/nl_BE.json +469 -1
  181. package/src/sap/ui/core/cldr/pl.json +469 -1
  182. package/src/sap/ui/core/cldr/pt.json +469 -1
  183. package/src/sap/ui/core/cldr/pt_PT.json +469 -1
  184. package/src/sap/ui/core/cldr/ro.json +469 -1
  185. package/src/sap/ui/core/cldr/ru.json +469 -1
  186. package/src/sap/ui/core/cldr/ru_UA.json +469 -1
  187. package/src/sap/ui/core/cldr/sk.json +469 -1
  188. package/src/sap/ui/core/cldr/sl.json +469 -1
  189. package/src/sap/ui/core/cldr/sr.json +469 -1
  190. package/src/sap/ui/core/cldr/sr_Latn.json +469 -1
  191. package/src/sap/ui/core/cldr/sv.json +469 -1
  192. package/src/sap/ui/core/cldr/th.json +469 -1
  193. package/src/sap/ui/core/cldr/tr.json +469 -1
  194. package/src/sap/ui/core/cldr/uk.json +469 -1
  195. package/src/sap/ui/core/cldr/vi.json +469 -1
  196. package/src/sap/ui/core/cldr/zh_CN.json +470 -2
  197. package/src/sap/ui/core/cldr/zh_HK.json +470 -2
  198. package/src/sap/ui/core/cldr/zh_SG.json +470 -2
  199. package/src/sap/ui/core/cldr/zh_TW.json +469 -1
  200. package/src/sap/ui/core/delegate/ItemNavigation.js +13 -14
  201. package/src/sap/ui/core/delegate/ScrollEnablement.js +11 -7
  202. package/src/sap/ui/core/dnd/DragAndDrop.js +3 -3
  203. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  204. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  205. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  206. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  207. package/src/sap/ui/core/format/DateFormat.js +43 -28
  208. package/src/sap/ui/core/format/NumberFormat.js +30 -30
  209. package/src/sap/ui/core/format/TimezoneUtil.js +48 -16
  210. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  211. package/src/sap/ui/core/library.js +3 -3
  212. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  213. package/src/sap/ui/core/message/Message.js +1 -1
  214. package/src/sap/ui/core/message/MessageManager.js +1 -1
  215. package/src/sap/ui/core/message/MessageParser.js +2 -2
  216. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  217. package/src/sap/ui/core/messagebundle_el.properties +2 -2
  218. package/src/sap/ui/core/messagebundle_it.properties +56 -56
  219. package/src/sap/ui/core/mvc/ControllerExtension.js +1 -1
  220. package/src/sap/ui/core/mvc/HTMLView.js +12 -12
  221. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  222. package/src/sap/ui/core/mvc/JSView.js +2 -2
  223. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  224. package/src/sap/ui/core/mvc/View.js +2 -1
  225. package/src/sap/ui/core/mvc/XMLView.js +12 -20
  226. package/src/sap/ui/core/mvc/XMLViewRenderer.js +81 -62
  227. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  228. package/src/sap/ui/core/plugin/LessSupport.js +3 -3
  229. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  230. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  231. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  232. package/src/sap/ui/core/routing/History.js +5 -3
  233. package/src/sap/ui/core/routing/Router.js +5 -3
  234. package/src/sap/ui/core/routing/Targets.js +2 -2
  235. package/src/sap/ui/core/rules/App.support.js +8 -8
  236. package/src/sap/ui/core/rules/Config.support.js +12 -12
  237. package/src/sap/ui/core/rules/Model.support.js +8 -8
  238. package/src/sap/ui/core/rules/Rendering.support.js +1 -1
  239. package/src/sap/ui/core/rules/Theming.support.js +4 -4
  240. package/src/sap/ui/core/rules/View.support.js +9 -9
  241. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  242. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  243. package/src/sap/ui/core/service/Service.js +1 -1
  244. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  245. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  246. package/src/sap/ui/core/support/Plugin.js +1 -1
  247. package/src/sap/ui/core/support/RuleEngineOpaExtension.js +1 -1
  248. package/src/sap/ui/core/support/Support.js +2 -2
  249. package/src/sap/ui/core/support/ToolsAPI.js +4 -1
  250. package/src/sap/ui/core/support/plugins/ControlTree.js +9 -3
  251. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  252. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  253. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  254. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  255. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  256. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  257. package/src/sap/ui/core/support/plugins/ViewInfo.js +8 -22
  258. package/src/sap/ui/core/support/support.html +1 -1
  259. package/src/sap/ui/core/themes/base/LocalBusyIndicator.less +15 -1
  260. package/src/sap/ui/core/themes/base/base.less +4 -4
  261. package/src/sap/ui/core/themes/base/global.less +2 -0
  262. package/src/sap/ui/core/themes/sap_hcb/global.less +2 -0
  263. package/src/sap/ui/core/theming/Parameters.js +1 -1
  264. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  265. package/src/sap/ui/core/tmpl/DOMElement.js +2 -2
  266. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  267. package/src/sap/ui/core/tmpl/Template.js +4 -4
  268. package/src/sap/ui/core/tmpl/TemplateControl.js +2 -2
  269. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  270. package/src/sap/ui/core/util/Export.js +1 -1
  271. package/src/sap/ui/core/util/ExportCell.js +1 -1
  272. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  273. package/src/sap/ui/core/util/ExportRow.js +1 -1
  274. package/src/sap/ui/core/util/ExportType.js +1 -1
  275. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  276. package/src/sap/ui/core/util/File.js +1 -1
  277. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  278. package/src/sap/ui/core/util/MockServer.js +2 -2
  279. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  280. package/src/sap/ui/core/util/ResponsivePaddingsEnablement.js +2 -2
  281. package/src/sap/ui/core/util/XMLPreprocessor.js +1 -1
  282. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  283. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  284. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  285. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  286. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  287. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  288. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  289. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  290. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  291. package/src/sap/ui/core/ws/WebSocket.js +7 -8
  292. package/src/sap/ui/debug/ControlTree.js +1 -1
  293. package/src/sap/ui/debug/DebugEnv.js +1 -1
  294. package/src/sap/ui/debug/PropertyList.js +1 -1
  295. package/src/sap/ui/dom/_ready.js +34 -0
  296. package/src/sap/ui/dom/containsOrEquals.js +2 -2
  297. package/src/sap/ui/dom/getFirstEditableInput.js +2 -2
  298. package/src/sap/ui/dom/jquery/Focusable.js +1 -1
  299. package/src/sap/ui/dom/jquery/control.js +1 -1
  300. package/src/sap/ui/events/jquery/EventExtension.js +1 -1
  301. package/src/sap/ui/events/jquery/EventSimulation.js +1 -1
  302. package/src/sap/ui/model/ClientListBinding.js +127 -21
  303. package/src/sap/ui/model/ClientModel.js +1 -1
  304. package/src/sap/ui/model/CompositeDataState.js +1 -1
  305. package/src/sap/ui/model/CompositeType.js +1 -1
  306. package/src/sap/ui/model/DataState.js +1 -1
  307. package/src/sap/ui/model/ListBinding.js +32 -13
  308. package/src/sap/ui/model/MetaModel.js +1 -1
  309. package/src/sap/ui/model/Model.js +1 -1
  310. package/src/sap/ui/model/SelectionModel.js +1 -1
  311. package/src/sap/ui/model/SimpleType.js +1 -1
  312. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  313. package/src/sap/ui/model/TreeBindingAdapter.js +134 -0
  314. package/src/sap/ui/model/Type.js +1 -1
  315. package/src/sap/ui/model/_Helper.js +3 -1
  316. package/src/sap/ui/model/json/JSONListBinding.js +0 -58
  317. package/src/sap/ui/model/json/JSONModel.js +1 -1
  318. package/src/sap/ui/model/message/MessageListBinding.js +0 -42
  319. package/src/sap/ui/model/message/MessageModel.js +1 -1
  320. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  321. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  322. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  323. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  324. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  325. package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +6 -0
  326. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +279 -4
  327. package/src/sap/ui/model/odata/OperationMode.js +6 -0
  328. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  329. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  330. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  331. package/src/sap/ui/model/odata/type/Date.js +1 -1
  332. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  333. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  334. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  335. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -2
  336. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  337. package/src/sap/ui/model/odata/type/Double.js +1 -1
  338. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  339. package/src/sap/ui/model/odata/type/Int.js +1 -1
  340. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  341. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  342. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  343. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  344. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  345. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  346. package/src/sap/ui/model/odata/type/Single.js +1 -1
  347. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  348. package/src/sap/ui/model/odata/type/String.js +1 -1
  349. package/src/sap/ui/model/odata/type/Time.js +1 -1
  350. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  351. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  352. package/src/sap/ui/model/odata/type/UnitMixin.js +1 -1
  353. package/src/sap/ui/model/odata/v2/Context.js +13 -4
  354. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  355. package/src/sap/ui/model/odata/v2/ODataListBinding.js +107 -34
  356. package/src/sap/ui/model/odata/v2/ODataModel.js +70 -22
  357. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +43 -7
  358. package/src/sap/ui/model/odata/v4/Context.js +31 -10
  359. package/src/sap/ui/model/odata/v4/ODataBinding.js +16 -8
  360. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +24 -1
  361. package/src/sap/ui/model/odata/v4/ODataListBinding.js +83 -27
  362. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +17 -10
  363. package/src/sap/ui/model/odata/v4/ODataModel.js +175 -6
  364. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +30 -1
  365. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +17 -6
  366. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +6 -6
  367. package/src/sap/ui/model/odata/v4/lib/_Cache.js +208 -85
  368. package/src/sap/ui/model/odata/v4/lib/_Helper.js +119 -42
  369. package/src/sap/ui/model/odata/v4/lib/_MinMaxHelper.js +1 -1
  370. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +60 -35
  371. package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +1 -1
  372. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  373. package/src/sap/ui/model/type/Boolean.js +1 -1
  374. package/src/sap/ui/model/type/Currency.js +1 -1
  375. package/src/sap/ui/model/type/Date.js +1 -1
  376. package/src/sap/ui/model/type/DateInterval.js +1 -1
  377. package/src/sap/ui/model/type/DateTime.js +1 -1
  378. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  379. package/src/sap/ui/model/type/FileSize.js +1 -1
  380. package/src/sap/ui/model/type/Float.js +1 -1
  381. package/src/sap/ui/model/type/Integer.js +1 -1
  382. package/src/sap/ui/model/type/String.js +1 -1
  383. package/src/sap/ui/model/type/Time.js +1 -1
  384. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  385. package/src/sap/ui/model/type/Unit.js +1 -1
  386. package/src/sap/ui/model/xml/XMLListBinding.js +0 -53
  387. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  388. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  389. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  390. package/src/sap/ui/security/FrameOptions.js +4 -2
  391. package/src/sap/ui/test/OpaBuilder.js +1 -1
  392. package/src/sap/ui/test/OpaPlugin.js +3 -3
  393. package/src/sap/ui/test/_ControlFinder.js +5 -4
  394. package/src/sap/ui/test/actions/Action.js +3 -3
  395. package/src/sap/ui/test/actions/Drag.js +2 -2
  396. package/src/sap/ui/test/actions/Drop.js +2 -2
  397. package/src/sap/ui/test/actions/EnterText.js +8 -8
  398. package/src/sap/ui/test/actions/Press.js +6 -6
  399. package/src/sap/ui/test/actions/Scroll.js +1 -1
  400. package/src/sap/ui/test/generic/TestBase.js +1 -1
  401. package/src/sap/ui/util/Mobile.js +59 -33
  402. package/src/sap/ui/util/Storage.js +2 -2
  403. package/src/sap/ui/util/openWindow.js +1 -1
  404. package/src/ui5loader.js +3 -3
  405. package/ui5.yaml +72 -1
@@ -100,13 +100,19 @@ sap.ui.define([
100
100
  * Returns the configuration of a manifest section or the value for a
101
101
  * specific path. If no section or key is specified, the return value is null.
102
102
  *
103
+ * <b>Note:</b>
104
+ * This function is a local variant of sap.ui.core.ComponentMetadata#_getManifestEntry.
105
+ * This function allows to access manifest information on an instance-specific manifest
106
+ * first, before then looking up the inheritance chain.
107
+ * All Components using the default manifest will rely on the above default implementation.
108
+ *
103
109
  * @param {sap.ui.core.ComponentMetadata} oMetadata the Component metadata
104
110
  * @param {sap.ui.core.Manifest} oManifest the manifest
105
111
  * @param {string} sKey Either the manifest section name (namespace) or a concrete path
106
112
  * @param {boolean} [bMerged] Indicates whether the manifest entry is merged with the manifest entries of the parent component.
107
113
  * @return {any|null} Value of the manifest section or the key (could be any kind of value)
108
114
  * @private
109
- * @see {@link sap.ui.core.Component#getManifestEntry}
115
+ * @see {@link sap.ui.core.Component#_getManifestEntry}
110
116
  */
111
117
  function getManifestEntry(oMetadata, oManifest, sKey, bMerged) {
112
118
  var oData = oManifest.getEntry(sKey);
@@ -120,13 +126,13 @@ sap.ui.define([
120
126
  // the configuration of the static component metadata will be ignored
121
127
  var oParent, oParentData;
122
128
  if (bMerged && (oParent = oMetadata.getParent()) instanceof ComponentMetadata) {
123
- oParentData = oParent.getManifestEntry(sKey, bMerged);
129
+ oParentData = oParent._getManifestEntry(sKey, bMerged);
124
130
  }
125
131
 
126
132
  // only extend / clone if there is data
127
133
  // otherwise "null" will be converted into an empty object
128
134
  if (oParentData || oData) {
129
- oData = deepExtend({}, oParentData, oData);
135
+ oData = deepExtend({}, oParentData, oData);
130
136
  }
131
137
 
132
138
  return oData;
@@ -154,20 +160,30 @@ sap.ui.define([
154
160
 
155
161
  // copy all functions from the metadata object except of the
156
162
  // manifest related functions which will be instance specific now
163
+ // we proxy private core restricted manifest related API, as well as older public/deprecated API (for compatibility)
157
164
  for (var m in oMetadata) {
158
- if (!/^(getManifest|getManifestObject|getManifestEntry|getMetadataVersion)$/.test(m) && typeof oMetadata[m] === "function") {
165
+ if (!/^(getManifest|_getManifest|getManifestObject|getManifestEntry|_getManifestEntry|getMetadataVersion)$/.test(m) && typeof oMetadata[m] === "function") {
159
166
  oMetadataProxy[m] = oMetadata[m].bind(oMetadata);
160
167
  }
161
168
  }
162
169
 
163
- // return the content of the manifest instead of the static metadata
170
+ // @public & @deprecated on ComponentMetadata, kept for compatibility
164
171
  oMetadataProxy.getManifest = function() {
172
+ return this._getManifest();
173
+ };
174
+ // @public & @deprecated on ComponentMetadata, kept for compatibility
175
+ oMetadataProxy.getManifestEntry = function(sKey, bMerged) {
176
+ return this._getManifestEntry(sKey, bMerged);
177
+ };
178
+
179
+ oMetadataProxy._getManifest = function() {
180
+ // return the content of the manifest instead of the static metadata
165
181
  return oManifest && oManifest.getJson();
166
182
  };
167
183
  oMetadataProxy.getManifestObject = function() {
168
184
  return oManifest;
169
185
  };
170
- oMetadataProxy.getManifestEntry = function(sKey, bMerged) {
186
+ oMetadataProxy._getManifestEntry = function(sKey, bMerged) {
171
187
  return getManifestEntry(oMetadata, oManifest, sKey, bMerged);
172
188
  };
173
189
  oMetadataProxy.getMetadataVersion = function() {
@@ -228,7 +244,7 @@ sap.ui.define([
228
244
  * @extends sap.ui.base.ManagedObject
229
245
  * @abstract
230
246
  * @author SAP SE
231
- * @version 1.101.0
247
+ * @version 1.103.0
232
248
  * @alias sap.ui.core.Component
233
249
  * @since 1.9.2
234
250
  */
@@ -471,7 +487,7 @@ sap.ui.define([
471
487
  */
472
488
  Component.prototype.getManifest = function() {
473
489
  if (!this._oManifest) {
474
- return this.getMetadata().getManifest();
490
+ return this.getMetadata()._getManifest();
475
491
  } else {
476
492
  return this._oManifest.getJson();
477
493
  }
@@ -528,8 +544,11 @@ sap.ui.define([
528
544
  */
529
545
  Component.prototype._getManifestEntry = function(sKey, bMerged) {
530
546
  if (!this._oManifest) {
531
- return this.getMetadata().getManifestEntry(sKey, bMerged);
547
+ // get entry via standard component metadata
548
+ return this.getMetadata()._getManifestEntry(sKey, bMerged);
532
549
  } else {
550
+ // get entry via instance-specific manifest
551
+ // this.getMetadata() returns the instance-specific ComponentMetadata Proxy
533
552
  return getManifestEntry(this.getMetadata(), this._oManifest, sKey, bMerged);
534
553
  }
535
554
  };
@@ -1586,10 +1605,10 @@ sap.ui.define([
1586
1605
  while (oMeta instanceof ComponentMetadata) {
1587
1606
  var oCurrentManifest = oMeta.getManifestObject();
1588
1607
 
1589
- var mCurrentDataSources = oMeta.getManifestEntry("/sap.app/dataSources");
1608
+ var mCurrentDataSources = oMeta._getManifestEntry("/sap.app/dataSources");
1590
1609
  mergeDefinitionSource(mConfig.dataSources, mConfig.origin.dataSources, mCurrentDataSources, oCurrentManifest);
1591
1610
 
1592
- var mCurrentModelConfigs = oMeta.getManifestEntry("/sap.ui5/models");
1611
+ var mCurrentModelConfigs = oMeta._getManifestEntry("/sap.ui5/models");
1593
1612
  mergeDefinitionSource(mConfig.models, mConfig.origin.models, mCurrentModelConfigs, oCurrentManifest);
1594
1613
 
1595
1614
  oMeta = oMeta.getParent();
@@ -2469,7 +2488,7 @@ sap.ui.define([
2469
2488
  * register for messaging: register if either handleValidation is set in metadata
2470
2489
  * or if not set in metadata and set on instance
2471
2490
  */
2472
- var bHandleValidation = oInstance.getMetadata().getManifestEntry("/sap.ui5/handleValidation");
2491
+ var bHandleValidation = oInstance.getMetadata()._getManifestEntry("/sap.ui5/handleValidation");
2473
2492
  if (bHandleValidation !== undefined || vConfig.handleValidation) {
2474
2493
  sap.ui.getCore().getMessageManager().registerObject(oInstance, bHandleValidation === undefined ? vConfig.handleValidation : bHandleValidation);
2475
2494
  }
@@ -3379,12 +3398,12 @@ sap.ui.define([
3379
3398
  // the i18n processing has already happened and we skip this part.
3380
3399
 
3381
3400
  // Why do we set the oManifest object here?
3382
- // > If we have instance specific information like "activeTerminologies", the resulting
3401
+ // > If we have instance specific information like "activeTerminologies" (non-empty array), the resulting
3383
3402
  // Manifest instance differs from the Manifest that is stored on the ComponentMetadata.
3384
3403
  // The function prepareControllerClass() then creates a ComponentMetadata Proxy,
3385
3404
  // which encapsulates this single instance specific Manifest object.
3386
3405
  var pProcessI18n = Promise.resolve();
3387
- if (!oManifest && mOptions.activeTerminologies) {
3406
+ if (!oManifest && Array.isArray(mOptions.activeTerminologies) && mOptions.activeTerminologies.length > 0) {
3388
3407
  oManifest = new Manifest(oMetadata.getManifestObject().getRawJson(), {
3389
3408
  process: false,
3390
3409
  activeTerminologies: aActiveTerminologies
@@ -3680,7 +3699,7 @@ sap.ui.define([
3680
3699
  oExtensionComponent = this.getExtensionComponent && this.getExtensionComponent();
3681
3700
 
3682
3701
  if (oExtensionComponent && oExtensionComponent.getLocalId) {
3683
- sComponentIdSuffix = "#" + oExtensionComponent.getLocalId(this.getId());
3702
+ sComponentIdSuffix = "#" + (oExtensionComponent.getLocalId(this.getId()) || this.getId());
3684
3703
  }
3685
3704
  this._mComputedCommands = merge({}, oOwnCommands, oCommandExtensions[sComponentName], oCommandExtensions[sComponentName + sComponentIdSuffix]);
3686
3705
  }
@@ -59,7 +59,7 @@ sap.ui.define([
59
59
  * See also {@link module:sap/ui/core/ComponentSupport}.
60
60
  *
61
61
  * @extends sap.ui.core.Control
62
- * @version 1.101.0
62
+ * @version 1.103.0
63
63
  *
64
64
  * @public
65
65
  * @alias sap.ui.core.ComponentContainer
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  * @public
37
37
  * @class
38
38
  * @author SAP SE
39
- * @version 1.101.0
39
+ * @version 1.103.0
40
40
  * @since 1.9.2
41
41
  * @alias sap.ui.core.ComponentMetadata
42
42
  * @extends sap.ui.base.ManagedObjectMetadata
@@ -323,30 +323,29 @@ sap.ui.define([
323
323
  /**
324
324
  * Returns the manifest defined in the metadata of the Component.
325
325
  * If not specified, the return value is null.
326
- * @return {Object} manifest.
326
+ * @return {Object|null} manifest.
327
327
  * @public
328
328
  * @since 1.27.1
329
329
  * @deprecated Since 1.33.0. Please use the sap.ui.core.Component#getManifest
330
330
  */
331
331
  ComponentMetadata.prototype.getManifest = function() {
332
- // use raw manifest in case of legacy metadata
333
- if (this.getMetadataVersion() === 1) {
334
- return this.getManifestObject().getRawJson();
335
- }
336
- return this.getManifestObject().getJson();
332
+ return this._getManifest();
337
333
  };
338
334
 
339
335
  /**
340
- * Returns the processed manifest object (no copy).
341
- * Processing will be done in a "lazy" way.
336
+ * Returns the manifest defined in the metadata of the Component.
337
+ * If not specified, the return value is null.
342
338
  *
343
- * @return {object} manifest
339
+ * @return {object|null} manifest
344
340
  * @private
341
+ * @ui5-restricted sap.ui.core.Component
345
342
  * @since 1.29.0
346
- * @deprecated Since 1.33.0. Please use the sap.ui.core.Component#getManifest
347
343
  */
348
344
  ComponentMetadata.prototype._getManifest = function() {
349
- Log.warning("ComponentMetadata#_getManifest: do not use deprecated functions anymore!");
345
+ // use raw manifest in case of legacy metadata
346
+ if (this.getMetadataVersion() === 1) {
347
+ return this.getManifestObject().getRawJson();
348
+ }
350
349
  return this.getManifestObject().getJson();
351
350
  };
352
351
 
@@ -413,6 +412,22 @@ sap.ui.define([
413
412
  * @deprecated Since 1.33.0. Please use the sap.ui.core.Component#getManifest
414
413
  */
415
414
  ComponentMetadata.prototype.getManifestEntry = function(sKey, bMerged) {
415
+ return this._getManifestEntry(sKey, bMerged);
416
+ };
417
+
418
+ /**
419
+ * Returns the configuration of a manifest section or the value for a
420
+ * specific path. If no section or key is specified, the return value is null.
421
+ *
422
+ * Sample and more information see public function documentation.
423
+ *
424
+ * @param {string} sKey Either the manifest section name (namespace) or a concrete path
425
+ * @param {boolean} [bMerged=false] Indicates whether the custom configuration is merged with the parent custom configuration of the Component.
426
+ * @return {any|null} Value of the manifest section or the key (could be any kind of value)
427
+ * @private
428
+ * @ui5-restricted sap.ui.core
429
+ */
430
+ ComponentMetadata.prototype._getManifestEntry = function(sKey, bMerged) {
416
431
  var oData = this.getManifestObject().getEntry(sKey);
417
432
 
418
433
  // merge / extend should only be done for objects or when entry wasn't found
@@ -97,7 +97,7 @@ sap.ui.define([
97
97
  * @author SAP SE
98
98
  * @public
99
99
  * @since 1.58.0
100
- * @version 1.101.0
100
+ * @version 1.103.0
101
101
  * @namespace
102
102
  * @alias module:sap/ui/core/ComponentSupport
103
103
  */
@@ -108,7 +108,7 @@ sap.ui.define([
108
108
  "calendarType" : { type : "string", defaultValue : null },
109
109
  "trailingCurrencyCode" : { type : "boolean", defaultValue : true },
110
110
  "accessibility" : { type : "boolean", defaultValue : true },
111
- "autoAriaBodyRole" : { type : "boolean", defaultValue : false, noUrl:true }, //whether the framework automatically adds the ARIA role 'application' to the html body
111
+ "autoAriaBodyRole" : { type : "boolean", defaultValue : false, noUrl:true }, //whether the framework automatically adds the ARIA role 'application' to the html body
112
112
  "animation" : { type : "boolean", defaultValue : true }, // deprecated, please use animationMode
113
113
  "animationMode" : { type : Configuration.AnimationMode, defaultValue : undefined }, // If no value is provided, animationMode will be set on instantiation depending on the animation setting.
114
114
  "rtl" : { type : "boolean", defaultValue : null },
@@ -133,14 +133,15 @@ sap.ui.define([
133
133
  "versionedLibCss" : { type : "boolean", defaultValue : false },
134
134
  "manifestFirst" : { type : "boolean", defaultValue : false },
135
135
  "flexibilityServices" : { type : "string", defaultValue : "/sap/bc/lrep"},
136
- "whitelistService" : { type : "string", defaultValue : null, noUrl: true }, // deprecated, use allowlistService instead
137
- "allowlistService" : { type : "string", defaultValue : null, noUrl: true }, // url/to/service
138
- "frameOptions" : { type : "string", defaultValue : "default", noUrl: true }, // default/allow/deny/trusted (default => allow)
136
+ "whitelistService" : { type : "string", defaultValue : null, noUrl:true }, // deprecated, use allowlistService instead
137
+ "allowlistService" : { type : "string", defaultValue : null, noUrl:true }, // url/to/service
138
+ "frameOptions" : { type : "string", defaultValue : "default", noUrl:true }, // default/allow/deny/trusted (default => allow)
139
139
  "frameOptionsConfig" : { type : "object", defaultValue : undefined, noUrl:true }, // advanced frame options configuration
140
140
  "support" : { type : "string[]", defaultValue : null },
141
141
  "testRecorder" : { type : "string[]", defaultValue : null },
142
- "activeTerminologies" : { type : "string[]", defaultValue: undefined},
143
- "securityTokenHandlers" : { type : "function[]", defaultValue: [], noUrl: true },
142
+ "activeTerminologies" : { type : "string[]", defaultValue : undefined},
143
+ "fileShareSupport" : { type : "string", defaultValue : undefined, noUrl:true }, // Module name (AMD syntax)
144
+ "securityTokenHandlers" : { type : "function[]", defaultValue: [], noUrl:true },
144
145
  "xx-placeholder" : { type : "boolean", defaultValue : true },
145
146
  "xx-rootComponentNode" : { type : "string", defaultValue : "", noUrl:true },
146
147
  "xx-appCacheBusterMode" : { type : "string", defaultValue : "sync" },
@@ -700,7 +701,7 @@ sap.ui.define([
700
701
  * @public
701
702
  */
702
703
  getSAPLogonLanguage : function () {
703
- return (this.sapLogonLanguage && this.sapLogonLanguage.toUpperCase()) || this.language.getSAPLogonLanguage();
704
+ return (this.sapLogonLanguage && this.sapLogonLanguage.toUpperCase()) || this.language._getSAPLogonLanguage();
704
705
  },
705
706
 
706
707
  /**
@@ -709,7 +710,6 @@ sap.ui.define([
709
710
  * @returns {string} The configured IANA timezone ID, e.g. "America/New_York"
710
711
  * @public
711
712
  * @since 1.99.0
712
- * @experimental As of version 1.99.0, time zones are currently not supported by all controls.
713
713
  */
714
714
  getTimezone : function () {
715
715
  return this.timezone;
@@ -812,7 +812,6 @@ sap.ui.define([
812
812
  * @public
813
813
  * @return {this} <code>this</code> to allow method chaining
814
814
  * @since 1.99.0
815
- * @experimental As of version 1.99.0, time zones are currently not supported by all controls.
816
815
  */
817
816
  setTimezone : function (sTimezone) {
818
817
  check(sTimezone == null || typeof sTimezone === 'string',
@@ -1478,6 +1477,21 @@ sap.ui.define([
1478
1477
  return this.allowlistService;
1479
1478
  },
1480
1479
 
1480
+ /**
1481
+ * Name (ID) of a UI5 module that implements file share support.
1482
+ *
1483
+ * If no implementation is known, <code>undefined</code> is returned.
1484
+ *
1485
+ * The contract of the module is not defined by the configuration API.
1486
+ *
1487
+ * @returns {string|undefined} Module name (ID) of a file share support module
1488
+ * @public
1489
+ * @since 1.102
1490
+ */
1491
+ getFileShareSupport : function() {
1492
+ return this.fileShareSupport || undefined;
1493
+ },
1494
+
1481
1495
  /**
1482
1496
  * Whether support mode is enabled.
1483
1497
  *
@@ -77,11 +77,11 @@ sap.ui.define([
77
77
  * @extends sap.ui.core.Element
78
78
  * @abstract
79
79
  * @author SAP SE
80
- * @version 1.101.0
80
+ * @version 1.103.0
81
81
  * @alias sap.ui.core.Control
82
82
  * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
83
83
  */
84
- var Control = Element.extend("sap.ui.core.Control", /** @lends sap.ui.core.Control */ {
84
+ var Control = Element.extend("sap.ui.core.Control", /** @lends sap.ui.core.Control.prototype */ {
85
85
 
86
86
  metadata : {
87
87
  stereotype : "control",
@@ -524,7 +524,6 @@ sap.ui.define([
524
524
  }
525
525
  oListener = oListener || this;
526
526
 
527
- // FWE jQuery.proxy can't be used as it breaks our contract when used with same function but different listeners
528
527
  var fnProxy = fnHandler.bind(oListener);
529
528
 
530
529
  this.aBindParameters.push({
@@ -632,7 +631,7 @@ sap.ui.define([
632
631
  // if no container control is found use the corresponding UIArea
633
632
  var bIsUIArea = false;
634
633
  if (!(oContainer instanceof Element)) {
635
- oContainer = oCore.createUIArea(oRef);
634
+ oContainer = oCore._createUIArea(oRef);
636
635
  bIsUIArea = true;
637
636
  }
638
637
 
@@ -210,7 +210,7 @@ sap.ui.define([
210
210
  * @extends sap.ui.base.Object
211
211
  * @final
212
212
  * @author SAP SE
213
- * @version 1.101.0
213
+ * @version 1.103.0
214
214
  * @alias sap.ui.core.Core
215
215
  * @public
216
216
  * @hideconstructor
@@ -657,26 +657,75 @@ sap.ui.define([
657
657
  },
658
658
 
659
659
  metadata : {
660
- publicMethods: ["boot", "isInitialized","isThemeApplied","attachInitEvent","attachInit","getRenderManager","createRenderManager",
661
- "getConfiguration", "setRoot", "createUIArea", "getUIArea", "getUIDirty", "getElementById",
662
- "getCurrentFocusedControlId", "getControl", "getComponent", "getTemplate", "lock", "unlock","isLocked",
663
- "attachEvent","detachEvent","applyChanges", "getEventBus",
664
- "applyTheme","setThemeRoot","attachThemeChanged","detachThemeChanged","getStaticAreaRef",
665
- "attachThemeScopingChanged","detachThemeScopingChanged","fireThemeScopingChanged",
666
- "notifyContentDensityChanged",
667
- "registerPlugin","unregisterPlugin","getLibraryResourceBundle", "byId",
668
- "getLoadedLibraries", "loadLibrary", "loadLibraries", "initLibrary",
669
- "includeLibraryTheme", "setModel", "getModel", "hasModel", "isMobile",
670
- "attachControlEvent", "detachControlEvent", "attachIntervalTimer", "detachIntervalTimer",
671
- "attachParseError", "detachParseError", "fireParseError",
672
- "attachValidationError", "detachValidationError", "fireValidationError",
673
- "attachFormatError", "detachFormatError", "fireFormatError",
674
- "attachValidationSuccess", "detachValidationSuccess", "fireValidationSuccess",
675
- "attachLocalizationChanged", "detachLocalizationChanged",
676
- "attachLibraryChanged", "detachLibraryChanged",
677
- "isStaticAreaRef", "createComponent", "getRootComponent", "getApplication",
678
- "setMessageManager", "getMessageManager","byFieldGroupId",
679
- "addPrerenderingTask"]
660
+ // while this list contains mostly public methods,
661
+ // a set of private API is exposed for sap.ui.core restricted usage
662
+ publicMethods: [
663
+ // @public
664
+ // - Init
665
+ "isInitialized","attachInit",
666
+ "getConfiguration",
667
+ "lock", "unlock","isLocked",
668
+ // - UIArea & Rendering
669
+ "createUIArea", "getUIArea", "getUIDirty", "applyChanges", "getStaticAreaRef",
670
+ "createRenderManager",
671
+ // - Theming
672
+ "applyTheme","setThemeRoot","attachThemeChanged","detachThemeChanged",
673
+ "isThemeApplied",
674
+ "notifyContentDensityChanged",
675
+ // - Control & App dev.
676
+ "getCurrentFocusedControlId",
677
+ "isMobile",
678
+ "getEventBus",
679
+ "byId", "byFieldGroupId",
680
+ // - Libraries
681
+ "getLoadedLibraries", "loadLibrary", "initLibrary",
682
+ "getLibraryResourceBundle",
683
+ // - Models & Messaging
684
+ "setModel", "getModel", "hasModel",
685
+ "getMessageManager",
686
+ // - Events
687
+ "attachEvent","detachEvent",
688
+ "attachControlEvent", "detachControlEvent",
689
+ "attachParseError", "detachParseError",
690
+ "attachValidationError", "detachValidationError",
691
+ "attachFormatError", "detachFormatError",
692
+ "attachValidationSuccess", "detachValidationSuccess",
693
+ "attachLocalizationChanged", "detachLocalizationChanged",
694
+
695
+ // @protected
696
+ "isStaticAreaRef",
697
+ "fireFormatError", "fireValidationSuccess", "fireValidationError", "fireParseError",
698
+
699
+ // @private, @ui5-restricted sap.ui.core
700
+ // - Init
701
+ "boot",
702
+ // - UIArea & Rendering
703
+ "_createUIArea",
704
+ "addPrerenderingTask",
705
+ // - Messaging
706
+ "setMessageManager",
707
+ // - Libraries
708
+ "attachLibraryChanged", "detachLibraryChanged",
709
+ "loadLibraries",
710
+ // - Theming
711
+ "attachThemeScopingChanged","detachThemeScopingChanged","fireThemeScopingChanged",
712
+ "includeLibraryTheme",
713
+
714
+ // @deprecated
715
+ // - Init & Plugins
716
+ "attachInitEvent",
717
+ "registerPlugin","unregisterPlugin",
718
+ // - Application/Root-Component
719
+ "setRoot",
720
+ "getRootComponent", "getApplication",
721
+ // - legacy registries & factories
722
+ "getControl", "getComponent", "getTemplate",
723
+ "createComponent",
724
+ // - Control dev.
725
+ "attachIntervalTimer", "detachIntervalTimer",
726
+ "getElementById",
727
+ // - UIArea & Rendering
728
+ "getRenderManager"]
680
729
  }
681
730
 
682
731
  });
@@ -843,13 +892,13 @@ sap.ui.define([
843
892
  // During this first call, the configuration object is not yet set on the Core instance.
844
893
  if (this.oConfiguration) {
845
894
  var html = document.documentElement;
846
- var bAnimation = this.oConfiguration.getAnimation();
895
+ var sAnimationMode = this.oConfiguration.getAnimationMode();
896
+ html.dataset.sapUiAnimationMode = sAnimationMode;
897
+ var bAnimation = (sAnimationMode !== Configuration.AnimationMode.minimal && sAnimationMode !== Configuration.AnimationMode.none);
847
898
  html.dataset.sapUiAnimation = bAnimation ? "on" : "off";
848
899
  if (typeof jQuery !== "undefined") {
849
900
  jQuery.fx.off = !bAnimation;
850
901
  }
851
- var sAnimationMode = this.oConfiguration.getAnimationMode();
852
- html.dataset.sapUiAnimationMode = sAnimationMode;
853
902
  }
854
903
  };
855
904
 
@@ -1266,11 +1315,9 @@ sap.ui.define([
1266
1315
  var oConfig = this.oConfiguration;
1267
1316
 
1268
1317
  // create any pre-configured UIAreas
1269
- // if ( oConfig.areas && oConfig.areas.length > 0 ) {
1270
1318
  if ( oConfig.areas ) {
1271
- // Log.warning("deprecated config option '(data-sap-ui-)areas' used.");
1272
1319
  for (var i = 0, l = oConfig.areas.length; i < l; i++) {
1273
- this.createUIArea(oConfig.areas[i]);
1320
+ this._createUIArea(oConfig.areas[i]);
1274
1321
  }
1275
1322
  oConfig.areas = undefined;
1276
1323
  }
@@ -1311,11 +1358,19 @@ sap.ui.define([
1311
1358
  }
1312
1359
  };
1313
1360
 
1361
+ /**
1362
+ * Creates a "rootComponent" or "sap.ui.app.Application".
1363
+ * Both concepts are deprecated.
1364
+ * Called during Core initialization.
1365
+ * @deprecated since 1.95
1366
+ * @private
1367
+ */
1314
1368
  Core.prototype._setupRootComponent = function() {
1315
1369
  var METHOD = "sap.ui.core.Core.init()",
1316
1370
  oConfig = this.oConfiguration;
1317
1371
 
1318
1372
  // load the root component
1373
+ // @deprecated concept, superseded by "sap/ui/core/ComponentSupport"
1319
1374
  var sRootComponent = oConfig.getRootComponent();
1320
1375
  if (sRootComponent) {
1321
1376
 
@@ -1341,7 +1396,7 @@ sap.ui.define([
1341
1396
 
1342
1397
  } else {
1343
1398
 
1344
- // DEPRECATED LEGACY CODE: load the application (TODO: remove when Application is removed!)
1399
+ // @deprecated concept, superseded by "sap/ui/core/Component"
1345
1400
  var sApplication = oConfig.getApplication();
1346
1401
  if (sApplication) {
1347
1402
 
@@ -1401,7 +1456,7 @@ sap.ui.define([
1401
1456
  }
1402
1457
  this.bInitialized = true;
1403
1458
  this._executeOnInit();
1404
- this._setupRootComponent();
1459
+ this._setupRootComponent(); // @legacy-relevant: private API for 2 deprecated concepts "rootComponent" & "sap.ui.app.Application"
1405
1460
  this._executeInitListeners();
1406
1461
  };
1407
1462
 
@@ -2542,7 +2597,7 @@ sap.ui.define([
2542
2597
  * Used in Core#initLibrary and ThemeCheck#checkStyle.
2543
2598
  *
2544
2599
  * @param {object} oLibInfo Library info object (containing a "version" property)
2545
- * @return {string|undefined} query parameters or undefined if "versionedLibCss" config is "false"
2600
+ * @returns {string|undefined} query parameters or undefined if "versionedLibCss" config is "false"
2546
2601
  * @private
2547
2602
  */
2548
2603
  Core.prototype._getLibraryCssQueryParams = function(oLibInfo) {
@@ -2744,6 +2799,19 @@ sap.ui.define([
2744
2799
  * @deprecated As of version 1.1, use {@link sap.ui.core.Control#placeAt Control#placeAt} instead!
2745
2800
  */
2746
2801
  Core.prototype.createUIArea = function(oDomRef) {
2802
+ return this._createUIArea(oDomRef);
2803
+ };
2804
+
2805
+ /**
2806
+ * Creates a new {@link sap.ui.core.UIArea UIArea}.
2807
+ * Must only be used by sap.ui.core functionality.
2808
+ *
2809
+ * @param {Element|string} oDomRef a DOM Element or ID string of the UIArea
2810
+ * @return {sap.ui.core.UIArea} a new UIArea
2811
+ * @private
2812
+ * @ui5-restricted sap.ui.core
2813
+ */
2814
+ Core.prototype._createUIArea = function(oDomRef) {
2747
2815
  var that = this;
2748
2816
  assert(typeof oDomRef === "string" || typeof oDomRef === "object", "oDomRef must be a string or object");
2749
2817
 
@@ -3363,11 +3431,11 @@ sap.ui.define([
3363
3431
  Core.prototype.getElementById = Element.registry.get;
3364
3432
 
3365
3433
  /**
3366
- * Returns the registered object for the given id, if any.
3434
+ * Returns the registered object for the given ID, if any.
3367
3435
  *
3368
3436
  * @param {string} sType Stereotype of the object to retrieve
3369
- * @param {sap.ui.core.ID|null|undefined} sId Id of the object to retrieve
3370
- * @returns {sap.ui.base.ManagedObject|undefined} Object of the given type and with the given id or undefined
3437
+ * @param {sap.ui.core.ID|null|undefined} sId ID of the object to retrieve
3438
+ * @returns {sap.ui.base.ManagedObject|undefined} Object of the given type and with the given ID or undefined
3371
3439
  * @private
3372
3440
  */
3373
3441
  Core.prototype.getObject = function(sType, sId) {
@@ -3447,7 +3515,7 @@ sap.ui.define([
3447
3515
 
3448
3516
  document.body.insertBefore(oStaticArea, document.body.firstChild);
3449
3517
 
3450
- this.createUIArea(oStaticArea).bInitial = false;
3518
+ this._createUIArea(oStaticArea).bInitial = false;
3451
3519
  }
3452
3520
  return oStaticArea;
3453
3521
 
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * in the documentation.
25
25
  *
26
26
  * @extends sap.ui.core.Element
27
- * @version 1.101.0
27
+ * @version 1.103.0
28
28
  *
29
29
  * @public
30
30
  * @alias sap.ui.core.CustomData
@@ -40,7 +40,7 @@ sap.ui.define([
40
40
  * @class Static class for enabling declarative UI support.
41
41
  *
42
42
  * @author Peter Muessig, Tino Butz
43
- * @version 1.101.0
43
+ * @version 1.103.0
44
44
  * @since 1.7.0
45
45
  * @public
46
46
  * @alias sap.ui.core.DeclarativeSupport
@@ -120,6 +120,7 @@ sap.ui.define([
120
120
  var sType = $element.attr("data-sap-ui-type");
121
121
  var aControls = [];
122
122
  var bIsUIArea = sType === "sap.ui.core.UIArea";
123
+ var aAttributes = oElement.getAttributeNames();
123
124
 
124
125
  if (bIsUIArea) {
125
126
  // use a UIArea / better performance when rendering multiple controls
@@ -145,12 +146,12 @@ sap.ui.define([
145
146
  // for a UIArea we remove only the data HTML attributes and keep the others
146
147
  // also marks the control as parsed (by removing data-sap-ui-type)
147
148
  var aAttr = [];
148
- jQuery.each(oElement.attributes, function(iIndex, oAttr) {
149
- var sName = oAttr.name;
149
+ for (var i = 0; i < aAttributes.length; i++) {
150
+ var sName = aAttributes[i];
150
151
  if (!bIsUIArea || bIsUIArea && /^data-/g.test(sName.toLowerCase())) {
151
152
  aAttr.push(sName);
152
153
  }
153
- });
154
+ }
154
155
  if (aAttr.length > 0) {
155
156
  $element.removeAttr(aAttr.join(" "));
156
157
  }
@@ -258,10 +259,11 @@ sap.ui.define([
258
259
  var fnBindingParser = ManagedObject.bindingParser;
259
260
  var aCustomData = [];
260
261
  var reCustomData = /^data-custom-data:(.+)/i;
262
+ var aAttributes = oElement.getAttributeNames();
261
263
 
262
- jQuery.each(oElement.attributes, function(iIndex, oAttr) {
263
- var sName = oAttr.name;
264
- var sValue = oAttr.value;
264
+ for (var i = 0; i < aAttributes.length; i++) {
265
+ var sName = aAttributes[i];
266
+ var sValue = oElement.getAttribute(sName);
265
267
 
266
268
  if (!reCustomData.test(sName)) {
267
269
 
@@ -340,8 +342,7 @@ sap.ui.define([
340
342
  }));
341
343
 
342
344
  }
343
-
344
- });
345
+ }
345
346
 
346
347
  if (aCustomData.length > 0) {
347
348
  mSettings.customData = aCustomData;