@openui5/sap.ui.core 1.96.2 → 1.96.3

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 (246) hide show
  1. package/package.json +1 -1
  2. package/src/jquery.sap.global.js +1 -1
  3. package/src/jquery.sap.properties.js +1 -1
  4. package/src/jquery.sap.resources.js +1 -1
  5. package/src/jquery.sap.script.js +1 -1
  6. package/src/jquery.sap.storage.js +3 -3
  7. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  8. package/src/sap/base/util/restricted/_castArray.js +1 -1
  9. package/src/sap/base/util/restricted/_compact.js +1 -1
  10. package/src/sap/base/util/restricted/_curry.js +1 -1
  11. package/src/sap/base/util/restricted/_debounce.js +1 -1
  12. package/src/sap/base/util/restricted/_difference.js +1 -1
  13. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  14. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  15. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  16. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  17. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  18. package/src/sap/base/util/restricted/_flatten.js +1 -1
  19. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  20. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  21. package/src/sap/base/util/restricted/_intersection.js +1 -1
  22. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  23. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  24. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  25. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  26. package/src/sap/base/util/restricted/_isNil.js +1 -1
  27. package/src/sap/base/util/restricted/_max.js +1 -1
  28. package/src/sap/base/util/restricted/_merge.js +1 -1
  29. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  30. package/src/sap/base/util/restricted/_min.js +1 -1
  31. package/src/sap/base/util/restricted/_omit.js +1 -1
  32. package/src/sap/base/util/restricted/_pick.js +1 -1
  33. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  34. package/src/sap/base/util/restricted/_throttle.js +1 -1
  35. package/src/sap/base/util/restricted/_toArray.js +1 -1
  36. package/src/sap/base/util/restricted/_union.js +1 -1
  37. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  38. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  39. package/src/sap/base/util/restricted/_uniq.js +1 -1
  40. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  41. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  42. package/src/sap/base/util/restricted/_without.js +1 -1
  43. package/src/sap/base/util/restricted/_xor.js +1 -1
  44. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  45. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  46. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  47. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  48. package/src/sap/ui/Device.js +3 -3
  49. package/src/sap/ui/Global.js +4 -4
  50. package/src/sap/ui/base/Event.js +1 -1
  51. package/src/sap/ui/base/EventProvider.js +1 -1
  52. package/src/sap/ui/base/Interface.js +1 -1
  53. package/src/sap/ui/base/ManagedObject.js +1 -1
  54. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  55. package/src/sap/ui/base/Metadata.js +1 -1
  56. package/src/sap/ui/base/Object.js +1 -1
  57. package/src/sap/ui/base/ObjectPool.js +1 -1
  58. package/src/sap/ui/core/.library +1 -1
  59. package/src/sap/ui/core/BusyIndicator.js +1 -1
  60. package/src/sap/ui/core/Component.js +1 -1
  61. package/src/sap/ui/core/ComponentContainer.js +1 -1
  62. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  63. package/src/sap/ui/core/ComponentSupport.js +1 -1
  64. package/src/sap/ui/core/Configuration.js +0 -1
  65. package/src/sap/ui/core/Control.js +1 -1
  66. package/src/sap/ui/core/Core.js +1 -1
  67. package/src/sap/ui/core/CustomData.js +1 -1
  68. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  69. package/src/sap/ui/core/Element.js +1 -1
  70. package/src/sap/ui/core/ElementMetadata.js +1 -1
  71. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  72. package/src/sap/ui/core/EventBus.js +1 -1
  73. package/src/sap/ui/core/Fragment.js +1 -1
  74. package/src/sap/ui/core/HTML.js +1 -1
  75. package/src/sap/ui/core/History.js +1 -1
  76. package/src/sap/ui/core/Icon.js +1 -1
  77. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  78. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  79. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  80. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  81. package/src/sap/ui/core/InvisibleText.js +1 -1
  82. package/src/sap/ui/core/Item.js +1 -1
  83. package/src/sap/ui/core/LabelEnablement.js +1 -1
  84. package/src/sap/ui/core/LayoutData.js +1 -1
  85. package/src/sap/ui/core/ListItem.js +1 -1
  86. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  87. package/src/sap/ui/core/Locale.js +1 -1
  88. package/src/sap/ui/core/LocaleData.js +1 -1
  89. package/src/sap/ui/core/Manifest.js +1 -1
  90. package/src/sap/ui/core/Message.js +1 -1
  91. package/src/sap/ui/core/RenderManager.js +1 -1
  92. package/src/sap/ui/core/Renderer.js +1 -1
  93. package/src/sap/ui/core/ResizeHandler.js +1 -1
  94. package/src/sap/ui/core/ScrollBar.js +1 -1
  95. package/src/sap/ui/core/SeparatorItem.js +1 -1
  96. package/src/sap/ui/core/Title.js +1 -1
  97. package/src/sap/ui/core/TooltipBase.js +1 -1
  98. package/src/sap/ui/core/UIArea.js +1 -1
  99. package/src/sap/ui/core/UIComponent.js +1 -1
  100. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  101. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  102. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  103. package/src/sap/ui/core/XMLComposite.js +1 -1
  104. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  105. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  106. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  107. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  108. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  109. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  110. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  111. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  112. package/src/sap/ui/core/library.js +3 -3
  113. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  114. package/src/sap/ui/core/message/Message.js +1 -1
  115. package/src/sap/ui/core/message/MessageManager.js +1 -1
  116. package/src/sap/ui/core/message/MessageParser.js +1 -1
  117. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  118. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  119. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  120. package/src/sap/ui/core/mvc/JSView.js +1 -1
  121. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  122. package/src/sap/ui/core/mvc/View.js +1 -1
  123. package/src/sap/ui/core/mvc/XMLView.js +1 -1
  124. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  125. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  126. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  127. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  128. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  129. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  130. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  131. package/src/sap/ui/core/service/Service.js +1 -1
  132. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  133. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  134. package/src/sap/ui/core/support/Plugin.js +1 -1
  135. package/src/sap/ui/core/support/Support.js +1 -1
  136. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  137. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  138. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  139. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  140. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  141. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  142. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  143. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  144. package/src/sap/ui/core/theming/Parameters.js +22 -142
  145. package/src/sap/ui/core/theming/ThemeHelper.js +26 -37
  146. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  147. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  148. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  149. package/src/sap/ui/core/tmpl/Template.js +1 -1
  150. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  151. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  152. package/src/sap/ui/core/util/Export.js +1 -1
  153. package/src/sap/ui/core/util/ExportCell.js +1 -1
  154. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  155. package/src/sap/ui/core/util/ExportRow.js +1 -1
  156. package/src/sap/ui/core/util/ExportType.js +1 -1
  157. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  158. package/src/sap/ui/core/util/File.js +1 -1
  159. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  160. package/src/sap/ui/core/util/MockServer.js +1 -1
  161. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  162. package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +4 -0
  163. package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +30 -20
  164. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  165. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  166. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  167. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  168. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  169. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  170. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  171. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  172. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  173. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  174. package/src/sap/ui/debug/ControlTree.js +1 -1
  175. package/src/sap/ui/debug/DebugEnv.js +1 -1
  176. package/src/sap/ui/debug/PropertyList.js +1 -1
  177. package/src/sap/ui/model/ClientModel.js +1 -1
  178. package/src/sap/ui/model/CompositeDataState.js +1 -1
  179. package/src/sap/ui/model/CompositeType.js +1 -1
  180. package/src/sap/ui/model/DataState.js +1 -1
  181. package/src/sap/ui/model/MetaModel.js +1 -1
  182. package/src/sap/ui/model/Model.js +1 -1
  183. package/src/sap/ui/model/SelectionModel.js +1 -1
  184. package/src/sap/ui/model/SimpleType.js +1 -1
  185. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  186. package/src/sap/ui/model/Type.js +1 -1
  187. package/src/sap/ui/model/analytics/AnalyticalBinding.js +39 -28
  188. package/src/sap/ui/model/json/JSONModel.js +1 -1
  189. package/src/sap/ui/model/message/MessageModel.js +1 -1
  190. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  191. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  192. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  193. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  194. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  195. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  196. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  197. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  198. package/src/sap/ui/model/odata/type/Date.js +1 -1
  199. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  200. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  201. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  202. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  203. package/src/sap/ui/model/odata/type/Double.js +1 -1
  204. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  205. package/src/sap/ui/model/odata/type/Int.js +1 -1
  206. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  207. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  208. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  209. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  210. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  211. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  212. package/src/sap/ui/model/odata/type/Single.js +1 -1
  213. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  214. package/src/sap/ui/model/odata/type/String.js +1 -1
  215. package/src/sap/ui/model/odata/type/Time.js +1 -1
  216. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  217. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  218. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  219. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  220. package/src/sap/ui/model/odata/v2/ODataModel.js +1 -1
  221. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
  222. package/src/sap/ui/model/odata/v4/Context.js +1 -1
  223. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +1 -1
  224. package/src/sap/ui/model/odata/v4/ODataListBinding.js +1 -1
  225. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
  226. package/src/sap/ui/model/odata/v4/ODataModel.js +1 -1
  227. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
  228. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  229. package/src/sap/ui/model/type/Boolean.js +1 -1
  230. package/src/sap/ui/model/type/Currency.js +1 -1
  231. package/src/sap/ui/model/type/Date.js +1 -1
  232. package/src/sap/ui/model/type/DateInterval.js +1 -1
  233. package/src/sap/ui/model/type/DateTime.js +1 -1
  234. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  235. package/src/sap/ui/model/type/FileSize.js +1 -1
  236. package/src/sap/ui/model/type/Float.js +1 -1
  237. package/src/sap/ui/model/type/Integer.js +1 -1
  238. package/src/sap/ui/model/type/String.js +1 -1
  239. package/src/sap/ui/model/type/Time.js +1 -1
  240. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  241. package/src/sap/ui/model/type/Unit.js +1 -1
  242. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  243. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  244. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  245. package/src/sap/ui/test/starter/createSuite.js +2 -1
  246. package/src/sap/ui/util/Storage.js +1 -1
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * @class
28
28
  * Represents a DOM element. It allows to use databinding for the properties and nested DOM attributes.
29
29
  * @extends sap.ui.core.Control
30
- * @version 1.96.2
30
+ * @version 1.96.3
31
31
  *
32
32
  * @public
33
33
  * @since 1.15
@@ -46,7 +46,7 @@ sap.ui.define([
46
46
  * @extends sap.ui.core.tmpl.Template
47
47
  * @abstract
48
48
  * @author SAP SE
49
- * @version 1.96.2
49
+ * @version 1.96.3
50
50
  * @alias sap.ui.core.tmpl.HandlebarsTemplate
51
51
  * @since 1.15
52
52
  * @deprecated since 1.56
@@ -52,7 +52,7 @@ function(
52
52
  * @extends sap.ui.base.ManagedObject
53
53
  * @abstract
54
54
  * @author SAP SE
55
- * @version 1.96.2
55
+ * @version 1.96.3
56
56
  * @alias sap.ui.core.tmpl.Template
57
57
  * @since 1.15
58
58
  * @deprecated since 1.56, use an {@link sap.ui.core.mvc.XMLView XMLView} or {@link sap.ui.core.mvc.JSView JSView} instead.
@@ -43,7 +43,7 @@ sap.ui.define([
43
43
  * @class
44
44
  * This is the base class for all template controls. Template controls are declared based on templates.
45
45
  * @extends sap.ui.core.Control
46
- * @version 1.96.2
46
+ * @version 1.96.3
47
47
  *
48
48
  * @public
49
49
  * @since 1.15
@@ -12,7 +12,7 @@ sap.ui.define([], function() {
12
12
  *
13
13
  * @class Utility class for asyncHints
14
14
  * @author SAP SE
15
- * @version 1.96.2
15
+ * @version 1.96.3
16
16
  *
17
17
  * @private
18
18
  * @ui5-restricted sap.ushell
@@ -141,7 +141,7 @@ sap.ui.define([
141
141
  * @extends sap.ui.core.Control
142
142
  *
143
143
  * @author SAP SE
144
- * @version 1.96.2
144
+ * @version 1.96.3
145
145
  * @since 1.22.0
146
146
  *
147
147
  * @public
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/core/Element'],
20
20
  * @extends sap.ui.core.Element
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.96.2
23
+ * @version 1.96.3
24
24
  * @since 1.22.0
25
25
  *
26
26
  * @public
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @extends sap.ui.base.ManagedObject
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.96.2
26
+ * @version 1.96.3
27
27
  * @since 1.22.0
28
28
  *
29
29
  * @public
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @extends sap.ui.base.ManagedObject
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.96.2
26
+ * @version 1.96.3
27
27
  * @since 1.22.0
28
28
  *
29
29
  * @public
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/base/ManagedObject'],
20
20
  * @extends sap.ui.base.ManagedObject
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.96.2
23
+ * @version 1.96.3
24
24
  * @since 1.22.0
25
25
  *
26
26
  * @public
@@ -38,7 +38,7 @@ sap.ui.define(['./ExportType'],
38
38
  * @extends sap.ui.core.util.ExportType
39
39
  *
40
40
  * @author SAP SE
41
- * @version 1.96.2
41
+ * @version 1.96.3
42
42
  * @since 1.22.0
43
43
  *
44
44
  * @public
@@ -13,7 +13,7 @@ sap.ui.define(["sap/ui/thirdparty/jquery"],
13
13
  * Utility class to handle files.
14
14
  *
15
15
  * @author SAP SE
16
- * @version 1.96.2
16
+ * @version 1.96.3
17
17
  * @namespace
18
18
  *
19
19
  * @public
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  *
21
21
  * @extends sap.ui.base.Object
22
22
  * @author SAP SE
23
- * @version 1.96.2
23
+ * @version 1.96.3
24
24
  * @private
25
25
  * @alias sap.ui.core.util.LibraryInfo
26
26
  */
@@ -34,7 +34,7 @@ sap.ui
34
34
  * @extends sap.ui.base.ManagedObject
35
35
  * @abstract
36
36
  * @author SAP SE
37
- * @version 1.96.2
37
+ * @version 1.96.3
38
38
  * @public
39
39
  * @alias sap.ui.core.util.MockServer
40
40
  */
@@ -13,7 +13,7 @@ sap.ui.define([ "sap/ui/core/Core", "sap/ui/model/ParseException", "sap/ui/model
13
13
  *
14
14
  * @class Parses and validates data on the <code>paste</code> event of an SAPUI5 table.
15
15
  * @author SAP SE
16
- * @version 1.96.2
16
+ * @version 1.96.3
17
17
  * @private
18
18
  * @ui5-restricted sap.ui.table.Table, sap.m.Table, sap.m.plugins.PasteProvider
19
19
  * @alias sap.ui.core.util.PasteHelper
@@ -299,6 +299,10 @@ sap.ui.define([
299
299
  */
300
300
  _getControlMetadataInXml: function(oControl) {
301
301
  var sControlType = this._getControlTypeInXml(oControl).replace(/\./g, "/");
302
+ var oControlType = sap.ui.require(sControlType);
303
+ if (oControlType && oControlType.getMetadata) {
304
+ return Promise.resolve(oControlType.getMetadata());
305
+ }
302
306
  return new Promise(function(fnResolve, fnReject) {
303
307
  sap.ui.require([sControlType],
304
308
  function(ControlType) {
@@ -199,23 +199,33 @@ sap.ui.define([
199
199
  * @inheritDoc
200
200
  */
201
201
  createControl: function (sClassName, oAppComponent, oView, oSelector, mSettings) {
202
- return new Promise(function(fnResolve, fnReject) {
203
- if (this.bySelector(oSelector, oAppComponent)) {
204
- var sErrorMessage = "Can't create a control with duplicated ID " + (oSelector.id || oSelector);
205
- fnReject(sErrorMessage);
206
- return;
207
- }
208
- sap.ui.require([sClassName.replace(/\./g,"/")],
209
- function(ClassObject) {
210
- var sId = this.getControlIdBySelector(oSelector, oAppComponent);
211
- fnResolve(new ClassObject(sId, mSettings));
212
- }.bind(this),
213
- function() {
214
- fnReject(new Error("Required control '" + sClassName + "' couldn't be created asynchronously"));
215
- }
216
- );
217
- }.bind(this));
202
+ sClassName = sClassName.replace(/\./g,"/");
203
+ if (this.bySelector(oSelector, oAppComponent)) {
204
+ var sErrorMessage = "Can't create a control with duplicated ID " + (oSelector.id || oSelector);
205
+ return Promise.reject(sErrorMessage);
206
+ }
218
207
 
208
+ var oPromise;
209
+ var oClassObject = sap.ui.require(sClassName);
210
+ if (oClassObject) {
211
+ oPromise = Promise.resolve(oClassObject);
212
+ } else {
213
+ oPromise = new Promise(function(fnResolve, fnReject) {
214
+ sap.ui.require([sClassName],
215
+ function(oClassObject) { fnResolve(oClassObject); },
216
+ function() {
217
+ fnReject(new Error("Required control '" + sClassName
218
+ + "' couldn't be created asynchronously"));
219
+ }
220
+ );
221
+ });
222
+ }
223
+
224
+ return oPromise
225
+ .then(function(ClassObject) {
226
+ var sId = this.getControlIdBySelector(oSelector, oAppComponent);
227
+ return new ClassObject(sId, mSettings);
228
+ }.bind(this));
219
229
  },
220
230
 
221
231
  /**
@@ -457,11 +467,11 @@ sap.ui.define([
457
467
  sId: oView && oView.getId(),
458
468
  controller: oView.getController()
459
469
  });
460
- }).then(function(aNewControls) {
461
- if (!Array.isArray(aNewControls)) {
462
- aNewControls = [aNewControls];
470
+ }).then(function(vNewControls) {
471
+ if (vNewControls && !Array.isArray(vNewControls)) {
472
+ vNewControls = [vNewControls];
463
473
  }
464
- return aNewControls;
474
+ return vNewControls || [];
465
475
  });
466
476
  },
467
477
 
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/base/EventProvider', './Serializer', './delegate/HTML', '
20
20
  * @class HTMLViewSerializer class.
21
21
  * @extends sap.ui.base.EventProvider
22
22
  * @author SAP SE
23
- * @version 1.96.2
23
+ * @version 1.96.3
24
24
  * @alias sap.ui.core.util.serializer.HTMLViewSerializer
25
25
  * @private
26
26
  * @ui5-restricted sap.watt, com.sap.webide
@@ -21,7 +21,7 @@ sap.ui.define(['sap/ui/base/EventProvider', "sap/base/assert"],
21
21
  * @class Serializer class.
22
22
  * @extends sap.ui.base.EventProvider
23
23
  * @author SAP SE
24
- * @version 1.96.2
24
+ * @version 1.96.3
25
25
  * @alias sap.ui.core.util.serializer.Serializer
26
26
  * @private
27
27
  * @ui5-restricted sap.watt, com.sap.webide
@@ -21,7 +21,7 @@ sap.ui.define(['sap/ui/base/EventProvider', './HTMLViewSerializer', './XMLViewSe
21
21
  * @class ViewSerializer class.
22
22
  * @extends sap.ui.base.EventProvider
23
23
  * @author SAP SE
24
- * @version 1.96.2
24
+ * @version 1.96.3
25
25
  * @alias sap.ui.core.util.serializer.ViewSerializer
26
26
  * @private
27
27
  * @ui5-restricted sap.watt, com.sap.webide
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/base/EventProvider', './Serializer', './delegate/XML', 's
20
20
  * @class XMLViewSerializer class.
21
21
  * @extends sap.ui.base.EventProvider
22
22
  * @author SAP SE
23
- * @version 1.96.2
23
+ * @version 1.96.3
24
24
  * @alias sap.ui.core.util.serializer.XMLViewSerializer
25
25
  * @private
26
26
  * @ui5-restricted sap.watt, com.sap.webide
@@ -17,7 +17,7 @@ sap.ui.define(['sap/ui/base/EventProvider'],
17
17
  * @class Abstract serializer delegate class.
18
18
  * @extends sap.ui.base.EventProvider
19
19
  * @author SAP SE
20
- * @version 1.96.2
20
+ * @version 1.96.3
21
21
  * @alias sap.ui.core.util.serializer.delegate.Delegate
22
22
  * @private
23
23
  * @ui5-restricted sap.watt, com.sap.webide
@@ -19,7 +19,7 @@ sap.ui.define(['./Delegate', "sap/base/strings/hyphenate", "sap/base/util/deepEq
19
19
  * @class HTML serializer delegate class.
20
20
  * @extends sap.ui.core.util.serializer.delegate.Delegate
21
21
  * @author SAP SE
22
- * @version 1.96.2
22
+ * @version 1.96.3
23
23
  * @alias sap.ui.core.util.serializer.delegate.HTML
24
24
  * @private
25
25
  * @ui5-restricted sap.watt, com.sap.webide
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @class XML serializer delegate class.
25
25
  * @extends sap.ui.core.util.serializer.delegate.Delegate
26
26
  * @author SAP SE
27
- * @version 1.96.2
27
+ * @version 1.96.3
28
28
  * @alias sap.ui.core.util.serializer.delegate.XML
29
29
  * @private
30
30
  * @ui5-restricted sap.watt, com.sap.webide
@@ -12,7 +12,7 @@ sap.ui.define(function() {
12
12
  /**
13
13
  * Defines the different ready states for a WebSocket connection.
14
14
  *
15
- * @version 1.96.2
15
+ * @version 1.96.3
16
16
  * @enum {int}
17
17
  * @public
18
18
  * @alias sap.ui.core.ws.ReadyState
@@ -21,7 +21,7 @@ sap.ui.define(['./WebSocket', "sap/base/Log"],
21
21
  * @class WebSocket class implementing the pcp-protocol.
22
22
  * @extends sap.ui.core.ws.WebSocket
23
23
  * @author SAP SE
24
- * @version 1.96.2
24
+ * @version 1.96.3
25
25
  * @alias sap.ui.core.ws.SapPcpWebSocket
26
26
  */
27
27
  var SapPcpWebSocket = WebSocket.extend("sap.ui.core.ws.SapPcpWebSocket", /** @lends sap.ui.core.ws.SapPcpWebSocket.prototype */ {
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @class Basic WebSocket class.
27
27
  * @extends sap.ui.base.EventProvider
28
28
  * @author SAP SE
29
- * @version 1.96.2
29
+ * @version 1.96.3
30
30
  * @alias sap.ui.core.ws.WebSocket
31
31
  */
32
32
  var WebSocket = EventProvider.extend("sap.ui.core.ws.WebSocket", /** @lends sap.ui.core.ws.WebSocket.prototype */ {
@@ -33,7 +33,7 @@ sap.ui.define('sap/ui/debug/ControlTree', [
33
33
  * @class Control Tree used for the Debug Environment
34
34
  * @extends sap.ui.base.EventProvider
35
35
  * @author Martin Schaus, Frank Weigel
36
- * @version 1.96.2
36
+ * @version 1.96.3
37
37
  * @alias sap.ui.debug.ControlTree
38
38
  * @private
39
39
  */
@@ -16,7 +16,7 @@ sap.ui.define('sap/ui/debug/DebugEnv', ['sap/ui/base/Interface', './ControlTree'
16
16
  * @class Central Class for the Debug Environment
17
17
  *
18
18
  * @author Martin Schaus, Frank Weigel
19
- * @version 1.96.2
19
+ * @version 1.96.3
20
20
  * @private
21
21
  * @alias sap.ui.debug.DebugEnv
22
22
  */
@@ -35,7 +35,7 @@ sap.ui.define('sap/ui/debug/PropertyList', [
35
35
  *
36
36
  * @extends sap.ui.base.EventProvider
37
37
  * @author Martin Schaus
38
- * @version 1.96.2
38
+ * @version 1.96.3
39
39
  *
40
40
  * @param {sap.ui.core.Core}
41
41
  * oCore Core instance of the app; version might differ!
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * @extends sap.ui.model.Model
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.96.2
32
+ * @version 1.96.3
33
33
  *
34
34
  * @param {string} [oData] URL where to load the data from
35
35
  * @public
@@ -14,7 +14,7 @@ sap.ui.define(['./DataState', "sap/base/util/deepEqual", "sap/base/util/each"],
14
14
  * @extends sap.ui.model.DataState
15
15
  *
16
16
  * @author SAP SE
17
- * @version 1.96.2
17
+ * @version 1.96.3
18
18
  *
19
19
  * @public
20
20
  * @alias sap.ui.model.CompositeDataState
@@ -39,7 +39,7 @@ sap.ui.define(['./SimpleType'],
39
39
  * <code>true</code>.
40
40
  * @extends sap.ui.model.SimpleType
41
41
  * @public
42
- * @version 1.96.2
42
+ * @version 1.96.3
43
43
  */
44
44
  var CompositeType = SimpleType.extend("sap.ui.model.CompositeType", /** @lends sap.ui.model.CompositeType.prototype */ {
45
45
 
@@ -65,7 +65,7 @@ sap.ui.define([
65
65
  * @extends sap.ui.base.Object
66
66
  *
67
67
  * @author SAP SE
68
- * @version 1.96.2
68
+ * @version 1.96.3
69
69
  *
70
70
  * @public
71
71
  * @alias sap.ui.model.DataState
@@ -16,7 +16,7 @@ sap.ui.define(['./Model'],
16
16
  * @extends sap.ui.model.Model
17
17
  *
18
18
  * @author SAP SE
19
- * @version 1.96.2
19
+ * @version 1.96.3
20
20
  *
21
21
  * @public
22
22
  * @alias sap.ui.model.MetaModel
@@ -49,7 +49,7 @@ sap.ui.define([
49
49
  * @extends sap.ui.core.message.MessageProcessor
50
50
  *
51
51
  * @author SAP SE
52
- * @version 1.96.2
52
+ * @version 1.96.3
53
53
  *
54
54
  * @public
55
55
  * @alias sap.ui.model.Model
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/base/EventProvider', "sap/base/assert"],
20
20
  * @extends sap.ui.base.EventProvider
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.96.2
23
+ * @version 1.96.3
24
24
  *
25
25
  * @param {int} iSelectionMode <code>sap.ui.model.SelectionModel.SINGLE_SELECTION</code> or <code>sap.ui.model.SelectionModel.MULTI_SELECTION</code>
26
26
  *
@@ -46,7 +46,7 @@ sap.ui.define([
46
46
  *
47
47
  * @extends sap.ui.model.Type
48
48
  * @public
49
- * @version 1.96.2
49
+ * @version 1.96.3
50
50
  */
51
51
  var SimpleType = Type.extend("sap.ui.model.SimpleType", /** @lends sap.ui.model.SimpleType.prototype */ {
52
52
 
@@ -12,7 +12,7 @@ sap.ui.define([],
12
12
  /**
13
13
  * Different modes for setting the auto expand mode on tree or analytical bindings.
14
14
  *
15
- * @version 1.96.2
15
+ * @version 1.96.3
16
16
  * @enum {string}
17
17
  * @alias sap.ui.model.TreeAutoExpandMode
18
18
  * @protected
@@ -19,7 +19,7 @@ sap.ui.define(['sap/ui/base/Object'],
19
19
  *
20
20
  * @extends sap.ui.base.Object
21
21
  * @public
22
- * @version 1.96.2
22
+ * @version 1.96.3
23
23
  */
24
24
  var Type = BaseObject.extend("sap.ui.model.Type", /** @lends sap.ui.model.Type.prototype */ {
25
25
 
@@ -52,7 +52,9 @@ sap.ui.define([
52
52
  * <li>if an associated property (e.g. text property) of an additional measure is contained in
53
53
  * the select binding parameter
54
54
  * <li>if a dimension or a measure of the current analytical info is not contained in the select
55
- * binding parameter
55
+ * binding parameter, unless the dimension or measure has been added automatically by the
56
+ * binding, because a property associated to the dimension or measure has been added as a
57
+ * "visible" or "inResult" column
56
58
  * </ul>
57
59
  *
58
60
  * @param {sap.ui.model.analytics.AnalyticalBinding} oBinding
@@ -61,16 +63,10 @@ sap.ui.define([
61
63
  * array if there are no additional select properties needed
62
64
  */
63
65
  function getAdditionalSelects(oBinding) {
64
- var oAnalyticalQueryRequest
66
+ var oColumn, aComputedSelect, sComputedSelect, oDimension, i, j, oMeasure, n, sPropertyName,
67
+ oAnalyticalQueryRequest
65
68
  = new odata4analytics.QueryResultRequest(oBinding.oAnalyticalQueryResult),
66
- aComputedSelect,
67
- sComputedSelect,
68
- oDimension,
69
- i,
70
- j,
71
- oMeasure,
72
- n,
73
- sPropertyName,
69
+
74
70
  aSelect = oBinding.mParameters.select.split(","),
75
71
  bError = trimAndCheckForDuplicates(aSelect, oBinding.sPath);
76
72
 
@@ -106,6 +102,10 @@ sap.ui.define([
106
102
  sPropertyName = aComputedSelect[i];
107
103
  j = aSelect.indexOf(sPropertyName);
108
104
  if (j < 0) {
105
+ oColumn = oBinding.mAnalyticalInfoByProperty[sPropertyName];
106
+ if (!oColumn || (!oColumn.visible && !oColumn.inResult)) {
107
+ continue; // ignore automatically added columns
108
+ }
109
109
  oLogger.warning("Ignored the 'select' binding parameter, because"
110
110
  + " it does not contain the property '" + sPropertyName + "'",
111
111
  oBinding.sPath);
@@ -248,10 +248,10 @@ sap.ui.define([
248
248
  * A comma-separated list of property names that need to be selected.<br/>
249
249
  * If the <code>select</code> parameter is given, it has to contain all properties that are
250
250
  * contained in the analytical information (see
251
- * {@link sap.ui.model.analytics.AnalyticalBinding#updateAnalyticalInfo}) and their associated
252
- * dimensions and measures. It must not contain additional dimensions or measures or
253
- * associated properties for additional dimensions or measures. But it may contain additional
254
- * properties like a text property of a dimension that is also selected.<br/>
251
+ * {@link sap.ui.model.analytics.AnalyticalBinding#updateAnalyticalInfo}). It must not contain
252
+ * additional dimensions or measures or associated properties for additional dimensions or
253
+ * measures. But it may contain additional properties like a text property of a dimension that
254
+ * is also selected.<br/>
255
255
  * All properties of the <code>select</code> parameter are also considered in
256
256
  * {@link sap.ui.model.analytics.AnalyticalBinding#getDownloadUrl}.<br/>
257
257
  * The <code>select</code> parameter must not contain any duplicate entry.<br/>
@@ -1128,42 +1128,53 @@ sap.ui.define([
1128
1128
  /**
1129
1129
  * Updates the binding's structure with new analytical information.
1130
1130
  *
1131
- * Analytical information is the mapping of UI columns to properties in the bound OData entity set. Every column object contains
1132
- * the name of the bound property and in addition:
1131
+ * Analytical information is the mapping of UI columns to properties in the bound OData entity
1132
+ * set. Every column object contains the <code>name</code> of the bound property and in
1133
+ * addition:
1133
1134
  * <ol>
1134
1135
  * <li>A column bound to a dimension property has further boolean properties:
1135
1136
  * <ul>
1136
- * <li>grouped: dimension will be used for building groups</li>
1137
- * <li>visible: if the column is visible, values for the related property will be fetched from the OData service</li>
1138
- * <li>inResult: if the column is not visible, but declared to be part of the result, values for the related property
1139
- * will also be fetched from the OData service</li>
1137
+ * <li>grouped: dimension is used for building groups</li>
1138
+ * <li>inResult: if the column is not visible, but declared to be part of the result,
1139
+ * values for the related property are also fetched from the OData service</li>
1140
+ * <li>visible: if the column is visible, values for the related property are fetched from
1141
+ * the OData service</li>
1140
1142
  * </ul>
1141
1143
  * </li>
1142
1144
  * <li>A column bound to a measure property has further boolean properties:
1143
1145
  * <ul>
1144
- * <li>total: totals and sub-totals will be provided for the measure at all aggregation levels</li>
1146
+ * <li>inResult: if the column is not visible, but declared to be part of the result,
1147
+ * values for the related property are also fetched from the OData service</li>
1148
+ * <li>total: totals and sub-totals are provided for the measure at all aggregation
1149
+ * levels</li>
1150
+ * <li>visible: if the column is visible, values for the related property are fetched from
1151
+ * the OData service</li>
1145
1152
  * </ul>
1146
1153
  * </li>
1147
1154
  * <li>A column bound to a hierarchy property has further properties:
1148
1155
  * <ul>
1149
- * <li>grouped: boolean value; indicates whether the hierarchy will be used for building
1156
+ * <li>grouped: boolean value; indicates whether the hierarchy is used for building
1150
1157
  * groups</li>
1151
1158
  * <li>level: integer value; the hierarchy level is mandatory for at least one of those
1152
- * columns that represent the same hierarchy.</li>
1159
+ * columns that represent the same hierarchy</li>
1153
1160
  * </ul>
1154
1161
  * </li>
1155
1162
  * </ol>
1156
1163
  *
1157
- * Invoking this function resets the state of the binding and subsequent data requests such as calls to getNodeContexts() will
1158
- * need to trigger OData requests in order to fetch the data that are in line with this analytical information.
1164
+ * Invoking this function resets the state of the binding and subsequent data requests such as
1165
+ * calls to getNodeContexts() trigger OData requests in order to fetch the data that are in line
1166
+ * with this analytical information.
1159
1167
  *
1160
- * Please be aware that a call of this function might lead to additional back-end requests, as well as a control re-rendering later on.
1168
+ * Be aware that a call of this function might lead to additional back-end requests, as well as
1169
+ * a control re-rendering later on.
1161
1170
  * Whenever possible use the API of the analytical control, instead of relying on the binding.
1162
1171
  *
1163
1172
  * @function
1164
1173
  * @name sap.ui.model.analytics.AnalyticalBinding.prototype.updateAnalyticalInfo
1165
- * @param {array}
1166
- * aColumns an array with objects holding the analytical information for every column, from left to right.
1174
+ * @param {object[]} aColumns
1175
+ * An array with objects holding the analytical information for every column
1176
+ * @param {boolean} bForceChange
1177
+ * Whether to fire a change event asynchronously even if columns didn't change
1167
1178
  * @protected
1168
1179
  */
1169
1180
  AnalyticalBinding.prototype.updateAnalyticalInfo = function(aColumns, bForceChange) {
@@ -44,7 +44,7 @@ sap.ui.define([
44
44
  * @extends sap.ui.model.ClientModel
45
45
  *
46
46
  * @author SAP SE
47
- * @version 1.96.2
47
+ * @version 1.96.3
48
48
  * @public
49
49
  * @alias sap.ui.model.json.JSONModel
50
50
  */
@@ -29,7 +29,7 @@ sap.ui.define(['sap/ui/model/BindingMode', 'sap/ui/model/ClientModel', 'sap/ui/m
29
29
  * @extends sap.ui.model.ClientModel
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.96.2
32
+ * @version 1.96.3
33
33
  *
34
34
  * @param {sap.ui.core.message.MessageManager} oMessageManager The MessageManager instance
35
35
  * @public
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  *
26
26
  * @author SAP SE
27
27
  * @version
28
- * 1.96.2
28
+ * 1.96.3
29
29
  *
30
30
  * @public
31
31
  * @deprecated As of version 1.66, please use {@link sap.ui.model.odata.v2.ODataAnnotations} instead.
@@ -84,7 +84,7 @@ var sClassName = "sap.ui.model.odata.ODataMessageParser",
84
84
  * @extends sap.ui.core.message.MessageParser
85
85
  *
86
86
  * @author SAP SE
87
- * @version 1.96.2
87
+ * @version 1.96.3
88
88
  * @public
89
89
  * @alias sap.ui.model.odata.ODataMessageParser
90
90
  */
@@ -208,7 +208,7 @@ sap.ui.define([
208
208
  * {@link #loaded loaded} has been resolved!
209
209
  *
210
210
  * @author SAP SE
211
- * @version 1.96.2
211
+ * @version 1.96.3
212
212
  * @alias sap.ui.model.odata.ODataMetaModel
213
213
  * @extends sap.ui.model.MetaModel
214
214
  * @public