@openui5/sap.ui.core 1.93.3 → 1.96.2

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 (416) hide show
  1. package/.eslintrc.json +13 -2
  2. package/.reuse/dep5 +6 -11
  3. package/THIRDPARTY.txt +10 -16
  4. package/package.json +1 -1
  5. package/src/jquery.sap.global.js +5 -2
  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/jquery.sap.stubs.js +2 -1
  11. package/src/jquery.sap.trace.js +2 -1
  12. package/src/sap/base/i18n/ResourceBundle.js +6 -2
  13. package/src/sap/base/strings/whitespaceReplacer.js +52 -0
  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 +37 -42
  56. package/src/sap/ui/Global.js +8 -7
  57. package/src/sap/ui/base/DataType.js +14 -8
  58. package/src/sap/ui/base/Event.js +1 -1
  59. package/src/sap/ui/base/EventProvider.js +1 -1
  60. package/src/sap/ui/base/ExpressionParser.js +9 -6
  61. package/src/sap/ui/base/Interface.js +3 -49
  62. package/src/sap/ui/base/ManagedObject.js +12 -7
  63. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  64. package/src/sap/ui/base/Metadata.js +1 -1
  65. package/src/sap/ui/base/Object.js +49 -4
  66. package/src/sap/ui/base/ObjectPool.js +1 -1
  67. package/src/sap/ui/base/syncXHRFix.js +2 -1
  68. package/src/sap/ui/core/.library +5 -5
  69. package/src/sap/ui/core/AppCacheBuster.js +4 -4
  70. package/src/sap/ui/core/BusyIndicator.js +1 -11
  71. package/src/sap/ui/core/Component.js +300 -140
  72. package/src/sap/ui/core/ComponentContainer.js +24 -8
  73. package/src/sap/ui/core/ComponentMetadata.js +14 -3
  74. package/src/sap/ui/core/ComponentSupport.js +1 -1
  75. package/src/sap/ui/core/Configuration.js +67 -31
  76. package/src/sap/ui/core/Control.js +1 -1
  77. package/src/sap/ui/core/Core.js +103 -25
  78. package/src/sap/ui/core/CustomData.js +1 -1
  79. package/src/sap/ui/core/CustomizingConfiguration.js +35 -260
  80. package/src/sap/ui/core/DeclarativeSupport.js +3 -2
  81. package/src/sap/ui/core/Element.js +1 -1
  82. package/src/sap/ui/core/ElementMetadata.js +4 -2
  83. package/src/sap/ui/core/EnabledPropagator.js +91 -73
  84. package/src/sap/ui/core/EventBus.js +1 -1
  85. package/src/sap/ui/core/ExtensionPoint.js +7 -14
  86. package/src/sap/ui/core/Fragment.js +30 -32
  87. package/src/sap/ui/core/HTML.js +1 -1
  88. package/src/sap/ui/core/History.js +1 -1
  89. package/src/sap/ui/core/Icon.js +7 -8
  90. package/src/sap/ui/core/IconPool.js +26 -1097
  91. package/src/sap/ui/core/IconRenderer.js +6 -6
  92. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  93. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  94. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  95. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  96. package/src/sap/ui/core/InvisibleText.js +1 -1
  97. package/src/sap/ui/core/Item.js +1 -1
  98. package/src/sap/ui/core/LabelEnablement.js +1 -1
  99. package/src/sap/ui/core/LayoutData.js +1 -1
  100. package/src/sap/ui/core/ListItem.js +1 -1
  101. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  102. package/src/sap/ui/core/Locale.js +26 -4
  103. package/src/sap/ui/core/LocaleData.js +1 -1
  104. package/src/sap/ui/core/Manifest.js +4 -61
  105. package/src/sap/ui/core/Message.js +1 -1
  106. package/src/sap/ui/core/Patcher.js +27 -3
  107. package/src/sap/ui/core/Placeholder.js +28 -15
  108. package/src/sap/ui/core/RenderManager.js +36 -6
  109. package/src/sap/ui/core/Renderer.js +13 -3
  110. package/src/sap/ui/core/ResizeHandler.js +1 -1
  111. package/src/sap/ui/core/ScrollBar.js +2 -2
  112. package/src/sap/ui/core/SeparatorItem.js +1 -1
  113. package/src/sap/ui/core/ShortcutHintsMixin.js +14 -7
  114. package/src/sap/ui/core/Title.js +1 -1
  115. package/src/sap/ui/core/TooltipBase.js +1 -1
  116. package/src/sap/ui/core/UIArea.js +1 -1
  117. package/src/sap/ui/core/UIComponent.js +42 -16
  118. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  119. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  120. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  121. package/src/sap/ui/core/XMLComposite.js +2 -2
  122. package/src/sap/ui/core/XMLCompositeMetadata.js +2 -2
  123. package/src/sap/ui/core/XMLTemplateProcessor.js +116 -41
  124. package/src/sap/ui/core/_IconRegistry.js +1148 -0
  125. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  126. package/src/sap/ui/core/delegate/ScrollEnablement.js +6 -3
  127. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  128. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  129. package/src/sap/ui/core/dnd/DragInfo.js +2 -2
  130. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  131. package/src/sap/ui/core/format/NumberFormat.js +16 -1
  132. package/src/sap/ui/core/hyphenation/Hyphenation.js +73 -221
  133. package/src/sap/ui/core/hyphenation/HyphenationTestingWords.js +11 -10
  134. package/src/sap/ui/core/library.js +3 -3
  135. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  136. package/src/sap/ui/core/message/Message.js +1 -1
  137. package/src/sap/ui/core/message/MessageManager.js +13 -15
  138. package/src/sap/ui/core/message/MessageParser.js +1 -1
  139. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  140. package/src/sap/ui/core/messagebundle_de.properties +1 -1
  141. package/src/sap/ui/core/messagebundle_fr.properties +1 -1
  142. package/src/sap/ui/core/messagebundle_it.properties +1 -1
  143. package/src/sap/ui/core/messagebundle_pl.properties +1 -1
  144. package/src/sap/ui/core/messagebundle_th.properties +2 -2
  145. package/src/sap/ui/core/mvc/Controller.js +38 -19
  146. package/src/sap/ui/core/mvc/ControllerExtensionProvider.js +30 -32
  147. package/src/sap/ui/core/mvc/ControllerMetadata.js +18 -18
  148. package/src/sap/ui/core/mvc/HTMLView.js +2 -2
  149. package/src/sap/ui/core/mvc/JSONView.js +2 -2
  150. package/src/sap/ui/core/mvc/JSView.js +2 -2
  151. package/src/sap/ui/core/mvc/TemplateView.js +2 -2
  152. package/src/sap/ui/core/mvc/View.js +58 -85
  153. package/src/sap/ui/core/mvc/XMLView.js +2 -2
  154. package/src/sap/ui/core/mvc/XMLViewRenderer.js +17 -20
  155. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  156. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  157. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  158. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  159. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  160. package/src/sap/ui/core/routing/History.js +10 -2
  161. package/src/sap/ui/core/routing/Router.js +8 -1
  162. package/src/sap/ui/core/routing/Target.js +13 -0
  163. package/src/sap/ui/core/routing/Targets.js +13 -2
  164. package/src/sap/ui/core/routing/async/Route.js +1 -1
  165. package/src/sap/ui/core/routing/async/Target.js +353 -259
  166. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  167. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  168. package/src/sap/ui/core/service/Service.js +1 -1
  169. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  170. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  171. package/src/sap/ui/core/support/BootSupportTool.js +11 -0
  172. package/src/sap/ui/core/support/InteractionTree.css +4 -0
  173. package/src/sap/ui/core/support/Plugin.js +1 -1
  174. package/src/sap/ui/core/support/Support.js +1 -1
  175. package/src/sap/ui/core/support/ViewInfo.css +599 -0
  176. package/src/sap/ui/core/support/controls/InteractionTree.js +352 -222
  177. package/src/sap/ui/core/support/controls/ObjectViewer.js +3 -41
  178. package/src/sap/ui/core/support/controls/TimelineOverview.js +49 -24
  179. package/src/sap/ui/core/support/controls/TreeViewer.js +12 -58
  180. package/src/sap/ui/core/support/plugins/ControlTree.js +59 -68
  181. package/src/sap/ui/core/support/plugins/Debugging.js +9 -11
  182. package/src/sap/ui/core/support/plugins/Interaction.js +2 -2
  183. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  184. package/src/sap/ui/core/support/plugins/Performance.js +147 -75
  185. package/src/sap/ui/core/support/plugins/Selector.js +19 -24
  186. package/src/sap/ui/core/support/plugins/TechInfo.js +5 -5
  187. package/src/sap/ui/core/support/plugins/Trace.js +95 -32
  188. package/src/sap/ui/core/support/plugins/ViewInfo.js +9 -73
  189. package/src/sap/ui/core/support/support.css +109 -14
  190. package/src/sap/ui/core/support/support.html +6 -2
  191. package/src/sap/ui/core/support/techinfo/TechnicalInfo.fragment.xml +1 -0
  192. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +149 -72
  193. package/src/sap/ui/core/themes/base/Icon.less +9 -0
  194. package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
  195. package/src/sap/ui/core/theming/Parameters.js +6 -4
  196. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  197. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  198. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  199. package/src/sap/ui/core/tmpl/Template.js +10 -28
  200. package/src/sap/ui/core/tmpl/TemplateControl.js +4 -4
  201. package/src/sap/ui/core/tmpl/_parsePath.js +35 -0
  202. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  203. package/src/sap/ui/core/util/DraftEnabledMockServer.js +9 -4
  204. package/src/sap/ui/core/util/Export.js +1 -1
  205. package/src/sap/ui/core/util/ExportCell.js +1 -1
  206. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  207. package/src/sap/ui/core/util/ExportRow.js +1 -1
  208. package/src/sap/ui/core/util/ExportType.js +1 -1
  209. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  210. package/src/sap/ui/core/util/File.js +1 -1
  211. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  212. package/src/sap/ui/core/util/MockServer.js +5 -5
  213. package/src/sap/ui/core/util/MockServerAnnotationsHandler.js +3 -2
  214. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  215. package/src/sap/ui/core/util/XMLPreprocessor.js +11 -12
  216. package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +136 -63
  217. package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +170 -153
  218. package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +424 -293
  219. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  220. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  221. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  222. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  223. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  224. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  225. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  226. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  227. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  228. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  229. package/src/sap/ui/debug/ControlTree.js +10 -4
  230. package/src/sap/ui/debug/DebugEnv.js +3 -4
  231. package/src/sap/ui/debug/Highlighter.js +8 -2
  232. package/src/sap/ui/debug/PropertyList.css +55 -0
  233. package/src/sap/ui/debug/PropertyList.js +111 -182
  234. package/src/sap/ui/model/Binding.js +174 -118
  235. package/src/sap/ui/model/ClientContextBinding.js +1 -1
  236. package/src/sap/ui/model/ClientListBinding.js +1 -3
  237. package/src/sap/ui/model/ClientModel.js +4 -4
  238. package/src/sap/ui/model/ClientPropertyBinding.js +4 -2
  239. package/src/sap/ui/model/ClientTreeBinding.js +15 -9
  240. package/src/sap/ui/model/ClientTreeBindingAdapter.js +28 -23
  241. package/src/sap/ui/model/CompositeBinding.js +98 -77
  242. package/src/sap/ui/model/CompositeDataState.js +2 -2
  243. package/src/sap/ui/model/CompositeType.js +2 -2
  244. package/src/sap/ui/model/Context.js +4 -2
  245. package/src/sap/ui/model/ContextBinding.js +6 -14
  246. package/src/sap/ui/model/DataState.js +2 -2
  247. package/src/sap/ui/model/Filter.js +255 -53
  248. package/src/sap/ui/model/FilterOperator.js +1 -1
  249. package/src/sap/ui/model/FilterProcessor.js +27 -17
  250. package/src/sap/ui/model/FilterType.js +1 -1
  251. package/src/sap/ui/model/ListBinding.js +180 -117
  252. package/src/sap/ui/model/MetaModel.js +4 -9
  253. package/src/sap/ui/model/Model.js +345 -294
  254. package/src/sap/ui/model/PropertyBinding.js +92 -58
  255. package/src/sap/ui/model/SelectionModel.js +2 -2
  256. package/src/sap/ui/model/SimpleType.js +2 -2
  257. package/src/sap/ui/model/Sorter.js +1 -1
  258. package/src/sap/ui/model/SorterProcessor.js +1 -1
  259. package/src/sap/ui/model/StaticBinding.js +1 -1
  260. package/src/sap/ui/model/TreeAutoExpandMode.js +2 -2
  261. package/src/sap/ui/model/TreeBinding.js +1 -1
  262. package/src/sap/ui/model/TreeBindingAdapter.js +251 -100
  263. package/src/sap/ui/model/TreeBindingCompatibilityAdapter.js +16 -9
  264. package/src/sap/ui/model/TreeBindingUtils.js +1 -0
  265. package/src/sap/ui/model/Type.js +1 -1
  266. package/src/sap/ui/model/analytics/AnalyticalBinding.js +8 -4
  267. package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +1 -1
  268. package/src/sap/ui/model/analytics/AnalyticalVersionInfo.js +1 -1
  269. package/src/sap/ui/model/analytics/BatchResponseCollector.js +1 -1
  270. package/src/sap/ui/model/analytics/ODataModelAdapter.js +1 -1
  271. package/src/sap/ui/model/analytics/odata4analytics.js +34 -25
  272. package/src/sap/ui/model/base/ManagedObjectModel.js +4 -0
  273. package/src/sap/ui/model/json/JSONListBinding.js +8 -5
  274. package/src/sap/ui/model/json/JSONModel.js +24 -15
  275. package/src/sap/ui/model/json/JSONPropertyBinding.js +4 -3
  276. package/src/sap/ui/model/json/JSONTreeBinding.js +1 -1
  277. package/src/sap/ui/model/message/MessageListBinding.js +6 -3
  278. package/src/sap/ui/model/message/MessageModel.js +23 -15
  279. package/src/sap/ui/model/message/MessagePropertyBinding.js +2 -2
  280. package/src/sap/ui/model/odata/AnnotationHelper.js +1 -1
  281. package/src/sap/ui/model/odata/AnnotationParser.js +1 -1
  282. package/src/sap/ui/model/odata/CountMode.js +1 -1
  283. package/src/sap/ui/model/odata/Filter.js +1 -1
  284. package/src/sap/ui/model/odata/ODataAnnotations.js +2 -2
  285. package/src/sap/ui/model/odata/ODataContextBinding.js +1 -1
  286. package/src/sap/ui/model/odata/ODataListBinding.js +1 -1
  287. package/src/sap/ui/model/odata/ODataMessageParser.js +2 -2
  288. package/src/sap/ui/model/odata/ODataMetaModel.js +5 -3
  289. package/src/sap/ui/model/odata/ODataMetadata.js +2 -2
  290. package/src/sap/ui/model/odata/ODataModel.js +8 -7
  291. package/src/sap/ui/model/odata/ODataPropertyBinding.js +1 -1
  292. package/src/sap/ui/model/odata/ODataTreeBinding.js +65 -33
  293. package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +1 -1
  294. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +2 -2
  295. package/src/sap/ui/model/odata/ODataUtils.js +13 -11
  296. package/src/sap/ui/model/odata/OperationMode.js +1 -1
  297. package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +1 -1
  298. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  299. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  300. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  301. package/src/sap/ui/model/odata/type/Date.js +1 -1
  302. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  303. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  304. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  305. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  306. package/src/sap/ui/model/odata/type/Double.js +1 -1
  307. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  308. package/src/sap/ui/model/odata/type/Int.js +1 -1
  309. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  310. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  311. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  312. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  313. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  314. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  315. package/src/sap/ui/model/odata/type/Single.js +1 -1
  316. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  317. package/src/sap/ui/model/odata/type/String.js +1 -1
  318. package/src/sap/ui/model/odata/type/Time.js +1 -1
  319. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  320. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  321. package/src/sap/ui/model/odata/v2/Context.js +81 -9
  322. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +3 -3
  323. package/src/sap/ui/model/odata/v2/ODataContextBinding.js +39 -49
  324. package/src/sap/ui/model/odata/v2/ODataListBinding.js +236 -73
  325. package/src/sap/ui/model/odata/v2/ODataModel.js +314 -164
  326. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +110 -97
  327. package/src/sap/ui/model/odata/v2/_CreatedContextsCache.js +129 -0
  328. package/src/sap/ui/model/odata/v4/Context.js +6 -3
  329. package/src/sap/ui/model/odata/v4/ODataBinding.js +5 -6
  330. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +117 -40
  331. package/src/sap/ui/model/odata/v4/ODataListBinding.js +95 -15
  332. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +44 -31
  333. package/src/sap/ui/model/odata/v4/ODataModel.js +86 -78
  334. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +47 -28
  335. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +11 -7
  336. package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +10 -3
  337. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +8 -1
  338. package/src/sap/ui/model/odata/v4/lib/_Cache.js +24 -16
  339. package/src/sap/ui/model/odata/v4/lib/_Helper.js +32 -30
  340. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +52 -17
  341. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +2 -2
  342. package/src/sap/ui/model/resource/ResourceModel.js +6 -2
  343. package/src/sap/ui/model/resource/ResourcePropertyBinding.js +1 -1
  344. package/src/sap/ui/model/type/Boolean.js +2 -2
  345. package/src/sap/ui/model/type/Currency.js +2 -2
  346. package/src/sap/ui/model/type/Date.js +9 -3
  347. package/src/sap/ui/model/type/DateInterval.js +4 -2
  348. package/src/sap/ui/model/type/DateTime.js +2 -2
  349. package/src/sap/ui/model/type/DateTimeInterval.js +2 -2
  350. package/src/sap/ui/model/type/FileSize.js +4 -2
  351. package/src/sap/ui/model/type/Float.js +4 -2
  352. package/src/sap/ui/model/type/Integer.js +4 -2
  353. package/src/sap/ui/model/type/String.js +2 -2
  354. package/src/sap/ui/model/type/Time.js +2 -2
  355. package/src/sap/ui/model/type/TimeInterval.js +2 -2
  356. package/src/sap/ui/model/type/Unit.js +14 -7
  357. package/src/sap/ui/model/xml/XMLListBinding.js +15 -9
  358. package/src/sap/ui/model/xml/XMLModel.js +70 -41
  359. package/src/sap/ui/model/xml/XMLPropertyBinding.js +4 -4
  360. package/src/sap/ui/model/xml/XMLTreeBinding.js +5 -4
  361. package/src/sap/ui/performance/trace/Interaction.js +30 -15
  362. package/src/sap/ui/performance/trace/initTraces.js +1 -1
  363. package/src/sap/ui/qunit/QUnitUtils.js +3 -2
  364. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  365. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +9 -11
  366. package/src/sap/ui/test/TestUtils.js +11 -4
  367. package/src/sap/ui/test/actions/Drag.js +6 -2
  368. package/src/sap/ui/test/actions/Drop.js +6 -2
  369. package/src/sap/ui/test/actions/EnterText.js +6 -0
  370. package/src/sap/ui/test/actions/Press.js +6 -0
  371. package/src/sap/ui/test/actions/Scroll.js +6 -0
  372. package/src/sap/ui/test/autowaiter/_resourceWaiter.js +4 -4
  373. package/src/sap/ui/test/launchers/componentLauncher.js +0 -4
  374. package/src/sap/ui/test/matchers/I18NText.js +29 -11
  375. package/src/sap/ui/test/opaQunit.js +5 -0
  376. package/src/sap/ui/thirdparty/crossroads.js +6 -4
  377. package/src/sap/ui/thirdparty/hyphenopoly/Hyphenopoly.js +1196 -0
  378. package/src/sap/ui/thirdparty/hyphenopoly/Hyphenopoly_Loader.js +797 -0
  379. package/src/sap/ui/thirdparty/hyphenopoly/hyphenEngine.asm.js +108 -127
  380. package/src/sap/ui/thirdparty/hyphenopoly/hyphenEngine.wasm +0 -0
  381. package/src/sap/ui/thirdparty/hyphenopoly/patterns/bg.hpb +0 -0
  382. package/src/sap/ui/thirdparty/hyphenopoly/patterns/ca.hpb +0 -0
  383. package/src/sap/ui/thirdparty/hyphenopoly/patterns/da.hpb +0 -0
  384. package/src/sap/ui/thirdparty/hyphenopoly/patterns/de.hpb +0 -0
  385. package/src/sap/ui/thirdparty/hyphenopoly/patterns/el-monoton.hpb +0 -0
  386. package/src/sap/ui/thirdparty/hyphenopoly/patterns/en-us.hpb +0 -0
  387. package/src/sap/ui/thirdparty/hyphenopoly/patterns/es.hpb +0 -0
  388. package/src/sap/ui/thirdparty/hyphenopoly/patterns/et.hpb +0 -0
  389. package/src/sap/ui/thirdparty/hyphenopoly/patterns/fi.hpb +0 -0
  390. package/src/sap/ui/thirdparty/hyphenopoly/patterns/fr.hpb +0 -0
  391. package/src/sap/ui/thirdparty/hyphenopoly/patterns/hi.hpb +0 -0
  392. package/src/sap/ui/thirdparty/hyphenopoly/patterns/hr.hpb +0 -0
  393. package/src/sap/ui/thirdparty/hyphenopoly/patterns/hu.hpb +0 -0
  394. package/src/sap/ui/thirdparty/hyphenopoly/patterns/it.hpb +0 -0
  395. package/src/sap/ui/thirdparty/hyphenopoly/patterns/lt.hpb +0 -0
  396. package/src/sap/ui/thirdparty/hyphenopoly/patterns/nb-no.hpb +0 -0
  397. package/src/sap/ui/thirdparty/hyphenopoly/patterns/nl.hpb +0 -0
  398. package/src/sap/ui/thirdparty/hyphenopoly/patterns/pt.hpb +0 -0
  399. package/src/sap/ui/thirdparty/hyphenopoly/patterns/ru.hpb +0 -0
  400. package/src/sap/ui/thirdparty/hyphenopoly/patterns/sl.hpb +0 -0
  401. package/src/sap/ui/thirdparty/hyphenopoly/patterns/sv.hpb +0 -0
  402. package/src/sap/ui/thirdparty/hyphenopoly/patterns/th.hpb +0 -0
  403. package/src/sap/ui/thirdparty/hyphenopoly/patterns/tr.hpb +0 -0
  404. package/src/sap/ui/thirdparty/hyphenopoly/patterns/uk.hpb +0 -0
  405. package/src/sap/ui/thirdparty/jquery.js +9 -1
  406. package/src/sap/ui/thirdparty/qunit-2.js +1 -1
  407. package/src/sap/ui/thirdparty/qunit.js +1 -1
  408. package/src/sap/ui/util/Mobile.js +2 -20
  409. package/src/sap/ui/util/Storage.js +1 -1
  410. package/src/sap/ui/util/isCrossOriginURL.js +16 -6
  411. package/src/sap-ui-core-nojQuery.js +1 -1
  412. package/src/sap-ui-core.js +1 -1
  413. package/src/sap-ui-debug.js +3 -17
  414. package/ui5.yaml +5 -2
  415. package/src/sap/ui/core/support/plugins/MessageTest.js +0 -96
  416. package/src/sap/ui/thirdparty/hyphenopoly/hyphenopoly.bundle.js +0 -860
@@ -23,9 +23,9 @@ function(ManagedObject, encodeXML) {
23
23
 
24
24
  //private functions and vars
25
25
  var mRenderTemplates = {
26
- rowstart : "<div class=\"{cssclass}\" collapsed=\"{collapsed}\" visible=\"{visible}\" style=\"padding-left:{pxlevel};margin-left: 16px;\" idx=\"{idx}\" key=\"{key}\" sectionkey=\"{sectionkey}\" level=\"level\" raise=\"_select\" hover=\"_hover\" args=\"{sectionkey},{key}\">",
26
+ rowstart : "<div class=\"sapUiSupportObjectViewerMarginLeft {cssclass}\" collapsed=\"{collapsed}\" visible=\"{visible}\" idx=\"{idx}\" key=\"{key}\" sectionkey=\"{sectionkey}\" level=\"{level}\" raise=\"_select\" hover=\"_hover\" args=\"{sectionkey},{key}\">",
27
27
  namestart : "<span class=\"key\" title=\"{key}\">",
28
- keyinfo : "<span class=\"keyinfo {color}\" selected=\"{selected}\" sectionkey=\"{sectionkey}\" key=\"{key}\" raise=\"_keyInfoPress\" args=\"{sectionkey},{key},{infoidx}\" title=\"{tooltip}\" style=\"margin-right:{pxlevel}\"></span>",
28
+ keyinfo : "<span class=\"keyinfo {color}\" selected=\"{selected}\" sectionkey=\"{sectionkey}\" key=\"{key}\" raise=\"_keyInfoPress\" args=\"{sectionkey},{key},{infoidx}\" title=\"{tooltip}\"></span>",
29
29
  nameend : "{key}</span>",
30
30
  separator : "<span class=\"colon\">:</span>",
31
31
  valuestart : "<span class=\"value\" title=\"{value}\"><input {readonly} class=\"valueInput\"value=\"{value}\" raise=\"_changeValue\" args=\"{sectionkey},{key}\" autocomplete=\"off\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\">",
@@ -55,7 +55,6 @@ function(ManagedObject, encodeXML) {
55
55
  sectionkey: n,
56
56
  key: m,
57
57
  level: oContent._level || 0,
58
- pxlevel: ((oContent._level || 0) * 16) + "px",
59
58
  cssclass: "",
60
59
  visible: !bCollapsed,
61
60
  header: n,
@@ -72,7 +71,6 @@ function(ManagedObject, encodeXML) {
72
71
  infoidx: i + "",
73
72
  sectionkey: n,
74
73
  key: m,
75
- pxlevel: (((oContent[m].__level || 0) * 16) + 3) + "px",
76
74
  selected: oInfo.selected || false,
77
75
  color: oInfo.color || "orange",
78
76
  tooltip: oInfo.tooltip || ""
@@ -101,7 +99,6 @@ function(ManagedObject, encodeXML) {
101
99
  sectionkey: n,
102
100
  key: m,
103
101
  level: oContent._level || 0,
104
- pxlevel: ((oContent._level || 0) * 16) + "px",
105
102
  cssclass: "hiddenkey",
106
103
  visible: !bCollapsed,
107
104
  header: n,
@@ -118,7 +115,6 @@ function(ManagedObject, encodeXML) {
118
115
  infoidx: i + "",
119
116
  sectionkey: n,
120
117
  key: m,
121
- pxlevel: (((oContent[m].__level || 0) * 16) + 3) + "px",
122
118
  selected: oInfo.selected || false,
123
119
  color: oInfo.color || "orange",
124
120
  tooltip: encodeXML(String(oInfo.tooltip) || "")
@@ -267,6 +263,7 @@ function(ManagedObject, encodeXML) {
267
263
  }
268
264
  oRenderContext.add("</div>");
269
265
  this._oRenderParent.innerHTML = oRenderContext.toString();
266
+
270
267
  var that = this;
271
268
  this._oRenderParent.firstChild.addEventListener("click", function(oEvent) {
272
269
  if (oEvent.target.tagName === "INPUT") {
@@ -358,41 +355,6 @@ function(ManagedObject, encodeXML) {
358
355
  });
359
356
  }
360
357
  };
361
- ObjectViewer.getCss = function() {
362
- return [
363
- '.objectviewer {white-space: nowrap;font-family:consolas;display:block;cursor:default;width: 100%; overflow: auto; height: 100%; padding:10px; box-sizing:border-box;}',
364
- '.objectviewer .key {white-space: nowrap;color: #b93232; width: 40%; overflow:hidden; display: inline-block; text-overflow: ellipsis;}',
365
- '.objectviewer .hiddenkey .keyinfo{visibility:hidden}',
366
- '.objectviewer .hiddenkey .colon{visibility:hidden}',
367
- '.objectviewer .hiddenkey .key{visibility:hidden}',
368
- '.objectviewer .value {white-space: nowrap;color: #007dc0; width: 50%; overflow:hidden; display: inline-block; text-overflow: ellipsis;}',
369
- '.objectviewer .value .valueInput {font-family:consolas;border:none; padding:0; background-color:transparent;white-space: nowrap;color: #007dc0; width: 100%; overflow:hidden; display: inline-block; text-overflow: ellipsis;}',
370
- '.objectviewer .value .valueInput:not([readonly])[error=\'true\'] {color:#d80000;solid 2px rgba(255, 0, 0, 0.26)}',
371
- '.objectviewer .value .valueInput:not([readonly]):hover {background-color:#f5f5f5}',
372
- '.objectviewer .value .valueInput:not([readonly]):focus {background-color:#fff;border:none;outline:none}',
373
- '.objectviewer .colon {padding:0 6px;display: inline-block;overflow: hidden; width: 2%}',
374
- '.objectviewer .header {color:#666; font-size: 14px; font-family:arial;margin: 3px 0 2px;}',
375
- '.objectviewer .control .key{font-weight:bold; color:#333}',
376
- '.objectviewer .control .value{font-weight:bold; color:#333}',
377
- '.objectviewer .keyinfo.orange {border: 1px solid orange;}',
378
- '.objectviewer .keyinfo.blue {border: 1px solid #007dc0;}',
379
- '.objectviewer .keyinfo.green {border: 1px solid green;}',
380
- '.objectviewer .keyinfo.red {border: 1px solid #cc1919;}',
381
- '.objectviewer .keyinfo.orange[selected=\'true\'] {background-color: orange;}',
382
- '.objectviewer .keyinfo.blue[selected=\'true\'] {background-color: #007dc0;}',
383
- '.objectviewer .keyinfo.green[selected=\'true\'] {background-color: green;}',
384
- '.objectviewer .keyinfo.red[selected=\'true\'] {background-color: #cc1919;}',
385
- '.objectviewer .keyinfo {display: inline-block; border-radius: 10px; height: 10px;width: 10px;overflow: hidden; margin-right: 3px;position: relative;vertical-align: top;margin-top: 1px;}',
386
- '.objectviewer .header[collapsed=\'true\'] .expand{border-color: transparent transparent transparent #cecece;border-radius: 0;border-style: solid;border-width: 4px 3px 4px 8px;height: 0;width: 0;position: relative;margin-top: 0px;margin-left: 2px;display: inline-block;}',
387
- '.objectviewer [collapsed=\'false\'] .expand {border-color: #cecece transparent transparent transparent;border-radius: 0;border-style: solid;border-width: 8px 4px 0px 4px;height: 0;width: 0;position: relative;margin-top: 0px;margin-left: 0px;margin-right: 5px;display: inline-block;}',
388
- '.objectviewer [collapsed=\'true\'] .expand:hover {border-color: transparent transparent transparent #aaa;}',
389
- '.objectviewer [collapsed=\'false\'] .expand:hover {border-color: #aaa transparent transparent transparent;}',
390
- '.objectviewer [visible=\'false\'] {display: none}',
391
- '.objectviewer .internal {opacity: 0.7}',
392
- '.objectviewer .private {opacity: 0.7}',
393
- '.objectviewer .default {opacity: 0.7}',
394
- '.objectviewer .end { border-top:1px solid #e0e0e0; height:1px;}'].join("");
395
- };
396
358
 
397
359
  return ObjectViewer;
398
360
  });
@@ -4,9 +4,10 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
7
- sap.ui.define(['sap/ui/base/ManagedObject'],
8
- function (ManagedObject) {
9
- 'use strict';
7
+ sap.ui.define([
8
+ "sap/ui/base/ManagedObject"
9
+ ], function (ManagedObject) {
10
+ "use strict";
10
11
  var TimelineOverview = ManagedObject.extend("sap.ui.core.support.controls.TimelineOverview", {
11
12
  metadata: {
12
13
  library: "sap.ui.core"
@@ -40,14 +41,12 @@ sap.ui.define(['sap/ui/base/ManagedObject'],
40
41
  };
41
42
 
42
43
  TimelineOverview.prototype.render = function (rm) {
43
- rm.write('<div id="sapUiInteractionTimelineOverview"><ol id="' + this.getId() + '"');
44
-
45
- rm.addClass("InteractionTimeline");
46
-
47
- rm.writeClasses();
48
-
49
- rm.write(">");
44
+ rm.openStart("div", "sapUiInteractionTimelineOverview")
45
+ .openEnd();
50
46
 
47
+ rm.openStart("ol", this.getId())
48
+ .class("InteractionTimeline")
49
+ .openEnd();
51
50
 
52
51
  var interaction,
53
52
  interactions = this.interactions;
@@ -75,7 +74,8 @@ sap.ui.define(['sap/ui/base/ManagedObject'],
75
74
  this.renderInteractionStep(rm, interaction, i);
76
75
  }
77
76
 
78
- rm.write("</ol></div>");
77
+ rm.close("ol");
78
+ rm.close("div");
79
79
  };
80
80
 
81
81
  TimelineOverview.prototype.renderInteractionStep = function (rm, step, index) {
@@ -83,45 +83,70 @@ sap.ui.define(['sap/ui/base/ManagedObject'],
83
83
  var MAX_ALLOWED_HEIGHT_IN_PERC = 69,
84
84
  stepDurationInPercent = Math.ceil((step.totalDuration / this.maxDuration) * MAX_ALLOWED_HEIGHT_IN_PERC);
85
85
 
86
+ rm.openStart("li")
87
+ .openEnd();
88
+
89
+ rm.openStart("div")
90
+ .class("bars-wrapper")
91
+ .attr("title", "Duration: " + step.totalDuration + "ms")
92
+ .openEnd();
93
+
94
+ rm.openStart("div")
95
+ .class("duration")
96
+ .style("height", stepDurationInPercent + "%;");
86
97
 
87
- var stepDurationInPercentInlineStyle = 'height: ' + stepDurationInPercent + '%;';
88
98
  if (stepDurationInPercent > 0) {
89
- stepDurationInPercentInlineStyle += ' min-height: 1px;';
99
+ rm.style("min-height", "1px");
90
100
  }
91
101
 
92
- rm.write('<li>');
93
- rm.write('<div class="bars-wrapper" title="Duration: ' + step.totalDuration + 'ms">');
94
- rm.write('<div class="duration" style="' + stepDurationInPercentInlineStyle + '">');
102
+ rm.openEnd();
103
+
95
104
  // write step duration
96
105
  var aInteractions = step.interactions,
97
106
  stepInteractionInPercent = 100;
98
107
  aInteractions.forEach(function(interaction, index) {
99
108
  stepInteractionInPercent = (step.totalDuration === 0) ? 100 : Math.ceil((interaction.calculatedDuration
100
109
  / step.totalDuration) * 100);
101
- rm.write('<div class="requestType" style="height: ' + stepInteractionInPercent + '%; min-height: 1px;"></div>');
110
+ rm.openStart("div")
111
+ .class("requestType")
112
+ .style("height", stepInteractionInPercent + "%")
113
+ .style("min-height", "1px")
114
+ .openEnd()
115
+ .close("div");
116
+
102
117
  //write spacer between interactions
103
118
  if (index !== (aInteractions.length - 1)) {
104
- rm.write('<div style="min-height: 1px;"></div>');
119
+ rm.openStart("div")
120
+ .style("min-height", "1px")
121
+ .openEnd()
122
+ .close("div");
105
123
  }
106
124
  });
107
125
 
126
+ rm.close("div"); // duration
127
+ rm.close("div"); // bars-wrapper
108
128
 
109
- rm.write('</div>');
110
- rm.write('</div>');
111
129
  var intIndex = index + 1;
112
130
  var sClassNameSeparator = (intIndex % 10 === 0 ) ? "sapUiInteractionTimelineStepRightBold" :
113
131
  "sapUiInteractionTimelineStepRight";
114
132
 
115
133
  if (intIndex % 2 === 0 ) {
116
- rm.write('<div class="' + sClassNameSeparator + '"></div>');
134
+ rm.openStart("div")
135
+ .class(sClassNameSeparator)
136
+ .openEnd()
137
+ .close("div");
117
138
  }
118
139
 
119
140
  if (intIndex % 10 === 0 && intIndex !== this.stepCount) {
120
- rm.write('<div class="sapUiInteractionTimelineTimeLbl">' + Math.round((index * this.timeRange /
121
- this.stepCount) / 10 ) / 100 + 's</div>');
141
+ rm.openStart("div")
142
+ .class("sapUiInteractionTimelineTimeLbl")
143
+ .openEnd()
144
+ .text(Math.round((index * this.timeRange / this.stepCount) / 10 ) / 100 + "s")
145
+ .close("div");
122
146
  }
123
- rm.write('</li>');
147
+ rm.close("li");
124
148
  };
149
+
125
150
  TimelineOverview.prototype._getTimelineOverviewData = function(copiedData) {
126
151
  var stepCount = this.stepCount;
127
152
  var stepTime = this.timeRange / stepCount;
@@ -4,10 +4,13 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define([
7
+ 'jquery.sap.global',
7
8
  'sap/ui/base/ManagedObject',
8
9
  "sap/base/security/encodeXML"
9
10
  ],
10
- function(ManagedObject, encodeXML) {
11
+ function(jQuery,
12
+ ManagedObject,
13
+ encodeXML) {
11
14
  'use strict';
12
15
  var TreeViewer = ManagedObject.extend("sap.ui.core.support.controls.TreeViewer", {
13
16
  metadata: {
@@ -22,10 +25,10 @@ function(ManagedObject, encodeXML) {
22
25
 
23
26
  //private functions and vars
24
27
  var mRenderTemplates = {
25
- nodestart : "<div tabindex=\"0\" idx=\"{idx}\" class=\"node start {cssclass}\" haschildnodes=\"{haschildnodes}\" visible=\"{visible}\" collapsed=\"{collapsed}\" style=\"padding-left:{pxlevel}\" level=\"{level}\" raise=\"_selectNode\" args=\"{idx}\"><span class=\"expand\" raise=\"_toggleNode\" args=\"{idx}\"></span>&lt;<span class=\"nstag\" reason=\"tagName\"><span class=\"ns\" reason=\"namespace\">{namespaceURI}</span><span class=\"tag\" reason=\"localName\">{localName}</span></span>",
28
+ nodestart : "<div tabindex=\"0\" idx=\"{idx}\" class=\"node start {cssclass}\" haschildnodes=\"{haschildnodes}\" visible=\"{visible}\" collapsed=\"{collapsed}\" level=\"{level}\" raise=\"_selectNode\" args=\"{idx}\"><span class=\"expand\" raise=\"_toggleNode\" args=\"{idx}\"></span>&lt;<span class=\"nstag\" reason=\"tagName\"><span class=\"ns\" reason=\"namespace\">{namespaceURI}</span><span class=\"tag\" reason=\"localName\">{localName}</span></span>",
26
29
  nodestartend : "&gt;</div>",
27
- nodenochildend : "&gt;&lt;/<span class=\"nstagend\"><span class=\"nstag\"><span class=\"ns\">{namespaceURI}</span><span class=\"tag\">{localName}</span></span></span>&gt;</div><div class=\"node end\" style=\"display:none\" visible=\"{visible}\" haschildnodes=\"{haschildnodes}\" collapsed=\"{collapsed}\" style=\"padding-left:{pxlevel}\" level=\"{level}\">&lt;/<span class=\"nstag\"><span class=\"ns\">{namespaceURI}</span><span class=\"tag\">{localName}</span></span>&gt;</div>",
28
- nodeend : "<div class=\"node end {cssclass}\" visible=\"{visible}\" haschildnodes=\"{haschildnodes}\" collapsed=\"{collapsed}\" style=\"padding-left:{pxlevel}\" level=\"{level}\">&lt;/<span class=\"nstag\"><span class=\"ns\">{namespaceURI}</span><span class=\"tag\">{localName}</span></span>&gt;</div>",
30
+ nodenochildend : "&gt;&lt;/<span class=\"nstagend\"><span class=\"nstag\"><span class=\"ns\">{namespaceURI}</span><span class=\"tag\">{localName}</span></span></span>&gt;</div><div class=\"node end sapUiSupportViewInfoElementHidden\" visible=\"{visible}\" haschildnodes=\"{haschildnodes}\" collapsed=\"{collapsed}\" level=\"{level}\">&lt;/<span class=\"nstag\"><span class=\"ns\">{namespaceURI}</span><span class=\"tag\">{localName}</span></span>&gt;</div>",
31
+ nodeend : "<div class=\"node end {cssclass}\" visible=\"{visible}\" haschildnodes=\"{haschildnodes}\" collapsed=\"{collapsed}\" level=\"{level}\">&lt;/<span class=\"nstag\"><span class=\"ns\">{namespaceURI}</span><span class=\"tag\">{localName}</span></span>&gt;</div>",
29
32
  attribute: "&nbsp;<span class=\"attr\" modified=\"{modified}\" oldValue=\"{oldValue}\" title=\"{oldValue}\" reason=\"attributeName\"><span class=\"attrname\">{attributeName}</span>=&quot;<span class=\"attrvalue\" reason=\"attributeValue\">{attributeValue}</span>&quot;</span>",
30
33
  idattribute: "&nbsp;<span class=\"attr\" modified=\"{modified}\" oldValue=\"{oldValue}\" title=\"originalValue: {oldValue}\" reason=\"attributeName\"><span class=\"attrname\">{attributeName}</span>=&quot;<span class=\"attrvalue attrvalue1\" reason=\"attributeValue\">{attributeValue1}</span><span class=\"attrvalue attrvalue2\" reason=\"attributeValue\">{attributeValue2}</span>&quot;</span>",
31
34
  nodeinfo: "<span class=\"info {color}\" selected=\"{selected}\"title=\"{tooltip}\" raise=\"_onInfoClick\" args=\"{idx},{infoidx}\"></span>"
@@ -148,7 +151,6 @@ function(ManagedObject, encodeXML) {
148
151
  visible: iLevel < oRenderContext.initialExpandedLevel,
149
152
  cssclass: sCssClass,
150
153
  level: iLevel,
151
- pxlevel: (iLevel * 16) + "px",
152
154
  collapsed: iLevel >= (oRenderContext.initialExpandedLevel - 1),
153
155
  localName: oNode.localName,
154
156
  namespaceURI: oNode.namespaceURI ? encodeXML(String(oNode.namespaceURI)) + ":" : ""
@@ -177,7 +179,6 @@ function(ManagedObject, encodeXML) {
177
179
  visible: iLevel < oRenderContext.initialExpandedLevel,
178
180
  level: iLevel,
179
181
  cssclass: sCssClass,
180
- pxlevel: (iLevel * 16) + "px",
181
182
  collapsed: iLevel >= (oRenderContext.initialExpandedLevel - 1),
182
183
  localName: oNode.localName,
183
184
  namespaceURI: oNode.namespaceURI ? encodeXML(String(oNode.namespaceURI)) + ":" : ""
@@ -189,7 +190,6 @@ function(ManagedObject, encodeXML) {
189
190
  haschildnodes: bHasChildNodes,
190
191
  visible: iLevel < oRenderContext.initialExpandedLevel,
191
192
  level: iLevel,
192
- pxlevel: (iLevel * 16) + "px",
193
193
  collapsed: iLevel >= (oRenderContext.initialExpandedLevel - 1),
194
194
  localName: oNode.localName,
195
195
  namespaceURI: oNode.namespaceURI ? encodeXML(String(oNode.namespaceURI)) + ":" : ""
@@ -460,6 +460,11 @@ function(ManagedObject, encodeXML) {
460
460
  }
461
461
  oRenderContext.add("</div>");
462
462
  this._oRenderParent.innerHTML = oRenderContext.toString();
463
+
464
+ jQuery(this._oRenderParent).find(".node.start, .node.end").each(function (index, item) {
465
+ item.style.paddingLeft = 16 * parseFloat(item.getAttribute("level")) + "px";
466
+ });
467
+
463
468
  var that = this;
464
469
  this._oRenderParent.firstChild.addEventListener("click", function(oEvent) {
465
470
  var oDomRef = oEvent.target,
@@ -534,56 +539,5 @@ function(ManagedObject, encodeXML) {
534
539
  }
535
540
  };
536
541
 
537
- TreeViewer.getCss = function() {
538
- return [
539
- '.treeviewer { padding-top:10px;margin-left:15px;font-family: consolas, monospace; width: 100%; overflow: auto; height: 100%; position: relative; cursor:default}',
540
- '.treeviewer .node {border: 1px solid transparent}',
541
- '.treeviewer .node.start {white-space: nowrap;}',
542
- '.treeviewer .node.inactive {color: gray!important; opacity:0.6}',
543
- '.treeviewer .node.inactive SPAN {color: gray!important; background-color:transparent!important;}',
544
- '.treeviewer .node.replace .nstag {text-decoration: line-through}',
545
- '.treeviewer .node.start.select {background-color: #fff8ad;}',
546
- '.treeviewer .node.start.highlight {background-color:#fff;}',
547
- '.treeviewer .node.end {white-space: nowrap;}',
548
- '.treeviewer .node .info {margin: 0px 2px}',
549
- '.treeviewer .node .info.orange {border: 1px solid orange;}',
550
- '.treeviewer .node .info.orange[selected=\'true\'] {background-color:orange;}',
551
- '.treeviewer .node .info.blue {border: 1px solid #007dc0;}',
552
- '.treeviewer .node .info.blue[selected=\'true\'] {background-color:#007dc0;}',
553
- '.treeviewer .node .info.green {border: 1px solid green}',
554
- '.treeviewer .node .info.green[selected=\'true\'] {background-color:green;}',
555
- '.treeviewer .node .info.red {border: 1px solid #b93232}',
556
- '.treeviewer .node .info.red[selected=\'true\'] {background-color:#b93232;}',
557
- '.treeviewer .node .info {opacity: 0.6;display: inline-block;border-radius: 10px;height: 6px;width: 6px;}',
558
- '.treeviewer .node .info[selected=\'true\'] {opacity: 1;display: inline-block;border-radius: 10px;height: 6px;width: 6px;}',
559
- '.treeviewer .node .info:hover {opacity: 1}',
560
- '.treeviewer .node .attrname {color:#b93232; border: 1px solid transparent; display:inline-block;}',
561
- '.treeviewer .node .attrname:hover {border: 1px solid #b93232;background-color:#fde3d5}',
562
- '.treeviewer .node .attrvalue {color:#007dc0; border: 1px solid transparent; display:inline-block;}',
563
- '.treeviewer .node .attr[modified=\'true\'] .attrvalue {color:#d210f3; border: 1px solid transparent; display:inline-block;}',
564
- '.treeviewer .node .attr[modified=\'true\'] {background-color:#ffe7fc;}',
565
- '.treeviewer .node .attr[oldvalue=\'null\'] .attrname {color:#d210f3; border: 1px solid transparent; display:inline-block;}',
566
- '.treeviewer.id1 .node .attrvalue2 {display:none;}',
567
- '.treeviewer.id2 .node .attrvalue1 {display:none;}',
568
- '.treeviewer .node .attrvalue:hover {border: 1px solid #007dc0;background-color:#e1e1ff}',
569
- '.treeviewer .node .ns {color:green}',
570
- '.treeviewer.hideNS .node .ns {display:none}',
571
- '.treeviewer.hideInactive .node.inactive {display:none!important}',
572
- '.treeviewer .node .tag {color:green}',
573
- '.treeviewer .node .nstag {color:green; border: 1px solid transparent; display:inline-block;}',
574
- '.treeviewer .node.start .nstag:hover {border: 1px solid green;background-color:#d5e6d5}',
575
- '.treeviewer .node.start .nstagend .nstag:hover {border: 1px solid transparent;background-color:transparent}',
576
- '.treeviewer .node.end[visible=\'true\'] {display: inline-block;}',
577
- '.treeviewer .node:focus {border: 1px dotted #e1e1ff;outline:none}',
578
- '.treeviewer .node.end[visible=\'true\'][haschildnodes=\'true\'] {display: block;}',
579
- '.treeviewer .node[visible=\'false\'] {display: none;}',
580
- '.treeviewer .node[collapsed=\'true\'][haschildnodes=\'true\'] .expand {border-color: transparent transparent transparent #cecece;border-radius: 0;border-style: solid;border-width: 4px 3px 4px 8px;height: 0;width: 0;position: relative;margin-top: 0px;margin-left: -10px;display: inline-block;}',
581
- '.treeviewer .node[collapsed=\'false\'][haschildnodes=\'true\'] .expand {border-color: #cecece transparent transparent transparent;border-radius: 0;border-style: solid;border-width: 8px 4px 0px 4px;height: 0;width: 0;position: relative;margin-top: 0px;margin-left: -12px;margin-right: 5px;display: inline-block;}',
582
- '.treeviewer .node[collapsed=\'true\'][haschildnodes=\'true\']:hover .expand {border-color: transparent transparent transparent #aaa;}',
583
- '.treeviewer .node[collapsed=\'false\'][haschildnodes=\'true\']:hover .expand {border-color: #aaa transparent transparent transparent;}',
584
- '.treeviewer .node[collapsed=\'true\'][haschildnodes=\'true\'] .expand:hover {border-color: transparent transparent transparent #999;}',
585
- '.treeviewer .node[collapsed=\'false\'][haschildnodes=\'true\'] .expand:hover {border-color: #999 transparent transparent transparent;}'].join("");
586
- };
587
-
588
542
  return TreeViewer;
589
543
  });
@@ -15,6 +15,7 @@ sap.ui.define([
15
15
  'sap/ui/core/ElementMetadata',
16
16
  'sap/ui/core/UIArea',
17
17
  'sap/ui/core/mvc/View',
18
+ 'sap/ui/core/mvc/XMLView',
18
19
  'sap/ui/model/Binding',
19
20
  'sap/ui/model/CompositeBinding',
20
21
  'sap/base/util/ObjectPath',
@@ -32,6 +33,7 @@ sap.ui.define([
32
33
  ElementMetadata,
33
34
  UIArea,
34
35
  View,
36
+ XMLView,
35
37
  Binding,
36
38
  CompositeBinding,
37
39
  ObjectPath,
@@ -49,7 +51,7 @@ sap.ui.define([
49
51
  * @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.
50
52
  *
51
53
  * @extends sap.ui.core.support.Plugin
52
- * @version 1.93.3
54
+ * @version 1.96.2
53
55
  * @private
54
56
  * @alias sap.ui.core.support.plugins.ControlTree
55
57
  */
@@ -194,11 +196,11 @@ sap.ui.define([
194
196
  ControlTree.prototype.renderContentAreas = function() {
195
197
  var rm = sap.ui.getCore().createRenderManager();
196
198
 
197
- rm.write('<div style="padding: 0.5rem">You can find a control in this tree by clicking it in the application UI while pressing the Ctrl+Alt+Shift keys.</div>');
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>');
198
200
 
199
201
  rm.write('<div id="sapUiSupportControlTreeArea"><ul class="sapUiSupportControlTreeList"></ul></div>');
200
202
 
201
- rm.write('<div id="sapUiSupportControlTabs" style="visibility:hidden">');
203
+ rm.write('<div id="sapUiSupportControlTabs" class="sapUiSupportControlTabsHidden">');
202
204
  rm.write('<button id="sapUiSupportControlTabProperties" class="sapUiSupportBtn sapUiSupportTab sapUiSupportTabLeft">Properties</button>');
203
205
  rm.write('<button id="sapUiSupportControlTabBindingInfos" class="sapUiSupportBtn sapUiSupportTab">Binding Infos</button>');
204
206
  rm.write('<button id="sapUiSupportControlTabBreakpoints" class="sapUiSupportBtn sapUiSupportTab">Breakpoints</button>');
@@ -218,10 +220,10 @@ sap.ui.define([
218
220
  var bHasChildren = mElement.aggregation.length > 0 || mElement.association.length > 0;
219
221
  rm.write("<li id=\"sap-debug-controltree-" + encode(mElement.id) + "\" class=\"sapUiControlTreeElement\">");
220
222
  var sImage = bHasChildren ? "minus" : "space";
221
- rm.write("<img class=\"sapUiControlTreeIcon\" style=\"height: 12px; width: 12px;\" src=\"../../debug/images/" + sImage + ".gif\">");
223
+ rm.write("<img class=\"sapUiControlTreeIcon\" src=\"../../debug/images/" + sImage + ".gif\">");
222
224
 
223
225
  if (mElement.isAssociation) {
224
- rm.write("<img title=\"Association\" class=\"sapUiControlTreeIcon\" style=\"height: 12px; width: 12px;\" src=\"../../debug/images/link.gif\">");
226
+ rm.write("<img title=\"Association\" class=\"sapUiControlTreeIcon\" src=\"../../debug/images/link.gif\">");
225
227
  }
226
228
 
227
229
  var sClass = basename(mElement.type);
@@ -229,7 +231,7 @@ sap.ui.define([
229
231
  rm.write('<div>');
230
232
 
231
233
  rm.write('<span class="name" title="' + encode(mElement.type) + '">' + encode(sClass) + ' - ' + encode(mElement.id) + '</span>');
232
- rm.write('<span class="sapUiSupportControlTreeBreakpointCount" title="Number of active breakpoints / methods" style="display:none;"></span>');
234
+ rm.write('<span class="sapUiSupportControlTreeBreakpointCount sapUiSupportItemHidden" title="Number of active breakpoints / methods"></span>');
233
235
 
234
236
  rm.write('</div>');
235
237
 
@@ -246,8 +248,8 @@ sap.ui.define([
246
248
  if (oValue.isAssociationLink) {
247
249
  var sType = basename(oValue.type);
248
250
  rm.write("<li data-sap-ui-controlid=\"" + encode(oValue.id) + "\" class=\"sapUiControlTreeLink\">");
249
- rm.write("<img class=\"sapUiControlTreeIcon\" style=\"height: 12px; width: 12px;\" align=\"middle\" src=\"../../debug/images/space.gif\">");
250
- rm.write("<img class=\"sapUiControlTreeIcon\" style=\"height: 12px; width: 12px;\" align=\"middle\" src=\"../../debug/images/link.gif\">");
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\">");
251
253
  rm.write("<div><span title=\"Association '" + encode(oValue.name) + "' to '" + encode(oValue.id) + "' with type '" + encode(oValue.type) + "'\">" +
252
254
  encode(sType) + " - " + encode(oValue.id) + " (" + encode(oValue.name) + ")</span></div>");
253
255
  rm.write("</li>");
@@ -288,7 +290,7 @@ sap.ui.define([
288
290
 
289
291
  rm.write("<tr><td>");
290
292
  rm.write("<label class='sapUiSupportLabel'>" + encode(oProperty.name) + ((oProperty.isBound) ?
291
- '<img title="Value is bound (see Binding Infos)" src="../../debug/images/link.gif" style="vertical-align:middle;margin-left:3px">' : "") + "</label>");
293
+ '<img title="Value is bound (see Binding Infos)" src="../../debug/images/link.gif">' : "") + "</label>");
292
294
  rm.write("</td><td>");
293
295
 
294
296
  if (oProperty.type === "boolean") {
@@ -386,7 +388,7 @@ sap.ui.define([
386
388
  rm.flush(this.$().find("#sapUiSupportControlPropertiesArea").get(0));
387
389
  rm.destroy();
388
390
 
389
- this.$().find("#sapUiSupportControlTabs").css("visibility", "");
391
+ this.$().find("#sapUiSupportControlTabs").removeClass("sapUiSupportControlTabsHidden");
390
392
 
391
393
  this.selectTab(this._tab.properties);
392
394
  };
@@ -397,7 +399,7 @@ sap.ui.define([
397
399
 
398
400
  if (mBindingInfos.contexts.length > 0) {
399
401
 
400
- rm.write('<h2 style="padding-left:5px">Contexts</h2>');
402
+ rm.write('<h2>Contexts</h2>');
401
403
 
402
404
  rm.write('<ul class="sapUiSupportControlTreeList" data-sap-ui-controlid="' + encode(sControlId) + '">');
403
405
 
@@ -422,9 +424,9 @@ sap.ui.define([
422
424
  rm.write('<div><span');
423
425
 
424
426
  if (oContext.invalidPath) {
425
- rm.write(' style="color:red"');
427
+ rm.write(' class="sapUiSupportModelPathInvalid"');
426
428
  } else if (oContext.unverifiedPath) {
427
- rm.write(' style="color:orange"');
429
+ rm.write(' class="sapUiSupportModelPathUnverified"');
428
430
  }
429
431
 
430
432
  rm.write('>' + encode(oContext.path));
@@ -466,7 +468,7 @@ sap.ui.define([
466
468
 
467
469
  if (mBindingInfos.bindings.length > 0) {
468
470
 
469
- rm.write('<h2 style="padding-left:5px">Bindings</h2>');
471
+ rm.write('<h2>Bindings</h2>');
470
472
 
471
473
  rm.write('<ul class="sapUiSupportControlTreeList" data-sap-ui-controlid="' + encode(sControlId) + '">');
472
474
 
@@ -476,9 +478,8 @@ sap.ui.define([
476
478
 
477
479
  rm.write('<span>');
478
480
 
479
- rm.write('<label class="sapUiSupportLabel" style="vertical-align: middle">' + encode(oBindingInfo.name) + '</label>');
480
- rm.write('<img class="sapUiSupportRefreshBinding" title="Refresh Binding" ' +
481
- 'src="../../debug/images/refresh.gif" style="cursor:pointer;margin-left:5px;vertical-align:middle">');
481
+ rm.write('<label class="sapUiSupportLabel">' + encode(oBindingInfo.name) + '</label>');
482
+ rm.write('<img class="sapUiSupportRefreshBinding" title="Refresh Binding" src="../../debug/images/refresh.gif">');
482
483
 
483
484
  rm.write('</span>');
484
485
 
@@ -499,9 +500,9 @@ sap.ui.define([
499
500
  rm.write('<div><span');
500
501
 
501
502
  if (oBinding.invalidPath) {
502
- rm.write(' style="color:red"');
503
+ rm.write(' class="sapUiSupportModelPathInvalid"');
503
504
  } else if (oBinding.unverifiedPath) {
504
- rm.write(' style="color:orange"');
505
+ rm.write(' class="sapUiSupportModelPathUnverified"');
505
506
  }
506
507
 
507
508
  rm.write('>' + encode(oBinding.path));
@@ -688,8 +689,7 @@ sap.ui.define([
688
689
  }
689
690
 
690
691
  rm.write('<li><span>' + encode(oValue.name) + '</span>' +
691
- '<img class="remove-breakpoint" style="cursor:pointer;margin-left:5px" ' +
692
- 'src="../../debug/images/delete.gif"></li>');
692
+ '<img class="remove-breakpoint" src="../../debug/images/delete.gif"></li>');
693
693
  });
694
694
 
695
695
  rm.write('</ul></div>');
@@ -728,11 +728,10 @@ sap.ui.define([
728
728
  var $breakpoints = $("#sap-debug-controltree-" + sControlId + " > div span.sapUiSupportControlTreeBreakpointCount");
729
729
 
730
730
  if (mBpCount.active > 0) {
731
- $breakpoints.text(mBpCount.active + " / " + mBpCount.all).show();
731
+ $breakpoints.text(mBpCount.active + " / " + mBpCount.all).toggleClass("sapUiSupportItemHidden", false);
732
732
  } else {
733
- $breakpoints.text("").hide();
733
+ $breakpoints.text("").toggleClass("sapUiSupportItemHidden", true);
734
734
  }
735
-
736
735
  };
737
736
 
738
737
  // -------------------------------
@@ -840,10 +839,10 @@ sap.ui.define([
840
839
  var $source = $(oEvent.target);
841
840
  if ($source.parent().attr("data-sap-ui-collapsed")) {
842
841
  $source.attr("src", $source.attr("src").replace("plus", "minus")).parent().removeAttr("data-sap-ui-collapsed");
843
- $source.siblings("ul").show();
842
+ $source.siblings("ul").toggleClass("sapUiSupportItemHidden", false);
844
843
  } else {
845
844
  $source.attr("src", $source.attr("src").replace("minus", "plus")).parent().attr("data-sap-ui-collapsed", "true");
846
- $source.siblings("ul").hide();
845
+ $source.siblings("ul").toggleClass("sapUiSupportItemHidden", true);
847
846
  }
848
847
  if (oEvent.stopPropagation) {
849
848
  oEvent.stopPropagation();
@@ -1133,54 +1132,46 @@ sap.ui.define([
1133
1132
 
1134
1133
  var oViewSerializer;
1135
1134
  var mViews;
1136
- sap.ui.controller(sType + "ViewController", {});
1137
- sap.ui.jsview(sType + "ViewExported", {
1138
- getControllerName : function() {
1139
- return sType + "ViewController";
1140
- },
1141
- createContent : function(oController) { }
1142
- });
1143
-
1144
- sap.ui.controller(sType + "ViewController", {});
1145
- sap.ui.jsview(sType + "ViewExported", {
1146
- getControllerName : function() {
1147
- return sType + "ViewController";
1148
- },
1149
- createContent : function(oController) { }
1150
- });
1151
-
1152
- try {
1153
- if (oControl) {
1154
- if (oControl instanceof View) {
1155
- oViewSerializer = new ViewSerializer(oControl, window, "sap.m");
1135
+ var sViewName = sType + "ViewExported";
1136
+
1137
+ XMLView.create({
1138
+ definition: document
1139
+ }).then(function (oView) {
1140
+ oView.setViewName(sViewName);
1141
+ oView._controllerName = sType + "ViewController";
1142
+
1143
+ try {
1144
+ if (oControl) {
1145
+ if (oControl instanceof View) {
1146
+ oViewSerializer = new ViewSerializer(oControl, window, "sap.m");
1147
+ } else {
1148
+ oView.addContent(oControl.clone());
1149
+ oViewSerializer = new ViewSerializer(oView, window, "sap.m");
1150
+ }
1151
+ // By now just XML and HTML can be serialized
1152
+ mViews = (sType && sType !== "XML") ? oViewSerializer.serializeToHTML() : oViewSerializer.serializeToXML();
1156
1153
  } else {
1157
- var oView = sap.ui.jsview(sType + "ViewExported");
1158
- oView.addContent(oControl.clone());
1154
+ var oUIArea = this.oCore.getUIArea(oEvent.getParameter("controlID"));
1155
+ var aContent = oUIArea.getContent();
1156
+ for ( var i = 0; i < aContent.length; i++) {
1157
+ oView.addContent(aContent[i]);
1158
+ }
1159
1159
  oViewSerializer = new ViewSerializer(oView, window, "sap.m");
1160
+ // By now just XML and HTML can be serialized
1161
+ mViews = (sType && sType !== "XML") ? oViewSerializer.serializeToHTML() : oViewSerializer.serializeToXML();
1162
+ for ( var i = 0; i < aContent.length; i++) {
1163
+ oUIArea.addContent(aContent[i]);
1164
+ }
1160
1165
  }
1161
- // By now just XML and HTML can be serialized
1162
- mViews = (sType && sType !== "XML") ? oViewSerializer.serializeToHTML() : oViewSerializer.serializeToXML();
1163
- } else {
1164
- var oUIArea = this.oCore.getUIArea(oEvent.getParameter("controlID"));
1165
- var oView = sap.ui.jsview(sType + "ViewExported");
1166
- var aContent = oUIArea.getContent();
1167
- for ( var i = 0; i < aContent.length; i++) {
1168
- oView.addContent(aContent[i]);
1169
- }
1170
- oViewSerializer = new ViewSerializer(oView, window, "sap.m");
1171
- // By now just XML and HTML can be serialized
1172
- mViews = (sType && sType !== "XML") ? oViewSerializer.serializeToHTML() : oViewSerializer.serializeToXML();
1173
- for ( var i = 0; i < aContent.length; i++) {
1174
- oUIArea.addContent(aContent[i]);
1166
+
1167
+ if (oViewSerializer) {
1168
+ this._oStub.sendEvent(this.getId() + "ReceiveControlTreeExport", { serializedViews: JSON.stringify(mViews), sType: sType });
1175
1169
  }
1170
+ } catch (err) {
1171
+ this._oStub.sendEvent(this.getId() + "ReceiveControlTreeExportError", { errorMessage: err.message });
1176
1172
  }
1177
1173
 
1178
- if (oViewSerializer) {
1179
- this._oStub.sendEvent(this.getId() + "ReceiveControlTreeExport", { serializedViews: JSON.stringify(mViews), sType: sType });
1180
- }
1181
- } catch (err) {
1182
- this._oStub.sendEvent(this.getId() + "ReceiveControlTreeExportError", { errorMessage: err.message });
1183
- }
1174
+ }.bind(this));
1184
1175
  };
1185
1176
 
1186
1177
  ControlTree.prototype.onsapUiSupportControlTreeRequestProperties = function(oEvent) {