@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
@@ -11,8 +11,6 @@ sap.ui.define('sap/ui/debug/PropertyList', [
11
11
  'sap/ui/core/Element',
12
12
  'sap/ui/core/ElementMetadata',
13
13
  'sap/base/util/isEmptyObject',
14
- 'sap/base/util/ObjectPath',
15
- 'sap/base/strings/capitalize',
16
14
  'sap/base/security/encodeXML',
17
15
  'sap/ui/thirdparty/jquery',
18
16
  'sap/ui/dom/jquery/rect' // jQuery Plugin "rect"
@@ -23,8 +21,6 @@ sap.ui.define('sap/ui/debug/PropertyList', [
23
21
  Element,
24
22
  ElementMetadata,
25
23
  isEmptyObject,
26
- ObjectPath,
27
- capitalize,
28
24
  encodeXML,
29
25
  jQuery
30
26
  ) {
@@ -39,14 +35,14 @@ sap.ui.define('sap/ui/debug/PropertyList', [
39
35
  *
40
36
  * @extends sap.ui.base.EventProvider
41
37
  * @author Martin Schaus
42
- * @version 1.93.3
38
+ * @version 1.96.2
43
39
  *
44
40
  * @param {sap.ui.core.Core}
45
- * oCore the core instance to use for analysis
41
+ * oCore Core instance of the app; version might differ!
46
42
  * @param {Window}
47
- * oWindow reference to the window object
43
+ * oWindow Window in which the app is running
48
44
  * @param {object}
49
- * oParentDomRef reference to the parent DOM element
45
+ * oParentDomRef DOM element where the PropertyList will be rendered (part of testsuite window)
50
46
  *
51
47
  * @alias sap.ui.debug.PropertyList
52
48
  * @private
@@ -58,10 +54,15 @@ sap.ui.define('sap/ui/debug/PropertyList', [
58
54
  this.oParentDomRef = oParentDomRef;
59
55
  // this.oCore = oWindow.sap.ui.getCore();
60
56
  this.oCore = oCore;
61
- this.bEmbedded = top.window === oWindow;
62
- this.mProperties = {};
63
- this.onclick = PropertyList.prototype.onclick.bind(this);
64
- oParentDomRef.addEventListener("click", this.onclick);
57
+ this.bEmbedded = window.top === oWindow;
58
+ // Note: window.top is assumed to refer to the app window in embedded mode or to the testsuite window otherwise
59
+ var link = window.top.document.createElement("link");
60
+ link.rel = "stylesheet";
61
+ link.href = window.top.sap.ui.require.toUrl("sap/ui/debug/PropertyList.css");
62
+ window.top.document.head.appendChild(link);
63
+
64
+ this.onchange = PropertyList.prototype.onchange.bind(this);
65
+ oParentDomRef.addEventListener("change", this.onchange);
65
66
  this.onfocus = PropertyList.prototype.onfocus.bind(this);
66
67
  oParentDomRef.addEventListener("focusin", this.onfocus);
67
68
  this.onkeydown = PropertyList.prototype.onkeydown.bind(this);
@@ -84,7 +85,7 @@ sap.ui.define('sap/ui/debug/PropertyList', [
84
85
  * @private
85
86
  */
86
87
  PropertyList.prototype.exit = function() {
87
- this.oParentDomRef.removeEventListener("click", this.onclick);
88
+ this.oParentDomRef.removeEventListener("change", this.onchange);
88
89
  this.oParentDomRef.removeEventListener("focusin", this.onfocus);
89
90
  this.oParentDomRef.removeEventListener("keydown", this.onkeydown);
90
91
  if ( !this.bEmbedded ) {
@@ -98,7 +99,7 @@ sap.ui.define('sap/ui/debug/PropertyList', [
98
99
  * @private
99
100
  */
100
101
  PropertyList.prototype.update = function(oParams) {
101
- var sControlId = oParams.getParameter("controlId");
102
+ var sControlId = this.sControlId = oParams.getParameter("controlId");
102
103
  this.oParentDomRef.innerHTML = "";
103
104
 
104
105
  var oControl = this.oCore.byId(sControlId);
@@ -106,150 +107,103 @@ sap.ui.define('sap/ui/debug/PropertyList', [
106
107
  this.oParentDomRef.innerHTML = "Please select a valid control";
107
108
  return;
108
109
  }
109
- if (!oControl.getMetadata || !oControl.getMetadata()) {
110
- this.oParentDomRef.innerHTML = "Control does not provide Metadata.";
111
- return;
112
- }
113
- this.mProperties = {};
114
110
  var oMetadata = oControl.getMetadata(),
115
111
  aHTML = [];
116
112
  aHTML.push("<span data-sap-ui-quickhelp='" + this._calcHelpId(oMetadata) + "'>Type : " + oMetadata.getName() + "</span><br >");
117
113
  aHTML.push("Id : " + oControl.getId() + "<br >");
118
- aHTML.push("<button id='sap-debug-propertylist-apply' data-id='" + sControlId + "' style='border:solid 1px gray;background-color:#d0d0d0;font-size:8pt;'>Apply Changes</button>");
119
114
  if ( !this.bEmbedded ) {
120
- aHTML.push("<div id='sap-ui-quickhelp' style='position:fixed;display:none;padding:5px;background-color:rgb(200,220,231);border:1px solid gray;overflow:hidden'>Help</div>");
115
+ aHTML.push("<div id='sap-ui-quickhelp' class='sapDbgQH'>Help</div>");
121
116
  }
122
- aHTML.push("<div style='border-bottom:1px solid gray'>&nbsp;</div><table cellspacing='1' style='font-size:8pt;width:100%;table-layout:fixed'>");
117
+ aHTML.push("<div class='sapDbgSeparator'>&nbsp;</div>");
118
+ aHTML.push("<table class='sapDbgPropertyList' cellspacing='1'><tbody>");
123
119
 
124
120
  while ( oMetadata instanceof ElementMetadata ) {
125
- var mProperties = oMetadata.getProperties();
126
- var bHeaderCreated = false;
127
- if ( !isEmptyObject(mProperties) ) {
128
- if ( !bHeaderCreated && oMetadata !== oControl.getMetadata() ) {
129
- aHTML.push("<tr><td colspan=\"2\">BaseType: ");
121
+ var oSettings = this.getPropertyLikeSettings(oMetadata);
122
+ if ( !isEmptyObject(oSettings) ) {
123
+ if ( oMetadata !== oControl.getMetadata() ) {
124
+ aHTML.push("<tr><td class='sapDbgPLSubheader' colspan=\"2\">BaseType: ");
130
125
  aHTML.push(oMetadata.getName());
131
126
  aHTML.push("</td></tr>");
132
- bHeaderCreated = true;
133
127
  }
134
- this.printProperties(aHTML, oControl, mProperties);
135
- }
136
- var mProperties = this.getAggregationsAsProperties(oMetadata);
137
- if ( !isEmptyObject(mProperties) ) {
138
- if ( !bHeaderCreated && oMetadata !== oControl.getMetadata() ) {
139
- aHTML.push("<tr><td colspan=\"2\">BaseType: ");
140
- aHTML.push(oMetadata.getName());
141
- aHTML.push("</td></tr>");
142
- bHeaderCreated = true;
143
- }
144
- this.printProperties(aHTML, oControl, mProperties);
128
+ this.renderSettings(aHTML, oControl, oSettings);
145
129
  }
146
130
  oMetadata = oMetadata.getParent();
147
131
  }
148
132
 
149
- aHTML.push("</table>");
133
+ aHTML.push("</tbody></table>");
150
134
  this.oParentDomRef.innerHTML = aHTML.join("");
151
135
  this.mHelpDocs = {};
152
136
  };
153
137
 
154
- PropertyList.prototype.getAggregationsAsProperties = function(oMetadata) {
155
-
156
- function isSimpleType(sType) {
157
- if ( !sType ) {
158
- return false;
159
- }
160
-
161
- while ( sType.endsWith("[]") ) {
162
- sType = sType.slice(0, -"[]".length);
163
- }
164
-
165
- if ( sType === "boolean" || sType === "string" || sType === "int" || sType === "float" ) {
166
- return true;
167
- }
168
-
169
- if ( sType === "void" ) {
170
- return false;
138
+ PropertyList.prototype.getPropertyLikeSettings = function(oMetadata) {
139
+ var mSettings = {};
140
+ Object.values(oMetadata.getProperties()).forEach(function(oProp) {
141
+ mSettings[oProp.name] = oProp;
142
+ });
143
+ // also display 0..1 aggregations with a simple altType
144
+ Object.values(oMetadata.getAggregations()).forEach(function(oAggr) {
145
+ if ( oAggr.multiple === false
146
+ && oAggr.altTypes && oAggr.altTypes.length
147
+ && DataType.getType(oAggr.altTypes[0]) != null ) {
148
+ mSettings[oAggr.name] = oAggr;
171
149
  }
172
-
173
- // TODO check for enum
174
-
175
- return false;
176
- }
177
-
178
- var oResult = {};
179
- for (var sAggrName in oMetadata.getAggregations() ) {
180
- var oAggr = oMetadata.getAggregations()[sAggrName];
181
- if ( oAggr.altTypes && oAggr.altTypes[0] && isSimpleType(oAggr.altTypes[0]) ) {
182
- oResult[sAggrName] = { name : sAggrName, type : oAggr.altTypes[0], _oParent : oAggr._oParent };
183
- }
184
- }
185
- return oResult;
186
-
150
+ });
151
+ return mSettings;
187
152
  };
188
153
 
189
154
  /**
190
155
  * TODO: missing internal JSDoc... @author please update
191
156
  * @private
192
157
  */
193
- PropertyList.prototype.printProperties = function(aHTML, oControl, mProperties, bAggregation) {
194
- for (var i in mProperties) {
195
- var sName = i,
196
- sType = mProperties[i].type,
197
- oMethod = oControl["get" + sName];
198
- if (!oMethod) {
199
- sName = capitalize(sName,0);
200
- }
201
- var oValue = oControl["get" + sName]();
158
+ PropertyList.prototype.renderSettings = function(aHTML, oControl, mSettings) {
159
+ Object.values(mSettings).forEach(function(oSetting) {
160
+ var sName = oSetting.name,
161
+ oValue = oSetting.get(oControl),
162
+ oType = oSetting.multiple === false ? DataType.getType(oSetting.altTypes[0]) : oSetting.getType();
163
+
202
164
  aHTML.push("<tr><td>");
203
- this.mProperties[sName] = sType;
204
- aHTML.push("<span data-sap-ui-quickhelp='", this._calcHelpId(mProperties[i]._oParent, i), "' >", sName, '</span>');
165
+ aHTML.push("<span data-sap-ui-quickhelp='", this._calcHelpId(oSetting._oParent, sName), "' >", sName, '</span>');
205
166
  aHTML.push("</td><td>");
206
167
  var sTitle = "";
207
- if (sType == "string" || sType == "int" || sType == "float" || sType.endsWith("[]")) {
208
- var sColor = '';
168
+
169
+ if ( oType.getPrimitiveType().getName() === "boolean" ) {
170
+ aHTML.push("<input type='checkbox' data-name='" + sName + "' ");
171
+ if (oValue == true) {
172
+ aHTML.push("checked='checked'");
173
+ }
174
+ aHTML.push(">");
175
+ } else if ( oType.isEnumType() ) {
176
+ var oEnum = oType.getEnumValues();
177
+ aHTML.push("<select data-name='" + sName + "'>");
178
+ for (var n in oEnum) {
179
+ aHTML.push("<option ");
180
+ if (n === oValue) {
181
+ aHTML.push(" selected ");
182
+ }
183
+ aHTML.push("value='" + encodeXML(n) + "'>");
184
+ aHTML.push(encodeXML(n));
185
+ aHTML.push("</option>");
186
+ }
187
+ aHTML.push("</select>");
188
+ } else {
189
+ var sValueClass = '';
209
190
  if ( oValue === null ) {
210
- sColor = 'color:#a5a5a5;';
191
+ sValueClass = "class='sapDbgComplexValue'";
211
192
  oValue = '(null)';
212
193
  } else if ( oValue instanceof Element ) {
213
- sColor = 'color:#a5a5a5;';
194
+ sValueClass = "class='sapDbgComplexValue'";
214
195
  if (Array.isArray(oValue)) {
215
196
  // array type (copied from primitive values above and modified the value to string / comma separated)
216
197
  oValue = oValue.join(", ");
217
198
  } else {
218
- oValue = oValue.toString();
219
- }
220
- sTitle = ' title="This aggregation currently references an Element. You can set a ' + sType + ' value instead"';
221
- }
222
- aHTML.push("<input type='text' style='width:100%;font-size:8pt;background-color:#f5f5f5;" + sColor + "' value='" + encodeXML("" + oValue) + "'" + sTitle + " data-name='" + sName + "'>");
223
- } else if (sType == "boolean") {
224
- aHTML.push("<input type='checkbox' data-name='" + sName + "' ");
225
- if (oValue == true) {
226
- aHTML.push("checked='checked'");
227
- }
228
- aHTML.push(">");
229
- } else if (sType != "void") {
230
- //Enum or Custom Type
231
- var oEnum = ObjectPath.get(sType || "");
232
- if (!oEnum || oEnum instanceof DataType) {
233
- aHTML.push("<input type='text' style='width:100%;font-size:8pt;background-color:#f5f5f5;' value='" + encodeXML("" + oValue) + "'" + sTitle + " data-name='" + sName + "'>");
234
- } else {
235
- aHTML.push("<select style='width:100%;font-size:8pt;background-color:#f5f5f5;' data-name='" + sName + "'>");
236
- sType = sType.replace("/",".");
237
- for (var n in oEnum) {
238
- aHTML.push("<option ");
239
- if (n == oValue) {
240
- aHTML.push(" selected ");
241
- }
242
- aHTML.push("value='" + sType + "." + n + "'>");
243
- aHTML.push(n);
244
- aHTML.push("</option>");
199
+ oValue = String(oValue);
245
200
  }
246
- aHTML.push("</select>");
201
+ sTitle = ' title="This aggregation currently references an Element. You can set a ' + oType.getName() + ' value instead"';
247
202
  }
248
- } else {
249
- aHTML.push("&nbsp;");
203
+ aHTML.push("<input type='text' " + sValueClass + " value='" + encodeXML("" + oValue) + "'" + sTitle + " data-name='" + sName + "'>");
250
204
  }
251
205
  aHTML.push("</td></tr>");
252
- }
206
+ }.bind(this));
253
207
  };
254
208
 
255
209
  /**
@@ -257,19 +211,20 @@ sap.ui.define('sap/ui/debug/PropertyList', [
257
211
  * @private
258
212
  */
259
213
  PropertyList.prototype.onkeydown = function(oEvent) {
260
- if (oEvent.keyCode == 13) {
261
- this.applyChanges("sap-debug-propertylist-apply");
214
+ var oSource = oEvent.target;
215
+ if (oEvent.keyCode == 13 && oSource.tagName === "INPUT" && oSource.type === "text") {
216
+ this.applyChange(oSource);
262
217
  }
263
218
  };
264
219
 
265
220
  /**
266
- * TODO: missing internal JSDoc... @author please update
221
+ * Listener for the 'change' event of editor controls.
267
222
  * @private
268
223
  */
269
- PropertyList.prototype.onclick = function(oEvent) {
224
+ PropertyList.prototype.onchange = function(oEvent) {
270
225
  var oSource = oEvent.target;
271
- if (oSource.id == "sap-debug-propertylist-apply") {
272
- this.applyChanges("sap-debug-propertylist-apply");
226
+ if (oSource.tagName === "SELECT" || oSource.tagName === "INPUT") {
227
+ this.applyChange(oSource);
273
228
  }
274
229
  };
275
230
 
@@ -288,48 +243,27 @@ sap.ui.define('sap/ui/debug/PropertyList', [
288
243
  };
289
244
 
290
245
  /**
291
- * TODO: missing internal JSDoc... @author please update
246
+ * Applies the current value from the given editor field
247
+ * to the corresponding setting of the currently displayed control or element.
248
+ * @param {HTMLInputElement|HTMLSelectElement} oField An editor field
292
249
  * @private
293
250
  */
294
- PropertyList.prototype.applyChanges = function(sId) {
295
- var oSource = this.oParentDomRef.ownerDocument.getElementById(sId),
296
- sControlId = oSource.dataset.id,
297
- oControl = this.oCore.byId(sControlId),
298
- aInput = oSource.parentNode.getElementsByTagName("INPUT"),
299
- aSelect = oSource.parentNode.getElementsByTagName("SELECT"),
300
- oMethod;
301
-
302
- for (var i = 0; i < aInput.length; i++) {
303
- var oInput = aInput[i],
304
- sName = oInput.dataset.name;
305
- oMethod = oControl["set" + sName];
306
- if (!oMethod) {
307
- sName = capitalize(sName,0);
308
- }
309
- if (oControl["set" + sName]) {
310
- var oType = DataType.getType(this.mProperties[sName]);
311
- var vValue = this.mProperties[sName] === "boolean" ? oInput.checked : oType.parseValue(oInput.value);
251
+ PropertyList.prototype.applyChange = function(oField) {
252
+ var oControl = this.oCore.byId(this.sControlId),
253
+ sName = oField.dataset.name,
254
+ oSetting = oControl.getMetadata().getPropertyLikeSetting(sName);
255
+
256
+ if ( oSetting ) {
257
+ var sValue = oField.type === "checkbox" ? String(oField.checked) : oField.value,
258
+ oType = oSetting.multiple != null ? DataType.getType(oSetting.altTypes[0]) : oSetting.getType();
259
+ if (oType) {
260
+ var vValue = oType.parseValue(sValue);
312
261
  if (oType.isValid(vValue) && vValue !== "(null)" ) {
313
- oControl["set" + sName](vValue);
262
+ oSetting.set(oControl, vValue);
263
+ oField.classList.remove("sapDbgComplexValue");
314
264
  }
315
265
  }
316
266
  }
317
- for (var i = 0; i < aSelect.length; i++) {
318
- var oSelect = aSelect[i],
319
- sName = oSelect.dataset.name;
320
- oMethod = oControl["set" + sName];
321
- if (!oMethod) {
322
- sName = capitalize(sName,0);
323
- }
324
- var oValue = null;
325
- if (oSelect.value) {
326
- /*eslint-disable no-eval */
327
- eval("oValue = " + oSelect.value);
328
- oControl["set" + sName](oValue);
329
- /*eslint-enable no-eval */
330
- }
331
- }
332
- this.oCore.applyChanges();
333
267
  };
334
268
 
335
269
  PropertyList.prototype.showQuickHelp = function(oSource) {
@@ -345,7 +279,6 @@ sap.ui.define('sap/ui/debug/PropertyList', [
345
279
  oTooltipDomRef.style.top = (oRect.top - 40) + "px";
346
280
  oTooltipDomRef.style.display = 'block';
347
281
  oTooltipDomRef.style.opacity = '0.2';
348
- oTooltipDomRef.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=20)';
349
282
  if ( this.mHelpDocs[this.sCurrentHelpId] ) {
350
283
  this.updateQuickHelp(this.mHelpDocs[this.sCurrentHelpId], 2000);
351
284
  } else {
@@ -401,8 +334,8 @@ sap.ui.define('sap/ui/debug/PropertyList', [
401
334
  if ( aDocumentation[0] ) {
402
335
  if ( sName && aDocumentation[0] ) {
403
336
  var doc = [];
404
- doc.push("<div style='font-size:10pt;font-weight:bold;padding:5px 0px;margin-bottom:5px;border-bottom:1px solid gray'>", sName.replace('/', '.'), "</div>");
405
- doc.push("<div style='padding:2px 0px;'>", aDocumentation[0].text || aDocumentation[0].textContent, "</div>");
337
+ doc.push("<div class='sapDbgQHClassTitle'>", sName.replace('/', '.'), "</div>");
338
+ doc.push("<div class='sapDbgQHDocPadding'>", aDocumentation[0].text || aDocumentation[0].textContent, "</div>");
406
339
  this.mHelpDocs[this.sCurrentHelpDoc] = doc.join("");
407
340
  }
408
341
  }
@@ -418,10 +351,10 @@ sap.ui.define('sap/ui/debug/PropertyList', [
418
351
  var aDocumentation = get(oProperty, "documentation");
419
352
  if ( sName && aDocumentation[0] ) {
420
353
  var doc = [];
421
- doc.push("<div style='font-size:10pt;font-weight:bold;padding:3px 0px;margin-bottom:3px;border-bottom:1px solid gray'>", sName, "</div>");
422
- doc.push("<div style='padding:2px 0px;'><i><strong>Type</strong></i>: ", sType, "</div>");
423
- doc.push("<div style='padding:2px 0px;'>", aDocumentation[0].text || aDocumentation[0].textContent, "</div>");
424
- doc.push("<div style='padding:2px 0px;'><i><strong>Default Value</strong></i>: ", sDefaultValue, "</div>");
354
+ doc.push("<div class='sapDbgQHSettingDoc'>", sName, "</div>");
355
+ doc.push("<div class='sapDbgQHDocPadding'><i><strong>Type</strong></i>: ", sType, "</div>");
356
+ doc.push("<div class='sapDbgQHDocPadding'>", aDocumentation[0].text || aDocumentation[0].textContent, "</div>");
357
+ doc.push("<div class='sapDbgQHDocPadding'><i><strong>Default Value</strong></i>: ", sDefaultValue, "</div>");
425
358
  this.mHelpDocs[this.sCurrentHelpDoc + "#" + sName] = doc.join("");
426
359
  }
427
360
  }
@@ -437,10 +370,10 @@ sap.ui.define('sap/ui/debug/PropertyList', [
437
370
  var aDocumentation = get(oProperty, "documentation");
438
371
  if ( sName && aDocumentation[0] && !this.mHelpDocs[this.sCurrentHelpDoc + "#" + sName]) {
439
372
  var doc = [];
440
- doc.push("<div style='font-size:10pt;font-weight:bold;padding:3px 0px;margin-bottom:3px;border-bottom:1px solid gray'>", sName, "</div>");
441
- doc.push("<div style='padding:2px 0px;'><i><strong>Type</strong></i>: ", sType, "</div>");
442
- doc.push("<div style='padding:2px 0px;'>", aDocumentation[0].text || aDocumentation[0].textContent, "</div>");
443
- doc.push("<div style='padding:2px 0px;'><i><strong>Default Value</strong></i>: ", sDefaultValue, "</div>");
373
+ doc.push("<div class='sapDbgQHSettingTitle'>", sName, "</div>");
374
+ doc.push("<div class='sapDbgQHDocPadding'><i><strong>Type</strong></i>: ", sType, "</div>");
375
+ doc.push("<div class='sapDbgQHDocPadding'>", aDocumentation[0].text || aDocumentation[0].textContent, "</div>");
376
+ doc.push("<div class='sapDbgQHDocPadding'><i><strong>Default Value</strong></i>: ", sDefaultValue, "</div>");
444
377
  this.mHelpDocs[this.sCurrentHelpDoc + "#" + sName] = doc.join("");
445
378
  }
446
379
  }
@@ -467,10 +400,9 @@ sap.ui.define('sap/ui/debug/PropertyList', [
467
400
  oTooltipDomRef.style.display = 'none';
468
401
  } else {
469
402
  oTooltipDomRef.innerHTML = sNewContent;
470
- var that = this;
471
403
  this.oQuickHelpTimer = setTimeout(function () {
472
- that.hideQuickHelp();
473
- }, iTimeout);
404
+ this.hideQuickHelp();
405
+ }.bind(this), iTimeout);
474
406
  }
475
407
  }
476
408
  };
@@ -508,7 +440,7 @@ sap.ui.define('sap/ui/debug/PropertyList', [
508
440
  PropertyList.prototype.onmouseover = function(oEvent) {
509
441
  var oSource = oEvent.target;
510
442
  if ( this._isChildOfQuickHelp(oSource) ) {
511
- // if the user enteres the tooltip with the mouse, we don't close it automatically
443
+ // if the user enters the tooltip with the mouse, we don't close it automatically
512
444
  if ( this.oQuickHelpTimer ) {
513
445
  clearTimeout(this.oQuickHelpTimer);
514
446
  this.oQuickHelpTimer = undefined;
@@ -517,7 +449,6 @@ sap.ui.define('sap/ui/debug/PropertyList', [
517
449
  var oTooltipDomRef = this.oParentDomRef.ownerDocument.getElementById("sap-ui-quickhelp");
518
450
  if ( oTooltipDomRef ) {
519
451
  oTooltipDomRef.style.opacity = '';
520
- oTooltipDomRef.style.filter = '';
521
452
  }
522
453
  } else if ( oSource.getAttribute("data-sap-ui-quickhelp") ) {
523
454
  this.showQuickHelp(oSource);
@@ -536,20 +467,18 @@ sap.ui.define('sap/ui/debug/PropertyList', [
536
467
  this.oQuickHelpTimer = undefined;
537
468
  }
538
469
  this.bMovedOverTooltip = false;
539
- var that = this;
540
470
  this.oQuickHelpTimer = setTimeout(function () {
541
- that.hideQuickHelp();
542
- }, 50);
471
+ this.hideQuickHelp();
472
+ }.bind(this), 50);
543
473
  } else if (oSource.getAttribute("data-sap-ui-quickhelp")) {
544
474
  if ( this.oQuickHelpTimer ) {
545
475
  clearTimeout(this.oQuickHelpTimer);
546
476
  this.oQuickHelpTimer = undefined;
547
477
  }
548
478
  if ( !this.bMovedOverTooltip ) {
549
- var that = this;
550
479
  this.oQuickHelpTimer = setTimeout(function () {
551
- that.hideQuickHelp();
552
- }, 800);
480
+ this.hideQuickHelp();
481
+ }.bind(this), 800);
553
482
  }
554
483
  }
555
484
  };