@openui5/sap.ui.core 1.107.1 → 1.108.1

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 (287) hide show
  1. package/.dtsgenrc +63 -0
  2. package/THIRDPARTY.txt +1 -1
  3. package/package.json +1 -1
  4. package/src/jquery.sap.global.js +1 -1
  5. package/src/jquery.sap.properties.js +1 -1
  6. package/src/jquery.sap.resources.js +1 -1
  7. package/src/jquery.sap.script.js +1 -1
  8. package/src/jquery.sap.storage.js +3 -3
  9. package/src/sap/base/i18n/ResourceBundle.js +10 -0
  10. package/src/sap/base/security/URLListValidator.js +36 -3
  11. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  12. package/src/sap/base/util/restricted/_castArray.js +1 -1
  13. package/src/sap/base/util/restricted/_compact.js +1 -1
  14. package/src/sap/base/util/restricted/_curry.js +1 -1
  15. package/src/sap/base/util/restricted/_debounce.js +1 -1
  16. package/src/sap/base/util/restricted/_difference.js +1 -1
  17. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  18. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  19. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  20. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  21. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  22. package/src/sap/base/util/restricted/_flatten.js +1 -1
  23. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  24. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  25. package/src/sap/base/util/restricted/_intersection.js +1 -1
  26. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  27. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  28. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  29. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  30. package/src/sap/base/util/restricted/_isNil.js +1 -1
  31. package/src/sap/base/util/restricted/_max.js +1 -1
  32. package/src/sap/base/util/restricted/_merge.js +1 -1
  33. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  34. package/src/sap/base/util/restricted/_min.js +1 -1
  35. package/src/sap/base/util/restricted/_omit.js +1 -1
  36. package/src/sap/base/util/restricted/_pick.js +1 -1
  37. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  38. package/src/sap/base/util/restricted/_throttle.js +1 -1
  39. package/src/sap/base/util/restricted/_toArray.js +1 -1
  40. package/src/sap/base/util/restricted/_union.js +1 -1
  41. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  42. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  43. package/src/sap/base/util/restricted/_uniq.js +1 -1
  44. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  45. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  46. package/src/sap/base/util/restricted/_without.js +1 -1
  47. package/src/sap/base/util/restricted/_xor.js +1 -1
  48. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  49. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  50. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  51. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  52. package/src/sap/ui/Device.js +3 -3
  53. package/src/sap/ui/Global.js +4 -4
  54. package/src/sap/ui/base/Event.js +1 -1
  55. package/src/sap/ui/base/EventProvider.js +1 -1
  56. package/src/sap/ui/base/Interface.js +1 -1
  57. package/src/sap/ui/base/ManagedObject.js +2 -2
  58. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  59. package/src/sap/ui/base/Metadata.js +1 -1
  60. package/src/sap/ui/base/Object.js +1 -1
  61. package/src/sap/ui/base/ObjectPool.js +1 -1
  62. package/src/sap/ui/core/.library +50 -50
  63. package/src/sap/ui/core/BusyIndicator.js +1 -1
  64. package/src/sap/ui/core/BusyIndicatorUtils.js +22 -8
  65. package/src/sap/ui/core/Component.js +21 -4
  66. package/src/sap/ui/core/ComponentContainer.js +5 -1
  67. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  68. package/src/sap/ui/core/ComponentSupport.js +1 -1
  69. package/src/sap/ui/core/Configuration.js +2 -15
  70. package/src/sap/ui/core/Control.js +20 -2
  71. package/src/sap/ui/core/Core.js +311 -413
  72. package/src/sap/ui/core/CustomData.js +1 -1
  73. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  74. package/src/sap/ui/core/Element.js +1 -1
  75. package/src/sap/ui/core/ElementMetadata.js +1 -1
  76. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  77. package/src/sap/ui/core/EventBus.js +1 -1
  78. package/src/sap/ui/core/FocusHandler.js +12 -14
  79. package/src/sap/ui/core/Fragment.js +5 -2
  80. package/src/sap/ui/core/HTML.js +1 -1
  81. package/src/sap/ui/core/History.js +1 -1
  82. package/src/sap/ui/core/Icon.js +1 -1
  83. package/src/sap/ui/core/IconPool.js +7 -1
  84. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  85. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  86. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  87. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  88. package/src/sap/ui/core/InvisibleText.js +1 -1
  89. package/src/sap/ui/core/Item.js +1 -1
  90. package/src/sap/ui/core/LabelEnablement.js +1 -1
  91. package/src/sap/ui/core/LayoutData.js +1 -1
  92. package/src/sap/ui/core/ListItem.js +1 -1
  93. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  94. package/src/sap/ui/core/Locale.js +1 -1
  95. package/src/sap/ui/core/LocaleData.js +1 -1
  96. package/src/sap/ui/core/Manifest.js +16 -83
  97. package/src/sap/ui/core/Message.js +1 -1
  98. package/src/sap/ui/core/Popup.js +14 -4
  99. package/src/sap/ui/core/RenderManager.js +111 -109
  100. package/src/sap/ui/core/Renderer.js +1 -1
  101. package/src/sap/ui/core/ResizeHandler.js +1 -1
  102. package/src/sap/ui/core/ScrollBar.js +1 -1
  103. package/src/sap/ui/core/SeparatorItem.js +1 -1
  104. package/src/sap/ui/core/ShortcutHintsMixin.js +20 -0
  105. package/src/sap/ui/core/Title.js +1 -1
  106. package/src/sap/ui/core/TooltipBase.js +1 -1
  107. package/src/sap/ui/core/UIArea.js +4 -2
  108. package/src/sap/ui/core/UIComponent.js +1 -1
  109. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  110. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  111. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  112. package/src/sap/ui/core/XMLComposite.js +1 -1
  113. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  114. package/src/sap/ui/core/_IconRegistry.js +11 -7
  115. package/src/sap/ui/core/_UrlResolver.js +139 -0
  116. package/src/sap/ui/core/date/CalendarUtils.js +87 -0
  117. package/src/sap/ui/core/date/CalendarWeekNumbering.js +73 -0
  118. package/src/sap/ui/core/date/UniversalDate.js +198 -74
  119. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  120. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  121. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  122. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  123. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  124. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  125. package/src/sap/ui/core/format/DateFormat.js +187 -57
  126. package/src/sap/ui/core/format/NumberFormat.js +64 -23
  127. package/src/sap/ui/core/format/TimezoneUtil.js +3 -1
  128. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  129. package/src/sap/ui/core/library.js +19 -10
  130. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  131. package/src/sap/ui/core/message/Message.js +5 -3
  132. package/src/sap/ui/core/message/MessageManager.js +1 -1
  133. package/src/sap/ui/core/message/MessageParser.js +1 -1
  134. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  135. package/src/sap/ui/core/messagebundle_fr.properties +1 -1
  136. package/src/sap/ui/core/mvc/HTMLView.js +10 -2
  137. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  138. package/src/sap/ui/core/mvc/JSView.js +1 -1
  139. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  140. package/src/sap/ui/core/mvc/View.js +1 -1
  141. package/src/sap/ui/core/mvc/XMLView.js +1 -1
  142. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  143. package/src/sap/ui/core/plugin/LessSupport.js +21 -20
  144. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  145. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  146. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  147. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  148. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  149. package/src/sap/ui/core/service/Service.js +1 -1
  150. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  151. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  152. package/src/sap/ui/core/support/Plugin.js +1 -1
  153. package/src/sap/ui/core/support/Support.js +1 -1
  154. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  155. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  156. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  157. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  158. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  159. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  160. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  161. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  162. package/src/sap/ui/core/themes/base/LocalBusyIndicator.less +3 -3
  163. package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
  164. package/src/sap/ui/core/theming/Parameters.js +31 -12
  165. package/src/sap/ui/core/theming/ThemeHelper.js +56 -1
  166. package/src/sap/ui/core/theming/ThemeManager.js +817 -0
  167. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  168. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  169. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  170. package/src/sap/ui/core/tmpl/Template.js +1 -1
  171. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  172. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  173. package/src/sap/ui/core/util/Export.js +1 -1
  174. package/src/sap/ui/core/util/ExportCell.js +1 -1
  175. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  176. package/src/sap/ui/core/util/ExportRow.js +1 -1
  177. package/src/sap/ui/core/util/ExportType.js +1 -1
  178. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  179. package/src/sap/ui/core/util/File.js +1 -1
  180. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  181. package/src/sap/ui/core/util/MockServer.js +1 -1
  182. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  183. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +2 -1
  184. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  185. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  186. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  187. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  188. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  189. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  190. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  191. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  192. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  193. package/src/sap/ui/debug/ControlTree.js +1 -1
  194. package/src/sap/ui/debug/DebugEnv.js +1 -1
  195. package/src/sap/ui/debug/PropertyList.js +1 -1
  196. package/src/sap/ui/dom/getFirstEditableInput.js +25 -6
  197. package/src/sap/ui/dom/includeStylesheet.js +2 -2
  198. package/src/sap/ui/model/ClientListBinding.js +11 -4
  199. package/src/sap/ui/model/ClientModel.js +1 -1
  200. package/src/sap/ui/model/ClientTreeBinding.js +60 -5
  201. package/src/sap/ui/model/CompositeDataState.js +1 -1
  202. package/src/sap/ui/model/CompositeType.js +1 -1
  203. package/src/sap/ui/model/DataState.js +1 -1
  204. package/src/sap/ui/model/Filter.js +6 -6
  205. package/src/sap/ui/model/MetaModel.js +1 -1
  206. package/src/sap/ui/model/Model.js +1 -1
  207. package/src/sap/ui/model/SelectionModel.js +1 -1
  208. package/src/sap/ui/model/SimpleType.js +1 -1
  209. package/src/sap/ui/model/Sorter.js +6 -4
  210. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  211. package/src/sap/ui/model/TreeBinding.js +18 -0
  212. package/src/sap/ui/model/TreeBindingCompatibilityAdapter.js +1 -1
  213. package/src/sap/ui/model/Type.js +1 -1
  214. package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +28 -34
  215. package/src/sap/ui/model/controlhelper/TreeBindingProxy.js +590 -0
  216. package/src/sap/ui/model/json/JSONModel.js +1 -1
  217. package/src/sap/ui/model/message/MessageModel.js +1 -1
  218. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  219. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  220. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  221. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  222. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  223. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  224. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  225. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  226. package/src/sap/ui/model/odata/type/Date.js +1 -1
  227. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  228. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  229. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  230. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  231. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  232. package/src/sap/ui/model/odata/type/Double.js +1 -1
  233. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  234. package/src/sap/ui/model/odata/type/Int.js +1 -1
  235. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  236. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  237. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  238. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  239. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  240. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  241. package/src/sap/ui/model/odata/type/Single.js +1 -1
  242. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  243. package/src/sap/ui/model/odata/type/String.js +1 -1
  244. package/src/sap/ui/model/odata/type/Time.js +1 -1
  245. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  246. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  247. package/src/sap/ui/model/odata/v2/BatchMode.js +2 -2
  248. package/src/sap/ui/model/odata/v2/Context.js +169 -4
  249. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  250. package/src/sap/ui/model/odata/v2/ODataListBinding.js +39 -17
  251. package/src/sap/ui/model/odata/v2/ODataModel.js +219 -82
  252. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
  253. package/src/sap/ui/model/odata/v4/Context.js +35 -22
  254. package/src/sap/ui/model/odata/v4/ODataBinding.js +28 -22
  255. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +6 -6
  256. package/src/sap/ui/model/odata/v4/ODataListBinding.js +111 -89
  257. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +5 -4
  258. package/src/sap/ui/model/odata/v4/ODataModel.js +84 -46
  259. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +19 -20
  260. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +3 -3
  261. package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +1 -1
  262. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +12 -5
  263. package/src/sap/ui/model/odata/v4/lib/_Cache.js +130 -64
  264. package/src/sap/ui/model/odata/v4/lib/_Helper.js +1 -1
  265. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +56 -15
  266. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  267. package/src/sap/ui/model/type/Boolean.js +1 -1
  268. package/src/sap/ui/model/type/Currency.js +1 -1
  269. package/src/sap/ui/model/type/Date.js +1 -1
  270. package/src/sap/ui/model/type/DateInterval.js +1 -1
  271. package/src/sap/ui/model/type/DateTime.js +1 -1
  272. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  273. package/src/sap/ui/model/type/FileSize.js +1 -1
  274. package/src/sap/ui/model/type/Float.js +1 -1
  275. package/src/sap/ui/model/type/Integer.js +1 -1
  276. package/src/sap/ui/model/type/String.js +1 -1
  277. package/src/sap/ui/model/type/Time.js +1 -1
  278. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  279. package/src/sap/ui/model/type/Unit.js +1 -1
  280. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  281. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  282. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  283. package/src/sap/ui/test/TestUtils.js +20 -0
  284. package/src/sap/ui/test/generic/TestBase.js +1 -1
  285. package/src/sap/ui/thirdparty/mobify-carousel.js +0 -4
  286. package/src/sap/ui/util/Storage.js +1 -1
  287. package/src/sap/ui/core/ThemeCheck.js +0 -389
@@ -19,7 +19,7 @@ sap.ui.define(['sap/ui/core/Element', 'sap/ui/core/library'],
19
19
  * @class
20
20
  * Represents a DOM attribute of a DOM element.
21
21
  * @extends sap.ui.core.Element
22
- * @version 1.107.1
22
+ * @version 1.108.1
23
23
  *
24
24
  * @public
25
25
  * @since 1.15
@@ -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.107.1
30
+ * @version 1.108.1
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.107.1
49
+ * @version 1.108.1
50
50
  * @alias sap.ui.core.tmpl.HandlebarsTemplate
51
51
  * @since 1.15
52
52
  * @deprecated since 1.56
@@ -54,7 +54,7 @@ function(
54
54
  * @extends sap.ui.base.ManagedObject
55
55
  * @abstract
56
56
  * @author SAP SE
57
- * @version 1.107.1
57
+ * @version 1.108.1
58
58
  * @alias sap.ui.core.tmpl.Template
59
59
  * @since 1.15
60
60
  * @deprecated since 1.56, use an {@link sap.ui.core.mvc.XMLView XMLView} or a {@link topic:e6bb33d076dc4f23be50c082c271b9f0 Typed View} 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.107.1
46
+ * @version 1.108.1
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.107.1
15
+ * @version 1.108.1
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.107.1
144
+ * @version 1.108.1
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.107.1
23
+ * @version 1.108.1
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.107.1
26
+ * @version 1.108.1
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.107.1
26
+ * @version 1.108.1
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.107.1
23
+ * @version 1.108.1
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.107.1
41
+ * @version 1.108.1
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.107.1
16
+ * @version 1.108.1
17
17
  * @namespace
18
18
  *
19
19
  * @public
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  *
22
22
  * @extends sap.ui.base.Object
23
23
  * @author SAP SE
24
- * @version 1.107.1
24
+ * @version 1.108.1
25
25
  * @private
26
26
  * @alias sap.ui.core.util.LibraryInfo
27
27
  */
@@ -34,7 +34,7 @@ sap.ui
34
34
  * @extends sap.ui.base.ManagedObject
35
35
  * @abstract
36
36
  * @author SAP SE
37
- * @version 1.107.1
37
+ * @version 1.108.1
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.107.1
16
+ * @version 1.108.1
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
@@ -20,10 +20,11 @@ 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.107.1
23
+ * @version 1.108.1
24
24
  * @alias sap.ui.core.util.serializer.HTMLViewSerializer
25
25
  * @private
26
26
  * @ui5-restricted sap.watt, com.sap.webide
27
+ * @deprecated As of 1.108, together with the HTMLView
27
28
  */
28
29
  var HTMLViewSerializer = EventProvider.extend("sap.ui.core.util.serializer.HTMLViewSerializer", /** @lends sap.ui.core.util.serializer.HTMLViewSerializer.prototype */
29
30
  {
@@ -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.107.1
24
+ * @version 1.108.1
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.107.1
24
+ * @version 1.108.1
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.107.1
23
+ * @version 1.108.1
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.107.1
20
+ * @version 1.108.1
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.107.1
22
+ * @version 1.108.1
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.107.1
27
+ * @version 1.108.1
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.107.1
15
+ * @version 1.108.1
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.107.1
24
+ * @version 1.108.1
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 */ {
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * @class Basic WebSocket class.
26
26
  * @extends sap.ui.base.EventProvider
27
27
  * @author SAP SE
28
- * @version 1.107.1
28
+ * @version 1.108.1
29
29
  * @alias sap.ui.core.ws.WebSocket
30
30
  */
31
31
  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.107.1
36
+ * @version 1.108.1
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.107.1
19
+ * @version 1.108.1
20
20
  * @private
21
21
  * @alias sap.ui.debug.DebugEnv
22
22
  */
@@ -32,7 +32,7 @@ sap.ui.define('sap/ui/debug/PropertyList', [
32
32
  *
33
33
  * @extends sap.ui.base.EventProvider
34
34
  * @author Martin Schaus
35
- * @version 1.107.1
35
+ * @version 1.108.1
36
36
  *
37
37
  * @param {sap.ui.core.Core}
38
38
  * oCore Core instance of the app; version might differ!
@@ -14,29 +14,48 @@ sap.ui.define([
14
14
  *
15
15
  * @param {Element} oContainer Node to search for a focusable descendant
16
16
  * @returns {Element|null} Element node that is focusable, visible and editable or null
17
+ * @private
17
18
  */
18
- function findEditableInput(oContainer) {
19
- return jQuery(oContainer).find('input, textarea')
20
- .not('input[readonly],textarea[readonly],input[type=hidden],input[type=button],input[type=submit],input[type=reset],input[type=image],button')
21
- .filter(':enabled:visible:first')[0];
19
+ function findEditableInput(oContainer, bIncludeReadOnly) {
20
+ var sNotInclude = 'textarea[readonly],input[type=hidden],input[type=button],input[type=submit],input[type=reset],input[type=image],button',
21
+ sFilter = ':enabled:visible:first';
22
+
23
+ if (bIncludeReadOnly) {
24
+ return jQuery(oContainer).find('input, textarea')
25
+ .not(sNotInclude)
26
+ .filter(sFilter)[0];
27
+
28
+ } else {
29
+ return jQuery(oContainer).find('input, textarea')
30
+ .not('input[readonly],' + sNotInclude)
31
+ .filter(sFilter)[0];
32
+ }
33
+
22
34
  }
23
35
 
24
36
  /*
25
37
  * Returns a descendant of the given node that is an Element which is focusable, visible, editable and not hidden.
26
38
  *
27
39
  * @param {Element} oContainer Node to search for a focusable descendant
40
+ * @param {object} [oConfig] The configuration of the parameter for including readOnly inputs
28
41
  * @returns {Element|null} Element node that is focusable, visible and editable or null
29
42
  * @alias module:sap/ui/dom/getFirstEditableInput
30
43
  * @since 1.72
31
44
  * @private
32
45
  * @ui5-restricted
33
46
  */
34
- function getFirstEditableInput(oContainer) {
47
+ function getFirstEditableInput(oContainer, oConfig) {
48
+ var bIncludeReadOnly;
49
+
35
50
  if ( !oContainer || isHidden(oContainer) ) {
36
51
  return null;
37
52
  }
38
53
 
39
- return findEditableInput(oContainer);
54
+ if (oConfig) {
55
+ bIncludeReadOnly = oConfig.includeReadOnly;
56
+ }
57
+
58
+ return findEditableInput(oContainer, bIncludeReadOnly);
40
59
  }
41
60
 
42
61
  return getFirstEditableInput;
@@ -54,7 +54,7 @@ sap.ui.define(["sap/base/assert"],
54
54
  // matches the id of the new link the new link will be put
55
55
  // before the old link into the document and the id attribute
56
56
  // will be removed from the old link (to avoid FOUC)
57
- // => sap/ui/core/ThemeCheck removes these old links again once
57
+ // => sap/ui/core/theming/ThemeManager removes these old links again once
58
58
  // the new theme has been fully loaded
59
59
  if (oOld.getAttribute("data-sap-ui-foucmarker") === sId) {
60
60
  oOld.removeAttribute("id");
@@ -65,7 +65,7 @@ sap.ui.define(["sap/base/assert"],
65
65
  } else if (oOld.getAttribute("data-sap-ui-foucmarker") === sId) {
66
66
  // in case of using without callbacks and applying the same URL
67
67
  // the foucmarker has to be removed as the link will not be
68
- // replaced with another link - otherwise the ThemeCheck would
68
+ // replaced with another link - otherwise the ThemeManager would
69
69
  // remove this link
70
70
  oOld.removeAttribute("data-sap-ui-foucmarker");
71
71
  }
@@ -54,6 +54,10 @@ sap.ui.define([
54
54
  // the contexts returned by the last call of getContexts if extended change detection is
55
55
  // enabled
56
56
  this.aLastContexts = undefined;
57
+ // if this.bUseExtendedChangeDetection is true it is the end index calculated from the
58
+ // defaulted values of the given iStartIndex and iLength from the last call of
59
+ // getContexts
60
+ this.iLastEndIndex = undefined;
57
61
  // the defaulted value of the given iLength from the last call of getContexts with
58
62
  // bKeepCurrent !== true
59
63
  this.iLastLength = undefined;
@@ -167,12 +171,14 @@ sap.ui.define([
167
171
  */
168
172
  ClientListBinding.prototype.getContexts = function (iStartIndex, iLength, iMaximumPrefetchSize,
169
173
  bKeepCurrent) {
170
- var aContextData, aContexts,
171
- iLastEnd = this.iLastStartIndex + this.iLastLength;
174
+ var aContextData, aContexts;
172
175
 
176
+ // Do not update last start and length with the defaulted values as #checkUpdate would only
177
+ // check in this range for changes. For controls that want to show all data the range must
178
+ // not be limited.
179
+ this._updateLastStartAndLength(iStartIndex, iLength, iMaximumPrefetchSize, bKeepCurrent);
173
180
  iStartIndex = iStartIndex || 0;
174
181
  iLength = iLength || Math.min(this.iLength, this.oModel.iSizeLimit);
175
- this._updateLastStartAndLength(iStartIndex, iLength, iMaximumPrefetchSize, bKeepCurrent);
176
182
  aContexts = this._getContexts(iStartIndex, iLength);
177
183
  if (this.bUseExtendedChangeDetection) {
178
184
  aContextData = [];
@@ -181,9 +187,10 @@ sap.ui.define([
181
187
  for (var i = 0; i < aContexts.length; i++) {
182
188
  aContextData.push(this.getContextData(aContexts[i]));
183
189
  }
184
- if (this.aLastContextData && iStartIndex < iLastEnd) {
190
+ if (this.aLastContextData && iStartIndex < this.iLastEndIndex) {
185
191
  aContexts.diff = this.diffData(this.aLastContextData, aContextData);
186
192
  }
193
+ this.iLastEndIndex = iStartIndex + iLength;
187
194
  this.aLastContextData = aContextData;
188
195
  this.aLastContexts = aContexts.slice(0);
189
196
  } catch (oError) {
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * @extends sap.ui.model.Model
30
30
  *
31
31
  * @author SAP SE
32
- * @version 1.107.1
32
+ * @version 1.108.1
33
33
  *
34
34
  * @param {string} [oData] URL where to load the data from
35
35
  * @public
@@ -49,9 +49,11 @@ sap.ui.define([
49
49
  this.oContext = "";
50
50
  }
51
51
  this._mLengthsCache = {};
52
- this.filterInfo = {};
53
- this.filterInfo.aFilteredContexts = [];
54
- this.filterInfo.oParentContext = {};
52
+ this.filterInfo = {
53
+ aFilteredContexts : [],
54
+ iMatches : 0,
55
+ oParentContext : {}
56
+ };
55
57
  this.oCombinedFilter = null;
56
58
  this.mNormalizeCache = {};
57
59
 
@@ -305,9 +307,10 @@ sap.ui.define([
305
307
  * Apply the current defined filters on the existing dataset.
306
308
  * @private
307
309
  */
308
- ClientTreeBinding.prototype.applyFilter = function(){
310
+ ClientTreeBinding.prototype.applyFilter = function () {
309
311
  // reset previous stored filter contexts
310
312
  this.filterInfo.aFilteredContexts = [];
313
+ this.filterInfo.iMatches = 0;
311
314
  this.filterInfo.oParentContext = {};
312
315
  this._applyFilterRecursive();
313
316
  };
@@ -355,6 +358,7 @@ sap.ui.define([
355
358
  this.filterInfo.aFilteredContexts.concat(aFilteredContexts);
356
359
  this.filterInfo.aFilteredContexts.push(oParentContext);
357
360
  this.filterInfo.oParentContext = oParentContext;
361
+ this.filterInfo.iMatches += aFilteredContexts.length;
358
362
  }
359
363
  // push additionally parentcontexts if any children are already included in filtered contexts
360
364
  if (aUnfilteredContexts.indexOf(this.filterInfo.oParentContext) != -1) {
@@ -425,7 +429,58 @@ sap.ui.define([
425
429
  this._fireChange();
426
430
  };
427
431
 
432
+ /**
433
+ * Returns the count of entries in the tree, or <code>undefined</code> if it is unknown. If the
434
+ * tree is filtered, the count of all entries matching the filter conditions is returned. The
435
+ * entries required only for the tree structure are not counted.
436
+ *
437
+ * @returns {number|undefined} The count of entries in the tree, or <code>undefined</code> if
438
+ * the binding is not resolved
439
+ * @public
440
+ * @since 1.108.0
441
+ */
442
+ ClientTreeBinding.prototype.getCount = function () {
443
+ if (!this.isResolved()) {
444
+ return undefined;
445
+ }
428
446
 
429
- return ClientTreeBinding;
447
+ if (this.oCombinedFilter) {
448
+ return this.filterInfo.iMatches;
449
+ }
430
450
 
451
+ return ClientTreeBinding._getTotalNodeCount(this.oModel.getObject(this.getResolvedPath()),
452
+ this.mParameters && this.mParameters.arrayNames, true);
453
+ };
454
+
455
+ /**
456
+ * Returns the count of objects in the given data by iterating recursively over the given array
457
+ * names, or if not given over all object keys.
458
+ *
459
+ * @param {any} vData
460
+ * The root of the data to count objects
461
+ * @param {string[]} [aArrayNames]
462
+ * The array of property names to consider when counting the child objects in the given data
463
+ * @param {boolean} [bRoot]
464
+ * Whether the given data is the root of the tree
465
+ * @returns {number}
466
+ * The total count of objects in the given data
467
+ * @private
468
+ */
469
+ ClientTreeBinding._getTotalNodeCount = function (vData, aArrayNames, bRoot) {
470
+ if (vData === null || typeof vData !== "object") {
471
+ return 0; // null and non-objects do not count
472
+ }
473
+
474
+ if (Array.isArray(vData)) {
475
+ return vData.reduce(function (iCount, vItem) {
476
+ return iCount + ClientTreeBinding._getTotalNodeCount(vItem, aArrayNames);
477
+ }, 0);
478
+ }
479
+
480
+ return (aArrayNames || Object.keys(vData)).reduce(function (iCount, sKey) {
481
+ return iCount + ClientTreeBinding._getTotalNodeCount(vData[sKey], aArrayNames);
482
+ }, bRoot ? 0 /*root object doesn't count*/ : 1);
483
+ };
484
+
485
+ return ClientTreeBinding;
431
486
  });
@@ -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.107.1
17
+ * @version 1.108.1
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.107.1
42
+ * @version 1.108.1
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.107.1
68
+ * @version 1.108.1
69
69
  *
70
70
  * @public
71
71
  * @alias sap.ui.model.DataState
@@ -6,11 +6,11 @@
6
6
  /*eslint-disable max-len */
7
7
  // Provides a filter for list bindings
8
8
  sap.ui.define([
9
- 'sap/ui/base/Object',
10
- './FilterOperator',
11
- "sap/base/Log"
12
- ],
13
- function(BaseObject, FilterOperator, Log) {
9
+ "./FilterOperator",
10
+ "sap/base/Log",
11
+ "sap/ui/base/Object",
12
+ "sap/ui/core/Configuration"
13
+ ], function(FilterOperator, Log, BaseObject, Configuration) {
14
14
  "use strict";
15
15
 
16
16
  /**
@@ -608,7 +608,7 @@ sap.ui.define([
608
608
  return NaN;
609
609
  }
610
610
  if (typeof a == "string" && typeof b == "string") {
611
- return a.localeCompare(b);
611
+ return a.localeCompare(b, Configuration.getLanguageTag());
612
612
  }
613
613
  if (a < b) {
614
614
  return -1;
@@ -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.107.1
19
+ * @version 1.108.1
20
20
  *
21
21
  * @public
22
22
  * @alias sap.ui.model.MetaModel
@@ -51,7 +51,7 @@ sap.ui.define([
51
51
  * @extends sap.ui.core.message.MessageProcessor
52
52
  *
53
53
  * @author SAP SE
54
- * @version 1.107.1
54
+ * @version 1.108.1
55
55
  *
56
56
  * @public
57
57
  * @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.107.1
23
+ * @version 1.108.1
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.107.1
49
+ * @version 1.108.1
50
50
  */
51
51
  var SimpleType = Type.extend("sap.ui.model.SimpleType", /** @lends sap.ui.model.SimpleType.prototype */ {
52
52
 
@@ -5,11 +5,13 @@
5
5
  */
6
6
  /*eslint-disable max-len */
7
7
  // Provides the concept of a sorter for list bindings
8
- sap.ui.define(['sap/ui/base/Object', "sap/base/Log"],
9
- function(BaseObject, Log) {
8
+ sap.ui.define([
9
+ "sap/base/Log",
10
+ "sap/ui/base/Object",
11
+ "sap/ui/core/Configuration"
12
+ ], function(Log, BaseObject, Configuration) {
10
13
  "use strict";
11
14
 
12
-
13
15
  /**
14
16
  *
15
17
  * Constructor for Sorter.
@@ -141,7 +143,7 @@ sap.ui.define(['sap/ui/base/Object', "sap/base/Log"],
141
143
  return 1;
142
144
  }
143
145
  if (typeof a == "string" && typeof b == "string") {
144
- return a.localeCompare(b);
146
+ return a.localeCompare(b, Configuration.getLanguageTag());
145
147
  }
146
148
  if (a < b) {
147
149
  return -1;
@@ -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.107.1
15
+ * @version 1.108.1
16
16
  * @enum {string}
17
17
  * @alias sap.ui.model.TreeAutoExpandMode
18
18
  * @protected