@openui5/sap.ui.core 1.138.0 → 1.140.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 (365) hide show
  1. package/README.md +1 -1
  2. package/REUSE.toml +8 -1
  3. package/THIRDPARTY.txt +72 -66
  4. package/package.json +2 -2
  5. package/src/jquery.sap.global.js +1 -1
  6. package/src/jquery.sap.mobile.js +0 -8
  7. package/src/jquery.sap.properties.js +1 -1
  8. package/src/jquery.sap.resources.js +1 -1
  9. package/src/jquery.sap.script.js +1 -1
  10. package/src/jquery.sap.storage.js +3 -3
  11. package/src/sap/base/Event.js +1 -1
  12. package/src/sap/base/Eventing.js +1 -1
  13. package/src/sap/base/config.js +22 -1
  14. package/src/sap/base/i18n/LanguageFallback.js +18 -2
  15. package/src/sap/base/i18n/LanguageTag.js +11 -5
  16. package/src/sap/base/i18n/Localization.js +36 -9
  17. package/src/sap/base/i18n/ResourceBundle.js +59 -35
  18. package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
  19. package/src/sap/base/security/URLListValidator.js +7 -3
  20. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  21. package/src/sap/base/util/restricted/_castArray.js +1 -1
  22. package/src/sap/base/util/restricted/_compact.js +1 -1
  23. package/src/sap/base/util/restricted/_curry.js +1 -1
  24. package/src/sap/base/util/restricted/_debounce.js +1 -1
  25. package/src/sap/base/util/restricted/_difference.js +1 -1
  26. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  27. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  28. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  29. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  30. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  31. package/src/sap/base/util/restricted/_flatten.js +1 -1
  32. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  33. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  34. package/src/sap/base/util/restricted/_intersection.js +1 -1
  35. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  36. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  37. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  38. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  39. package/src/sap/base/util/restricted/_isNil.js +1 -1
  40. package/src/sap/base/util/restricted/_max.js +1 -1
  41. package/src/sap/base/util/restricted/_merge.js +1 -1
  42. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  43. package/src/sap/base/util/restricted/_min.js +1 -1
  44. package/src/sap/base/util/restricted/_omit.js +1 -1
  45. package/src/sap/base/util/restricted/_pick.js +1 -1
  46. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  47. package/src/sap/base/util/restricted/_throttle.js +1 -1
  48. package/src/sap/base/util/restricted/_toArray.js +1 -1
  49. package/src/sap/base/util/restricted/_union.js +1 -1
  50. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  51. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  52. package/src/sap/base/util/restricted/_uniq.js +1 -1
  53. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  54. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  55. package/src/sap/base/util/restricted/_without.js +1 -1
  56. package/src/sap/base/util/restricted/_xor.js +1 -1
  57. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  58. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  59. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  60. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  61. package/src/sap/ui/Device.js +3 -3
  62. package/src/sap/ui/Global.js +3 -3
  63. package/src/sap/ui/base/BindingInfo.js +6 -1
  64. package/src/sap/ui/base/BindingParser.js +1 -1
  65. package/src/sap/ui/base/DataType.js +27 -2
  66. package/src/sap/ui/base/Event.js +1 -1
  67. package/src/sap/ui/base/EventProvider.js +1 -1
  68. package/src/sap/ui/base/Interface.js +1 -1
  69. package/src/sap/ui/base/ManagedObject.js +49 -12
  70. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  71. package/src/sap/ui/base/Metadata.js +1 -1
  72. package/src/sap/ui/base/Object.js +1 -1
  73. package/src/sap/ui/base/ObjectPool.js +1 -1
  74. package/src/sap/ui/base/OwnStatics.js +49 -0
  75. package/src/sap/ui/core/.library +8 -3
  76. package/src/sap/ui/core/BlockLayerUtils.js +2 -2
  77. package/src/sap/ui/core/BusyIndicator.js +1 -1
  78. package/src/sap/ui/core/Component.js +11 -9
  79. package/src/sap/ui/core/ComponentContainer.js +13 -3
  80. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  81. package/src/sap/ui/core/ComponentSupport.js +1 -1
  82. package/src/sap/ui/core/Configuration.js +1 -1
  83. package/src/sap/ui/core/Control.js +1 -1
  84. package/src/sap/ui/core/Core.js +2 -11
  85. package/src/sap/ui/core/CustomData.js +1 -1
  86. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  87. package/src/sap/ui/core/Element.js +10 -4
  88. package/src/sap/ui/core/ElementMetadata.js +1 -1
  89. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  90. package/src/sap/ui/core/EventBus.js +1 -1
  91. package/src/sap/ui/core/Fragment.js +10 -8
  92. package/src/sap/ui/core/HTML.js +1 -1
  93. package/src/sap/ui/core/History.js +1 -1
  94. package/src/sap/ui/core/Icon.js +1 -1
  95. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  96. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  97. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  98. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  99. package/src/sap/ui/core/InvisibleText.js +1 -1
  100. package/src/sap/ui/core/Item.js +1 -1
  101. package/src/sap/ui/core/LabelEnablement.js +1 -1
  102. package/src/sap/ui/core/LayoutData.js +1 -1
  103. package/src/sap/ui/core/Lib.js +54 -132
  104. package/src/sap/ui/core/ListItem.js +1 -1
  105. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  106. package/src/sap/ui/core/Locale.js +1 -1
  107. package/src/sap/ui/core/LocaleData.js +1 -1
  108. package/src/sap/ui/core/Manifest.js +1 -1
  109. package/src/sap/ui/core/Message.js +1 -1
  110. package/src/sap/ui/core/RenderManager.js +1 -1
  111. package/src/sap/ui/core/Renderer.js +1 -1
  112. package/src/sap/ui/core/ResizeHandler.js +1 -1
  113. package/src/sap/ui/core/ScrollBar.js +1 -1
  114. package/src/sap/ui/core/SeparatorItem.js +1 -1
  115. package/src/sap/ui/core/Theming.js +145 -76
  116. package/src/sap/ui/core/Title.js +1 -1
  117. package/src/sap/ui/core/TooltipBase.js +1 -1
  118. package/src/sap/ui/core/UIArea.js +1 -1
  119. package/src/sap/ui/core/UIComponent.js +6 -2
  120. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  121. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  122. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  123. package/src/sap/ui/core/XMLComposite.js +1 -1
  124. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  125. package/src/sap/ui/core/XMLTemplateProcessor.js +1 -1
  126. package/src/sap/ui/core/date/UI5Date.js +1 -1
  127. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  128. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  129. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  130. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  131. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  132. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  133. package/src/sap/ui/core/format/FormatUtils.js +1 -1
  134. package/src/sap/ui/core/format/NumberFormat.js +44 -20
  135. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  136. package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
  137. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  138. package/src/sap/ui/core/i18n/interaction_ar.xml +1 -1
  139. package/src/sap/ui/core/interaction/KeyboardInteractionDisplay.js +64 -37
  140. package/src/sap/ui/core/library.js +3 -3
  141. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  142. package/src/sap/ui/core/message/Message.js +1 -1
  143. package/src/sap/ui/core/message/MessageManager.js +1 -1
  144. package/src/sap/ui/core/message/MessageParser.js +1 -1
  145. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  146. package/src/sap/ui/core/messagebundle.properties +58 -28
  147. package/src/sap/ui/core/messagebundle_ar.properties +26 -11
  148. package/src/sap/ui/core/messagebundle_bg.properties +21 -6
  149. package/src/sap/ui/core/messagebundle_ca.properties +24 -9
  150. package/src/sap/ui/core/messagebundle_cnr.properties +25 -10
  151. package/src/sap/ui/core/messagebundle_cs.properties +24 -9
  152. package/src/sap/ui/core/messagebundle_cy.properties +24 -9
  153. package/src/sap/ui/core/messagebundle_da.properties +21 -6
  154. package/src/sap/ui/core/messagebundle_de.properties +16 -1
  155. package/src/sap/ui/core/messagebundle_el.properties +26 -11
  156. package/src/sap/ui/core/messagebundle_en.properties +24 -9
  157. package/src/sap/ui/core/messagebundle_en_GB.properties +24 -9
  158. package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +24 -9
  159. package/src/sap/ui/core/messagebundle_es.properties +21 -6
  160. package/src/sap/ui/core/messagebundle_es_MX.properties +24 -9
  161. package/src/sap/ui/core/messagebundle_et.properties +31 -16
  162. package/src/sap/ui/core/messagebundle_fi.properties +22 -7
  163. package/src/sap/ui/core/messagebundle_fr.properties +22 -7
  164. package/src/sap/ui/core/messagebundle_fr_CA.properties +20 -5
  165. package/src/sap/ui/core/messagebundle_hi.properties +24 -9
  166. package/src/sap/ui/core/messagebundle_hr.properties +20 -5
  167. package/src/sap/ui/core/messagebundle_hu.properties +23 -8
  168. package/src/sap/ui/core/messagebundle_id.properties +20 -5
  169. package/src/sap/ui/core/messagebundle_it.properties +23 -8
  170. package/src/sap/ui/core/messagebundle_iw.properties +21 -6
  171. package/src/sap/ui/core/messagebundle_ja.properties +19 -4
  172. package/src/sap/ui/core/messagebundle_kk.properties +25 -10
  173. package/src/sap/ui/core/messagebundle_ko.properties +26 -11
  174. package/src/sap/ui/core/messagebundle_lt.properties +20 -5
  175. package/src/sap/ui/core/messagebundle_lv.properties +22 -7
  176. package/src/sap/ui/core/messagebundle_mk.properties +25 -10
  177. package/src/sap/ui/core/messagebundle_ms.properties +24 -9
  178. package/src/sap/ui/core/messagebundle_nl.properties +22 -7
  179. package/src/sap/ui/core/messagebundle_no.properties +22 -7
  180. package/src/sap/ui/core/messagebundle_pl.properties +19 -4
  181. package/src/sap/ui/core/messagebundle_pt.properties +18 -3
  182. package/src/sap/ui/core/messagebundle_pt_PT.properties +18 -3
  183. package/src/sap/ui/core/messagebundle_ro.properties +24 -9
  184. package/src/sap/ui/core/messagebundle_ru.properties +19 -4
  185. package/src/sap/ui/core/messagebundle_sh.properties +25 -10
  186. package/src/sap/ui/core/messagebundle_sk.properties +24 -9
  187. package/src/sap/ui/core/messagebundle_sl.properties +20 -5
  188. package/src/sap/ui/core/messagebundle_sr.properties +25 -10
  189. package/src/sap/ui/core/messagebundle_sv.properties +23 -8
  190. package/src/sap/ui/core/messagebundle_th.properties +20 -5
  191. package/src/sap/ui/core/messagebundle_tr.properties +20 -5
  192. package/src/sap/ui/core/messagebundle_uk.properties +22 -7
  193. package/src/sap/ui/core/messagebundle_vi.properties +26 -11
  194. package/src/sap/ui/core/messagebundle_zh_CN.properties +24 -9
  195. package/src/sap/ui/core/messagebundle_zh_TW.properties +26 -11
  196. package/src/sap/ui/core/mvc/Controller.js +5 -3
  197. package/src/sap/ui/core/mvc/HTMLView.js +6 -2
  198. package/src/sap/ui/core/mvc/JSONView.js +6 -2
  199. package/src/sap/ui/core/mvc/JSView.js +6 -3
  200. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  201. package/src/sap/ui/core/mvc/View.js +63 -20
  202. package/src/sap/ui/core/mvc/XMLView.js +6 -2
  203. package/src/sap/ui/core/mvc/_ViewFactory.js +8 -4
  204. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  205. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  206. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  207. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  208. package/src/sap/ui/core/routing/Route.js +1 -1
  209. package/src/sap/ui/core/routing/Router.js +19 -1
  210. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  211. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  212. package/src/sap/ui/core/service/Service.js +1 -1
  213. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  214. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  215. package/src/sap/ui/core/support/Plugin.js +1 -1
  216. package/src/sap/ui/core/support/Support.js +1 -1
  217. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  218. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  219. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  220. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  221. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  222. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  223. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  224. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  225. package/src/sap/ui/core/themes/base/base.less +6 -6
  226. package/src/sap/ui/core/themes/base/shared.less +4 -1
  227. package/src/sap/ui/core/themes/base/skeleton.less +3 -3
  228. package/src/sap/ui/core/theming/Parameters.js +717 -755
  229. package/src/sap/ui/core/theming/ThemeHelper.js +0 -77
  230. package/src/sap/ui/core/theming/ThemeManager.js +535 -526
  231. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  232. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  233. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  234. package/src/sap/ui/core/tmpl/Template.js +1 -1
  235. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  236. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  237. package/src/sap/ui/core/util/Export.js +1 -1
  238. package/src/sap/ui/core/util/ExportCell.js +1 -1
  239. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  240. package/src/sap/ui/core/util/ExportRow.js +1 -1
  241. package/src/sap/ui/core/util/ExportType.js +1 -1
  242. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  243. package/src/sap/ui/core/util/File.js +1 -1
  244. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  245. package/src/sap/ui/core/util/MockServer.js +1 -1
  246. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  247. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  248. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  249. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  250. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  251. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  252. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  253. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  254. package/src/sap/ui/core/webc/WebComponent.js +93 -45
  255. package/src/sap/ui/core/webc/WebComponentMetadata.js +40 -6
  256. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  257. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  258. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  259. package/src/sap/ui/debug/ControlTree.js +1 -1
  260. package/src/sap/ui/debug/DebugEnv.js +1 -1
  261. package/src/sap/ui/debug/PropertyList.js +1 -1
  262. package/src/sap/ui/dom/findTabbable.js +1 -1
  263. package/src/sap/ui/dom/includeStylesheet.js +4 -1
  264. package/src/sap/ui/model/ClientModel.js +2 -2
  265. package/src/sap/ui/model/CompositeDataState.js +1 -1
  266. package/src/sap/ui/model/CompositeType.js +1 -1
  267. package/src/sap/ui/model/DataState.js +1 -1
  268. package/src/sap/ui/model/Filter.js +55 -35
  269. package/src/sap/ui/model/FilterOperator.js +79 -9
  270. package/src/sap/ui/model/MetaModel.js +1 -1
  271. package/src/sap/ui/model/Model.js +7 -7
  272. package/src/sap/ui/model/SelectionModel.js +1 -1
  273. package/src/sap/ui/model/SimpleType.js +1 -1
  274. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  275. package/src/sap/ui/model/Type.js +1 -1
  276. package/src/sap/ui/model/json/JSONModel.js +1 -1
  277. package/src/sap/ui/model/json/JSONPropertyBinding.js +14 -2
  278. package/src/sap/ui/model/json/TypedJSONContext.js +16 -0
  279. package/src/sap/ui/model/json/TypedJSONModel.js +16 -0
  280. package/src/sap/ui/model/message/MessageModel.js +1 -1
  281. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  282. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  283. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  284. package/src/sap/ui/model/odata/ODataMetadata.js +4 -4
  285. package/src/sap/ui/model/odata/ODataModel.js +3 -3
  286. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +9 -8
  287. package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +2 -2
  288. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  289. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  290. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  291. package/src/sap/ui/model/odata/type/Date.js +1 -1
  292. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  293. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  294. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  295. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  296. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  297. package/src/sap/ui/model/odata/type/Double.js +1 -1
  298. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  299. package/src/sap/ui/model/odata/type/Int.js +1 -1
  300. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  301. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  302. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  303. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  304. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  305. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  306. package/src/sap/ui/model/odata/type/Single.js +1 -1
  307. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  308. package/src/sap/ui/model/odata/type/String.js +1 -1
  309. package/src/sap/ui/model/odata/type/Time.js +1 -1
  310. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  311. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  312. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  313. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +17 -11
  314. package/src/sap/ui/model/odata/v2/ODataContextBinding.js +2 -2
  315. package/src/sap/ui/model/odata/v2/ODataListBinding.js +2 -2
  316. package/src/sap/ui/model/odata/v2/ODataModel.js +44 -61
  317. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +82 -60
  318. package/src/sap/ui/model/odata/v4/Context.js +19 -15
  319. package/src/sap/ui/model/odata/v4/ODataBinding.js +2 -2
  320. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +4 -4
  321. package/src/sap/ui/model/odata/v4/ODataListBinding.js +26 -14
  322. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +38 -23
  323. package/src/sap/ui/model/odata/v4/ODataModel.js +2 -2
  324. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +34 -7
  325. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
  326. package/src/sap/ui/model/odata/v4/ODataUtils.js +2 -2
  327. package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +1 -1
  328. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +78 -26
  329. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +10 -7
  330. package/src/sap/ui/model/odata/v4/lib/_Cache.js +32 -27
  331. package/src/sap/ui/model/odata/v4/lib/_Helper.js +50 -32
  332. package/src/sap/ui/model/odata/v4/lib/_MinMaxHelper.js +1 -1
  333. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +19 -9
  334. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +1 -1
  335. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  336. package/src/sap/ui/model/type/Boolean.js +1 -1
  337. package/src/sap/ui/model/type/Currency.js +1 -1
  338. package/src/sap/ui/model/type/Date.js +1 -1
  339. package/src/sap/ui/model/type/DateInterval.js +1 -1
  340. package/src/sap/ui/model/type/DateTime.js +1 -1
  341. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  342. package/src/sap/ui/model/type/FileSize.js +1 -1
  343. package/src/sap/ui/model/type/Float.js +1 -1
  344. package/src/sap/ui/model/type/Integer.js +1 -1
  345. package/src/sap/ui/model/type/String.js +1 -1
  346. package/src/sap/ui/model/type/Time.js +1 -1
  347. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  348. package/src/sap/ui/model/type/Unit.js +19 -5
  349. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  350. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -2
  351. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  352. package/src/sap/ui/test/TestUtils.js +27 -15
  353. package/src/sap/ui/test/generic/GenericTestCollection.js +11 -1
  354. package/src/sap/ui/test/generic/TestBase.js +1 -1
  355. package/src/sap/ui/test/generic/Utils.js +6 -6
  356. package/src/sap/ui/test/opaQunit.js +3 -0
  357. package/src/sap/ui/thirdparty/jquery.js +1 -1
  358. package/src/sap/ui/thirdparty/qunit-2.js +4 -1
  359. package/src/sap/ui/util/Mobile.js +0 -9
  360. package/src/sap/ui/util/Storage.js +1 -1
  361. package/src/ui5loader-autoconfig.js +49 -42
  362. package/src/ui5loader.js +1 -1
  363. package/ui5.yaml +0 -1
  364. package/src/sap/ui/base/_runWithOwner.js +0 -43
  365. package/src/sap/ui/core/plugin/LessSupport.js +0 -542
@@ -19,7 +19,7 @@ sap.ui.define(['sap/ui/core/Element', 'sap/ui/core/library'],
19
19
  * @class
20
20
  * Represents a DOM attribute of a DOM element.
21
21
  * @extends sap.ui.core.Element
22
- * @version 1.138.0
22
+ * @version 1.140.0
23
23
  *
24
24
  * @public
25
25
  * @since 1.15
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * @class
28
28
  * Represents a DOM element. It allows to use databinding for the properties and nested DOM attributes.
29
29
  * @extends sap.ui.core.Control
30
- * @version 1.138.0
30
+ * @version 1.140.0
31
31
  *
32
32
  * @public
33
33
  * @since 1.15
@@ -49,7 +49,7 @@ sap.ui.define([
49
49
  * @extends sap.ui.core.tmpl.Template
50
50
  * @abstract
51
51
  * @author SAP SE
52
- * @version 1.138.0
52
+ * @version 1.140.0
53
53
  * @alias sap.ui.core.tmpl.HandlebarsTemplate
54
54
  * @since 1.15
55
55
  * @deprecated as of version 1.56. Use an {@link sap.ui.core.mvc.XMLView XMLView} or a {@link topic:e6bb33d076dc4f23be50c082c271b9f0 Typed View} instead.
@@ -54,7 +54,7 @@ function(
54
54
  * @extends sap.ui.base.ManagedObject
55
55
  * @abstract
56
56
  * @author SAP SE
57
- * @version 1.138.0
57
+ * @version 1.140.0
58
58
  * @alias sap.ui.core.tmpl.Template
59
59
  * @since 1.15
60
60
  * @deprecated since 1.56, use an {@link sap.ui.core.mvc.XMLView XMLView} or a {@link topic:e6bb33d076dc4f23be50c082c271b9f0 Typed View} instead.
@@ -45,7 +45,7 @@ sap.ui.define([
45
45
  * @class
46
46
  * This is the base class for all template controls. Template controls are declared based on templates.
47
47
  * @extends sap.ui.core.Control
48
- * @version 1.138.0
48
+ * @version 1.140.0
49
49
  *
50
50
  * @public
51
51
  * @since 1.15
@@ -12,7 +12,7 @@ sap.ui.define([], function() {
12
12
  *
13
13
  * @class Utility class for asyncHints
14
14
  * @author SAP SE
15
- * @version 1.138.0
15
+ * @version 1.140.0
16
16
  *
17
17
  * @private
18
18
  * @ui5-restricted sap.ushell
@@ -141,7 +141,7 @@ sap.ui.define([
141
141
  * @extends sap.ui.core.Control
142
142
  *
143
143
  * @author SAP SE
144
- * @version 1.138.0
144
+ * @version 1.140.0
145
145
  * @since 1.22.0
146
146
  *
147
147
  * @public
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/core/Element'],
20
20
  * @extends sap.ui.core.Element
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.138.0
23
+ * @version 1.140.0
24
24
  * @since 1.22.0
25
25
  *
26
26
  * @public
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @extends sap.ui.base.ManagedObject
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.138.0
26
+ * @version 1.140.0
27
27
  * @since 1.22.0
28
28
  *
29
29
  * @public
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @extends sap.ui.base.ManagedObject
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.138.0
26
+ * @version 1.140.0
27
27
  * @since 1.22.0
28
28
  *
29
29
  * @public
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/base/ManagedObject'],
20
20
  * @extends sap.ui.base.ManagedObject
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.138.0
23
+ * @version 1.140.0
24
24
  * @since 1.22.0
25
25
  *
26
26
  * @public
@@ -38,7 +38,7 @@ sap.ui.define(['./ExportType'],
38
38
  * @extends sap.ui.core.util.ExportType
39
39
  *
40
40
  * @author SAP SE
41
- * @version 1.138.0
41
+ * @version 1.140.0
42
42
  * @since 1.22.0
43
43
  *
44
44
  * @public
@@ -13,7 +13,7 @@ sap.ui.define(["sap/ui/thirdparty/jquery"],
13
13
  * Utility class to handle files.
14
14
  *
15
15
  * @author SAP SE
16
- * @version 1.138.0
16
+ * @version 1.140.0
17
17
  * @namespace
18
18
  *
19
19
  * @public
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  *
22
22
  * @extends sap.ui.base.Object
23
23
  * @author SAP SE
24
- * @version 1.138.0
24
+ * @version 1.140.0
25
25
  * @private
26
26
  * @alias sap.ui.core.util.LibraryInfo
27
27
  */
@@ -46,7 +46,7 @@ sap.ui
46
46
  * @class Class to mock http requests made to a remote server supporting the OData V2 REST protocol.
47
47
  * @extends sap.ui.base.ManagedObject
48
48
  * @author SAP SE
49
- * @version 1.138.0
49
+ * @version 1.140.0
50
50
  * @public
51
51
  * @alias sap.ui.core.util.MockServer
52
52
  */
@@ -13,7 +13,7 @@ sap.ui.define([ "sap/ui/core/Lib", "sap/ui/model/ParseException", "sap/ui/model/
13
13
  *
14
14
  * @class Parses and validates data on the <code>paste</code> event of an SAPUI5 table.
15
15
  * @author SAP SE
16
- * @version 1.138.0
16
+ * @version 1.140.0
17
17
  * @private
18
18
  * @ui5-restricted sap.ui.table.Table, sap.m.Table, sap.m.plugins.PasteProvider, sap.m.MultiInput, sap.ui.mdc.FieldBase, sap.ui.comp.smarttable.SmartTable
19
19
  * @alias sap.ui.core.util.PasteHelper
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/base/EventProvider', './Serializer', './delegate/HTML', '
20
20
  * @class HTMLViewSerializer class.
21
21
  * @extends sap.ui.base.EventProvider
22
22
  * @author SAP SE
23
- * @version 1.138.0
23
+ * @version 1.140.0
24
24
  * @alias sap.ui.core.util.serializer.HTMLViewSerializer
25
25
  * @private
26
26
  * @ui5-restricted sap.watt, com.sap.webide
@@ -21,7 +21,7 @@ sap.ui.define(['sap/ui/base/EventProvider', "sap/base/assert"],
21
21
  * @class Serializer class.
22
22
  * @extends sap.ui.base.EventProvider
23
23
  * @author SAP SE
24
- * @version 1.138.0
24
+ * @version 1.140.0
25
25
  * @alias sap.ui.core.util.serializer.Serializer
26
26
  * @private
27
27
  * @ui5-restricted sap.watt, com.sap.webide
@@ -21,7 +21,7 @@ sap.ui.define(['sap/ui/base/EventProvider', './HTMLViewSerializer', './XMLViewSe
21
21
  * @class ViewSerializer class.
22
22
  * @extends sap.ui.base.EventProvider
23
23
  * @author SAP SE
24
- * @version 1.138.0
24
+ * @version 1.140.0
25
25
  * @alias sap.ui.core.util.serializer.ViewSerializer
26
26
  * @private
27
27
  * @ui5-restricted sap.watt, com.sap.webide
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/base/EventProvider', './Serializer', './delegate/XML', 's
20
20
  * @class XMLViewSerializer class.
21
21
  * @extends sap.ui.base.EventProvider
22
22
  * @author SAP SE
23
- * @version 1.138.0
23
+ * @version 1.140.0
24
24
  * @alias sap.ui.core.util.serializer.XMLViewSerializer
25
25
  * @private
26
26
  * @ui5-restricted sap.watt, com.sap.webide
@@ -17,7 +17,7 @@ sap.ui.define(['sap/ui/base/EventProvider'],
17
17
  * @class Abstract serializer delegate class.
18
18
  * @extends sap.ui.base.EventProvider
19
19
  * @author SAP SE
20
- * @version 1.138.0
20
+ * @version 1.140.0
21
21
  * @alias sap.ui.core.util.serializer.delegate.Delegate
22
22
  * @private
23
23
  * @ui5-restricted sap.watt, com.sap.webide
@@ -19,7 +19,7 @@ sap.ui.define(['./Delegate', "sap/base/strings/hyphenate", "sap/base/util/deepEq
19
19
  * @class HTML serializer delegate class.
20
20
  * @extends sap.ui.core.util.serializer.delegate.Delegate
21
21
  * @author SAP SE
22
- * @version 1.138.0
22
+ * @version 1.140.0
23
23
  * @alias sap.ui.core.util.serializer.delegate.HTML
24
24
  * @private
25
25
  * @ui5-restricted sap.watt, com.sap.webide
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @class XML serializer delegate class.
25
25
  * @extends sap.ui.core.util.serializer.delegate.Delegate
26
26
  * @author SAP SE
27
- * @version 1.138.0
27
+ * @version 1.140.0
28
28
  * @alias sap.ui.core.util.serializer.delegate.XML
29
29
  * @private
30
30
  * @ui5-restricted sap.watt, com.sap.webide
@@ -10,8 +10,6 @@ sap.ui.define([
10
10
  "../Element",
11
11
  "./WebComponentMetadata",
12
12
  "./WebComponentRenderer",
13
- "sap/base/strings/hyphenate",
14
- "sap/base/strings/camelize",
15
13
  "../library",
16
14
  "../LabelEnablement"
17
15
  ],
@@ -20,8 +18,6 @@ function(
20
18
  Element,
21
19
  WebComponentMetadata,
22
20
  WebComponentRenderer,
23
- hyphenate,
24
- camelize,
25
21
  coreLibrary,
26
22
  LabelEnablement
27
23
  ) {
@@ -46,8 +42,8 @@ function(
46
42
  /**
47
43
  * Returns the sap.ui.core.Element instance for an arbitrary HTML Element, or undefined, if the HTML element is not a sap.ui.core.Element
48
44
  *
49
- * @param obj
50
- * @returns {sap.ui.core.Element|undefined}
45
+ * @param {HTMLElement|object} obj DOM Element or any object that has an id property
46
+ * @returns {sap.ui.core.Element|undefined} UI5 element instance or undefined if the HTML element is not a sap.ui.core.Element
51
47
  * @private
52
48
  */
53
49
  var fnGetControlFor = function(obj) {
@@ -59,8 +55,8 @@ function(
59
55
  /**
60
56
  * Returns the active element in the shadow DOM, if any
61
57
  *
62
- * @param obj
63
- * @returns {HTMLElement}
58
+ * @param {HTMLElement|object} obj DOM Element or any object that has an id property
59
+ * @returns {HTMLElement} The active element in the shadow DOM, or the original object if no shadow DOM is present
64
60
  * @private
65
61
  */
66
62
  var fnGetActiveElement = function(obj) {
@@ -73,10 +69,10 @@ function(
73
69
  /**
74
70
  * Takes an object as an argument and returns another object, where all fields in the original object, that are HTML Elements, are deeply replaced with their sap.ui.core.Element counterparts, where applicable
75
71
  *
76
- * @param obj
77
- * @param level
78
- * @param maxLevel
79
- * @returns {Object}
72
+ * @param {HTMLElement|object|array} obj an object that can contain HTML Elements, arrays, objects, or any other type
73
+ * @param {number} level the current recursion level, used to limit the depth of the conversion
74
+ * @param {number} maxLevel the maximum recursion level, defaults to 2
75
+ * @returns {object} the converted object, where all HTML Elements are replaced with their sap.ui.core.Element counterparts, where applicable
80
76
  * @private
81
77
  */
82
78
  var fnConvert = function(obj, level, maxLevel) {
@@ -136,7 +132,7 @@ function(
136
132
  *
137
133
  * @extends sap.ui.core.Control
138
134
  * @author SAP SE
139
- * @version 1.138.0
135
+ * @version 1.140.0
140
136
  * @public
141
137
  * @since 1.138.0
142
138
  * @alias sap.ui.core.webc.WebComponent
@@ -165,8 +161,8 @@ function(
165
161
 
166
162
  this.__busyIndicatorTimeout = null;
167
163
 
168
- this.__onInvalidationBound = this.__onInvalidation.bind(this);
169
- this.__handleCustomEventBound = this.__handleCustomEvent.bind(this);
164
+ this.__onInvalidation = this.__onInvalidationBound = this.__onInvalidation.bind(this);
165
+ this.__handleCustomEvent = this.__handleCustomEventBound = this.__handleCustomEvent.bind(this);
170
166
 
171
167
  this.__delegates = {
172
168
  onBeforeRendering: this.__onBeforeRenderingDelegate,
@@ -196,6 +192,9 @@ function(
196
192
  * @property {Object<string, string | sap.ui.core.webc.WebComponent.MetadataOptions.Association>} [associations]
197
193
  * An object literal whose properties each define a new association in the ManagedObject subclass.
198
194
  * See {@link sap.ui.base.ManagedObject.MetadataOptions.Association Association} for more details.
195
+ * @property {Object<string, string | sap.ui.core.webc.WebComponent.MetadataOptions.Event>} [events]
196
+ * An object literal whose properties each define a new event of the ManagedObject subclass.
197
+ * See {@link sap.ui.base.ManagedObject.MetadataOptions.Event Event} for more details.
199
198
  * @property {string[]} [getters]
200
199
  * Proxied public getters of the Web Component which are directly accessible on the wrapper Control.
201
200
  * @property {string[]} [methods]
@@ -229,11 +228,10 @@ function(
229
228
  * @public
230
229
  */
231
230
 
231
+ // [FIX] The following mapping omits the <code>no-unnecessary-qualifier</code> error or we need to extend the <code>tslint.json</code>!
232
232
  /**
233
233
  * @typedef {sap.ui.core.webc.WebComponent.MetadataOptions.Property.Mapping} sap.ui.core.webc.WebComponent.MetadataOptionsPropertyMapping
234
234
  *
235
- * HACK! This mapping omits the <code>no-unnecessary-qualifier</code> error or we need to extend the <code>tslint.json</code>!
236
- *
237
235
  * @public
238
236
  */
239
237
 
@@ -275,10 +273,37 @@ function(
275
273
  * @public
276
274
  */
277
275
 
276
+ // [FIX] The following mapping omits the <code>no-unnecessary-qualifier</code> error or we need to extend the <code>tslint.json</code>!
278
277
  /**
279
278
  * @typedef {sap.ui.core.webc.WebComponent.MetadataOptions.Association.Mapping} sap.ui.core.webc.WebComponent.MetadataOptionsAssociationMapping
280
279
  *
281
- * HACK! This mapping omits the <code>no-unnecessary-qualifier</code> error or we need to extend the <code>tslint.json</code>!
280
+ * @public
281
+ */
282
+
283
+ /**
284
+ * @typedef {sap.ui.base.ManagedObject.MetadataOptions.Event} sap.ui.core.webc.WebComponent.MetadataOptions.Event
285
+ *
286
+ * An object literal describing an event of a class derived from <code>sap.ui.core.webc.WebComponent</code>.
287
+ * See {@link sap.ui.core.webc.WebComponent.MetadataOptions MetadataOptions} for details on its usage.
288
+ *
289
+ * @property {sap.ui.core.webc.WebComponent.MetadataOptionsEventMapping} [mapping] Defines the mapping of the event.
290
+ *
291
+ * @public
292
+ */
293
+
294
+ /**
295
+ * @typedef {object} sap.ui.core.webc.WebComponent.MetadataOptions.Event.Mapping
296
+ *
297
+ * An object literal describing the mapping of an event of a class derived from <code>sap.ui.core.webc.WebComponent</code>.
298
+ *
299
+ * @property {string} [to] Defines the target of the mapping of the event to which name it will be mapped to.
300
+ *
301
+ * @public
302
+ */
303
+
304
+ // [FIX] The following mapping omits the <code>no-unnecessary-qualifier</code> error or we need to extend the <code>tslint.json</code>!
305
+ /**
306
+ * @typedef {sap.ui.core.webc.WebComponent.MetadataOptions.Event.Mapping} sap.ui.core.webc.WebComponent.MetadataOptionsEventMapping
282
307
  *
283
308
  * @public
284
309
  */
@@ -337,8 +362,8 @@ function(
337
362
  /**
338
363
  * Assigns the __slot property which tells RenderManager to render the sap.ui.core.Element (oElement) with a "slot" attribute
339
364
  *
340
- * @param oElement
341
- * @param sAggregationName
365
+ * @param {sap.ui.core.Element} oElement a UI5 Element instance that is aggregated in the Web Component
366
+ * @param {string} sAggregationName the name of the aggregation to which the element is added
342
367
  * @private
343
368
  */
344
369
  WebComponent.prototype._setSlot = function(oElement, sAggregationName) {
@@ -537,7 +562,7 @@ function(
537
562
  this.__updateObjectProperties(oDomRef);
538
563
  window.customElements.whenDefined(oDomRef.localName).then(function() {
539
564
  if (typeof oDomRef.attachInvalidate === "function") {
540
- oDomRef.attachInvalidate(this.__onInvalidationBound);
565
+ oDomRef.attachInvalidate(this.__onInvalidation);
541
566
  }
542
567
 
543
568
  if (oDomRef._individualSlot) {
@@ -548,7 +573,7 @@ function(
548
573
 
549
574
  /**
550
575
  * Updates all object properties (can't be done via the renderer)
551
- * @param oDomRef
576
+ * @param {HTMLElement} oDomRef the DOM reference of the Web Component
552
577
  * @private
553
578
  */
554
579
  WebComponent.prototype.__updateObjectProperties = function(oDomRef) {
@@ -568,6 +593,13 @@ function(
568
593
  }
569
594
  };
570
595
 
596
+ /**
597
+ * Sets the Web Components busy state
598
+ *
599
+ * @param {boolean} bBusy The new busy state to be set
600
+ * @returns {this} <code>this</code> to allow method chaining
601
+ * @public
602
+ */
571
603
  WebComponent.prototype.setBusy = function(bBusy) {
572
604
  var bCurrentBusyState = this.getBusy();
573
605
 
@@ -589,7 +621,7 @@ function(
589
621
 
590
622
  /**
591
623
  * Synchronize user-controlled properties (such as checked, value)
592
- * @param oChangeInfo
624
+ * @param {object} oChangeInfo the change information object
593
625
  * @private
594
626
  */
595
627
  WebComponent.prototype.__onInvalidation = function(oChangeInfo) {
@@ -608,44 +640,54 @@ function(
608
640
  }
609
641
  };
610
642
 
643
+ /**
644
+ * @private
645
+ */
611
646
  WebComponent.prototype.__attachCustomEventsListeners = function() {
612
- var oEvents = this.getMetadata().getAllEvents();
647
+ var oDomRef = this.getDomRef();
648
+ var oEvents = this.getMetadata().getCustomEvents();
613
649
  for (var sEventName in oEvents) {
614
- var sCustomEventName = hyphenate(sEventName);
615
- this.getDomRef().addEventListener(sCustomEventName, this.__handleCustomEventBound);
650
+ var sCustomEventName = oEvents[sEventName]._sCustomEventName;
651
+ oDomRef.addEventListener(sCustomEventName, this.__handleCustomEvent);
616
652
  }
617
653
  };
618
654
 
655
+ /**
656
+ * @private
657
+ */
619
658
  WebComponent.prototype.__detachCustomEventsListeners = function() {
620
659
  var oDomRef = this.getDomRef();
621
660
  if (!oDomRef) {
622
661
  return;
623
662
  }
624
-
625
- var oEvents = this.getMetadata().getAllEvents();
663
+ var oEvents = this.getMetadata().getCustomEvents();
626
664
  for (var sEventName in oEvents) {
627
- if (oEvents.hasOwnProperty(sEventName)) {
628
- var sCustomEventName = hyphenate(sEventName);
629
- oDomRef.removeEventListener(sCustomEventName, this.__handleCustomEventBound);
630
- }
665
+ var sCustomEventName = oEvents[sEventName]._sCustomEventName;
666
+ oDomRef.removeEventListener(sCustomEventName, this.__handleCustomEvent);
631
667
  }
632
668
  };
633
669
 
670
+ /**
671
+ * @private
672
+ */
634
673
  WebComponent.prototype.__handleCustomEvent = function(oEvent) {
635
- var sCustomEventName = oEvent.type;
636
- var sEventName = camelize(sCustomEventName);
637
-
638
674
  // Prepare the event data object
639
675
  var oEventData = this.__formatEventData(oEvent.detail);
640
676
 
641
- // Finally fire the semantic event on the control instance
642
- var oEventObj = this.getMetadata().getEvent(sEventName);
643
- var bPrevented = !oEventObj.fire(this, oEventData);
644
- if (bPrevented) {
645
- oEvent.preventDefault();
677
+ // Notify all custom events that are registered for this event name
678
+ var mCustomEvents = this.getMetadata().getCustomEvents(oEvent.type);
679
+ for (var sName in mCustomEvents) {
680
+ var oEventObj = mCustomEvents[sName];
681
+ var bPrevented = !oEventObj.fire(this, oEventData);
682
+ if (bPrevented) {
683
+ oEvent.preventDefault();
684
+ }
646
685
  }
647
686
  };
648
687
 
688
+ /**
689
+ * @private
690
+ */
649
691
  WebComponent.prototype.__formatEventData = function(vDetail) {
650
692
  // If the event data is an object, recursively convert all object dom element properties to control references
651
693
  if (typeof vDetail === "object") {
@@ -656,6 +698,9 @@ function(
656
698
  return {};
657
699
  };
658
700
 
701
+ /**
702
+ * @private
703
+ */
659
704
  WebComponent.prototype.__callPublicMethod = function(name, args) {
660
705
  if (!this.getDomRef()) {
661
706
  throw new Error("Method called before custom element has been created by: " + this.getId());
@@ -676,6 +721,9 @@ function(
676
721
  return vResult;
677
722
  };
678
723
 
724
+ /**
725
+ * @private
726
+ */
679
727
  WebComponent.prototype.__callPublicGetter = function(name) {
680
728
  if (!this.getDomRef()) {
681
729
  throw new Error("Getter called before custom element has been created by: " + this.getId());
@@ -693,7 +741,7 @@ function(
693
741
  var oDomRef = this.getDomRef();
694
742
  this.__detachCustomEventsListeners();
695
743
  if (oDomRef && typeof oDomRef.detachInvalidate === "function") {
696
- oDomRef.detachInvalidate(this.__onInvalidationBound);
744
+ oDomRef.detachInvalidate(this.__onInvalidation);
697
745
  }
698
746
 
699
747
  return Control.prototype.destroy.apply(this, arguments);
@@ -701,8 +749,8 @@ function(
701
749
 
702
750
  /**
703
751
  * Maps the "enabled" property to the "disabled" attribute
704
- * @param bEnabled
705
- * @returns {boolean}
752
+ * @param {boolean} bEnabled the enabled state of the Web Component
753
+ * @returns {boolean} the mapped enabled state value
706
754
  * @private
707
755
  */
708
756
  WebComponent.prototype._mapEnabled = function(bEnabled) {
@@ -711,8 +759,8 @@ function(
711
759
 
712
760
  /**
713
761
  * Maps the "textDirection" property to the "dir" attribute
714
- * @param sTextDirection
715
- * @returns {string}
762
+ * @param {sap.ui.core.TextDirection|string} sTextDirection text direction value
763
+ * @returns {string} the mapped text direction value
716
764
  * @private
717
765
  */
718
766
  WebComponent.prototype._mapTextDirection = function(sTextDirection) {
@@ -8,9 +8,10 @@
8
8
  sap.ui.define([
9
9
  "../ElementMetadata",
10
10
  "./WebComponentRenderer",
11
- "sap/base/strings/camelize"
11
+ "sap/base/strings/camelize",
12
+ "sap/base/strings/hyphenate"
12
13
  ],
13
- function(ElementMetadata, WebComponentRenderer, camelize) {
14
+ function(ElementMetadata, WebComponentRenderer, camelize, hyphenate) {
14
15
  "use strict";
15
16
 
16
17
  var MAPPING_TYPES = ["property", "style", "textContent", "slot", "none"];
@@ -23,7 +24,7 @@ function(ElementMetadata, WebComponentRenderer, camelize) {
23
24
  *
24
25
  * @class
25
26
  * @author SAP SE
26
- * @version 1.138.0
27
+ * @version 1.140.0
27
28
  * @since 1.138.0
28
29
  * @alias sap.ui.core.webc.WebComponentMetadata
29
30
  * @extends sap.ui.core.ElementMetadata
@@ -89,6 +90,19 @@ function(ElementMetadata, WebComponentRenderer, camelize) {
89
90
  WebComponentAssociation.prototype.constructor = WebComponentAssociation;
90
91
  WebComponentMetadata.prototype.metaFactoryAssociation = WebComponentAssociation;
91
92
 
93
+ // Enrich event factory
94
+ var OriginalEvent = ElementMetadata.prototype.metaFactoryEvent;
95
+ var WebComponentEvent = function(oClass, name, info) {
96
+ OriginalEvent.apply(this, arguments);
97
+ if (info.mapping) {
98
+ this._sMapTo = info.mapping.to;
99
+ }
100
+ this._sCustomEventName = this._sMapTo ? this._sMapTo : hyphenate(name); // Create the custom event name from the mapping or the event name itself (then hyphenated)
101
+ };
102
+ WebComponentEvent.prototype = Object.create(OriginalEvent.prototype);
103
+ WebComponentEvent.prototype.constructor = WebComponentEvent;
104
+ WebComponentMetadata.prototype.metaFactoryEvent = WebComponentEvent;
105
+
92
106
  WebComponentMetadata.prototype.applySettings = function(oClassInfo) {
93
107
  var oStaticInfo = oClassInfo.metadata;
94
108
 
@@ -190,8 +204,8 @@ function(ElementMetadata, WebComponentRenderer, camelize) {
190
204
 
191
205
  /**
192
206
  * Returns a map, containing all properties of a certain mapping type
193
- * @param sMapping
194
- * @returns {Object}
207
+ * @param {string} sMapping mapping type
208
+ * @returns {Object} map of all properties of a certain mapping type
195
209
  */
196
210
  WebComponentMetadata.prototype.getPropertiesByMapping = function(sMapping) {
197
211
  var mFiltered = {};
@@ -220,7 +234,7 @@ function(ElementMetadata, WebComponentRenderer, camelize) {
220
234
 
221
235
  /**
222
236
  * Returns a map of all associations that control properties (have mapping to properties)
223
- * returns {Object}
237
+ * @returns {Object} map of all associations having mappings
224
238
  */
225
239
  WebComponentMetadata.prototype.getAssociationsWithMapping = function() {
226
240
  var mFiltered = {};
@@ -237,6 +251,26 @@ function(ElementMetadata, WebComponentRenderer, camelize) {
237
251
  return mFiltered;
238
252
  };
239
253
 
254
+ /**
255
+ * Returns a map of all events that are custom events (have mapping to a custom event)
256
+ * @param {string} [sCustomEventName] if provided, only returns the event with this name
257
+ * @returns {Object} map of custom events, where the key is the event name and the value is the event metadata object
258
+ */
259
+ WebComponentMetadata.prototype.getCustomEvents = function(sCustomEventName) {
260
+ var mFiltered = {};
261
+ var mEvents = this.getAllEvents();
262
+ for (var sEventName in mEvents) {
263
+ var oEventObj = mEvents[sEventName];
264
+ if (oEventObj._sCustomEventName) {
265
+ if (!sCustomEventName || oEventObj._sCustomEventName === sCustomEventName) {
266
+ mFiltered[sEventName] = oEventObj;
267
+ }
268
+ }
269
+ }
270
+
271
+ return mFiltered;
272
+ };
273
+
240
274
  /**
241
275
  * Retrieves the renderer for the described web component class.
242
276
  * Note: this is always the default renderer and Web Component wrappers should not define their own renderers.
@@ -12,7 +12,7 @@ sap.ui.define(function() {
12
12
  /**
13
13
  * Defines the different ready states for a WebSocket connection.
14
14
  *
15
- * @version 1.138.0
15
+ * @version 1.140.0
16
16
  * @enum {int}
17
17
  * @public
18
18
  * @alias sap.ui.core.ws.ReadyState
@@ -21,7 +21,7 @@ sap.ui.define(['./WebSocket', "sap/base/Log"],
21
21
  * @class WebSocket class implementing the pcp-protocol.
22
22
  * @extends sap.ui.core.ws.WebSocket
23
23
  * @author SAP SE
24
- * @version 1.138.0
24
+ * @version 1.140.0
25
25
  * @alias sap.ui.core.ws.SapPcpWebSocket
26
26
  */
27
27
  var SapPcpWebSocket = WebSocket.extend("sap.ui.core.ws.SapPcpWebSocket", /** @lends sap.ui.core.ws.SapPcpWebSocket.prototype */ {
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * @class Basic WebSocket class.
26
26
  * @extends sap.ui.base.EventProvider
27
27
  * @author SAP SE
28
- * @version 1.138.0
28
+ * @version 1.140.0
29
29
  * @alias sap.ui.core.ws.WebSocket
30
30
  */
31
31
  var WebSocket = EventProvider.extend("sap.ui.core.ws.WebSocket", /** @lends sap.ui.core.ws.WebSocket.prototype */ {
@@ -34,7 +34,7 @@ sap.ui.define('sap/ui/debug/ControlTree', [
34
34
  * @class Control Tree used for the Debug Environment
35
35
  * @extends sap.ui.base.EventProvider
36
36
  * @author Martin Schaus, Frank Weigel
37
- * @version 1.138.0
37
+ * @version 1.140.0
38
38
  * @alias sap.ui.debug.ControlTree
39
39
  * @private
40
40
  */