@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
@@ -24,7 +24,7 @@ sap.ui.define(["sap/ui/base/Object", "sap/base/Log"],
24
24
  * @extends sap.ui.base.Object
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.101.0
27
+ * @version 1.103.0
28
28
  * @public
29
29
  * @abstract
30
30
  * @alias sap.ui.core.message.MessageParser
@@ -56,7 +56,7 @@ MessageParser.prototype.setProcessor = function(oProcessor) {
56
56
  /**
57
57
  * Returns the registered processor on which the events for message handling can be fired
58
58
  *
59
- * @return {sap.ui.core.message.MessageProcessor} The currently set MessageProcessor or null if none is set
59
+ * @returns {sap.ui.core.message.MessageProcessor|null} The currently set MessageProcessor or <code>null</code> if none is set
60
60
  * @protected
61
61
  */
62
62
  MessageParser.prototype.getProcessor = function() {
@@ -27,7 +27,7 @@ sap.ui.define(['sap/ui/base/EventProvider', "sap/base/util/uid"],
27
27
  * @extends sap.ui.base.EventProvider
28
28
  *
29
29
  * @author SAP SE
30
- * @version 1.101.0
30
+ * @version 1.103.0
31
31
  *
32
32
  * @public
33
33
  * @alias sap.ui.core.message.MessageProcessor
@@ -194,8 +194,8 @@ Icon.synchronize=\u03A3\u03C5\u03B3\u03C7\u03C1\u03BF\u03BD\u03B9\u03C3\u03BC.
194
194
  Icon.undo=\u0391\u03BD\u03AC\u03BA\u03BB\u03B7\u03C3\u03B7
195
195
  Icon.up=\u03A0\u03AC\u03BD\u03C9
196
196
  Icon.upload=\u03A6\u03CC\u03C1\u03C4\u03C9\u03C3\u03B7
197
- Icon.zoom-in=Zoom In
198
- Icon.zoom-out=Zoom Out
197
+ Icon.zoom-in=\u039C\u03B5\u03B3\u03AD\u03B8\u03C5\u03BD\u03C3\u03B7
198
+ Icon.zoom-out=\u03A3\u03BC\u03AF\u03BA\u03C1\u03C5\u03BD\u03C3\u03B7
199
199
 
200
200
 
201
201
  TechInfo.DialogTitle=\u0394\u03B9\u03AC\u03BB\u03BF\u03B3\u03BF\u03C2 \u03A4\u03B5\u03C7\u03BD\u03B9\u03BA\u03CE\u03BD \u03A3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03C9\u03BD
@@ -56,79 +56,79 @@ CommunicationError=Errore di comunicazione
56
56
 
57
57
  NO=No
58
58
  YES=S\u00EC
59
- EnterYesOrNo=Inserisci "{0}" oppure "{1}".
60
- EnterDigitsOnly=Inserisci solo cifre
61
- EnterMaximumOfDigits=Inserisci al massimo {0} caratteri.
62
- EnterNumber=Inserisci un numero
63
- EnterNumberPrecision=Inserisci un numero di massimo {0} cifre, compresi i decimali
64
- EnterNumberInteger=Inserisci un numero con non pi\u00F9 di {0} cifre a sinistra del segno separatore dei decimali
65
- EnterNumberFraction=Inserisci un numero con non pi\u00F9 di {0} decimali
66
- EnterNumberIntegerFraction=Inserisci un numero con non pi\u00F9 di {0} cifre a sinistra del segno separatore dei decimali e non pi\u00F9 di {1} decimali
67
- EnterNumberFractionOnly=Inserisci un numero con un valore assoluto inferiore a 1 e un massimo di {0} posizioni decimali
68
- EnterNumberMin=Inserisci un numero almeno pari a {0}
69
- EnterNumberMinExclusive=Inserisci un numero maggiore di {0}
70
- EnterNumberMax=Inserisci un numero minore di/uguale a {0}
71
- EnterNumberMaxExclusive=Inserisci un numero minore di {0}
72
- EnterText=Inserisci un testo
73
- EnterTextMaxLength=Inserisci un testo con massimo {0} caratteri e spazi vuoti
74
- EnterInt=Inserisci un numero senza decimali.
75
- EnterDateTime=Inserisci una data e un''ora valida nel seguente formato\: {0}
76
- EnterDateTimeTimezone=Inserisci un fuso orario valido, ad esempio\: {0}
77
- EnterDate=Inserisci una data valida nel seguente formato\: {0}
78
- EnterGuid=Inserisci un GUID nel seguente formato\: 12345678-90AB-CDEF-1234-567890ABCDEF
79
- EnterTime=Inserisci un''ora valida nel seguente formato\: {0}
59
+ EnterYesOrNo=Inserire "{0}" oppure "{1}".
60
+ EnterDigitsOnly=Inserire solo cifre
61
+ EnterMaximumOfDigits=Inserire non pi\u00F9 di {0} caratteri.
62
+ EnterNumber=Inserire un numero
63
+ EnterNumberPrecision=Inserire un numero di massimo {0} cifre, compresi i decimali
64
+ EnterNumberInteger=Inserire un numero con non pi\u00F9 di {0} cifre a sinistra del segno separatore dei decimali
65
+ EnterNumberFraction=Inserire un numero con non pi\u00F9 di {0} decimali
66
+ EnterNumberIntegerFraction=Inserire un numero con non pi\u00F9 di {0} cifre a sinistra del segno separatore dei decimali e non pi\u00F9 di {1} decimali
67
+ EnterNumberFractionOnly=Inserire un numero con un valore assoluto inferiore a 1 e un massimo di {0} posizioni decimali
68
+ EnterNumberMin=Inserire un numero almeno pari a {0}
69
+ EnterNumberMinExclusive=Inserire un numero maggiore di {0}
70
+ EnterNumberMax=Inserire un numero con valore massimo pari a {0}
71
+ EnterNumberMaxExclusive=Inserire un numero minore di {0}
72
+ EnterText=Inserire un testo
73
+ EnterTextMaxLength=Inserire un testo con massimo {0} caratteri e spazi vuoti
74
+ EnterInt=Inserire un numero senza decimali.
75
+ EnterDateTime=Inserire una data e un''ora valide nel seguente formato\: {0}
76
+ EnterDateTimeTimezone=Inserire un fuso orario valido, ad esempio\: {0}
77
+ EnterDate=Inserire una data valida nel seguente formato\: {0}
78
+ EnterGuid=Inserire un GUID nel seguente formato\: 12345678-90AB-CDEF-1234-567890ABCDEF
79
+ EnterTime=Inserire un''ora valida nel seguente formato\: {0}
80
80
  Currency.WithDecimals=Questa divisa supporta un massimo di {0} decimali. Adeguare l''importo o inserire una divisa differente.
81
81
  Currency.WithoutDecimals=Questa divisa non supporta i decimali. Adeguare l'importo o inserire una divisa differente.
82
82
  Unit.WithDecimals=Questa unit\u00E0 supporta un massimo di {0} decimali. Adeguare il valore o inserire un''unit\u00E0 differente.
83
83
  Unit.WithoutDecimals=Questa unit\u00E0 non supporta i decimali. Adeguare il valore o inserire un'unit\u00E0 differente.
84
84
 
85
85
 
86
- Boolean.Invalid=Inserisci un'espressiobe boleana valida.
86
+ Boolean.Invalid=Inserire un valore boleano valido
87
87
 
88
- Integer.Invalid=Inserisci un numero valido.
89
- Integer.Minimum=Inserisci un numero maggiore di/uguale a {0}
90
- Integer.Maximum=Inserisci un numero minore di/uguale a {0}
88
+ Integer.Invalid=Inserire un numero valido
89
+ Integer.Minimum=Inserire un numero maggiore di/uguale a {0}
90
+ Integer.Maximum=Inserire un numero minore di/uguale a {0}
91
91
 
92
- Float.Invalid=Inserisci un numero valido.
93
- Float.Minimum=Inserisci un numero maggiore di/uguale a {0}
94
- Float.Maximum=Inserisci un numero minore di/uguale a {0}
92
+ Float.Invalid=Inserire un numero valido
93
+ Float.Minimum=Inserire un numero maggiore di/uguale a {0}
94
+ Float.Maximum=Inserire un numero minore di/uguale a {0}
95
95
 
96
- Currency.Invalid=Inserisci un importo divisa valido.
97
- Currency.InvalidMeasure=Inserisci una divisa valida.
98
- Currency.Minimum=Inserisci un numero maggiore di/uguale a {0}
99
- Currency.Maximum=Inserisci un numero minore di/uguale a {0}
96
+ Currency.Invalid=Inserire un importo divisa valido
97
+ Currency.InvalidMeasure=Inserire una divisa valida
98
+ Currency.Minimum=Inserire un numero maggiore di/uguale a {0}
99
+ Currency.Maximum=Inserire un numero minore di/uguale a {0}
100
100
 
101
- Unit.Invalid=Inserisci un importo unit\u00E0 valido.
102
- Unit.InvalidMeasure=Inserisci un'unit\u00E0 valida.
103
- Unit.Minimum=Inserisci un numero maggiore di/uguale a {0}
104
- Unit.Maximum=Inserisci un numero minore di/uguale a {0}
105
- Unit.Decimals=Inserisci un importo con un numero di decimali inferiore a {0}
101
+ Unit.Invalid=Inserire un importo unit\u00E0 valido
102
+ Unit.InvalidMeasure=Inserire un'unit\u00E0 valida
103
+ Unit.Minimum=Inserire un numero maggiore di/uguale a {0}
104
+ Unit.Maximum=Inserire un numero minore di/uguale a {0}
105
+ Unit.Decimals=Inserire un importo con un numero di decimali inferiore a {0}
106
106
 
107
- FileSize.Invalid=Inserisci una dimensione file valida.
108
- FileSize.Minimum=Inserisci una dimensione file maggiore di/uguale a {0}
109
- FileSize.Maximum=Inserisci una dimensione file minore di/uguale a {0}
107
+ FileSize.Invalid=Inserire una dimensione file valida
108
+ FileSize.Minimum=Inserire una dimensione file maggiore di/uguale a {0}
109
+ FileSize.Maximum=Inserire una dimensione file minore di/uguale a {0}
110
110
 
111
- Date.Invalid=Inserisci una data valida.
112
- Date.Minimum=Inserisci una data successiva al {0}
113
- Date.Maximum=Inserisci una data precedente al {0}
111
+ Date.Invalid=Inserire una data
112
+ Date.Minimum=Inserire una data successiva al {0}
113
+ Date.Maximum=Inserire una data precedente al {0}
114
114
 
115
- Time.Invalid=Inserisci un'ora valida.
116
- Time.Minimum=Inserisci un''ora successiva alle {0}
117
- Time.Maximum=Inserisci un''ora che preceda le {0}
115
+ Time.Invalid=Inserire un'ora valida
116
+ Time.Minimum=Inserire un''ora successiva alle {0}
117
+ Time.Maximum=Inserire un''ora precedente alle {0}
118
118
 
119
- DateTime.Invalid=Inserisci una data e un'ora valide.
120
- DateTime.Minimum=Inserisci una data e un''ora successive a {0}
121
- DateTime.Maximum=Inserisci una data e un''ora anteriori a {0}
119
+ DateTime.Invalid=Inserire una data e un'ora valide
120
+ DateTime.Minimum=Inserire una data e un''ora successive a {0}
121
+ DateTime.Maximum=Inserire una data e un''ora precedenti a {0}
122
122
 
123
123
  DateInterval.Invalid=Inserire un intervallo date valido
124
124
 
125
- String.MinLength=Inserisci un valore di almeno {0} caratteri
126
- String.MaxLength=Inserisci un valore di massimo {0} caratteri.
127
- String.StartsWith=Inserisci un valore che inizi per "{0}"
128
- String.EndsWith=Inserisci un valore che termini per "{0}"
129
- String.Contains=Inserisci un valore che contenga "{0}"
130
- String.Equals=Inserisci il valore "{0}"
131
- String.Search=Inserisci un valore valido
125
+ String.MinLength=Inserire un valore con almeno {0} caratteri
126
+ String.MaxLength=Inserire un valore con massimo {0} caratteri
127
+ String.StartsWith=Inserire un valore che inizi per "{0}"
128
+ String.EndsWith=Inserire un valore che termini per "{0}"
129
+ String.Contains=Inserire un valore che contenga "{0}"
130
+ String.Equals=Inserire il valore "{0}"
131
+ String.Search=Inserire un valore valido
132
132
 
133
133
  ACC_CTR_TYPE_IMAGE=Videata
134
134
  ACC_CTR_TYPE_BUTTON=Pulsante di comando
@@ -45,7 +45,7 @@ sap.ui.define([
45
45
  /**
46
46
  * Sets the controller for this extension. Accessible by the base member.
47
47
  *
48
- * @param {sap.ui.core.mvcController} oController The controller
48
+ * @param {sap.ui.core.mvc.Controller} oController The controller
49
49
  * @private
50
50
  */
51
51
  _setController: function(oController) {
@@ -6,7 +6,6 @@
6
6
 
7
7
  // Provides control sap.ui.core.mvc.HTMLView.
8
8
  sap.ui.define([
9
- 'sap/ui/thirdparty/jquery',
10
9
  './View',
11
10
  './HTMLViewRenderer',
12
11
  './ViewType',
@@ -17,7 +16,6 @@ sap.ui.define([
17
16
  'sap/base/util/LoaderExtensions'
18
17
  ],
19
18
  function(
20
- jQuery,
21
19
  View,
22
20
  HTMLViewRenderer,
23
21
  ViewType,
@@ -45,7 +43,7 @@ sap.ui.define([
45
43
  * @extends sap.ui.core.mvc.View
46
44
  *
47
45
  * @author SAP SE
48
- * @version 1.101.0
46
+ * @version 1.103.0
49
47
  *
50
48
  * @public
51
49
  * @since 1.9.2
@@ -259,18 +257,20 @@ sap.ui.define([
259
257
  var oProperties = that.getMetadata().getAllProperties();
260
258
 
261
259
  if (oMetaElement) {
262
- jQuery.each(oMetaElement.attributes, function(iIndex, oAttr) {
263
- var sName = DeclarativeSupport.convertAttributeToSettingName(oAttr.name, that.getId());
264
- var sValue = oAttr.value;
265
- var oProperty = oProperties[sName];
266
- if (!mSettings[sName]) {
260
+ var aAttributes = oMetaElement.getAttributeNames();
261
+ for (var j = 0; j < aAttributes.length; j++) {
262
+ var sAttributeName = aAttributes[j];
263
+ var sSettingName = DeclarativeSupport.convertAttributeToSettingName(sAttributeName, that.getId());
264
+ var sValue = oMetaElement.getAttribute(sAttributeName);
265
+ var oProperty = oProperties[sSettingName];
266
+ if (!mSettings[sSettingName]) {
267
267
  if (oProperty) {
268
- mSettings[sName] = DeclarativeSupport.convertValueToType(DeclarativeSupport.getPropertyDataType(oProperty),sValue);
269
- } else if (HTMLView._mAllowedSettings[sName]) {
270
- mSettings[sName] = sValue;
268
+ mSettings[sSettingName] = DeclarativeSupport.convertValueToType(DeclarativeSupport.getPropertyDataType(oProperty),sValue);
269
+ } else if (HTMLView._mAllowedSettings[sSettingName]) {
270
+ mSettings[sSettingName] = sValue;
271
271
  }
272
272
  }
273
- });
273
+ }
274
274
  that._oTemplate = oMetaElement;
275
275
  }
276
276
 
@@ -43,7 +43,7 @@ sap.ui.define([
43
43
  * @class
44
44
  * A View defined using JSON.
45
45
  * @extends sap.ui.core.mvc.View
46
- * @version 1.101.0
46
+ * @version 1.103.0
47
47
  *
48
48
  * @public
49
49
  * @alias sap.ui.core.mvc.JSONView
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * @param {object} [mSettings] initial settings for the new control
28
28
  *
29
29
  * @extends sap.ui.core.mvc.View
30
- * @version 1.101.0
30
+ * @version 1.103.0
31
31
  * @deprecated Since 1.90. Instead use {@link topic:e6bb33d076dc4f23be50c082c271b9f0 Typed Views}
32
32
  * by defining the view class with {@link sap.ui.core.mvc.View.extend View.extend} and
33
33
  * creating the view instances with {@link sap.ui.core.mvc.View.create View.create}.
@@ -206,7 +206,7 @@ sap.ui.define([
206
206
  Log.warning(
207
207
  "Do not use deprecated sap.ui.core.mvc.JSView: (View: " + (mSettings.id || mSettings.viewName) + "). " +
208
208
  "Use typed views defined by 'sap.ui.core.mvc.View.extend()' and created by 'sap.ui.core.mvc.View.create()'. " +
209
- "For further information, have a look at https://sapui5.hana.ondemand.com/#/topic/e6bb33d076dc4f23be50c082c271b9f0.",
209
+ "For further information, have a look at https://openui5.hana.ondemand.com/topic/e6bb33d076dc4f23be50c082c271b9f0.",
210
210
  "sap.ui.core.mvc.JSView",
211
211
  null,
212
212
  function () {
@@ -29,7 +29,7 @@ function(View, TemplateViewRenderer, ViewType, Log) {
29
29
  * @extends sap.ui.core.mvc.View
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.101.0
32
+ * @version 1.103.0
33
33
  *
34
34
  * @public
35
35
  * @deprecated Since version 1.56.0, use {@link sap.ui.core.mvc.XMLView} in combination with
@@ -145,7 +145,7 @@ sap.ui.define([
145
145
  * The default implementation of this method returns <code>false</code>.
146
146
  *
147
147
  * @extends sap.ui.core.Control
148
- * @version 1.101.0
148
+ * @version 1.103.0
149
149
  *
150
150
  * @public
151
151
  * @alias sap.ui.core.mvc.View
@@ -183,6 +183,7 @@ sap.ui.define([
183
183
  */
184
184
  displayBlock : {type : "boolean", group : "Appearance", defaultValue : false}
185
185
  },
186
+ defaultAggregation: "content",
186
187
  aggregations : {
187
188
 
188
189
  /**
@@ -95,11 +95,6 @@ sap.ui.define([
95
95
  * destroy</code> method. All functions can be called but may not work properly or lead to unexpected side effects.
96
96
  *
97
97
  * <strong>Note:</strong><br>
98
- * On root level, you can only define content for the default aggregation, e.g. without adding the <code>&lt;content&gt;</code> tag. If
99
- * you want to specify content for another aggregation of a view like <code>dependents</code>, place it in a child
100
- * control's dependents aggregation or add it by using {@link sap.ui.core.mvc.XMLView#addDependent}.
101
- *
102
- * <strong>Note:</strong><br>
103
98
  * The XML view offers special handling for context binding and style classes.
104
99
  * You can specify them via the <code>binding</code> and <code>class</code> attributes on a control's XML node.
105
100
  * Please be aware that these attributes are not properties of the respective controls and thus
@@ -107,8 +102,12 @@ sap.ui.define([
107
102
  * For more information, see {@link topic:91f05e8b6f4d1014b6dd926db0e91070 Context Binding (Element Binding)}
108
103
  * and {@link topic:b564935324f449209354c7e2f9903f22 Using CSS Style Sheets in XML Views}.
109
104
  *
105
+ * <strong>Note:</strong><br>
106
+ * When the content aggregation of this control is bound, no HTML markup is allowed in the binding template of the
107
+ * bound content aggregation. An error will be thrown when the above combination is detected.
108
+ *
110
109
  * @extends sap.ui.core.mvc.View
111
- * @version 1.101.0
110
+ * @version 1.103.0
112
111
  *
113
112
  * @public
114
113
  * @alias sap.ui.core.mvc.XMLView
@@ -527,18 +526,11 @@ sap.ui.define([
527
526
  }
528
527
 
529
528
  // extract the properties of the view from the XML element
530
- if ( !that.isSubView() ) {
531
- // for a real XMLView, we need to parse the attributes of the root node
532
- var mSettingsFromXML = {};
533
- // enrich mSettingsFromXML
534
- XMLTemplateProcessor.parseViewAttributes(xContent, that, mSettingsFromXML);
535
- if (!mSettings.async) {
536
- // extend mSettings which get applied implicitly during view constructor
537
- Object.assign(mSettings, mSettingsFromXML);
538
- } else {
539
- // apply the settings from the loaded view source via an explicit call
540
- that.applySettings(mSettingsFromXML);
541
- }
529
+ if (!that.isSubView()) {
530
+ // extract the internal settings from the XML and set on the view. The standard properties, event
531
+ // handler, aggregation and association will be extracted during parsing the content and applied to the
532
+ // view instance by calling "applySettings"
533
+ XMLTemplateProcessor.parseViewAttributes(xContent, that);
542
534
  } else {
543
535
  // when used as fragment: prevent connection to controller, only top level XMLView must connect
544
536
  delete mSettings.controller;
@@ -679,7 +671,7 @@ sap.ui.define([
679
671
  View.prototype.exit.apply(this, arguments);
680
672
  };
681
673
 
682
- XMLView.prototype.onControllerConnected = function(oController) {
674
+ XMLView.prototype.onControllerConnected = function(oController, mSettings) {
683
675
  var that = this;
684
676
  // unset any preprocessors (e.g. from an enclosing JSON view)
685
677
 
@@ -694,7 +686,7 @@ sap.ui.define([
694
686
 
695
687
  // parse the XML tree
696
688
  if (!this.oAsyncState) {
697
- this._aParsedContent = fnRunWithPreprocessor(XMLTemplateProcessor.parseTemplate.bind(null, this._xContent, this));
689
+ this._aParsedContent = fnRunWithPreprocessor(XMLTemplateProcessor.parseTemplate.bind(null, this._xContent, this, mSettings));
698
690
  } else {
699
691
  var fnDone = Interaction.notifyAsyncStep("VIEW PROCESSING");
700
692
  return XMLTemplateProcessor.parseTemplatePromise(this._xContent, this, true, {
@@ -63,7 +63,6 @@ sap.ui.define([
63
63
  apiVersion: 2
64
64
  };
65
65
 
66
-
67
66
  /**
68
67
  * Renders the HTML for the given control, using the provided {@link sap.ui.core.RenderManager}.
69
68
  *
@@ -71,79 +70,99 @@ sap.ui.define([
71
70
  * @param {sap.ui.core.mvc.XMLView} oControl an object representation of the control that should be rendered
72
71
  */
73
72
  XMLViewRenderer.render = function(rm, oControl) {
73
+ function writeRootOpenTag(bPreserve) {
74
+ rm.openStart("div", oControl);
75
+ rm.class("sapUiView");
76
+ rm.class("sapUiXMLView");
77
+ ViewRenderer.addDisplayClass(rm, oControl);
78
+ if (bPreserve) {
79
+ rm.attr("data-sap-ui-preserve", oControl.getId());
80
+ }
81
+ rm.style("width", oControl.getWidth());
82
+ rm.style("height", oControl.getHeight());
83
+ rm.openEnd();
84
+ }
85
+
86
+ function writeRootCloseTag() {
87
+ rm.close("div");
88
+ }
89
+
74
90
  // write the HTML into the render manager
75
- var aParsedContent = oControl._aParsedContent;
76
- var $oldContent = oControl._$oldContent = RenderManager.findPreservedContent(oControl.getId());
77
- if ( $oldContent.length === 0) {
78
- // Log.debug("rendering " + oControl + " anew");
79
- var bSubView = oControl.isSubView();
80
- if (!bSubView) {
81
- rm.openStart("div", oControl);
82
- rm.class("sapUiView");
83
- rm.class("sapUiXMLView");
84
- ViewRenderer.addDisplayClass(rm, oControl);
85
- if (!oControl.oAsyncState || !oControl.oAsyncState.suppressPreserve) {
91
+ var aParsedContent = oControl._aParsedContent, i;
92
+
93
+ if (oControl.isBound("content")) {
94
+ writeRootOpenTag();
95
+
96
+ var aContent = oControl.getContent();
97
+ for (i = 0; i < aContent.length; i++) {
98
+ rm.renderControl(aContent[i]);
99
+ }
100
+
101
+ writeRootCloseTag();
102
+ } else {
103
+ var $oldContent = oControl._$oldContent = RenderManager.findPreservedContent(oControl.getId());
104
+ if ($oldContent.length === 0) {
105
+ // Log.debug("rendering " + oControl + " anew");
106
+ var bSubView = oControl.isSubView();
107
+ if (!bSubView) {
86
108
  // do not preserve when rendering initially in async mode
87
- rm.attr("data-sap-ui-preserve", oControl.getId());
109
+ writeRootOpenTag(!oControl.oAsyncState || !oControl.oAsyncState.suppressPreserve /* bPreserve */);
88
110
  }
89
- rm.style("width", oControl.getWidth());
90
- rm.style("height", oControl.getHeight());
91
- rm.openEnd();
92
- }
93
- if (aParsedContent) {
94
- for (var i = 0; i < aParsedContent.length; i++) {
95
- var vRmInfo = aParsedContent[i];
96
- // apply RenderManagerAPI calls which might have been recorded during XML processing for all encountered HTML elements in an XMLView
97
- if (Array.isArray(vRmInfo)) {
98
- rm[vRmInfo[0]].apply(rm, vRmInfo[1]);
99
- } else if (!vRmInfo._isExtensionPoint) {
100
- // XMLView ExtensionPoint placeholder
101
- // we need to ignore these placeholders during rendering, they will be resolved asynchronously later by the flexibility provider
102
- // plain UI5 Control
103
- rm.renderControl(vRmInfo);
104
- // when the child control did not render anything, we add a placeholder to know where to render the child later
105
- if ( !vRmInfo.bOutput ) {
106
- rm.openStart("div", PREFIX_DUMMY + vRmInfo.getId());
107
- rm.class("sapUiHidden");
108
- rm.openEnd();
109
- rm.close("div");
111
+ if (aParsedContent) {
112
+ for (i = 0; i < aParsedContent.length; i++) {
113
+ var vRmInfo = aParsedContent[i];
114
+ // apply RenderManagerAPI calls which might have been recorded during XML processing for all encountered HTML elements in an XMLView
115
+ if (Array.isArray(vRmInfo)) {
116
+ rm[vRmInfo[0]].apply(rm, vRmInfo[1]);
117
+ } else if (!vRmInfo._isExtensionPoint) {
118
+ // XMLView ExtensionPoint placeholder
119
+ // we need to ignore these placeholders during rendering, they will be resolved asynchronously later by the flexibility provider
120
+ // plain UI5 Control
121
+ rm.renderControl(vRmInfo);
122
+ // when the child control did not render anything, we add a placeholder to know where to render the child later
123
+ if ( !vRmInfo.bOutput ) {
124
+ rm.openStart("div", PREFIX_DUMMY + vRmInfo.getId());
125
+ rm.class("sapUiHidden");
126
+ rm.openEnd();
127
+ rm.close("div");
128
+ }
110
129
  }
111
130
  }
112
131
  }
113
- }
114
- if (!bSubView) {
115
- rm.close("div");
116
- }
132
+ if (!bSubView) {
133
+ writeRootCloseTag();
134
+ }
117
135
 
118
- } else {
136
+ } else {
119
137
 
120
- // render dummy control for early after rendering notification
121
- rm.renderControl(oControl.oAfterRenderingNotifier);
138
+ // render dummy control for early after rendering notification
139
+ rm.renderControl(oControl.oAfterRenderingNotifier);
122
140
 
123
- // preserve mode: render a temporary element and all child controls
124
- rm.openStart("div", PREFIX_TEMPORARY + oControl.getId());
125
- rm.class("sapUiHidden");
126
- rm.openEnd();
127
- for (var i = 0; i < aParsedContent.length; i++) {
128
- var vFragment = aParsedContent[i];
129
- // if the parsed content does not have a corresponding _renderManagerAPICall, it's a control
130
- if (!Array.isArray(vFragment) && !vFragment._isExtensionPoint) {
131
- // render DOM string for child control
132
- rm.renderControl(vFragment);
133
-
134
- // replace any old DOM (or invisible placeholder) for a child control with a dummy placeholder
135
- var sFragmentId = vFragment.getId(),
136
- $fragment = jQuery(document.getElementById(sFragmentId));
137
- if ($fragment.length == 0) {
138
- $fragment = jQuery(document.getElementById(PREFIX_INVISIBLE + sFragmentId));
139
- }
140
- if ( !RenderManager.isPreservedContent($fragment[0]) ) {
141
- $fragment.replaceWith('<div id="' + PREFIX_DUMMY + sFragmentId + '" class="sapUiHidden"></div>');
141
+ // preserve mode: render a temporary element and all child controls
142
+ rm.openStart("div", PREFIX_TEMPORARY + oControl.getId());
143
+ rm.class("sapUiHidden");
144
+ rm.openEnd();
145
+ for (i = 0; i < aParsedContent.length; i++) {
146
+ var vFragment = aParsedContent[i];
147
+ // if the parsed content does not have a corresponding _renderManagerAPICall, it's a control
148
+ if (!Array.isArray(vFragment) && !vFragment._isExtensionPoint) {
149
+ // render DOM string for child control
150
+ rm.renderControl(vFragment);
151
+
152
+ // replace any old DOM (or invisible placeholder) for a child control with a dummy placeholder
153
+ var sFragmentId = vFragment.getId(),
154
+ $fragment = jQuery(document.getElementById(sFragmentId));
155
+ if ($fragment.length == 0) {
156
+ $fragment = jQuery(document.getElementById(PREFIX_INVISIBLE + sFragmentId));
157
+ }
158
+ if ( !RenderManager.isPreservedContent($fragment[0]) ) {
159
+ $fragment.replaceWith('<div id="' + PREFIX_DUMMY + sFragmentId + '" class="sapUiHidden"></div>');
160
+ }
142
161
  }
143
162
  }
144
- }
145
- rm.close("div");
163
+ rm.close("div");
146
164
 
165
+ }
147
166
  }
148
167
  };
149
168
 
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * @see sap.ui.core.DeclarativeSupport
22
22
  * @public
23
23
  * @since 1.7.0
24
- * @version 1.101.0
24
+ * @version 1.103.0
25
25
  * @alias sap.ui.core.plugin.DeclarativeSupport
26
26
  */
27
27
  var DeclarativeSupportPlugin = function() {
@@ -37,7 +37,7 @@
37
37
  * feature - DO NOT USE IN PRODUCTIVE SCENARIOS!!
38
38
  *
39
39
  * @author Peter Muessig
40
- * @version 1.101.0
40
+ * @version 1.103.0
41
41
  * @private
42
42
  * @alias sap.ui.core.plugin.LessSupport
43
43
  */
@@ -102,8 +102,8 @@
102
102
  this.bActive = true;
103
103
 
104
104
  // overwrite the includeLibraryTheme/applyTheme function to inject LESS
105
- this.oCore.includeLibraryTheme = jQuery.proxy(this.includeLibraryTheme, this);
106
- this.oCore.applyTheme = jQuery.proxy(this.applyTheme, this);
105
+ this.oCore.includeLibraryTheme = this.includeLibraryTheme.bind(this);
106
+ this.oCore.applyTheme = this.applyTheme.bind(this);
107
107
 
108
108
  // update the themes (only when LESS files are newer than the CSS files)
109
109
  var that = this, bUseLess = false;
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  * @author Peter Muessig
21
21
  * @public
22
22
  * @since 1.15.0
23
- * @version 1.101.0
23
+ * @version 1.103.0
24
24
  * @alias sap.ui.core.plugin.TemplatingSupport
25
25
  */
26
26
  var TemplatingSupport = function() {
@@ -38,7 +38,7 @@ function (
38
38
  * @alias sap.ui.core.postmessage.Bus
39
39
  * @author SAP SE
40
40
  * @since 1.56.0
41
- * @version 1.101.0
41
+ * @version 1.103.0
42
42
  * @private
43
43
  * @ui5-restricted sap.ui.core.support, sap.ui.support, sap.ui.rta
44
44
  */
@@ -13,7 +13,7 @@ sap.ui.define(function () {
13
13
  *
14
14
  * @author SAP SE
15
15
  * @since 1.56.0
16
- * @version 1.101.0
16
+ * @version 1.103.0
17
17
  *
18
18
  * @function
19
19
  * @param {string} sMessage - Dialog message
@@ -146,7 +146,7 @@ sap.ui.define([
146
146
  * If you now ask for the direction of the hash "foo" you get Unknown because it might be backwards or forwards.
147
147
  * For hash replacements, the history stack will be replaced at this position for the history.
148
148
  * @param {string} [sNewHash] optional, if this parameter is not passed the last hashChange is taken.
149
- * @returns {sap.ui.core.routing.HistoryDirection} or undefined, if no navigation has taken place yet.
149
+ * @returns {sap.ui.core.routing.HistoryDirection|undefined} Direction for the given hash or <code>undefined</code>, if no navigation has taken place yet.
150
150
  * @public
151
151
  */
152
152
  History.prototype.getDirection = function(sNewHash) {
@@ -163,8 +163,10 @@ sap.ui.define([
163
163
  };
164
164
 
165
165
  /**
166
- * gets the previous hash in the history - if the last direction was Unknown or there was no navigation yet, undefined will be returned
167
- * @returns {string} or undefined
166
+ * Gets the previous hash in the history.
167
+ *
168
+ * If the last direction was Unknown or there was no navigation yet, <code>undefined</code> will be returned.
169
+ * @returns {string|undefined} Previous hash in the history or <code>undefined</code>
168
170
  * @public
169
171
  */
170
172
  History.prototype.getPreviousHash = function() {