@openui5/sap.ui.core 1.100.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 (285) hide show
  1. package/.eslintrc.json +1 -0
  2. package/THIRDPARTY.txt +5 -5
  3. package/package.json +1 -1
  4. package/src/jquery.sap.global.js +1 -1
  5. package/src/jquery.sap.properties.js +1 -1
  6. package/src/jquery.sap.resources.js +1 -1
  7. package/src/jquery.sap.script.js +1 -1
  8. package/src/jquery.sap.storage.js +3 -3
  9. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  10. package/src/sap/base/util/restricted/_castArray.js +1 -1
  11. package/src/sap/base/util/restricted/_compact.js +1 -1
  12. package/src/sap/base/util/restricted/_curry.js +1 -1
  13. package/src/sap/base/util/restricted/_debounce.js +1 -1
  14. package/src/sap/base/util/restricted/_difference.js +1 -1
  15. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  16. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  17. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  18. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  19. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  20. package/src/sap/base/util/restricted/_flatten.js +1 -1
  21. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  22. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  23. package/src/sap/base/util/restricted/_intersection.js +1 -1
  24. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  25. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  26. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  27. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  28. package/src/sap/base/util/restricted/_isNil.js +1 -1
  29. package/src/sap/base/util/restricted/_max.js +1 -1
  30. package/src/sap/base/util/restricted/_merge.js +1 -1
  31. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  32. package/src/sap/base/util/restricted/_min.js +1 -1
  33. package/src/sap/base/util/restricted/_omit.js +1 -1
  34. package/src/sap/base/util/restricted/_pick.js +1 -1
  35. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  36. package/src/sap/base/util/restricted/_throttle.js +1 -1
  37. package/src/sap/base/util/restricted/_toArray.js +1 -1
  38. package/src/sap/base/util/restricted/_union.js +1 -1
  39. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  40. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  41. package/src/sap/base/util/restricted/_uniq.js +1 -1
  42. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  43. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  44. package/src/sap/base/util/restricted/_without.js +1 -1
  45. package/src/sap/base/util/restricted/_xor.js +1 -1
  46. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  47. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  48. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  49. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  50. package/src/sap/ui/Device.js +3 -3
  51. package/src/sap/ui/Global.js +4 -4
  52. package/src/sap/ui/base/Event.js +1 -1
  53. package/src/sap/ui/base/EventProvider.js +2 -2
  54. package/src/sap/ui/base/Interface.js +1 -1
  55. package/src/sap/ui/base/ManagedObject.js +1 -1
  56. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  57. package/src/sap/ui/base/ManagedObjectRegistry.js +10 -5
  58. package/src/sap/ui/base/Metadata.js +1 -1
  59. package/src/sap/ui/base/Object.js +1 -1
  60. package/src/sap/ui/base/ObjectPool.js +1 -1
  61. package/src/sap/ui/core/.library +1 -1
  62. package/src/sap/ui/core/BusyIndicator.js +1 -1
  63. package/src/sap/ui/core/Component.js +22 -18
  64. package/src/sap/ui/core/ComponentContainer.js +1 -1
  65. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  66. package/src/sap/ui/core/ComponentSupport.js +1 -1
  67. package/src/sap/ui/core/Control.js +1 -1
  68. package/src/sap/ui/core/Core.js +25 -10
  69. package/src/sap/ui/core/CustomData.js +1 -1
  70. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  71. package/src/sap/ui/core/Element.js +1 -1
  72. package/src/sap/ui/core/ElementMetadata.js +1 -1
  73. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  74. package/src/sap/ui/core/EventBus.js +1 -1
  75. package/src/sap/ui/core/ExtensionPoint.js +5 -0
  76. package/src/sap/ui/core/Fragment.js +1 -1
  77. package/src/sap/ui/core/HTML.js +1 -1
  78. package/src/sap/ui/core/History.js +1 -1
  79. package/src/sap/ui/core/Icon.js +1 -1
  80. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  81. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  82. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  83. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  84. package/src/sap/ui/core/InvisibleText.js +1 -1
  85. package/src/sap/ui/core/Item.js +1 -1
  86. package/src/sap/ui/core/LabelEnablement.js +1 -1
  87. package/src/sap/ui/core/LayoutData.js +1 -1
  88. package/src/sap/ui/core/ListItem.js +1 -1
  89. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  90. package/src/sap/ui/core/Locale.js +1 -1
  91. package/src/sap/ui/core/LocaleData.js +18 -5
  92. package/src/sap/ui/core/Manifest.js +5 -3
  93. package/src/sap/ui/core/Message.js +1 -1
  94. package/src/sap/ui/core/Patcher.js +3 -1
  95. package/src/sap/ui/core/RenderManager.js +1 -1
  96. package/src/sap/ui/core/Renderer.js +1 -1
  97. package/src/sap/ui/core/ResizeHandler.js +1 -1
  98. package/src/sap/ui/core/ScrollBar.js +1 -1
  99. package/src/sap/ui/core/SeparatorItem.js +1 -1
  100. package/src/sap/ui/core/Title.js +1 -1
  101. package/src/sap/ui/core/TooltipBase.js +1 -1
  102. package/src/sap/ui/core/UIArea.js +1 -1
  103. package/src/sap/ui/core/UIComponent.js +1 -1
  104. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  105. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  106. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  107. package/src/sap/ui/core/XMLComposite.js +1 -1
  108. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  109. package/src/sap/ui/core/XMLTemplateProcessor.js +20 -20
  110. package/src/sap/ui/core/date/UniversalDateUtils.js +48 -48
  111. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  112. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  113. package/src/sap/ui/core/dnd/DragAndDrop.js +8 -6
  114. package/src/sap/ui/core/dnd/DragDropBase.js +1 -2
  115. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  116. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  117. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  118. package/src/sap/ui/core/format/DateFormat.js +122 -67
  119. package/src/sap/ui/core/format/DateFormatTimezoneDisplay.js +3 -0
  120. package/src/sap/ui/core/format/TimezoneUtil.js +3 -3
  121. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  122. package/src/sap/ui/core/library.js +135 -140
  123. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  124. package/src/sap/ui/core/message/Message.js +1 -1
  125. package/src/sap/ui/core/message/MessageManager.js +1 -1
  126. package/src/sap/ui/core/message/MessageParser.js +1 -1
  127. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  128. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  129. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  130. package/src/sap/ui/core/mvc/JSView.js +1 -1
  131. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  132. package/src/sap/ui/core/mvc/View.js +1 -1
  133. package/src/sap/ui/core/mvc/XMLView.js +8 -4
  134. package/src/sap/ui/core/mvc/XMLViewRenderer.js +5 -2
  135. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  136. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  137. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  138. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  139. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  140. package/src/sap/ui/core/rules/App.support.js +6 -1
  141. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  142. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  143. package/src/sap/ui/core/service/Service.js +1 -1
  144. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  145. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  146. package/src/sap/ui/core/support/Plugin.js +29 -1
  147. package/src/sap/ui/core/support/Support.js +1 -1
  148. package/src/sap/ui/core/support/controls/InteractionSlider.js +395 -407
  149. package/src/sap/ui/core/support/plugins/Breakpoint.js +5 -5
  150. package/src/sap/ui/core/support/plugins/ControlTree.js +434 -347
  151. package/src/sap/ui/core/support/plugins/Debugging.js +153 -129
  152. package/src/sap/ui/core/support/plugins/Interaction.js +71 -85
  153. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  154. package/src/sap/ui/core/support/plugins/Performance.js +10 -13
  155. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  156. package/src/sap/ui/core/support/plugins/TechInfo.js +5 -3
  157. package/src/sap/ui/core/support/plugins/Trace.js +7 -7
  158. package/src/sap/ui/core/support/plugins/ViewInfo.js +84 -22
  159. package/src/sap/ui/core/support/support.css +23 -23
  160. package/src/sap/ui/core/support/support.html +4 -6
  161. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +1 -1
  162. package/src/sap/ui/core/themes/base/DragAndDrop.less +3 -3
  163. package/src/sap/ui/core/themes/base/base.less +419 -22
  164. package/src/sap/ui/core/themes/base/global.less +11 -9
  165. package/src/sap/ui/core/themes/base/shared.less +1 -0
  166. package/src/sap/ui/core/themes/sap_hcb/global.less +7 -5
  167. package/src/sap/ui/core/theming/Parameters.js +1 -1
  168. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  169. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  170. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  171. package/src/sap/ui/core/tmpl/Template.js +1 -1
  172. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  173. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  174. package/src/sap/ui/core/util/Export.js +1 -1
  175. package/src/sap/ui/core/util/ExportCell.js +1 -1
  176. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  177. package/src/sap/ui/core/util/ExportRow.js +1 -1
  178. package/src/sap/ui/core/util/ExportType.js +1 -1
  179. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  180. package/src/sap/ui/core/util/File.js +1 -1
  181. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  182. package/src/sap/ui/core/util/MockServer.js +1 -1
  183. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  184. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  185. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  186. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  187. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  188. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  189. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  190. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  191. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  192. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  193. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  194. package/src/sap/ui/debug/ControlTree.js +1 -1
  195. package/src/sap/ui/debug/DebugEnv.js +1 -1
  196. package/src/sap/ui/debug/PropertyList.js +1 -1
  197. package/src/sap/ui/model/ClientModel.js +1 -1
  198. package/src/sap/ui/model/CompositeDataState.js +1 -1
  199. package/src/sap/ui/model/CompositeType.js +1 -1
  200. package/src/sap/ui/model/DataState.js +1 -1
  201. package/src/sap/ui/model/MetaModel.js +1 -1
  202. package/src/sap/ui/model/Model.js +10 -7
  203. package/src/sap/ui/model/SelectionModel.js +1 -1
  204. package/src/sap/ui/model/SimpleType.js +1 -1
  205. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  206. package/src/sap/ui/model/Type.js +1 -1
  207. package/src/sap/ui/model/_Helper.js +7 -5
  208. package/src/sap/ui/model/analytics/AnalyticalBinding.js +1 -1
  209. package/src/sap/ui/model/analytics/ODataModelAdapter.js +2 -1
  210. package/src/sap/ui/model/json/JSONModel.js +1 -1
  211. package/src/sap/ui/model/message/MessageModel.js +1 -1
  212. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  213. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  214. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  215. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  216. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  217. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +4 -3
  218. package/src/sap/ui/model/odata/ODataUtils.js +7 -9
  219. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  220. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  221. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  222. package/src/sap/ui/model/odata/type/Date.js +1 -1
  223. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  224. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  225. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  226. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +39 -36
  227. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  228. package/src/sap/ui/model/odata/type/Double.js +1 -1
  229. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  230. package/src/sap/ui/model/odata/type/Int.js +1 -1
  231. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  232. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  233. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  234. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  235. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  236. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  237. package/src/sap/ui/model/odata/type/Single.js +1 -1
  238. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  239. package/src/sap/ui/model/odata/type/String.js +1 -1
  240. package/src/sap/ui/model/odata/type/Time.js +1 -1
  241. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  242. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  243. package/src/sap/ui/model/odata/v2/Context.js +63 -3
  244. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  245. package/src/sap/ui/model/odata/v2/ODataListBinding.js +92 -44
  246. package/src/sap/ui/model/odata/v2/ODataModel.js +38 -31
  247. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +4 -1
  248. package/src/sap/ui/model/odata/v4/Context.js +9 -4
  249. package/src/sap/ui/model/odata/v4/ODataBinding.js +12 -12
  250. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +3 -2
  251. package/src/sap/ui/model/odata/v4/ODataListBinding.js +110 -84
  252. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
  253. package/src/sap/ui/model/odata/v4/ODataModel.js +8 -8
  254. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
  255. package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +59 -5
  256. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +15 -0
  257. package/src/sap/ui/model/odata/v4/lib/_Cache.js +186 -82
  258. package/src/sap/ui/model/odata/v4/lib/_ConcatHelper.js +5 -13
  259. package/src/sap/ui/model/odata/v4/lib/_GroupLock.js +12 -0
  260. package/src/sap/ui/model/odata/v4/lib/_Helper.js +1 -1
  261. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +91 -40
  262. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  263. package/src/sap/ui/model/type/Boolean.js +1 -1
  264. package/src/sap/ui/model/type/Currency.js +1 -1
  265. package/src/sap/ui/model/type/Date.js +1 -1
  266. package/src/sap/ui/model/type/DateInterval.js +1 -1
  267. package/src/sap/ui/model/type/DateTime.js +1 -1
  268. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  269. package/src/sap/ui/model/type/FileSize.js +1 -1
  270. package/src/sap/ui/model/type/Float.js +1 -1
  271. package/src/sap/ui/model/type/Integer.js +1 -1
  272. package/src/sap/ui/model/type/String.js +1 -1
  273. package/src/sap/ui/model/type/Time.js +1 -1
  274. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  275. package/src/sap/ui/model/type/Unit.js +1 -1
  276. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  277. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  278. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  279. package/src/sap/ui/test/Opa5.js +9 -5
  280. package/src/sap/ui/test/TestUtils.js +2 -1
  281. package/src/sap/ui/test/generic/TestBase.js +1 -1
  282. package/src/sap/ui/test/gherkin/opa5TestHarness.js +14 -5
  283. package/src/sap/ui/test/opaQunit.js +11 -10
  284. package/src/sap/ui/util/Storage.js +1 -1
  285. package/src/ui5loader.js +8 -4
@@ -18,10 +18,11 @@ sap.ui.define([
18
18
  'sap/ui/core/mvc/XMLView',
19
19
  'sap/ui/model/Binding',
20
20
  'sap/ui/model/CompositeBinding',
21
+ 'sap/base/util/each',
22
+ 'sap/base/util/isEmptyObject',
21
23
  'sap/base/util/ObjectPath',
22
24
  "sap/ui/thirdparty/jquery",
23
25
  "sap/ui/events/KeyCodes",
24
- "sap/base/security/encodeXML",
25
26
  'sap/ui/core/mvc/Controller' // provides sap.ui.controller
26
27
  ], function(
27
28
  Plugin,
@@ -36,22 +37,22 @@ sap.ui.define([
36
37
  XMLView,
37
38
  Binding,
38
39
  CompositeBinding,
40
+ each,
41
+ isEmptyObject,
39
42
  ObjectPath,
40
- jQueryDOM,
41
- KeyCodes,
42
- encodeXML
43
+ $,
44
+ KeyCodes
43
45
  ) {
44
46
  "use strict";
45
47
 
46
48
  /*global alert */
47
49
 
48
- var $ = jQuery;
49
50
  /**
50
51
  * Creates an instance of sap.ui.core.support.plugins.ControlTree.
51
52
  * @class This class represents the ControlTree plugin for the support tool functionality of UI5. This class is internal and all its functions must not be used by an application.
52
53
  *
53
54
  * @extends sap.ui.core.support.Plugin
54
- * @version 1.100.0
55
+ * @version 1.101.0
55
56
  * @private
56
57
  * @alias sap.ui.core.support.plugins.ControlTree
57
58
  */
@@ -130,24 +131,24 @@ sap.ui.define([
130
131
 
131
132
  function initInTools(oSupportStub) {
132
133
  $(document)
133
- .on("click", "li img.sapUiControlTreeIcon", $.proxy(this._onIconClick, this))
134
- .on("click", "li.sapUiControlTreeElement div", $.proxy(this._onNodeClick, this))
135
- .on("click", "li.sapUiControlTreeLink div", $.proxy(this._onControlTreeLinkClick, this))
136
- .on("click", "#sapUiSupportControlTabProperties", $.proxy(this._onPropertiesTab, this))
137
- .on("click", "#sapUiSupportControlTabBindingInfos", $.proxy(this._onBindingInfosTab, this))
138
- .on("click", "#sapUiSupportControlTabBreakpoints", $.proxy(this._onMethodsTab, this))
139
- .on("click", "#sapUiSupportControlTabExport", $.proxy(this._onExportTab, this))
140
- .on("change", "[data-sap-ui-name]", $.proxy(this._onPropertyChange, this))
141
- .on("change", "[data-sap-ui-method]", $.proxy(this._onPropertyBreakpointChange, this))
142
- .on("keyup", '.sapUiSupportControlMethods input[type="text"]', $.proxy(this._autoComplete, this))
143
- .on("blur", '.sapUiSupportControlMethods input[type="text"]', $.proxy(this._updateSelectOptions, this))
144
- .on("change", '.sapUiSupportControlMethods select', $.proxy(this._selectOptionsChanged, this))
145
- .on("click", '#sapUiSupportControlAddBreakPoint', $.proxy(this._onAddBreakpointClicked, this))
146
- .on("click", '#sapUiSupportControlExportToXml', $.proxy(this._onExportToXmlClicked, this))
147
- .on("click", '#sapUiSupportControlExportToHtml', $.proxy(this._onExportToHtmlClicked, this))
148
- .on("click", '#sapUiSupportControlActiveBreakpoints img.remove-breakpoint', $.proxy(this._onRemoveBreakpointClicked, this))
149
- .on("click", '#sapUiSupportControlPropertiesArea a.control-tree', $.proxy(this._onNavToControl, this))
150
- .on("click", '#sapUiSupportControlPropertiesArea img.sapUiSupportRefreshBinding', $.proxy(this._onRefreshBinding, this));
134
+ .on("click", "li img.sapUiControlTreeIcon", this._onIconClick.bind(this))
135
+ .on("click", "li.sapUiControlTreeElement div", this._onNodeClick.bind(this))
136
+ .on("click", "li.sapUiControlTreeLink div", this._onControlTreeLinkClick.bind(this))
137
+ .on("click", "#sapUiSupportControlTabProperties", this._onPropertiesTab.bind(this))
138
+ .on("click", "#sapUiSupportControlTabBindingInfos", this._onBindingInfosTab.bind(this))
139
+ .on("click", "#sapUiSupportControlTabBreakpoints", this._onMethodsTab.bind(this))
140
+ .on("click", "#sapUiSupportControlTabExport", this._onExportTab.bind(this))
141
+ .on("change", "[data-sap-ui-name]", this._onPropertyChange.bind(this))
142
+ .on("change", "[data-sap-ui-method]", this._onPropertyBreakpointChange.bind(this))
143
+ .on("keyup", '.sapUiSupportControlMethods input[type="text"]', this._autoComplete.bind(this))
144
+ .on("blur", '.sapUiSupportControlMethods input[type="text"]', this._updateSelectOptions.bind(this))
145
+ .on("change", '.sapUiSupportControlMethods select', this._selectOptionsChanged.bind(this))
146
+ .on("click", '#sapUiSupportControlAddBreakPoint', this._onAddBreakpointClicked.bind(this))
147
+ .on("click", '#sapUiSupportControlExportToXml', this._onExportToXmlClicked.bind(this))
148
+ .on("click", '#sapUiSupportControlExportToHtml', this._onExportToHtmlClicked.bind(this))
149
+ .on("click", '#sapUiSupportControlActiveBreakpoints img.remove-breakpoint', this._onRemoveBreakpointClicked.bind(this))
150
+ .on("click", '#sapUiSupportControlPropertiesArea a.control-tree', this._onNavToControl.bind(this))
151
+ .on("click", '#sapUiSupportControlPropertiesArea img.sapUiSupportRefreshBinding', this._onRefreshBinding.bind(this));
151
152
 
152
153
  this.renderContentAreas();
153
154
  }
@@ -189,26 +190,24 @@ sap.ui.define([
189
190
  return s.slice(1 + s.lastIndexOf('.'));
190
191
  }
191
192
 
192
- function encode(s) {
193
- return s == null ? "" : encodeXML(String(s));
194
- }
195
-
196
193
  ControlTree.prototype.renderContentAreas = function() {
197
194
  var rm = sap.ui.getCore().createRenderManager();
198
195
 
199
- rm.write('<div class="sapUiSupportControlTreeTitle">You can find a control in this tree by clicking it in the application UI while pressing the Ctrl+Alt+Shift keys.</div>');
196
+ rm.openStart("div").class("sapUiSupportControlTreeTitle").openEnd().text("You can find a control in this tree by clicking it in the application UI while pressing the Ctrl+Alt+Shift keys.").close("div");
200
197
 
201
- rm.write('<div id="sapUiSupportControlTreeArea"><ul class="sapUiSupportControlTreeList"></ul></div>');
198
+ rm.openStart("div", "sapUiSupportControlTreeArea").openEnd();
199
+ rm.openStart("ul").class("sapUiSupportControlTreeList").openEnd().close("ul");
200
+ rm.close("div");
202
201
 
203
- rm.write('<div id="sapUiSupportControlTabs" class="sapUiSupportControlTabsHidden">');
204
- rm.write('<button id="sapUiSupportControlTabProperties" class="sapUiSupportBtn sapUiSupportTab sapUiSupportTabLeft">Properties</button>');
205
- rm.write('<button id="sapUiSupportControlTabBindingInfos" class="sapUiSupportBtn sapUiSupportTab">Binding Infos</button>');
206
- rm.write('<button id="sapUiSupportControlTabBreakpoints" class="sapUiSupportBtn sapUiSupportTab">Breakpoints</button>');
207
- rm.write('<button id="sapUiSupportControlTabExport" class="sapUiSupportBtn sapUiSupportTab sapUiSupportTabRight">Export</button>');
208
- rm.write('</div>');
202
+ rm.openStart("div", "sapUiSupportControlTabs").class("sapUiSupportControlTabsHidden").openEnd();
203
+ rm.openStart("button", "sapUiSupportControlTabProperties").class("sapUiSupportBtn").class("sapUiSupportTab").class("sapUiSupportTabLeft").openEnd().text("Properties").close("button");
204
+ rm.openStart("button", "sapUiSupportControlTabBindingInfos").class("sapUiSupportBtn").class("sapUiSupportTab").openEnd().text("Binding Infos").close("button");
205
+ rm.openStart("button", "sapUiSupportControlTabBreakpoints").class("sapUiSupportBtn").class("sapUiSupportTab").openEnd().text("Breakpoints").close("button");
206
+ rm.openStart("button", "sapUiSupportControlTabExport").class("sapUiSupportBtn").class("sapUiSupportTab").class("sapUiSupportTabRight").openEnd().text("Export").close("button");
207
+ rm.close("div");
209
208
 
210
- rm.write('<div id="sapUiSupportControlPropertiesArea"></div>');
211
- rm.flush(this.$().get(0));
209
+ rm.openStart("div", "sapUiSupportControlPropertiesArea").openEnd().close("div");
210
+ rm.flush(this.dom());
212
211
  rm.destroy();
213
212
  };
214
213
 
@@ -218,54 +217,57 @@ sap.ui.define([
218
217
 
219
218
  function renderNode (iIndex, mElement) {
220
219
  var bHasChildren = mElement.aggregation.length > 0 || mElement.association.length > 0;
221
- rm.write("<li id=\"sap-debug-controltree-" + encode(mElement.id) + "\" class=\"sapUiControlTreeElement\">");
220
+ rm.openStart("li", "sap-debug-controltree-" + mElement.id).class("sapUiControlTreeElement").openEnd();
222
221
  var sImage = bHasChildren ? "minus" : "space";
223
- rm.write("<img class=\"sapUiControlTreeIcon\" src=\"../../debug/images/" + sImage + ".gif\">");
222
+ rm.voidStart("img").class("sapUiControlTreeIcon").attr("src", "../../debug/images/" + sImage + ".gif").voidEnd();
224
223
 
225
224
  if (mElement.isAssociation) {
226
- rm.write("<img title=\"Association\" class=\"sapUiControlTreeIcon\" src=\"../../debug/images/link.gif\">");
225
+ rm.voidStart("img").attr("title", "Association").class("sapUiControlTreeIcon").attr("src", "../../debug/images/link.gif").voidEnd();
227
226
  }
228
227
 
229
228
  var sClass = basename(mElement.type);
230
229
 
231
- rm.write('<div>');
230
+ rm.openStart("div").openEnd();
232
231
 
233
- rm.write('<span class="name" title="' + encode(mElement.type) + '">' + encode(sClass) + ' - ' + encode(mElement.id) + '</span>');
234
- rm.write('<span class="sapUiSupportControlTreeBreakpointCount sapUiSupportItemHidden" title="Number of active breakpoints / methods"></span>');
232
+ rm.openStart("span").class("name").attr("title", mElement.type).openEnd().text(sClass + ' - ' + mElement.id).close("span");
233
+ rm.openStart("span").class("sapUiSupportControlTreeBreakpointCount").class("sapUiSupportItemHidden").attr("title", "Number of active breakpoints / methods").openEnd().close("span");
235
234
 
236
- rm.write('</div>');
235
+ rm.close("div");
237
236
 
238
237
  if (mElement.aggregation.length > 0) {
239
- rm.write("<ul>");
240
- $.each(mElement.aggregation, renderNode);
241
- rm.write("</ul>");
238
+ rm.openStart("ul").openEnd();
239
+ each(mElement.aggregation, renderNode);
240
+ rm.close("ul");
242
241
  }
243
242
 
244
243
  if (mElement.association.length > 0) {
245
- rm.write("<ul>");
246
- $.each(mElement.association, function(iIndex, oValue) {
244
+ rm.openStart("ul").openEnd();
245
+ each(mElement.association, function(iIndex, oValue) {
247
246
 
248
247
  if (oValue.isAssociationLink) {
249
248
  var sType = basename(oValue.type);
250
- rm.write("<li data-sap-ui-controlid=\"" + encode(oValue.id) + "\" class=\"sapUiControlTreeLink\">");
251
- rm.write("<img class=\"sapUiControlTreeIcon\" align=\"middle\" src=\"../../debug/images/space.gif\">");
252
- rm.write("<img class=\"sapUiControlTreeIcon\" align=\"middle\" src=\"../../debug/images/link.gif\">");
253
- rm.write("<div><span title=\"Association '" + encode(oValue.name) + "' to '" + encode(oValue.id) + "' with type '" + encode(oValue.type) + "'\">" +
254
- encode(sType) + " - " + encode(oValue.id) + " (" + encode(oValue.name) + ")</span></div>");
255
- rm.write("</li>");
249
+ rm.openStart("li").attr("data-sap-ui-controlid", oValue.id).class("sapUiControlTreeLink").openEnd();
250
+ rm.voidStart("img").class("sapUiControlTreeIcon").attr("align", "middle").attr("src", "../../debug/images/space.gif").voidEnd();
251
+ rm.voidStart("img").class("sapUiControlTreeIcon").attr("align", "middle").attr("src", "../../debug/images/link.gif").voidEnd();
252
+ rm.openStart("div").openEnd();
253
+ rm.openStart("span").attr("title", "Association '" + oValue.name + "' to '" + oValue.id + "' with type '" + oValue.type).openEnd();
254
+ rm.text(sType + " - " + oValue.id + " (" + oValue.name + ")");
255
+ rm.close("span");
256
+ rm.close("div");
257
+ rm.close("li");
256
258
  } else {
257
259
  renderNode(0 /* not used */, oValue);
258
260
  }
259
261
 
260
262
  });
261
- rm.write("</ul>");
263
+ rm.close("ul");
262
264
  }
263
- rm.write("</li>");
265
+ rm.close("li");
264
266
  }
265
267
 
266
- $.each(aControlTree, renderNode);
268
+ each(aControlTree, renderNode);
267
269
 
268
- rm.flush(this.$().find("#sapUiSupportControlTreeArea > ul.sapUiSupportControlTreeList").get(0));
270
+ rm.flush(this.dom("#sapUiSupportControlTreeArea > ul.sapUiSupportControlTreeList"));
269
271
  rm.destroy();
270
272
  };
271
273
 
@@ -273,122 +275,162 @@ sap.ui.define([
273
275
 
274
276
  var rm = sap.ui.getCore().createRenderManager();
275
277
 
276
- rm.write('<ul class="sapUiSupportControlTreeList" data-sap-ui-controlid="' + encode(sControlId) + '">');
277
- $.each(aControlProps, function(iIndex, oValue) {
278
+ rm.openStart("ul").class("sapUiSupportControlTreeList").attr("data-sap-ui-controlid", sControlId).openEnd();
279
+ each(aControlProps, function(iIndex, oValue) {
278
280
 
279
- rm.write("<li>");
281
+ rm.openStart("li").openEnd();
280
282
 
281
- rm.write("<span><label class='sapUiSupportLabel'>BaseType:</label> <code>" + encode(oValue.control) + "</code></span>");
283
+ rm.openStart("span").openEnd()
284
+ .openStart("label").class("sapUiSupportLabel").openEnd().text("BaseType").close("label")
285
+ .text(" ")
286
+ .openStart("code").openEnd().text(oValue.control).close("code")
287
+ .close("span");
282
288
 
283
289
  if (oValue.properties.length > 0 || oValue.aggregations.length > 0) {
284
290
 
285
- rm.write('<div class="get" title="Activate debugger for get-method">G</div><div class="set" title="Activate debugger for set-method">S</div>');
291
+ rm.openStart("div").class("get").attr("title", "Activate debugger for get-method").openEnd().text("G").close("div");
292
+ rm.openStart("div").class("set").attr("title", "Activate debugger for set-method").openEnd().text("S").close("div");
293
+
294
+ rm.openStart("div").class("sapUiSupportControlProperties").openEnd();
295
+ rm.openStart("table").openEnd();
296
+ rm.openStart("colgroup").openEnd();
297
+ rm.voidStart("col").attr("width", "50%").voidEnd();
298
+ rm.voidStart("col").attr("width", "50%").voidEnd();
299
+ rm.close("colgroup");
286
300
 
287
- rm.write("<div class=\"sapUiSupportControlProperties\"><table><colgroup><col width=\"50%\"><col width=\"50%\"></colgroup>");
301
+ each(oValue.properties, function(iIndex, oProperty) {
288
302
 
289
- $.each(oValue.properties, function(iIndex, oProperty) {
303
+ rm.openStart("tr").openEnd();
290
304
 
291
- rm.write("<tr><td>");
292
- rm.write("<label class='sapUiSupportLabel'>" + encode(oProperty.name) + ((oProperty.isBound) ?
293
- '<img title="Value is bound (see Binding Infos)" src="../../debug/images/link.gif">' : "") + "</label>");
294
- rm.write("</td><td>");
305
+ rm.openStart("td").openEnd();
306
+ rm.openStart("label").class("sapUiSupportLabel").openEnd().text(oProperty.name);
307
+ if (oProperty.isBound) {
308
+ rm.voidStart("img").attr("title", "Value is bound (see Binding Infos)").attr("src", "../../debug/images/link.gif").voidEnd();
309
+ }
310
+ rm.close("label");
311
+ rm.close("td");
312
+
313
+ rm.openStart("td").openEnd();
295
314
 
296
315
  if (oProperty.type === "boolean") {
297
316
 
298
- rm.write("<input type='checkbox' ");
299
- rm.write("data-sap-ui-name='" + encode(oProperty.name) + "' ");
317
+ rm.voidStart("input").attr("type", "checkbox");
318
+ rm.attr("data-sap-ui-name", oProperty.name);
300
319
  if (oProperty.value == true) {
301
- rm.write("checked='checked'");
320
+ rm.attr("checked", "checked");
302
321
  }
303
- rm.write(">");
322
+ rm.voidEnd();
304
323
 
305
324
  } else if (oProperty.enumValues) {
306
325
 
307
- rm.write("<div><select ");
308
- rm.write("data-sap-ui-name='" + encode(oProperty.name) + "'>");
309
- $.each(oProperty.enumValues, function(sKey, sValue) {
310
- rm.write("<option");
326
+ rm.openStart("div").openEnd();
327
+ rm.openStart("select");
328
+ rm.attr("data-sap-ui-name", oProperty.name).openEnd();
329
+ each(oProperty.enumValues, function(sKey, sValue) {
330
+ rm.openStart("option");
311
331
 
312
332
  if (sKey === oProperty.value) {
313
- rm.write(" selected");
333
+ rm.attr("selected", "selected");
314
334
  }
315
335
 
316
- rm.write(">");
317
- rm.writeEscaped("" + sKey);
318
- rm.write("</option>");
336
+ rm.openEnd();
337
+ rm.text(sKey);
338
+ rm.close("option");
319
339
  });
320
- rm.write("</select></div>");
340
+ rm.close("select");
341
+ rm.close("div");
321
342
 
322
343
  } else {
323
344
 
324
- rm.write("<div><input type='text' ");
325
- rm.write("data-sap-ui-name='" + encode(oProperty.name) + "' ");
345
+ rm.openStart("div").openEnd();
346
+ rm.voidStart("input").attr("type", "text");
347
+ rm.attr("data-sap-ui-name", oProperty.name);
326
348
  if (oProperty.value) {
327
- rm.write("value='");
328
- rm.writeEscaped("" + oProperty.value);
329
- rm.write("'");
349
+ rm.attr("value", oProperty.value);
330
350
  }
331
- rm.write("></div>");
351
+ rm.voidEnd();
352
+ rm.close("div");
332
353
 
333
354
  }
334
355
 
335
- rm.write("</td>");
356
+ rm.close("td");
336
357
 
337
- rm.write('<td><input type="checkbox" data-sap-ui-method="' + encode(oProperty._sGetter) + '" title="Activate debugger for ' + encode(oProperty._sGetter) + '"');
338
- if (oProperty.bp_sGetter) {
339
- rm.write("checked='checked'");
340
- }
341
- rm.write('></td>');
342
-
343
- rm.write('<td><input type="checkbox" data-sap-ui-method="' + encode(oProperty._sMutator) + '" title="Activate debugger for ' + encode(oProperty._sMutator) + '"');
344
- if (oProperty.bp_sMutator) {
345
- rm.write("checked='checked'");
346
- }
347
- rm.write('></td>');
358
+ rm.openStart("td").openEnd();
359
+ rm.voidStart("input")
360
+ .attr("type", "checkbox")
361
+ .attr("data-sap-ui-method", oProperty._sGetter)
362
+ .attr("title", "Activate debugger for '" + oProperty._sGetter + "'");
363
+ if (oProperty.bp_sGetter) {
364
+ rm.attr("checked", "checked");
365
+ }
366
+ rm.voidEnd();
367
+ rm.close("td");
368
+
369
+ rm.openStart("td").openEnd();
370
+ rm.voidStart("input")
371
+ .attr("type", "checkbox")
372
+ .attr("data-sap-ui-method", oProperty._sMutator)
373
+ .attr("title", "Activate debugger for '" + oProperty._sMutator + "'");
374
+ if (oProperty.bp_sMutator) {
375
+ rm.attr("checked", "checked");
376
+ }
377
+ rm.voidEnd();
378
+ rm.close("td");
348
379
 
349
- rm.write("</tr>");
380
+ rm.close("tr");
350
381
 
351
382
  });
352
383
 
353
- $.each(oValue.aggregations, function(iIndex, oAggregation) {
354
-
355
- rm.write("<tr><td>");
384
+ each(oValue.aggregations, function(iIndex, oAggregation) {
356
385
 
357
- rm.write("<label class='sapUiSupportLabel'>" + encode(oAggregation.name) + "</label>");
358
- rm.write("</td><td>");
386
+ rm.openStart("tr").openEnd();
359
387
 
360
- rm.write(encode(oAggregation.value));
388
+ rm.openStart("td").openEnd();
389
+ rm.openStart("label").class("sapUiSupportLabel").openEnd().text(oAggregation.name).close("label");
390
+ rm.close("td");
361
391
 
362
- rm.write("</td>");
392
+ rm.openStart("td").openEnd();
393
+ rm.text(oAggregation.value);
394
+ rm.close("td");
363
395
 
364
- rm.write('<td><input type="checkbox" data-sap-ui-method="' + encode(oAggregation._sGetter) + '" title="Activate debugger for ' + encode(oAggregation._sGetter) + '"');
365
- if (oAggregation.bp_sGetter) {
366
- rm.write("checked='checked'");
367
- }
368
- rm.write('></td>');
369
-
370
- rm.write('<td><input type="checkbox" data-sap-ui-method="' + encode(oAggregation._sMutator) + '" title="Activate debugger for ' + encode(oAggregation._sMutator) + '"');
371
- if (oAggregation.bp_sMutator) {
372
- rm.write("checked='checked'");
373
- }
374
- rm.write('></td>');
396
+ rm.openStart("td").openEnd();
397
+ rm.voidStart("input")
398
+ .attr("type", "checkbox")
399
+ .attr("data-sap-ui-method", oAggregation._sGetter)
400
+ .attr("title", "Activate debugger for '" + oAggregation._sGetter + "'");
401
+ if (oAggregation.bp_sGetter) {
402
+ rm.attr("checked", "checked");
403
+ }
404
+ rm.voidEnd();
405
+ rm.close("td");
406
+
407
+ rm.openStart("td").openEnd();
408
+ rm.voidStart("input")
409
+ .attr("type", "checkbox")
410
+ .attr("data-sap-ui-method", oAggregation._sMutator)
411
+ .attr("title", "Activate debugger for '" + oAggregation._sMutator + "'");
412
+ if (oAggregation.bp_sMutator) {
413
+ rm.attr("checked", "checked");
414
+ }
415
+ rm.voidEnd();
416
+ rm.close("td");
375
417
 
376
- rm.write("</tr>");
418
+ rm.close("tr");
377
419
 
378
420
  });
379
421
 
380
- rm.write("</table></div>");
422
+ rm.close("table").close("div");
381
423
 
382
424
  }
383
425
 
384
- rm.write("</li>");
426
+ rm.close("li");
385
427
 
386
428
  });
387
- rm.write("</ul>");
388
- rm.flush(this.$().find("#sapUiSupportControlPropertiesArea").get(0));
429
+ rm.close("ul");
430
+ rm.flush(this.dom("#sapUiSupportControlPropertiesArea"));
389
431
  rm.destroy();
390
432
 
391
- this.$().find("#sapUiSupportControlTabs").removeClass("sapUiSupportControlTabsHidden");
433
+ this.dom("#sapUiSupportControlTabs").classList.remove("sapUiSupportControlTabsHidden");
392
434
 
393
435
  this.selectTab(this._tab.properties);
394
436
  };
@@ -399,267 +441,307 @@ sap.ui.define([
399
441
 
400
442
  if (mBindingInfos.contexts.length > 0) {
401
443
 
402
- rm.write('<h2>Contexts</h2>');
444
+ rm.openStart("h2").openEnd().text("Contexts").close("h2");
403
445
 
404
- rm.write('<ul class="sapUiSupportControlTreeList" data-sap-ui-controlid="' + encode(sControlId) + '">');
446
+ rm.openStart("ul").class("sapUiSupportControlTreeList").attr("data-sap-ui-controlid", sControlId).openEnd();
405
447
 
406
- $.each(mBindingInfos.contexts, function(iContextIndex, oContext) {
448
+ each(mBindingInfos.contexts, function(iContextIndex, oContext) {
407
449
 
408
- rm.write('<li>');
450
+ rm.openStart("li").openEnd();
409
451
 
410
- rm.write('<span><label class="sapUiSupportLabel">Model Name: ' + encode(oContext.modelName) + '</label></span>');
452
+ rm.openStart("span").openEnd();
453
+ rm.openStart("label").class("sapUiSupportLabel").openEnd().text("Model Name: " + oContext.modelName).close("label");
454
+ rm.close("span");
411
455
 
412
- rm.write('<div class="sapUiSupportControlProperties">');
456
+ rm.openStart("div").class("sapUiSupportControlProperties").openEnd();
413
457
 
414
- rm.write('<table><colgroup><col width="15%"><col width="35%"><col width="50%"></colgroup>');
415
- rm.write('<tbody>');
458
+ rm.openStart("table").openEnd()
459
+ .openStart("colgroup").openEnd()
460
+ .voidStart("col").attr("width", "15%").voidEnd()
461
+ .voidStart("col").attr("width", "35%").voidEnd()
462
+ .voidStart("col").attr("width", "50%").voidEnd()
463
+ .close("colgroup");
464
+ rm.openStart("tbody").openEnd();
416
465
 
417
466
  // Path
418
- rm.write('<tr><td colspan="2">');
419
-
420
- rm.write('<label class="sapUiSupportLabel">Path</label>');
467
+ rm.openStart("tr").openEnd();
421
468
 
422
- rm.write('</td><td>');
469
+ rm.openStart("td").attr("colspan", "2").openEnd();
470
+ rm.openStart("label").class("sapUiSupportLabel").openEnd().text("Path").close("label");
471
+ rm.close("td");
423
472
 
424
- rm.write('<div><span');
473
+ rm.openStart("td").openEnd();
474
+ rm.openStart("div").openEnd();
475
+ rm.openStart("span");
425
476
 
426
- if (oContext.invalidPath) {
427
- rm.write(' class="sapUiSupportModelPathInvalid"');
428
- } else if (oContext.unverifiedPath) {
429
- rm.write(' class="sapUiSupportModelPathUnverified"');
430
- }
477
+ if (oContext.invalidPath) {
478
+ rm.class("sapUiSupportModelPathInvalid");
479
+ } else if (oContext.unverifiedPath) {
480
+ rm.class("sapUiSupportModelPathUnverified");
481
+ }
431
482
 
432
- rm.write('>' + encode(oContext.path));
483
+ rm.openEnd().text(oContext.path);
433
484
 
434
- if (oContext.invalidPath) {
435
- rm.write(' (invalid)');
436
- } else if (oContext.unverifiedPath) {
437
- rm.write(' (unverified)');
438
- }
485
+ if (oContext.invalidPath) {
486
+ rm.text(" (invalid)");
487
+ } else if (oContext.unverifiedPath) {
488
+ rm.text(" (unverified)");
489
+ }
439
490
 
440
- rm.write('</span></div>');
491
+ rm.close("span");
492
+ rm.close("div");
493
+ rm.close("td");
441
494
 
442
- rm.write('</td></tr>');
495
+ rm.close("tr");
443
496
 
444
497
  if (oContext.location) {
445
498
 
446
499
  // Inherited from
447
- rm.write('<tr><td colspan="2">');
448
-
449
- rm.write('<label class="sapUiSupportLabel">Inherited from</label>');
450
-
451
- rm.write('</td><td>');
452
-
453
- rm.write('<div><a class="control-tree sapUiSupportLink" title="' + encode(oContext.location.name) + '" data-sap-ui-control-id="' + encode(oContext.location.id) + '" href="#">' +
454
- encode(basename(oContext.location.name)) +
455
- ' (' + encode(oContext.location.id) + ')</a></div>');
456
-
457
- rm.write('</td></tr>');
500
+ rm.openStart("tr").openEnd();
501
+
502
+ rm.openStart("td").attr("colspan", "2").openEnd();
503
+ rm.openStart("label").class("sapUiSupportLabel").openEnd().text("Inherited from").close("label");
504
+ rm.close("td");
505
+
506
+ rm.openStart("td").openEnd();
507
+ rm.openStart("div").openEnd();
508
+ rm.openStart("a")
509
+ .class("control-tree")
510
+ .class("sapUiSupportLink")
511
+ .attr("title", oContext.location.name)
512
+ .attr("data-sap-ui-control-id", oContext.location.id)
513
+ .attr("href", "#")
514
+ .openEnd()
515
+ .text(basename(oContext.location.name))
516
+ .text(" (" + oContext.location.id + ")")
517
+ .close("a")
518
+ .close("div");
519
+ rm.close("td");
520
+
521
+ rm.close("tr");
458
522
 
459
523
  }
460
524
 
461
- rm.write('</tbody></table></div></li>');
525
+ rm.close("tbody").close("table").close("div").close("li");
462
526
 
463
527
  });
464
528
 
465
- rm.write('</ul>');
529
+ rm.close("ul");
466
530
 
467
531
  }
468
532
 
469
533
  if (mBindingInfos.bindings.length > 0) {
470
534
 
471
- rm.write('<h2>Bindings</h2>');
535
+ rm.openStart("h2").openEnd().text("Bindings").close("h2");
472
536
 
473
- rm.write('<ul class="sapUiSupportControlTreeList" data-sap-ui-controlid="' + encode(sControlId) + '">');
537
+ rm.openStart("ul").class("sapUiSupportControlTreeList").attr("data-sap-ui-controlid", sControlId).openEnd();
474
538
 
475
- $.each(mBindingInfos.bindings, function(iBindingInfoIndex, oBindingInfo) {
539
+ each(mBindingInfos.bindings, function(iBindingInfoIndex, oBindingInfo) {
476
540
 
477
- rm.write('<li data-sap-ui-binding-name="' + encode(oBindingInfo.name) + '">');
541
+ rm.openStart("li").attr("data-sap-ui-binding-name", oBindingInfo.name).openEnd();
478
542
 
479
- rm.write('<span>');
543
+ rm.openStart("span").openEnd();
544
+ rm.openStart("label").class("sapUiSupportLabel").openEnd().text(oBindingInfo.name).close("label");
545
+ rm.voidStart("img").class("sapUiSupportRefreshBinding").attr("title", "Refresh Binding").attr("src", "../../debug/images/refresh.gif").voidEnd();
546
+ rm.close("span");
480
547
 
481
- rm.write('<label class="sapUiSupportLabel">' + encode(oBindingInfo.name) + '</label>');
482
- rm.write('<img class="sapUiSupportRefreshBinding" title="Refresh Binding" src="../../debug/images/refresh.gif">');
548
+ each(oBindingInfo.bindings, function(iBindingIndex, oBinding) {
483
549
 
484
- rm.write('</span>');
550
+ rm.openStart("div").class("sapUiSupportControlProperties").openEnd();
485
551
 
486
- $.each(oBindingInfo.bindings, function(iBindingIndex, oBinding) {
487
-
488
- rm.write('<div class="sapUiSupportControlProperties">');
489
-
490
- rm.write('<table><colgroup><col width="15%"><col width="35%"><col width="50%"></colgroup>');
491
- rm.write('<tbody>');
552
+ rm.openStart("table").openEnd()
553
+ .openStart("colgroup").openEnd()
554
+ .voidStart("col").attr("width", "15%").voidEnd()
555
+ .voidStart("col").attr("width", "35%").voidEnd()
556
+ .voidStart("col").attr("width", "50%").voidEnd()
557
+ .close("colgroup");
558
+ rm.openStart("tbody").openEnd();
492
559
 
493
560
  // Path
494
- rm.write('<tr><td colspan="2">');
561
+ rm.openStart("tr").openEnd();
495
562
 
496
- rm.write('<label class="sapUiSupportLabel">Path</label>');
563
+ rm.openStart("td").attr("colspan", "2").openEnd();
564
+ rm.openStart("label").class("sapUiSupportLabel").openEnd().text("Path").close("label");
565
+ rm.close("td");
497
566
 
498
- rm.write('</td><td>');
567
+ rm.openStart("td").openEnd();
499
568
 
500
- rm.write('<div><span');
569
+ rm.openStart("div").openEnd().openStart("span");
501
570
 
502
- if (oBinding.invalidPath) {
503
- rm.write(' class="sapUiSupportModelPathInvalid"');
504
- } else if (oBinding.unverifiedPath) {
505
- rm.write(' class="sapUiSupportModelPathUnverified"');
506
- }
571
+ if (oBinding.invalidPath) {
572
+ rm.class("sapUiSupportModelPathInvalid");
573
+ } else if (oBinding.unverifiedPath) {
574
+ rm.class("sapUiSupportModelPathUnverified");
575
+ }
507
576
 
508
- rm.write('>' + encode(oBinding.path));
577
+ rm.openEnd().text(oBinding.path);
509
578
 
510
- if (oBinding.invalidPath) {
511
- rm.write(' (invalid)');
512
- } else if (oBinding.unverifiedPath) {
513
- rm.write(' (unverified)');
514
- }
579
+ if (oBinding.invalidPath) {
580
+ rm.text(' (invalid)');
581
+ } else if (oBinding.unverifiedPath) {
582
+ rm.text(' (unverified)');
583
+ }
515
584
 
516
- rm.write('</span></div>');
585
+ rm.close("span").close("div");
517
586
 
518
- rm.write('</td></tr>');
587
+ rm.close("td");
588
+ rm.close("tr");
519
589
 
520
590
  // Absolute-Path
521
- rm.write('<tr><td colspan="2">');
522
-
523
- rm.write('<label class="sapUiSupportLabel">Absolute Path</label>');
524
-
525
- rm.write('</td><td>');
526
-
527
- if (typeof oBinding.absolutePath !== 'undefined') {
528
- rm.write('<div>' + encode(oBinding.absolutePath) + '</div>');
529
- } else {
530
- rm.write('<div>No binding</div>');
531
- }
532
-
533
- rm.write('</td></tr>');
591
+ rm.openStart("tr").openEnd();
592
+ rm.openStart("td").attr("colspan", "2").openEnd();
593
+ rm.openStart("label").class("sapUiSupportLabel").openEnd().text("Absolute Path").close("label");
594
+ rm.close("td");
595
+
596
+ rm.openStart("td").openEnd();
597
+ if (typeof oBinding.absolutePath !== 'undefined') {
598
+ rm.openStart("div").openEnd().text(oBinding.absolutePath).close("div");
599
+ } else {
600
+ rm.openStart("div").openEnd().text("No binding").close("div");
601
+ }
602
+ rm.close("td");
603
+ rm.close("tr");
534
604
 
535
605
  // Relative
536
- rm.write('<tr><td colspan="2">');
537
-
538
- rm.write('<label class="sapUiSupportLabel">Relative</label>');
539
-
540
- rm.write('</td><td>');
541
-
542
- if (typeof oBinding.isRelative !== 'undefined') {
543
- rm.write('<div>' + encode(oBinding.isRelative) + '</div>');
544
- } else {
545
- rm.write('<div>No binding</div>');
546
- }
547
-
548
- rm.write('</td></tr>');
606
+ rm.openStart("tr").openEnd();
607
+ rm.openStart("td").attr("colspan", "2").openEnd();
608
+ rm.openStart("label").class("sapUiSupportLabel").openEnd().text("Relative").close("label");
609
+ rm.close("td");
610
+
611
+ rm.openStart("td").openEnd();
612
+ if (typeof oBinding.isRelative !== 'undefined') {
613
+ rm.openStart("div").openEnd().text(oBinding.isRelative).close("div");
614
+ } else {
615
+ rm.openStart("div").openEnd().text("No binding").close("div");
616
+ }
617
+ rm.close("td");
618
+ rm.close("tr");
549
619
 
550
620
  // Binding-Type
551
- rm.write('<tr><td colspan="2">');
552
-
553
- rm.write('<label class="sapUiSupportLabel">Binding Type</label>');
554
-
555
- rm.write('</td><td>');
556
-
557
- if (!oBindingInfo.type) {
558
- rm.write('<div>No binding</div>');
559
- } else {
560
- rm.write('<div title="' + encode(oBindingInfo.type) + '">' + encode(basename(oBindingInfo.type)) + '</div>');
561
- }
562
-
563
- rm.write('</td></tr>');
621
+ rm.openStart("tr").openEnd();
622
+ rm.openStart("td").attr("colspan", "2").openEnd();
623
+ rm.openStart("label").class("sapUiSupportLabel").openEnd().text("Binding Type").close("label");
624
+ rm.close("td");
625
+
626
+ rm.openStart("td").openEnd();
627
+ if (!oBindingInfo.type) {
628
+ rm.openStart("div").openEnd().text("No binding").close("div");
629
+ } else {
630
+ rm.openStart("div").attr("title", oBindingInfo.type).openEnd().text(basename(oBindingInfo.type)).close("div");
631
+ }
632
+ rm.close("td");
633
+ rm.close("tr");
564
634
 
565
635
  // Binding-Mode
566
636
  if (oBinding.mode) {
567
- rm.write('<tr><td colspan="2">');
637
+ rm.openStart("tr").openEnd().openStart("td").attr("colspan", "2").openEnd();
568
638
 
569
- rm.write('<label class="sapUiSupportLabel">Binding Mode</label>');
639
+ rm.openStart("label").class("sapUiSupportLabel").openEnd().text("Binding Mode").close("label");
570
640
 
571
- rm.write('</td><td>');
641
+ rm.close("td");
642
+ rm.openStart("td").openEnd();
572
643
 
573
- rm.write('<div>' + encode(oBinding.mode) + '</div>');
644
+ rm.openStart("div").openEnd().text(oBindingInfo.mode).close("div");
574
645
 
575
- rm.write('</td></tr>');
646
+ rm.close("td").close("tr");
576
647
  }
577
648
 
578
649
  // Model-Name
579
- rm.write('<tr><td>');
580
-
581
- rm.write('<label class="sapUiSupportLabel">Model</label>');
582
-
583
- rm.write('</td><td>');
584
-
585
- rm.write('<label class="sapUiSupportLabel">Name</label>');
586
-
587
- rm.write('</td><td>');
588
-
589
- if (oBinding.model && oBinding.model.name) {
590
- rm.write('<div>' + encode(oBinding.model.name) + '</div>');
591
- } else {
592
- rm.write('<div>No binding</div>');
593
- }
594
-
595
- rm.write('</td></tr>');
650
+ rm.openStart("tr").openEnd();
651
+ rm.openStart("td").openEnd();
652
+ rm.openStart("label").class("sapUiSupportLabel").openEnd().text("Model").close("label");
653
+ rm.close("td");
654
+
655
+ rm.openStart("td").openEnd();
656
+ rm.openStart("label").class("sapUiSupportLabel").openEnd().text("Name").close("label");
657
+ rm.close("td");
658
+
659
+ rm.openStart("td").openEnd();
660
+ if (oBinding.model && oBinding.model.name) {
661
+ rm.openStart("div").openEnd().text(oBinding.model.name).close("div");
662
+ } else {
663
+ rm.openStart("div").openEnd().text("No binding").close("div");
664
+ }
665
+ rm.close("td");
666
+ rm.close("tr");
596
667
 
597
668
  // Model-Type
598
- rm.write('<tr><td>');
599
- rm.write('</td><td>');
600
-
601
- rm.write('<label class="sapUiSupportLabel">Type</label>');
602
-
603
- rm.write('</td><td>');
669
+ rm.openStart("tr").openEnd();
670
+ rm.openStart("td").openEnd().close("td");
604
671
 
605
- if (oBinding.model && oBinding.model.type) {
606
- rm.write('<div><span title="' + encode(oBinding.model.type) + '">' + encode(basename(oBinding.model.type)) + '</span></div>');
607
- } else {
608
- rm.write('<div><span>No binding</span></div>');
609
- }
672
+ rm.openStart("td").openEnd();
673
+ rm.openStart("label").class("sapUiSupportLabel").openEnd().text("Type").close("label");
674
+ rm.close("td");
610
675
 
611
- rm.write('</td></tr>');
676
+ rm.openStart("td").openEnd();
677
+ if (oBinding.model && oBinding.model.type) {
678
+ rm.openStart("div").openEnd().openStart("span").attr("title", oBinding.model.type).openEnd().text(basename(oBinding.model.type)).close("span").close("div");
679
+ } else {
680
+ rm.openStart("div").openEnd().openStart("span").openEnd().text("No binding").close("span").close("div");
681
+ }
682
+ rm.close("td");
683
+ rm.close("tr");
612
684
 
613
685
  // Model-DefaultBindingMode
614
- rm.write('<tr><td>');
615
- rm.write('</td><td>');
616
-
617
- rm.write('<label class="sapUiSupportLabel">Default Binding Mode</label>');
618
-
619
- rm.write('</td><td>');
686
+ rm.openStart("tr").openEnd();
687
+ rm.openStart("td").openEnd().close("td");
620
688
 
621
- if (oBinding.model && oBinding.model.bindingMode) {
622
- rm.write('<div><span>' + encode(oBinding.model.bindingMode) + '</span></div>');
623
- } else {
624
- rm.write('<div><span>No binding</span></div>');
625
- }
689
+ rm.openStart("td").openEnd();
690
+ rm.openStart("label").class("sapUiSupportLabel").openEnd().text("Default Binding Mode").close("label");
691
+ rm.close("td");
626
692
 
627
- rm.write('</td></tr>');
693
+ rm.openStart("td").openEnd();
694
+ if (oBinding.model && oBinding.model.bindingMode) {
695
+ rm.openStart("div").openEnd().openStart("span").openEnd().text(oBinding.model.bindingMode).close("span").close("div");
696
+ } else {
697
+ rm.openStart("div").openEnd().openStart("span").openEnd().text("No binding").close("span").close("div");
698
+ }
699
+ rm.close("td");
700
+ rm.close("tr");
628
701
 
629
702
  // Model-Location
630
- rm.write('<tr><td>');
631
- rm.write('</td><td>');
632
-
633
- rm.write('<label class="sapUiSupportLabel">Location</label>');
634
-
635
- rm.write('</td><td>');
636
-
637
- if (oBinding.model && oBinding.model.location && oBinding.model.location.type) {
638
- if (oBinding.model.location.type === 'control') {
639
- rm.write('<div><a class="control-tree sapUiSupportLink" title="' + encode(oBinding.model.location.name) + '" data-sap-ui-control-id="' + encode(oBinding.model.location.id) + '" href="#">' +
640
- encode(basename(oBinding.model.location.name)) +
641
- ' (' + encode(oBinding.model.location.id) + ')</a></div>');
703
+ rm.openStart("tr").openEnd();
704
+ rm.openStart("td").openEnd().close("td");
705
+
706
+ rm.openStart("td").openEnd();
707
+ rm.openStart("label").class("sapUiSupportLabel").openEnd().text("Location").close("label");
708
+ rm.close("td");
709
+
710
+ rm.openStart("td").openEnd();
711
+ if (oBinding.model && oBinding.model.location && oBinding.model.location.type) {
712
+ if (oBinding.model.location.type === 'control') {
713
+ rm.openStart("div").openEnd();
714
+ rm.openStart("a")
715
+ .class("control-tree")
716
+ .class("sapUiSupportLink")
717
+ .attr("title", oBinding.model.location.name)
718
+ .attr("data-sap-ui-control-id", oBinding.model.location.id)
719
+ .attr("href", "#").openEnd()
720
+ .text(basename(oBinding.model.location.name))
721
+ .text(" (" + oBinding.model.location.id + ")")
722
+ .close("a");
723
+ rm.close("div");
724
+ } else {
725
+ rm.openStart("div").openEnd().openStart("span").attr("title", "sap.ui.getCore()").openEnd().text("Core").close("span").close("div");
726
+ }
642
727
  } else {
643
- rm.write('<div><span title="sap.ui.getCore()">Core</span></div>');
728
+ rm.openStart("div").openEnd().openStart("span").openEnd().text("No binding").close("span").close("div");
644
729
  }
645
- } else {
646
- rm.write('<div><span>No binding</span></div>');
647
- }
648
-
649
- rm.write('</td></tr>');
730
+ rm.close("td");
731
+ rm.close("tr");
650
732
 
651
- rm.write('</tbody></table></div>');
733
+ rm.close("tbody").close("table").close("div");
652
734
 
653
735
  });
654
736
 
655
- rm.write('</li>');
737
+ rm.close("li");
656
738
  });
657
739
 
658
- rm.write('</ul>');
740
+ rm.close("ul");
659
741
 
660
742
  }
661
743
 
662
- rm.flush(this.$().find("#sapUiSupportControlPropertiesArea").get(0));
744
+ rm.flush(this.dom("#sapUiSupportControlPropertiesArea"));
663
745
  rm.destroy();
664
746
  };
665
747
 
@@ -667,50 +749,55 @@ sap.ui.define([
667
749
 
668
750
  var rm = sap.ui.getCore().createRenderManager();
669
751
 
670
- rm.write('<div class="sapUiSupportControlMethods" data-sap-ui-controlid="' + encode(sControlId) + '">');
752
+ rm.openStart("div").class("sapUiSupportControlMethods").attr("data-sap-ui-controlid", sControlId).openEnd();
671
753
 
672
- rm.write('<select id="sapUiSupportControlMethodsSelect" class="sapUiSupportAutocomplete sapUiSupportSelect"><option></option>');
754
+ rm.openStart("select", "sapUiSupportControlMethodsSelect").class("sapUiSupportAutocomplete").class("sapUiSupportSelect").openEnd();
755
+ rm.openStart("option").openEnd().close("option");
673
756
 
674
- $.each(aMethods, function(iIndex, oValue) {
757
+ each(aMethods, function(iIndex, oValue) {
675
758
  if (!oValue.active) {
676
- rm.write('<option>' + encode(oValue.name) + '</option>');
759
+ rm.openStart("option").openEnd().text("oValue.name").close("option");
677
760
  }
678
761
  });
679
762
 
680
- rm.write('</select>');
763
+ rm.close("select");
681
764
 
682
- rm.write('<input class="sapUiSupportControlBreakpointInput sapUiSupportAutocomplete" type="text">');
683
- rm.write('<button id="sapUiSupportControlAddBreakPoint" class="sapUiSupportRoundedButton ">Add breakpoint</button>');
684
- rm.write('<hr class="no-border"><ul id="sapUiSupportControlActiveBreakpoints" class="sapUiSupportList sapUiSupportBreakpointList">');
765
+ rm.voidStart("input").class("sapUiSupportControlBreakpointInput").class("sapUiSupportAutocomplete").attr("type", "text").voidEnd();
766
+ rm.openStart("button", "sapUiSupportControlAddBreakPoint").class("sapUiSupportRoundedButton").openEnd().text("Add breakpoint").close("button");
767
+ rm.voidStart("hr").class("no-border").voidEnd();
768
+ rm.openStart("ul", "sapUiSupportControlActiveBreakpoints").class("sapUiSupportList").class("sapUiSupportBreakpointList").openEnd();
685
769
 
686
- $.each(aMethods, function(iIndex, oValue) {
770
+ each(aMethods, function(iIndex, oValue) {
687
771
  if (!oValue.active) {
688
772
  return;
689
773
  }
690
774
 
691
- rm.write('<li><span>' + encode(oValue.name) + '</span>' +
692
- '<img class="remove-breakpoint" src="../../debug/images/delete.gif"></li>');
775
+ rm.openStart("li").openEnd()
776
+ .openStart("span").openEnd().text(oValue.name).close("span")
777
+ .voidStart("img").class("remove-breakpoint").attr("src", "../../debug/images/delete.gif").voidEnd()
778
+ .close("li");
693
779
  });
694
780
 
695
- rm.write('</ul></div>');
781
+ rm.close("ul").close("div");
696
782
 
697
- rm.flush(this.$().find("#sapUiSupportControlPropertiesArea").get(0));
783
+ rm.flush(this.dom("#sapUiSupportControlPropertiesArea"));
698
784
  rm.destroy();
699
785
 
700
786
  this.selectTab(this._tab.breakpoints);
701
787
 
702
- this.$().find('.sapUiSupportControlBreakpointInput').trigger("focus");
788
+ this.dom('.sapUiSupportControlBreakpointInput').focus();
703
789
  };
704
790
 
705
791
  ControlTree.prototype.renderExportTab = function() {
706
792
 
707
793
  var rm = sap.ui.getCore().createRenderManager();
708
794
 
709
- rm.write('<button id="sapUiSupportControlExportToXml" class="sapUiSupportRoundedButton sapUiSupportExportButton">Export To XML</button>');
710
- rm.write('<br><br>');
711
- rm.write('<button id="sapUiSupportControlExportToHtml" class="sapUiSupportRoundedButton sapUiSupportExportButton">Export To HTML</button>');
795
+ rm.openStart("button", "sapUiSupportControlExportToXml").class("sapUiSupportRoundedButton").class("sapUiSupportExportButton").openEnd().text("Export To XML").close("button");
796
+ rm.voidStart("br").voidEnd();
797
+ rm.voidStart("br").voidEnd();
798
+ rm.openStart("button", "sapUiSupportControlExportToHtml").class("sapUiSupportRoundedButton").class("sapUiSupportExportButton").openEnd().text("Export To HTML").close("button");
712
799
 
713
- rm.flush(this.$().find("#sapUiSupportControlPropertiesArea").get(0));
800
+ rm.flush(this.dom("#sapUiSupportControlPropertiesArea"));
714
801
  rm.destroy();
715
802
 
716
803
  this.selectTab(this._tab.exports);
@@ -774,7 +861,7 @@ sap.ui.define([
774
861
  var mViews = JSON.parse(oEvent.getParameter("serializedViews"));
775
862
  var sType = oEvent.getParameter("sType");
776
863
 
777
- if (!$.isEmptyObject(mViews)) {
864
+ if (!isEmptyObject(mViews)) {
778
865
  zip = new JSZip();
779
866
  for (var oViewName in mViews) {
780
867
  var data = mViews[oViewName];
@@ -957,11 +1044,11 @@ sap.ui.define([
957
1044
 
958
1045
  ControlTree.prototype._onAddBreakpointClicked = function (oEvent) {
959
1046
 
960
- var $select = this.$().find("#sapUiSupportControlMethodsSelect");
1047
+ var oSelect = this.dom("#sapUiSupportControlMethodsSelect");
961
1048
 
962
1049
  this._oStub.sendEvent(this._breakpointId + "ChangeInstanceBreakpoint", {
963
- controlId: $select.closest("[data-sap-ui-controlid]").attr("data-sap-ui-controlid"),
964
- methodName: $select.val(),
1050
+ controlId: oSelect.closest("[data-sap-ui-controlid]").dataset.sapUiControlid,
1051
+ methodName: oSelect.value,
965
1052
  active: true,
966
1053
  callback: this.getId() + "ReceiveMethods"
967
1054
  });
@@ -1056,14 +1143,14 @@ sap.ui.define([
1056
1143
 
1057
1144
  ControlTree.prototype.selectTab = function(sTab) {
1058
1145
 
1059
- var $button = this.$().find("#sapUiSupportControlTab" + sTab);
1146
+ var oButton = this.dom("#sapUiSupportControlTab" + sTab);
1060
1147
 
1061
- if ($button.hasClass("active")) {
1148
+ if (oButton.classList.contains("active")) {
1062
1149
  return false;
1063
1150
  }
1064
1151
 
1065
1152
  this.$().find("#sapUiSupportControlTabs button").removeClass("active");
1066
- $button.addClass("active");
1153
+ oButton.classList.add("active");
1067
1154
 
1068
1155
  this._currentTab = sTab;
1069
1156
 
@@ -1087,10 +1174,10 @@ sap.ui.define([
1087
1174
 
1088
1175
  $(".sapUiControlTreeElement > div").removeClass("sapUiSupportControlTreeSelected");
1089
1176
  var that = this;
1090
- jQueryDOM(document.getElementById("sap-debug-controltree-" + sControlId)).parents("[data-sap-ui-collapsed]").each(function(iIndex, oValue) {
1177
+ $(document.getElementById("sap-debug-controltree-" + sControlId)).parents("[data-sap-ui-collapsed]").each(function(iIndex, oValue) {
1091
1178
  that._onIconClick({ target: $(oValue).find("img:first").get(0) });
1092
1179
  });
1093
- var oPosition = jQueryDOM(document.getElementById("sap-debug-controltree-" + sControlId)).children("div").addClass("sapUiSupportControlTreeSelected").position();
1180
+ var oPosition = $(document.getElementById("sap-debug-controltree-" + sControlId)).children("div").addClass("sapUiSupportControlTreeSelected").position();
1094
1181
  var iScrollTop = this.$().find("#sapUiSupportControlTreeArea").scrollTop();
1095
1182
  this.$().find("#sapUiSupportControlTreeArea").scrollTop(iScrollTop + oPosition.top);
1096
1183
 
@@ -1264,7 +1351,7 @@ sap.ui.define([
1264
1351
  if (oElement instanceof UIArea) {
1265
1352
  mElement.library = "sap.ui.core";
1266
1353
  mElement.type = "sap.ui.core.UIArea";
1267
- $.each(oElement.getContent(), function(iIndex, oElement) {
1354
+ each(oElement.getContent(), function(iIndex, oElement) {
1268
1355
  var mChild = serializeElement(oElement);
1269
1356
  mElement.aggregation.push(mChild);
1270
1357
  });
@@ -1276,8 +1363,8 @@ sap.ui.define([
1276
1363
  for (var sAggrName in oElement.mAggregations) {
1277
1364
  var oAggrElement = oElement.mAggregations[sAggrName];
1278
1365
  if (oAggrElement) {
1279
- var aElements = $.isArray(oAggrElement) ? oAggrElement : [oAggrElement];
1280
- $.each(aElements, function(iIndex, oValue) {
1366
+ var aElements = Array.isArray(oAggrElement) ? oAggrElement : [oAggrElement];
1367
+ each(aElements, function(iIndex, oValue) {
1281
1368
  // tooltips are also part of aggregations
1282
1369
  if (oValue instanceof Element) {
1283
1370
  var mChild = serializeElement(oValue);
@@ -1295,8 +1382,8 @@ sap.ui.define([
1295
1382
  var sAssocId = oElement.mAssociations[sAssocName];
1296
1383
  var sAssocType = (mAssocMetadata[sAssocName]) ? mAssocMetadata[sAssocName].type : null;
1297
1384
  if (sAssocId && sAssocType) {
1298
- var aAssocIds = $.isArray(sAssocId) ? sAssocId : [sAssocId];
1299
- $.each(aAssocIds, function(iIndex, oValue) {
1385
+ var aAssocIds = Array.isArray(sAssocId) ? sAssocId : [sAssocId];
1386
+ each(aAssocIds, function(iIndex, oValue) {
1300
1387
  mElement.association.push({ id: oValue, type: sAssocType, name: sAssocName, isAssociationLink: true });
1301
1388
  });
1302
1389
  }
@@ -1307,7 +1394,7 @@ sap.ui.define([
1307
1394
  return mElement;
1308
1395
  }
1309
1396
 
1310
- $.each(oCore.mUIAreas, function(iIndex, oUIArea) {
1397
+ each(oCore.mUIAreas, function(iIndex, oUIArea) {
1311
1398
  var mElement = serializeElement(oUIArea);
1312
1399
  aControlTree.push(mElement);
1313
1400
  });
@@ -1355,10 +1442,10 @@ sap.ui.define([
1355
1442
  }
1356
1443
  /*eslint-enable no-loop-func */
1357
1444
 
1358
- $.each(mElement.aggregation, serializeAssociations);
1445
+ each(mElement.aggregation, serializeAssociations);
1359
1446
  }
1360
1447
 
1361
- $.each(aControlTree, serializeAssociations);
1448
+ each(aControlTree, serializeAssociations);
1362
1449
 
1363
1450
  return aControlTree;
1364
1451
  };
@@ -1393,9 +1480,9 @@ sap.ui.define([
1393
1480
  };
1394
1481
 
1395
1482
  var mProperties = oMetadata.getProperties();
1396
- $.each(mProperties, function(sKey, oProperty) {
1483
+ each(mProperties, function(sKey, oProperty) {
1397
1484
  var mProperty = {};
1398
- $.each(oProperty, function(sName, sValue) {
1485
+ each(oProperty, function(sName, sValue) {
1399
1486
 
1400
1487
  if (sName.substring(0, 1) !== "_" || (sName == '_sGetter' || sName == '_sMutator')) {
1401
1488
  mProperty[sName] = sValue;
@@ -1408,8 +1495,8 @@ sap.ui.define([
1408
1495
  }
1409
1496
 
1410
1497
  var oType = DataType.getType(oProperty.type);
1411
- if (oType && !(oType instanceof DataType)) {
1412
- mProperty["enumValues"] = oType;
1498
+ if (oType && oType.isEnumType()) {
1499
+ mProperty["enumValues"] = oType.getEnumValues();
1413
1500
  }
1414
1501
  });
1415
1502
  mProperty.value = oControl.getProperty(sKey);
@@ -1420,10 +1507,10 @@ sap.ui.define([
1420
1507
  });
1421
1508
 
1422
1509
  var mAggregations = oMetadata.getAggregations();
1423
- $.each(mAggregations, function(sKey, oAggregation) {
1510
+ each(mAggregations, function(sKey, oAggregation) {
1424
1511
  if (oAggregation.altTypes && oAggregation.altTypes[0] && pSimpleType.test(oAggregation.altTypes[0]) && typeof (oControl.getAggregation(sKey)) !== 'object') {
1425
1512
  var mAggregation = {};
1426
- $.each(oAggregation, function(sName, sValue) {
1513
+ each(oAggregation, function(sName, sValue) {
1427
1514
 
1428
1515
  if (sName.substring(0, 1) !== "_" || (sName == '_sGetter' || sName == '_sMutator')) {
1429
1516
  mAggregation[sName] = sValue;
@@ -1477,7 +1564,7 @@ sap.ui.define([
1477
1564
  var aBindings = [];
1478
1565
  var aBindingInfoBuffer, aBindingBuffer = [];
1479
1566
 
1480
- if ($.isArray(mBindingInfo.parts)) {
1567
+ if (Array.isArray(mBindingInfo.parts)) {
1481
1568
  aBindingInfoBuffer = mBindingInfo.parts;
1482
1569
  } else {
1483
1570
  aBindingInfoBuffer = [ mBindingInfo ];
@@ -1489,7 +1576,7 @@ sap.ui.define([
1489
1576
  aBindingBuffer = [ mBindingInfo.binding ];
1490
1577
  }
1491
1578
 
1492
- $.each(aBindingInfoBuffer, function(iIndex, oInfo) {
1579
+ each(aBindingInfoBuffer, function(iIndex, oInfo) {
1493
1580
 
1494
1581
  var mData = {};
1495
1582