@openui5/sap.ui.core 1.98.0 → 1.101.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 (418) hide show
  1. package/.eslintrc.json +33 -1
  2. package/THIRDPARTY.txt +6 -6
  3. package/package.json +1 -1
  4. package/src/jquery.sap.global.js +6 -3
  5. package/src/jquery.sap.mobile.js +29 -11
  6. package/src/jquery.sap.properties.js +1 -1
  7. package/src/jquery.sap.resources.js +1 -1
  8. package/src/jquery.sap.script.js +1 -1
  9. package/src/jquery.sap.storage.js +3 -3
  10. package/src/sap/base/Log.js +1 -1
  11. package/src/sap/base/strings/whitespaceReplacer.js +1 -1
  12. package/src/sap/base/util/LoaderExtensions.js +1 -10
  13. package/src/sap/base/util/UriParameters.js +2 -2
  14. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  15. package/src/sap/base/util/restricted/_castArray.js +1 -1
  16. package/src/sap/base/util/restricted/_compact.js +1 -1
  17. package/src/sap/base/util/restricted/_curry.js +1 -1
  18. package/src/sap/base/util/restricted/_debounce.js +1 -1
  19. package/src/sap/base/util/restricted/_difference.js +1 -1
  20. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  21. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  22. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  23. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  24. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  25. package/src/sap/base/util/restricted/_flatten.js +1 -1
  26. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  27. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  28. package/src/sap/base/util/restricted/_intersection.js +1 -1
  29. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  30. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  31. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  32. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  33. package/src/sap/base/util/restricted/_isNil.js +1 -1
  34. package/src/sap/base/util/restricted/_max.js +1 -1
  35. package/src/sap/base/util/restricted/_merge.js +1 -1
  36. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  37. package/src/sap/base/util/restricted/_min.js +1 -1
  38. package/src/sap/base/util/restricted/_omit.js +1 -1
  39. package/src/sap/base/util/restricted/_pick.js +1 -1
  40. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  41. package/src/sap/base/util/restricted/_throttle.js +1 -1
  42. package/src/sap/base/util/restricted/_toArray.js +1 -1
  43. package/src/sap/base/util/restricted/_union.js +1 -1
  44. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  45. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  46. package/src/sap/base/util/restricted/_uniq.js +1 -1
  47. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  48. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  49. package/src/sap/base/util/restricted/_without.js +1 -1
  50. package/src/sap/base/util/restricted/_xor.js +1 -1
  51. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  52. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  53. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  54. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  55. package/src/sap/ui/Device.js +3 -3
  56. package/src/sap/ui/Global.js +4 -4
  57. package/src/sap/ui/VersionInfo.js +13 -10
  58. package/src/sap/ui/base/BindingParser.js +34 -7
  59. package/src/sap/ui/base/Event.js +1 -1
  60. package/src/sap/ui/base/EventProvider.js +2 -2
  61. package/src/sap/ui/base/ExpressionParser.js +1 -1
  62. package/src/sap/ui/base/Interface.js +1 -1
  63. package/src/sap/ui/base/ManagedObject.js +32 -22
  64. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  65. package/src/sap/ui/base/ManagedObjectObserver.js +2 -0
  66. package/src/sap/ui/base/ManagedObjectRegistry.js +10 -5
  67. package/src/sap/ui/base/Metadata.js +1 -1
  68. package/src/sap/ui/base/Object.js +1 -1
  69. package/src/sap/ui/base/ObjectPool.js +1 -1
  70. package/src/sap/ui/core/.library +2 -2
  71. package/src/sap/ui/core/BusyIndicator.js +1 -1
  72. package/src/sap/ui/core/Component.js +24 -20
  73. package/src/sap/ui/core/ComponentContainer.js +1 -1
  74. package/src/sap/ui/core/ComponentMetadata.js +2 -2
  75. package/src/sap/ui/core/ComponentSupport.js +1 -1
  76. package/src/sap/ui/core/Configuration.js +80 -11
  77. package/src/sap/ui/core/Control.js +2 -1
  78. package/src/sap/ui/core/Core.js +29 -12
  79. package/src/sap/ui/core/CustomData.js +1 -1
  80. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  81. package/src/sap/ui/core/Element.js +4 -7
  82. package/src/sap/ui/core/ElementMetadata.js +1 -1
  83. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  84. package/src/sap/ui/core/EventBus.js +1 -1
  85. package/src/sap/ui/core/ExtensionPoint.js +6 -1
  86. package/src/sap/ui/core/FocusHandler.js +1 -1
  87. package/src/sap/ui/core/Fragment.js +1 -1
  88. package/src/sap/ui/core/HTML.js +1 -1
  89. package/src/sap/ui/core/HTMLRenderer.js +1 -1
  90. package/src/sap/ui/core/History.js +1 -1
  91. package/src/sap/ui/core/Icon.js +17 -3
  92. package/src/sap/ui/core/IconRenderer.js +1 -1
  93. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  94. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  95. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  96. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  97. package/src/sap/ui/core/InvisibleText.js +1 -1
  98. package/src/sap/ui/core/Item.js +1 -1
  99. package/src/sap/ui/core/LabelEnablement.js +9 -2
  100. package/src/sap/ui/core/LayoutData.js +1 -1
  101. package/src/sap/ui/core/ListItem.js +1 -1
  102. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  103. package/src/sap/ui/core/LocalBusyIndicatorRenderer.js +2 -2
  104. package/src/sap/ui/core/Locale.js +1 -1
  105. package/src/sap/ui/core/LocaleData.js +73 -6
  106. package/src/sap/ui/core/Manifest.js +5 -3
  107. package/src/sap/ui/core/Message.js +1 -1
  108. package/src/sap/ui/core/Patcher.js +6 -4
  109. package/src/sap/ui/core/Popup.js +11 -8
  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/ScrollBarRenderer.js +1 -1
  115. package/src/sap/ui/core/SeparatorItem.js +1 -1
  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 +1 -1
  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 +27 -26
  126. package/src/sap/ui/core/_IconRegistry.js +13 -3
  127. package/src/sap/ui/core/cache/CacheManager.js +1 -1
  128. package/src/sap/ui/core/cache/LRUPersistentCache.js +2 -1
  129. package/src/sap/ui/core/cldr/en_AU.json +1 -1
  130. package/src/sap/ui/core/date/Buddhist.js +3 -3
  131. package/src/sap/ui/core/date/Japanese.js +4 -4
  132. package/src/sap/ui/core/date/UniversalDate.js +10 -0
  133. package/src/sap/ui/core/date/UniversalDateUtils.js +49 -49
  134. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  135. package/src/sap/ui/core/delegate/ScrollEnablement.js +9 -6
  136. package/src/sap/ui/core/dnd/DragAndDrop.js +27 -22
  137. package/src/sap/ui/core/dnd/DragDropBase.js +1 -2
  138. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  139. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  140. package/src/sap/ui/core/dnd/DropInfo.js +3 -3
  141. package/src/sap/ui/core/format/DateFormat.js +670 -199
  142. package/src/sap/ui/core/format/DateFormatTimezoneDisplay.js +47 -0
  143. package/src/sap/ui/core/format/ListFormat.js +2 -2
  144. package/src/sap/ui/core/format/NumberFormat.js +502 -216
  145. package/src/sap/ui/core/format/TimezoneUtil.js +248 -0
  146. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  147. package/src/sap/ui/core/library.js +220 -189
  148. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  149. package/src/sap/ui/core/message/Message.js +1 -1
  150. package/src/sap/ui/core/message/MessageManager.js +1 -1
  151. package/src/sap/ui/core/message/MessageParser.js +1 -1
  152. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  153. package/src/sap/ui/core/messagebundle.properties +2 -0
  154. package/src/sap/ui/core/messagebundle_ar.properties +1 -0
  155. package/src/sap/ui/core/messagebundle_bg.properties +6 -5
  156. package/src/sap/ui/core/messagebundle_ca.properties +1 -0
  157. package/src/sap/ui/core/messagebundle_cs.properties +1 -0
  158. package/src/sap/ui/core/messagebundle_cy.properties +1 -0
  159. package/src/sap/ui/core/messagebundle_da.properties +1 -0
  160. package/src/sap/ui/core/messagebundle_de.properties +2 -1
  161. package/src/sap/ui/core/messagebundle_el.properties +1 -0
  162. package/src/sap/ui/core/messagebundle_en.properties +1 -0
  163. package/src/sap/ui/core/messagebundle_en_GB.properties +1 -0
  164. package/src/sap/ui/core/messagebundle_en_US_sappsd.properties +1 -0
  165. package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +1 -0
  166. package/src/sap/ui/core/messagebundle_en_US_saptrc.properties +1 -0
  167. package/src/sap/ui/core/messagebundle_es.properties +1 -0
  168. package/src/sap/ui/core/messagebundle_es_MX.properties +1 -0
  169. package/src/sap/ui/core/messagebundle_et.properties +1 -0
  170. package/src/sap/ui/core/messagebundle_fi.properties +1 -0
  171. package/src/sap/ui/core/messagebundle_fr.properties +1 -0
  172. package/src/sap/ui/core/messagebundle_fr_CA.properties +1 -0
  173. package/src/sap/ui/core/messagebundle_hi.properties +1 -0
  174. package/src/sap/ui/core/messagebundle_hr.properties +1 -0
  175. package/src/sap/ui/core/messagebundle_hu.properties +1 -0
  176. package/src/sap/ui/core/messagebundle_id.properties +3 -2
  177. package/src/sap/ui/core/messagebundle_it.properties +1 -0
  178. package/src/sap/ui/core/messagebundle_iw.properties +1 -0
  179. package/src/sap/ui/core/messagebundle_ja.properties +1 -0
  180. package/src/sap/ui/core/messagebundle_kk.properties +1 -0
  181. package/src/sap/ui/core/messagebundle_ko.properties +2 -1
  182. package/src/sap/ui/core/messagebundle_lt.properties +1 -0
  183. package/src/sap/ui/core/messagebundle_lv.properties +2 -1
  184. package/src/sap/ui/core/messagebundle_ms.properties +1 -0
  185. package/src/sap/ui/core/messagebundle_nl.properties +1 -0
  186. package/src/sap/ui/core/messagebundle_no.properties +1 -0
  187. package/src/sap/ui/core/messagebundle_pl.properties +1 -0
  188. package/src/sap/ui/core/messagebundle_pt.properties +1 -0
  189. package/src/sap/ui/core/messagebundle_pt_PT.properties +1 -0
  190. package/src/sap/ui/core/messagebundle_ro.properties +1 -0
  191. package/src/sap/ui/core/messagebundle_ru.properties +1 -0
  192. package/src/sap/ui/core/messagebundle_sh.properties +1 -0
  193. package/src/sap/ui/core/messagebundle_sk.properties +1 -0
  194. package/src/sap/ui/core/messagebundle_sl.properties +1 -0
  195. package/src/sap/ui/core/messagebundle_sv.properties +1 -0
  196. package/src/sap/ui/core/messagebundle_th.properties +1 -0
  197. package/src/sap/ui/core/messagebundle_tr.properties +1 -0
  198. package/src/sap/ui/core/messagebundle_uk.properties +1 -0
  199. package/src/sap/ui/core/messagebundle_vi.properties +1 -0
  200. package/src/sap/ui/core/messagebundle_zh_CN.properties +1 -0
  201. package/src/sap/ui/core/messagebundle_zh_TW.properties +1 -0
  202. package/src/sap/ui/core/mvc/Controller.js +1 -1
  203. package/src/sap/ui/core/mvc/ControllerExtensionProvider.js +1 -1
  204. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  205. package/src/sap/ui/core/mvc/HTMLViewRenderer.js +1 -1
  206. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  207. package/src/sap/ui/core/mvc/JSONViewRenderer.js +1 -1
  208. package/src/sap/ui/core/mvc/JSView.js +1 -1
  209. package/src/sap/ui/core/mvc/JSViewRenderer.js +1 -1
  210. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  211. package/src/sap/ui/core/mvc/TemplateViewRenderer.js +1 -1
  212. package/src/sap/ui/core/mvc/View.js +1 -1
  213. package/src/sap/ui/core/mvc/ViewRenderer.js +1 -1
  214. package/src/sap/ui/core/mvc/XMLView.js +16 -4
  215. package/src/sap/ui/core/mvc/XMLViewRenderer.js +5 -2
  216. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  217. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  218. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  219. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  220. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  221. package/src/sap/ui/core/routing/Router.js +1 -1
  222. package/src/sap/ui/core/rules/App.support.js +6 -1
  223. package/src/sap/ui/core/rules/Misc.support.js +8 -3
  224. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  225. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  226. package/src/sap/ui/core/service/Service.js +1 -1
  227. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  228. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  229. package/src/sap/ui/core/support/Plugin.js +29 -1
  230. package/src/sap/ui/core/support/Support.js +3 -3
  231. package/src/sap/ui/core/support/controls/InteractionSlider.js +395 -407
  232. package/src/sap/ui/core/support/plugins/Breakpoint.js +5 -5
  233. package/src/sap/ui/core/support/plugins/ControlTree.js +434 -347
  234. package/src/sap/ui/core/support/plugins/Debugging.js +153 -129
  235. package/src/sap/ui/core/support/plugins/Interaction.js +71 -85
  236. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  237. package/src/sap/ui/core/support/plugins/Performance.js +10 -13
  238. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  239. package/src/sap/ui/core/support/plugins/TechInfo.js +5 -3
  240. package/src/sap/ui/core/support/plugins/Trace.js +7 -7
  241. package/src/sap/ui/core/support/plugins/ViewInfo.js +84 -22
  242. package/src/sap/ui/core/support/support.css +23 -23
  243. package/src/sap/ui/core/support/support.html +4 -6
  244. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +1 -1
  245. package/src/sap/ui/core/themes/base/CommandShortcutHints.less +1 -1
  246. package/src/sap/ui/core/themes/base/DragAndDrop.less +3 -3
  247. package/src/sap/ui/core/themes/base/base.less +1524 -54
  248. package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
  249. package/src/sap/ui/core/themes/base/global.less +169 -13
  250. package/src/sap/ui/core/themes/base/shared.less +1 -0
  251. package/src/sap/ui/core/themes/sap_hcb/global.less +164 -7
  252. package/src/sap/ui/core/theming/Parameters.js +1 -1
  253. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  254. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  255. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  256. package/src/sap/ui/core/tmpl/Template.js +1 -1
  257. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  258. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  259. package/src/sap/ui/core/util/Export.js +1 -1
  260. package/src/sap/ui/core/util/ExportCell.js +1 -1
  261. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  262. package/src/sap/ui/core/util/ExportRow.js +1 -1
  263. package/src/sap/ui/core/util/ExportType.js +1 -1
  264. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  265. package/src/sap/ui/core/util/File.js +1 -1
  266. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  267. package/src/sap/ui/core/util/MockServer.js +20 -17
  268. package/src/sap/ui/core/util/PasteHelper.js +5 -5
  269. package/src/sap/ui/core/util/XMLPreprocessor.js +17 -4
  270. package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +1 -1
  271. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  272. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  273. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  274. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  275. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  276. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  277. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  278. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  279. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  280. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  281. package/src/sap/ui/debug/ControlTree.js +1 -1
  282. package/src/sap/ui/debug/DebugEnv.js +1 -1
  283. package/src/sap/ui/debug/LogViewer.js +2 -2
  284. package/src/sap/ui/debug/PropertyList.js +1 -1
  285. package/src/sap/ui/dom/includeStylesheet.js +8 -3
  286. package/src/sap/ui/events/jquery/EventExtension.js +1 -1
  287. package/src/sap/ui/model/Binding.js +4 -3
  288. package/src/sap/ui/model/ClientModel.js +1 -1
  289. package/src/sap/ui/model/ClientTreeBinding.js +1 -1
  290. package/src/sap/ui/model/CompositeBinding.js +4 -1
  291. package/src/sap/ui/model/CompositeDataState.js +1 -1
  292. package/src/sap/ui/model/CompositeType.js +13 -1
  293. package/src/sap/ui/model/ContextBinding.js +1 -1
  294. package/src/sap/ui/model/DataState.js +1 -1
  295. package/src/sap/ui/model/MetaModel.js +1 -2
  296. package/src/sap/ui/model/Model.js +10 -7
  297. package/src/sap/ui/model/SelectionModel.js +1 -1
  298. package/src/sap/ui/model/SimpleType.js +1 -1
  299. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  300. package/src/sap/ui/model/Type.js +1 -1
  301. package/src/sap/ui/model/_Helper.js +24 -0
  302. package/src/sap/ui/model/analytics/AnalyticalBinding.js +30 -15
  303. package/src/sap/ui/model/analytics/ODataModelAdapter.js +2 -1
  304. package/src/sap/ui/model/base/ManagedObjectModel.js +9 -7
  305. package/src/sap/ui/model/json/JSONListBinding.js +1 -1
  306. package/src/sap/ui/model/json/JSONModel.js +15 -8
  307. package/src/sap/ui/model/json/JSONPropertyBinding.js +1 -1
  308. package/src/sap/ui/model/message/MessageListBinding.js +1 -1
  309. package/src/sap/ui/model/message/MessageModel.js +1 -1
  310. package/src/sap/ui/model/message/MessagePropertyBinding.js +1 -1
  311. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  312. package/src/sap/ui/model/odata/ODataListBinding.js +1 -1
  313. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  314. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  315. package/src/sap/ui/model/odata/ODataMetadata.js +3 -3
  316. package/src/sap/ui/model/odata/ODataModel.js +2 -2
  317. package/src/sap/ui/model/odata/ODataPropertyBinding.js +3 -1
  318. package/src/sap/ui/model/odata/ODataTreeBinding.js +1 -1
  319. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +5 -4
  320. package/src/sap/ui/model/odata/ODataUtils.js +7 -9
  321. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  322. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  323. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  324. package/src/sap/ui/model/odata/type/Date.js +1 -1
  325. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  326. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  327. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  328. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +349 -0
  329. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  330. package/src/sap/ui/model/odata/type/Double.js +1 -1
  331. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  332. package/src/sap/ui/model/odata/type/Int.js +1 -1
  333. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  334. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  335. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  336. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  337. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  338. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  339. package/src/sap/ui/model/odata/type/Single.js +1 -1
  340. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  341. package/src/sap/ui/model/odata/type/String.js +1 -1
  342. package/src/sap/ui/model/odata/type/Time.js +1 -1
  343. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  344. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  345. package/src/sap/ui/model/odata/v2/Context.js +69 -5
  346. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  347. package/src/sap/ui/model/odata/v2/ODataContextBinding.js +8 -4
  348. package/src/sap/ui/model/odata/v2/ODataListBinding.js +215 -78
  349. package/src/sap/ui/model/odata/v2/ODataModel.js +283 -80
  350. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +6 -4
  351. package/src/sap/ui/model/odata/v4/AnnotationHelper.js +16 -17
  352. package/src/sap/ui/model/odata/v4/Context.js +117 -76
  353. package/src/sap/ui/model/odata/v4/ODataBinding.js +62 -37
  354. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +157 -169
  355. package/src/sap/ui/model/odata/v4/ODataListBinding.js +451 -262
  356. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +91 -63
  357. package/src/sap/ui/model/odata/v4/ODataModel.js +478 -250
  358. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +74 -83
  359. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +65 -61
  360. package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +61 -6
  361. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +15 -0
  362. package/src/sap/ui/model/odata/v4/lib/_Cache.js +336 -86
  363. package/src/sap/ui/model/odata/v4/lib/_ConcatHelper.js +5 -13
  364. package/src/sap/ui/model/odata/v4/lib/_GroupLock.js +16 -0
  365. package/src/sap/ui/model/odata/v4/lib/_Helper.js +13 -6
  366. package/src/sap/ui/model/odata/v4/lib/_MetadataConverter.js +2 -2
  367. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +233 -26
  368. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +1 -1
  369. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  370. package/src/sap/ui/model/resource/ResourcePropertyBinding.js +1 -1
  371. package/src/sap/ui/model/type/Boolean.js +1 -1
  372. package/src/sap/ui/model/type/Currency.js +1 -1
  373. package/src/sap/ui/model/type/Date.js +1 -1
  374. package/src/sap/ui/model/type/DateInterval.js +1 -1
  375. package/src/sap/ui/model/type/DateTime.js +1 -1
  376. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  377. package/src/sap/ui/model/type/FileSize.js +1 -1
  378. package/src/sap/ui/model/type/Float.js +1 -1
  379. package/src/sap/ui/model/type/Integer.js +1 -1
  380. package/src/sap/ui/model/type/String.js +1 -1
  381. package/src/sap/ui/model/type/Time.js +1 -1
  382. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  383. package/src/sap/ui/model/type/Unit.js +1 -1
  384. package/src/sap/ui/model/xml/XMLListBinding.js +1 -1
  385. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  386. package/src/sap/ui/model/xml/XMLPropertyBinding.js +1 -1
  387. package/src/sap/ui/performance/trace/FESR.js +1 -1
  388. package/src/sap/ui/performance/trace/FESRHelper.js +72 -0
  389. package/src/sap/ui/performance/trace/Interaction.js +6 -2
  390. package/src/sap/ui/performance/trace/Passport.js +3 -3
  391. package/src/sap/ui/qunit/qunit-2-css.js +4 -4
  392. package/src/sap/ui/qunit/qunit-css.js +4 -4
  393. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  394. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  395. package/src/sap/ui/test/BranchTracking.js +1 -0
  396. package/src/sap/ui/test/Opa5.js +10 -6
  397. package/src/sap/ui/test/OpaBuilder.js +7 -7
  398. package/src/sap/ui/test/TestUtils.js +11 -0
  399. package/src/sap/ui/test/_UsageReport.js +1 -1
  400. package/src/sap/ui/test/generic/GenericTestCollection.js +176 -0
  401. package/src/sap/ui/test/generic/TestBase.js +151 -0
  402. package/src/sap/ui/test/generic/Utils.js +284 -0
  403. package/src/sap/ui/test/gherkin/opa5TestHarness.js +14 -5
  404. package/src/sap/ui/test/opaQunit.js +11 -10
  405. package/src/sap/ui/test/selectors/_ControlSelectorGenerator.js +9 -8
  406. package/src/sap/ui/test/selectors/_ControlSelectorValidator.js +1 -1
  407. package/src/sap/ui/test/starter/_setupAndStart.js +4 -0
  408. package/src/sap/ui/thirdparty/IPv6.js +1 -1
  409. package/src/sap/ui/thirdparty/SecondLevelDomains.js +1 -1
  410. package/src/sap/ui/thirdparty/URI.js +7 -3
  411. package/src/sap/ui/thirdparty/URITemplate.js +1 -1
  412. package/src/sap/ui/thirdparty/jqueryui/jquery-ui-datepicker.js +143 -3
  413. package/src/sap/ui/thirdparty/jqueryui/jquery-ui-position.js +8 -1
  414. package/src/sap/ui/thirdparty/jszip.js +17 -7
  415. package/src/sap/ui/thirdparty/mobify-carousel.js +1 -1
  416. package/src/sap/ui/util/Mobile.js +17 -0
  417. package/src/sap/ui/util/Storage.js +1 -1
  418. package/src/ui5loader.js +9 -5
@@ -8,13 +8,16 @@
8
8
  sap.ui.define([
9
9
  'sap/ui/core/support/Plugin',
10
10
  "sap/base/security/encodeXML",
11
- "sap/ui/events/KeyCodes"
11
+ "sap/base/util/each",
12
+ "sap/ui/events/KeyCodes",
13
+ "sap/ui/thirdparty/jquery",
14
+ "sap/ui/dom/jquery/cursorPos", // provides jQuery.fn.cursorPos
15
+ "sap/ui/dom/jquery/selectText" // provides jQuery.fn.selectText
12
16
  ],
13
- function(Plugin, encodeXML, KeyCodes) {
17
+ function(Plugin, encodeXML, each, KeyCodes, jQuery) {
14
18
  "use strict";
15
19
 
16
20
 
17
- var $ = jQuery;
18
21
  var Debugging = Plugin.extend("sap.ui.core.support.plugins.Debugging", {
19
22
  constructor: function(oSupportStub) {
20
23
  Plugin.apply(this, ["sapUiSupportDebugging", "Debugging", oSupportStub]);
@@ -48,23 +51,8 @@ sap.ui.define([
48
51
 
49
52
  Debugging.prototype.init = function(oSupportStub) {
50
53
  Plugin.prototype.init.apply(this, arguments);
51
- var _$ = this.$();
52
- _$.on("click", '#sapUiSupportDebuggingReboot', $.proxy(this._onUseOtherUI5Version, this));
53
- _$.on("change", '#sapUiSupportDebuggingRebootSelect', this._onUI5VersionDropdownChanged);
54
- _$.on("keyup", '#sapUiSupportDebuggingClassInput', $.proxy(this._autoComplete, this));
55
- _$.on("blur", '#sapUiSupportDebuggingClassInput', $.proxy(this._updateSelectOptions, this));
56
- _$.on("change", '#sapUiSupportDebuggingClassSelect', $.proxy(this._selectOptionsChanged, this));
57
- _$.on("click", '#sapUiSupportDebuggingAddClass', $.proxy(this._onAddClassClicked, this));
58
- _$.on("click", '#sapUiSupportDebuggingClassList li div', $.proxy(this._onSelectClass, this));
59
- _$.on("click", '#sapUiSupportDebuggingClassList li img.remove-class', $.proxy(this._onRemoveClass, this));
60
- _$.on("keyup", '#sapUiSupportDebuggingMethodInput', $.proxy(this._autoComplete, this));
61
- _$.on("blur", '#sapUiSupportDebuggingMethodInput', $.proxy(this._updateSelectOptions, this));
62
- _$.on("change", '#sapUiSupportDebuggingMethodSelect', $.proxy(this._selectOptionsChanged, this));
63
- _$.on("click", '#sapUiSupportDebuggingAddBreakpoint', $.proxy(this._onAddBreakpointClicked, this));
64
- _$.on("click", '#sapUiSupportDebuggingBreakpointList li img.remove-breakpoint', $.proxy(this._onRemoveBreakpoint, this));
65
54
 
66
55
  this.renderContainer();
67
-
68
56
  this._populateRebootUrls();
69
57
 
70
58
  this._oStub.sendEvent(this._breakpointId + "RequestClasses", {
@@ -74,43 +62,37 @@ sap.ui.define([
74
62
 
75
63
  Debugging.prototype.exit = function(oSupportStub) {
76
64
  Plugin.prototype.exit.apply(this, arguments);
77
- var _$ = this.$();
78
- _$.off("keyup", '#sapUiSupportDebuggingClassInput');
79
- _$.off("blur", '#sapUiSupportDebuggingClassInput');
80
- _$.off("change", '#sapUiSupportDebuggingClassSelect');
81
- _$.off("click", '#sapUiSupportDebuggingAddClass');
82
- _$.off("click", '#sapUiSupportDebuggingClassList li div');
83
- _$.off("click", '#sapUiSupportDebuggingClassList li img.remove-class');
84
- _$.off("keyup", '#sapUiSupportDebuggingMethodInput');
85
- _$.off("blur", '#sapUiSupportDebuggingMethodInput');
86
- _$.off("change", '#sapUiSupportDebuggingMethodSelect');
87
- _$.off("click", '#sapUiSupportDebuggingAddBreakpoint');
88
- _$.off("click", '#sapUiSupportDebuggingBreakpointList li img.remove-breakpoint');
89
65
  };
90
66
 
91
67
  Debugging.prototype.renderContainer = function() {
92
68
 
93
69
  var rm = sap.ui.getCore().createRenderManager();
94
70
 
95
- rm.write('<div id="sapUiSupportDebuggingRebootContainer" class="sapUiSupportContainer">');
96
-
97
- rm.write('<div class="sapUISupportLabel sapUISupportLabelBold">Note: Designed to work with apps loaded with the standard UI5 loading bootstrap script tag:</div>');
98
- rm.write('<div class="sapUISupportLabel sapUISupportLabelBold">&lt;script id="sap-ui-bootstrap" src="somepath/resources/sap-ui-core.js" ...<br/><br/></div>');
99
-
100
- rm.write('<div class="sapUISupportLabel">Boot application with different UI5 version on next reload:</div>');
101
- rm.write('<select id="sapUiSupportDebuggingRebootSelect" class="sapUiSupportSelect">');
102
- rm.write('<option value="none">Disabled (no custom reboot URL)</option>');
103
- rm.write('<option value="other" id="sapUiSupportDebuggingRebootOther">Other (enter URL to sap-ui-core.js below)...:</option>');
104
- rm.write('</select>');
105
- rm.write('<input type="text" id="sapUiSupportDebuggingRebootInput" disabled="disabled">');
106
- rm.write('<button id="sapUiSupportDebuggingReboot" class="sapUiSupportRoundedButton">Activate Reboot URL</button>');
107
- rm.write('</div>');
108
-
109
- rm.write('<div id="sapUiSupportDebuggingClassContainer" class="sapUiSupportContainer"></div>');
110
- rm.write('<div id="sapUiSupportDebuggingMethodContainer" class="sapUiSupportContainer"></div>');
111
-
112
- rm.flush(this.$().get(0));
71
+ rm.openStart("div", this.getId() + "-RebootContainer").class("sapUiSupportContainer").openEnd();
72
+ rm.openStart("div").class("sapUISupportLabel").class("sapUISupportLabelBold").openEnd().text("Note: Designed to work with apps loaded with the standard UI5 loading bootstrap script tag:").close("div");
73
+ rm.openStart("div").class("sapUISupportLabel").class("sapUISupportLabelBold").openEnd().text("<" + "script id=\"sap-ui-bootstrap\" src=\"somepath/resources/sap-ui-core.js\" ...");
74
+ rm.voidStart("br").voidEnd();
75
+ rm.voidStart("br").voidEnd();
76
+ rm.close("div");
77
+
78
+ rm.openStart("div").class("sapUISupportLabel").openEnd().text("Boot application with different UI5 version on next reload:").close("div");
79
+ rm.openStart("select", this.getId() + "-RebootSelect").class("sapUiSupportSelect").openEnd();
80
+ rm.openStart("option").attr("value", "none").openEnd().text("Disabled (no custom reboot URL").close("option");
81
+ rm.openStart("option", this.getId() + "-RebootOther").attr("value", "other").openEnd().text("Other (enter URL to sap-ui-core.js below)...:").close("option");
82
+ rm.close("select");
83
+ rm.voidStart("input", this.getId() + "-RebootInput").attr("type", "text").attr("disabled", "disabled").voidEnd();
84
+ rm.openStart("button", this.getId() + "-Reboot").class("sapUiSupportRoundedButton").openEnd().text("Activate Reboot URL").close("button");
85
+ rm.close("div");
86
+
87
+ rm.openStart("div", this.getId() + "-ClassContainer").class("sapUiSupportContainer").openEnd().close("div");
88
+ rm.openStart("div", this.getId() + "-MethodContainer").class("sapUiSupportContainer").openEnd().close("div");
89
+
90
+ rm.flush(this.dom());
113
91
  rm.destroy();
92
+
93
+ // register listeners
94
+ this.dom("Reboot").addEventListener("click", this._onUseOtherUI5Version.bind(this));
95
+ this.dom("RebootSelect").addEventListener("change", this._onUI5VersionDropdownChanged.bind(this));
114
96
  };
115
97
 
116
98
  Debugging.prototype.renderClasses = function() {
@@ -120,26 +102,28 @@ sap.ui.define([
120
102
  var aClasses = this._aClasses;
121
103
  var rm = sap.ui.getCore().createRenderManager();
122
104
 
123
- rm.write('<div class="sapUISupportLabel">Select Class:</div>');
105
+ rm.openStart("div").class("sapUISupportLabel").openEnd().text("Select Class:").close("div");
124
106
 
125
- rm.write('<select id="sapUiSupportDebuggingClassSelect" class="sapUiSupportAutocomplete sapUiSupportSelect"><option></option>');
107
+ rm.openStart("select", this.getId() + "-ClassSelect").class("sapUiSupportAutocomplete").class("sapUiSupportSelect").openEnd();
108
+ rm.openStart("option").openEnd().close("option");
126
109
 
127
- $.each(aClasses, function(iIndex, oValue) {
110
+ each(aClasses, function(iIndex, oValue) {
128
111
  if (typeof (that._mAddedClasses[oValue]) === 'undefined') {
129
- rm.write('<option>');
130
- rm.writeEscaped("" + oValue);
131
- rm.write('</option>');
112
+ rm.openStart("option").openEnd();
113
+ rm.text(oValue);
114
+ rm.close("option");
132
115
  }
133
116
  });
134
117
 
135
- rm.write('</select>');
118
+ rm.close("select");
136
119
 
137
- rm.write('<input id="sapUiSupportDebuggingClassInput" class="sapUiSupportAutocomplete" type="text">');
138
- rm.write('<button id="sapUiSupportDebuggingAddClass" class="sapUiSupportRoundedButton">Add class</button>');
120
+ rm.voidStart("input", this.getId() + "-ClassInput").class("sapUiSupportAutocomplete").attr("type", "text").voidEnd();
121
+ rm.openStart("button", this.getId() + "-AddClass").class("sapUiSupportRoundedButton").openEnd().text("Add class").close("button");
139
122
 
140
- rm.write('<hr class="no-border"><ul id="sapUiSupportDebuggingClassList" class="sapUiSupportList">');
123
+ rm.voidStart("hr").class("no-border").voidEnd();
124
+ rm.openStart("ul", this.getId() + "-ClassList").class("sapUiSupportList").openEnd();
141
125
 
142
- $.each(aClasses, function(iIndex, oValue) {
126
+ each(aClasses, function(iIndex, oValue) {
143
127
  if (typeof (that._mAddedClasses[oValue]) === 'undefined') {
144
128
  return;
145
129
  }
@@ -151,23 +135,36 @@ sap.ui.define([
151
135
  bpCountText = bpCount.active + " / " + bpCount.all;
152
136
  }
153
137
 
154
- rm.write('<li data-class-name="');
155
- rm.writeEscaped("" + oValue);
156
- rm.write('"');
157
-
138
+ rm.openStart("li").attr("data-class-name", oValue);
158
139
  if (that._sSelectedClass === oValue) {
159
- rm.write(' class="selected"');
140
+ rm.class("selected");
160
141
  }
161
-
162
- rm.write('><div><span class="className">' + encodeXML(oValue + "") + '</span>' +
163
- '<span class="breakpoints">' + encodeXML(bpCountText + "") + '</span></div>' +
164
- '<img class="remove-class" src="../../debug/images/delete.gif" alt="X"></li>');
142
+ rm.openEnd();
143
+
144
+ rm.openStart("div").openEnd()
145
+ .openStart("span").class("className").openEnd()
146
+ .text(oValue)
147
+ .close("span")
148
+ .openStart("span").class("breakpoints").openEnd()
149
+ .text(bpCountText)
150
+ .close("span")
151
+ .close("div")
152
+ .voidStart("img").class("remove-class").attr("src", "../../debug/images/delete.gif").attr("alt", "X").voidEnd();
153
+
154
+ rm.close("li");
165
155
  });
166
156
 
167
- rm.write('</ul>');
157
+ rm.close("ul");
168
158
 
169
- rm.flush($("#sapUiSupportDebuggingClassContainer").get(0));
159
+ rm.flush(this.dom("ClassContainer"));
170
160
  rm.destroy();
161
+
162
+ // register listeners
163
+ this.dom("ClassInput").addEventListener("keyup", this._autoComplete.bind(this));
164
+ this.dom("ClassInput").addEventListener("blur", this._updateSelectOptions.bind(this));
165
+ this.dom("ClassSelect").addEventListener("change", this._selectOptionsChanged.bind(this));
166
+ this.dom("AddClass").addEventListener("click", this._onAddClassClicked.bind(this));
167
+ this.dom("ClassList").addEventListener("click", this._onSelectOrRemoveClass.bind(this));
171
168
  };
172
169
 
173
170
  Debugging.prototype.renderMethods = function(mMethods) {
@@ -175,46 +172,55 @@ sap.ui.define([
175
172
  var rm = sap.ui.getCore().createRenderManager();
176
173
 
177
174
  if (typeof (mMethods) === 'undefined') {
178
- rm.write('<p>Select a class in the list on the left side to add breakpoint.</p>');
179
- rm.flush($("#sapUiSupportDebuggingMethodContainer").get(0));
175
+ rm.openStart("p").openEnd().text("Select a class in the list on the left side to add breakpoint.").close("p");
176
+ rm.flush(this.dom("MethodContainer"));
180
177
  rm.destroy();
181
178
  return;
182
179
  }
183
180
 
184
- rm.write('<div class="sapUISupportLabel">Select Method:</div>');
181
+ rm.openStart("div").class("sapUISupportLabel").openEnd().text("Select Method").close("div");
185
182
 
186
- rm.write('<select id="sapUiSupportDebuggingMethodSelect" class="sapUiSupportAutocomplete sapUiSupportSelect"><option></option>');
183
+ rm.openStart("select", this.getId() + "-MethodSelect").class("sapUiSupportAutocomplete").class("sapUiSupportSelect").openEnd()
184
+ .openStart("option").openEnd().close("option");
187
185
 
188
- $.each(mMethods, function(iIndex, oValue) {
186
+ each(mMethods, function(iIndex, oValue) {
189
187
  if (!oValue.active) {
190
- rm.write('<option data-method-type="');
191
- rm.writeEscaped("" + oValue.type);
192
- rm.write('">');
193
- rm.writeEscaped("" + oValue.name);
194
- rm.write('</option>');
188
+ rm.openStart("option").attr("data-method-type", oValue.type).openEnd();
189
+ rm.text(oValue.name);
190
+ rm.close("option");
195
191
  }
196
192
  });
197
193
 
198
- rm.write('</select>');
194
+ rm.close("select");
199
195
 
200
- rm.write('<input id="sapUiSupportDebuggingMethodInput" class="sapUiSupportAutocomplete" type="text">');
201
- rm.write('<button id="sapUiSupportDebuggingAddBreakpoint" class="sapUiSupportRoundedButton">Add breakpoint</button>');
196
+ rm.voidStart("input", this.getId() + "-MethodInput").class("sapUiSupportAutocomplete").attr("type", "text").voidEnd();
197
+ rm.openStart("button", this.getId() + "-AddBreakpoint").class("sapUiSupportRoundedButton").openEnd().text("Add breakpoint").close("button");
202
198
 
203
- rm.write('<hr class="no-border"><ul id="sapUiSupportDebuggingBreakpointList" class="sapUiSupportList sapUiSupportBreakpointList">');
199
+ rm.voidStart("hr").class("no-border").voidEnd();
200
+ rm.openStart("ul", this.getId() + "-BreakpointList").class("sapUiSupportList").class("sapUiSupportBreakpointList").openEnd();
204
201
 
205
- $.each(mMethods, function(iIndex, oValue) {
202
+ each(mMethods, function(iIndex, oValue) {
206
203
  if (!oValue.active) {
207
204
  return;
208
205
  }
209
206
 
210
- rm.write('<li data-method-type="' + encodeXML(oValue.type + "") + '"><span>' + encodeXML(oValue.name + "") + '</span>' +
211
- '<img class="remove-breakpoint" src="../../debug/images/delete.gif" alt="Remove"></li>');
207
+ rm.openStart("li").attr("data-method-name", oValue.name).attr("data-method-type", oValue.type).openEnd()
208
+ .openStart("span").openEnd().text(oValue.name).close("span")
209
+ .voidStart("img").class("remove-breakpoint").attr("src", "../../debug/images/delete.gif").attr("alt", "Remove").voidEnd()
210
+ .close("li");
212
211
  });
213
212
 
214
- rm.write('</ul>');
213
+ rm.close('ul');
215
214
 
216
- rm.flush($("#sapUiSupportDebuggingMethodContainer").get(0));
215
+ rm.flush(this.dom("MethodContainer"));
217
216
  rm.destroy();
217
+
218
+ this.dom("MethodInput").addEventListener("keyup", this._autoComplete.bind(this));
219
+ this.dom("MethodInput").addEventListener("blur", this._updateSelectOptions.bind(this));
220
+ this.dom("MethodSelect").addEventListener("change", this._selectOptionsChanged.bind(this));
221
+ this.dom("AddBreakpoint").addEventListener("click", this._onAddBreakpointClicked.bind(this));
222
+ this.dom("BreakpointList").addEventListener("click", this._onRemoveBreakpoint.bind(this));
223
+
218
224
  };
219
225
 
220
226
  Debugging.prototype.onsapUiSupportDebuggingReceiveClasses = function(oEvent) {
@@ -222,7 +228,7 @@ sap.ui.define([
222
228
  this.renderClasses();
223
229
  this.renderMethods();
224
230
 
225
- $('#sapUiSupportDebuggingClassInput').trigger("focus");
231
+ this.dom("ClassInput").focus();
226
232
  };
227
233
 
228
234
  Debugging.prototype.onsapUiSupportDebuggingReceiveClassMethods = function(oEvent) {
@@ -237,41 +243,41 @@ sap.ui.define([
237
243
  };
238
244
 
239
245
  // Update breakpoint-count
240
- var $breakpoints = $('li[data-class-name="' + sClassName + '"] span.breakpoints');
241
- $breakpoints.text(mBreakpointCount.active + " / " + mBreakpointCount.all);
246
+ var oBreakpoints = this.dom('li[data-class-name="' + sClassName + '"] span.breakpoints');
247
+ oBreakpoints.textContent = mBreakpointCount.active + " / " + mBreakpointCount.all;
242
248
 
243
- $('#sapUiSupportDebuggingMethodInput').trigger("focus");
249
+ this.dom("MethodInput").focus();
244
250
  };
245
251
 
246
252
  Debugging.prototype._autoComplete = function(oEvent) {
247
253
 
248
- var $input = $(oEvent.target);
254
+ var oInput = oEvent.target;
249
255
 
250
256
  if (oEvent.keyCode == KeyCodes.ENTER) {
251
257
  this._updateSelectOptions(oEvent);
252
258
 
253
- if ($input.attr('id') === "sapUiSupportDebuggingClassInput") {
259
+ if (oInput.id === this.getId() + "-ClassInput") {
254
260
  this._onAddClassClicked();
255
261
  } else {
256
262
  this._onAddBreakpointClicked();
257
263
  }
258
-
264
+ return;
259
265
  }
260
266
 
261
267
  if (oEvent.keyCode >= KeyCodes.ARROW_LEFT && oEvent.keyCode <= KeyCodes.ARROW_DOWN) {
262
268
  return;
263
269
  }
264
270
 
265
- var $select = $input.prev("select"),
266
- sInputVal = $input.val();
271
+ var sInputVal = oInput.value,
272
+ oSelect = oInput.previousElementSibling;
267
273
 
268
274
  if (sInputVal == "") {
269
275
  return;
270
276
  }
271
277
 
272
- var aOptions = $select.find("option").map(function() {
273
- return $(this).val();
274
- }).get();
278
+ var aOptions = Array.from(oSelect.querySelectorAll("option")).map(function(oOption) {
279
+ return oOption.value;
280
+ });
275
281
 
276
282
  var sOption;
277
283
 
@@ -280,13 +286,14 @@ sap.ui.define([
280
286
 
281
287
  if (sOption.toUpperCase().indexOf(sInputVal.toUpperCase()) == 0) {
282
288
 
283
- var iCurrentStart = $input.cursorPos();
289
+ var $input = jQuery(oInput),
290
+ iCurrentStart = $input.cursorPos();
284
291
 
285
292
  if (oEvent.keyCode == KeyCodes.BACKSPACE) {
286
293
  iCurrentStart--;
287
294
  }
288
295
 
289
- $input.val(sOption);
296
+ oInput.value = sOption;
290
297
  $input.selectText(iCurrentStart, sOption.length);
291
298
 
292
299
  break;
@@ -298,17 +305,18 @@ sap.ui.define([
298
305
 
299
306
  Debugging.prototype._onAddClassClicked = function() {
300
307
 
301
- var sClassName = $("#sapUiSupportDebuggingClassInput").val();
308
+ var sClassName = this.dom("ClassInput").value;
302
309
 
303
310
  this._mAddedClasses[sClassName] = {};
304
311
 
305
312
  this.renderClasses();
306
- $('#sapUiSupportDebuggingClassInput').trigger("focus");
313
+ this.dom("ClassInput").focus();
307
314
  };
308
315
 
309
316
  Debugging.prototype._onRemoveClass = function(oEvent) {
310
317
 
311
- var sClassName = $(oEvent.target).prev().find('span.className').text();
318
+ var oLi = oEvent.target.closest("li[data-class-name]");
319
+ var sClassName = oLi.dataset.className;
312
320
 
313
321
  delete this._mAddedClasses[sClassName];
314
322
 
@@ -330,19 +338,24 @@ sap.ui.define([
330
338
  this.renderMethods();
331
339
  }
332
340
 
333
- $('#sapUiSupportDebuggingClassInput').trigger("focus");
341
+ this.dom("ClassInput").focus();
334
342
  };
335
343
 
336
344
  Debugging.prototype._onAddBreakpointClicked = function() {
337
- this.changeBreakpoint($("#sapUiSupportDebuggingClassList li.selected span.className").text(),
338
- $("#sapUiSupportDebuggingMethodInput").val(),
339
- $("#sapUiSupportDebuggingMethodSelect option:selected").attr("data-method-type"), true);
345
+ this.changeBreakpoint(
346
+ this.dom("ClassList").querySelector("li.selected").dataset.className,
347
+ this.dom("MethodInput").value,
348
+ this.dom("MethodSelect").querySelector("option:checked").dataset.methodType, true);
340
349
  };
341
350
 
342
351
  Debugging.prototype._onRemoveBreakpoint = function(oEvent) {
343
- this.changeBreakpoint($("#sapUiSupportDebuggingClassList li.selected span.className").text(),
344
- $(oEvent.target).prev().text(),
345
- $(oEvent.target).parent("li").attr("data-method-type"), false);
352
+ if (oEvent.target.nodeName === "IMG" && oEvent.target.classList.contains("remove-breakpoint")) {
353
+ var oLi = oEvent.target.closest("li");
354
+ this.changeBreakpoint(
355
+ this.dom("ClassList").querySelector("li.selected").dataset.className,
356
+ oLi.dataset.methodName,
357
+ oLi.dataset.methodType, false);
358
+ }
346
359
  };
347
360
 
348
361
  Debugging.prototype._updateSelectOptions = function(oEvent) {
@@ -380,18 +393,29 @@ sap.ui.define([
380
393
  oInput.value = oSelect.options[oSelect.selectedIndex].value;
381
394
  };
382
395
 
396
+ Debugging.prototype._onSelectOrRemoveClass = function(oEvent) {
397
+ if (oEvent.target.nodeName === "IMG" && oEvent.target.classList.contains("remove-class")) {
398
+ this._onRemoveClass(oEvent);
399
+ } else {
400
+ this._onSelectClass(oEvent);
401
+ }
402
+ };
403
+
383
404
  Debugging.prototype._onSelectClass = function(oEvent) {
384
405
 
385
- var $li = $(oEvent.target).parents("li");
406
+ var oLi = oEvent.target.closest("li[data-class-name]");
386
407
 
387
- if ($li.hasClass("selected")) {
408
+ if (oLi == null || oLi.classList.contains("selected")) {
388
409
  return;
389
410
  }
390
411
 
391
- var className = $li.find('span.className').text();
412
+ // single selecT: deselect all others, select the current one
413
+ oLi.parentElement.querySelectorAll("li.selected").forEach(function(node) {
414
+ node.classList.remove("selected");
415
+ });
416
+ oLi.classList.add("selected");
392
417
 
393
- $li.addClass("selected").siblings("li").removeClass("selected");
394
- this._sSelectedClass = className;
418
+ var className = this._sSelectedClass = oLi.dataset.className;
395
419
 
396
420
  this._oStub.sendEvent(this._breakpointId + "RequestClassMethods", {
397
421
  className: className,
@@ -401,7 +425,7 @@ sap.ui.define([
401
425
 
402
426
  Debugging.prototype._isClassSelected = function() {
403
427
  var selected = false;
404
- $.each(this._mClasses, function(iIndex, oValue) {
428
+ each(this._mClasses, function(iIndex, oValue) {
405
429
  if (oValue.selected === true) {
406
430
  selected = true;
407
431
  }
@@ -448,12 +472,12 @@ sap.ui.define([
448
472
  };
449
473
 
450
474
  Debugging.prototype._testAndAddUrls = function(mUrls) {
451
- var $Other = jQuery("#sapUiSupportDebuggingRebootOther");
475
+ var oOther = this.dom("RebootOther");
452
476
  function createAppendFunction(sUrl) {
453
477
  return function() {
454
478
  // append URL and description to select box
455
479
  var sHtml = "<option value='" + encodeXML(sUrl) + "'>" + mUrls[sUrl] + "</option>";
456
- $Other.before(sHtml);
480
+ oOther.insertAdjacentHTML("beforebegin", sHtml);
457
481
  };
458
482
  }
459
483
 
@@ -483,29 +507,29 @@ sap.ui.define([
483
507
  };
484
508
 
485
509
  Debugging.prototype._onUI5VersionDropdownChanged = function() {
486
- var sRebootUrl = jQuery("#sapUiSupportDebuggingRebootSelect").val(),
487
- $Input = jQuery("#sapUiSupportDebuggingRebootInput");
510
+ var sRebootUrl = this.dom("RebootSelect").value,
511
+ oInput = this.dom("RebootInput");
488
512
 
489
513
  if (sRebootUrl === "other") {
490
514
  // enable input field for custom URL
491
- $Input.removeAttr("disabled");
515
+ oInput.disabled = false;
492
516
 
493
517
  } else {
494
518
  // disable input field and fill the selected URL (if any)
495
- $Input.attr("disabled", "disabled");
519
+ oInput.disabled = true;
496
520
  if (sRebootUrl === "none") {
497
- $Input.val("");
521
+ oInput.value = "";
498
522
  } else {
499
- $Input.val(sRebootUrl);
523
+ oInput.value = sRebootUrl;
500
524
  }
501
525
  }
502
526
  };
503
527
 
504
528
  Debugging.prototype._onUseOtherUI5Version = function() {
505
- var sRebootUrl = jQuery("#sapUiSupportDebuggingRebootSelect").val();
529
+ var sRebootUrl = this.dom("RebootSelect").value;
506
530
  if (sRebootUrl === "other") {
507
531
  // use content of input field
508
- sRebootUrl = jQuery("#sapUiSupportDebuggingRebootInput").val();
532
+ sRebootUrl = this.dom("RebootInput").value;
509
533
  }
510
534
 
511
535
  if (!sRebootUrl || sRebootUrl === "none") {