@openui5/sap.ui.core 1.99.1 → 1.102.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (469) hide show
  1. package/.eslintrc.json +27 -5
  2. package/THIRDPARTY.txt +5 -5
  3. package/package.json +1 -1
  4. package/src/jquery.sap.global.js +6 -3
  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/Log.js +1 -1
  10. package/src/sap/base/assert.js +1 -1
  11. package/src/sap/base/strings/whitespaceReplacer.js +1 -1
  12. package/src/sap/base/util/LoaderExtensions.js +1 -10
  13. package/src/sap/base/util/UriParameters.js +2 -2
  14. package/src/sap/base/util/restricted/_CancelablePromise.js +2 -2
  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 +3 -3
  56. package/src/sap/ui/Global.js +4 -4
  57. package/src/sap/ui/base/Event.js +1 -1
  58. package/src/sap/ui/base/EventProvider.js +2 -2
  59. package/src/sap/ui/base/ExpressionParser.js +1 -1
  60. package/src/sap/ui/base/Interface.js +1 -1
  61. package/src/sap/ui/base/ManagedObject.js +1 -1
  62. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  63. package/src/sap/ui/base/ManagedObjectObserver.js +2 -0
  64. package/src/sap/ui/base/ManagedObjectRegistry.js +10 -5
  65. package/src/sap/ui/base/Metadata.js +1 -1
  66. package/src/sap/ui/base/Object.js +1 -1
  67. package/src/sap/ui/base/ObjectPool.js +1 -1
  68. package/src/sap/ui/core/.library +2 -1
  69. package/src/sap/ui/core/BusyIndicator.js +1 -1
  70. package/src/sap/ui/core/CommandExecution.js +15 -12
  71. package/src/sap/ui/core/Component.js +50 -27
  72. package/src/sap/ui/core/ComponentContainer.js +1 -1
  73. package/src/sap/ui/core/ComponentMetadata.js +28 -13
  74. package/src/sap/ui/core/ComponentSupport.js +1 -1
  75. package/src/sap/ui/core/Configuration.js +25 -9
  76. package/src/sap/ui/core/Control.js +2 -3
  77. package/src/sap/ui/core/Core.js +121 -36
  78. package/src/sap/ui/core/CustomData.js +1 -1
  79. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  80. package/src/sap/ui/core/Element.js +1 -1
  81. package/src/sap/ui/core/ElementMetadata.js +1 -1
  82. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  83. package/src/sap/ui/core/EventBus.js +1 -1
  84. package/src/sap/ui/core/ExtensionPoint.js +6 -1
  85. package/src/sap/ui/core/FocusHandler.js +2 -3
  86. package/src/sap/ui/core/Fragment.js +1 -1
  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 +17 -3
  90. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  91. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  92. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  93. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  94. package/src/sap/ui/core/InvisibleText.js +1 -1
  95. package/src/sap/ui/core/Item.js +1 -1
  96. package/src/sap/ui/core/LabelEnablement.js +1 -1
  97. package/src/sap/ui/core/LayoutData.js +1 -1
  98. package/src/sap/ui/core/ListItem.js +1 -1
  99. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  100. package/src/sap/ui/core/Locale.js +1 -1
  101. package/src/sap/ui/core/LocaleData.js +159 -9
  102. package/src/sap/ui/core/Manifest.js +5 -3
  103. package/src/sap/ui/core/Message.js +1 -1
  104. package/src/sap/ui/core/Patcher.js +6 -4
  105. package/src/sap/ui/core/Popup.js +21 -20
  106. package/src/sap/ui/core/RenderManager.js +1 -1
  107. package/src/sap/ui/core/Renderer.js +1 -1
  108. package/src/sap/ui/core/ResizeHandler.js +1 -1
  109. package/src/sap/ui/core/ScrollBar.js +21 -15
  110. package/src/sap/ui/core/SeparatorItem.js +1 -1
  111. package/src/sap/ui/core/ShortcutHintsMixin.js +2 -4
  112. package/src/sap/ui/core/Title.js +1 -1
  113. package/src/sap/ui/core/TooltipBase.js +1 -1
  114. package/src/sap/ui/core/UIArea.js +3 -5
  115. package/src/sap/ui/core/UIComponent.js +1 -1
  116. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  117. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  118. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  119. package/src/sap/ui/core/XMLComposite.js +1 -1
  120. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  121. package/src/sap/ui/core/XMLTemplateProcessor.js +521 -395
  122. package/src/sap/ui/core/_IconRegistry.js +3 -2
  123. package/src/sap/ui/core/cache/CacheManager.js +28 -1
  124. package/src/sap/ui/core/cache/CacheManagerNOP.js +3 -0
  125. package/src/sap/ui/core/cache/LRUPersistentCache.js +76 -4
  126. package/src/sap/ui/core/cldr/ar.json +469 -1
  127. package/src/sap/ui/core/cldr/ar_EG.json +469 -1
  128. package/src/sap/ui/core/cldr/ar_SA.json +469 -1
  129. package/src/sap/ui/core/cldr/bg.json +469 -1
  130. package/src/sap/ui/core/cldr/ca.json +469 -1
  131. package/src/sap/ui/core/cldr/cs.json +469 -1
  132. package/src/sap/ui/core/cldr/cy.json +469 -1
  133. package/src/sap/ui/core/cldr/da.json +469 -1
  134. package/src/sap/ui/core/cldr/de.json +469 -1
  135. package/src/sap/ui/core/cldr/de_AT.json +469 -1
  136. package/src/sap/ui/core/cldr/de_CH.json +469 -1
  137. package/src/sap/ui/core/cldr/el.json +469 -1
  138. package/src/sap/ui/core/cldr/el_CY.json +469 -1
  139. package/src/sap/ui/core/cldr/en.json +469 -1
  140. package/src/sap/ui/core/cldr/en_AU.json +470 -2
  141. package/src/sap/ui/core/cldr/en_GB.json +469 -1
  142. package/src/sap/ui/core/cldr/en_HK.json +469 -1
  143. package/src/sap/ui/core/cldr/en_IE.json +469 -1
  144. package/src/sap/ui/core/cldr/en_IN.json +469 -1
  145. package/src/sap/ui/core/cldr/en_NZ.json +469 -1
  146. package/src/sap/ui/core/cldr/en_PG.json +469 -1
  147. package/src/sap/ui/core/cldr/en_SG.json +469 -1
  148. package/src/sap/ui/core/cldr/en_ZA.json +469 -1
  149. package/src/sap/ui/core/cldr/es.json +469 -1
  150. package/src/sap/ui/core/cldr/es_AR.json +469 -1
  151. package/src/sap/ui/core/cldr/es_BO.json +469 -1
  152. package/src/sap/ui/core/cldr/es_CL.json +469 -1
  153. package/src/sap/ui/core/cldr/es_CO.json +469 -1
  154. package/src/sap/ui/core/cldr/es_MX.json +469 -1
  155. package/src/sap/ui/core/cldr/es_PE.json +469 -1
  156. package/src/sap/ui/core/cldr/es_UY.json +469 -1
  157. package/src/sap/ui/core/cldr/es_VE.json +469 -1
  158. package/src/sap/ui/core/cldr/et.json +469 -1
  159. package/src/sap/ui/core/cldr/fa.json +469 -1
  160. package/src/sap/ui/core/cldr/fi.json +469 -1
  161. package/src/sap/ui/core/cldr/fr.json +469 -1
  162. package/src/sap/ui/core/cldr/fr_BE.json +469 -1
  163. package/src/sap/ui/core/cldr/fr_CA.json +469 -1
  164. package/src/sap/ui/core/cldr/fr_CH.json +469 -1
  165. package/src/sap/ui/core/cldr/fr_LU.json +469 -1
  166. package/src/sap/ui/core/cldr/he.json +469 -1
  167. package/src/sap/ui/core/cldr/hi.json +469 -1
  168. package/src/sap/ui/core/cldr/hr.json +469 -1
  169. package/src/sap/ui/core/cldr/hu.json +469 -1
  170. package/src/sap/ui/core/cldr/id.json +469 -1
  171. package/src/sap/ui/core/cldr/it.json +469 -1
  172. package/src/sap/ui/core/cldr/it_CH.json +469 -1
  173. package/src/sap/ui/core/cldr/ja.json +469 -1
  174. package/src/sap/ui/core/cldr/kk.json +469 -1
  175. package/src/sap/ui/core/cldr/ko.json +469 -1
  176. package/src/sap/ui/core/cldr/lt.json +469 -1
  177. package/src/sap/ui/core/cldr/lv.json +469 -1
  178. package/src/sap/ui/core/cldr/ms.json +469 -1
  179. package/src/sap/ui/core/cldr/nb.json +469 -1
  180. package/src/sap/ui/core/cldr/nl.json +469 -1
  181. package/src/sap/ui/core/cldr/nl_BE.json +469 -1
  182. package/src/sap/ui/core/cldr/pl.json +469 -1
  183. package/src/sap/ui/core/cldr/pt.json +469 -1
  184. package/src/sap/ui/core/cldr/pt_PT.json +469 -1
  185. package/src/sap/ui/core/cldr/ro.json +469 -1
  186. package/src/sap/ui/core/cldr/ru.json +469 -1
  187. package/src/sap/ui/core/cldr/ru_UA.json +469 -1
  188. package/src/sap/ui/core/cldr/sk.json +469 -1
  189. package/src/sap/ui/core/cldr/sl.json +469 -1
  190. package/src/sap/ui/core/cldr/sr.json +469 -1
  191. package/src/sap/ui/core/cldr/sr_Latn.json +469 -1
  192. package/src/sap/ui/core/cldr/sv.json +469 -1
  193. package/src/sap/ui/core/cldr/th.json +469 -1
  194. package/src/sap/ui/core/cldr/tr.json +469 -1
  195. package/src/sap/ui/core/cldr/uk.json +469 -1
  196. package/src/sap/ui/core/cldr/vi.json +469 -1
  197. package/src/sap/ui/core/cldr/zh_CN.json +470 -2
  198. package/src/sap/ui/core/cldr/zh_HK.json +470 -2
  199. package/src/sap/ui/core/cldr/zh_SG.json +470 -2
  200. package/src/sap/ui/core/cldr/zh_TW.json +469 -1
  201. package/src/sap/ui/core/date/Buddhist.js +3 -3
  202. package/src/sap/ui/core/date/Japanese.js +3 -3
  203. package/src/sap/ui/core/date/UniversalDate.js +10 -0
  204. package/src/sap/ui/core/date/UniversalDateUtils.js +49 -49
  205. package/src/sap/ui/core/delegate/ItemNavigation.js +13 -14
  206. package/src/sap/ui/core/delegate/ScrollEnablement.js +11 -7
  207. package/src/sap/ui/core/dnd/DragAndDrop.js +27 -22
  208. package/src/sap/ui/core/dnd/DragDropBase.js +1 -2
  209. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  210. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  211. package/src/sap/ui/core/dnd/DropInfo.js +3 -3
  212. package/src/sap/ui/core/format/DateFormat.js +285 -151
  213. package/src/sap/ui/core/format/DateFormatTimezoneDisplay.js +4 -0
  214. package/src/sap/ui/core/format/NumberFormat.js +331 -179
  215. package/src/sap/ui/core/format/TimezoneUtil.js +50 -18
  216. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  217. package/src/sap/ui/core/library.js +219 -188
  218. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  219. package/src/sap/ui/core/message/Message.js +1 -1
  220. package/src/sap/ui/core/message/MessageManager.js +1 -1
  221. package/src/sap/ui/core/message/MessageParser.js +1 -1
  222. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  223. package/src/sap/ui/core/messagebundle.properties +0 -2
  224. package/src/sap/ui/core/messagebundle_ar.properties +0 -1
  225. package/src/sap/ui/core/messagebundle_bg.properties +0 -1
  226. package/src/sap/ui/core/messagebundle_ca.properties +0 -1
  227. package/src/sap/ui/core/messagebundle_cs.properties +0 -1
  228. package/src/sap/ui/core/messagebundle_cy.properties +0 -1
  229. package/src/sap/ui/core/messagebundle_da.properties +0 -1
  230. package/src/sap/ui/core/messagebundle_de.properties +0 -1
  231. package/src/sap/ui/core/messagebundle_el.properties +0 -1
  232. package/src/sap/ui/core/messagebundle_en.properties +0 -1
  233. package/src/sap/ui/core/messagebundle_en_GB.properties +0 -1
  234. package/src/sap/ui/core/messagebundle_en_US_sappsd.properties +0 -1
  235. package/src/sap/ui/core/messagebundle_en_US_saptrc.properties +0 -1
  236. package/src/sap/ui/core/messagebundle_es.properties +0 -1
  237. package/src/sap/ui/core/messagebundle_es_MX.properties +0 -1
  238. package/src/sap/ui/core/messagebundle_et.properties +0 -1
  239. package/src/sap/ui/core/messagebundle_fi.properties +0 -1
  240. package/src/sap/ui/core/messagebundle_fr.properties +0 -1
  241. package/src/sap/ui/core/messagebundle_fr_CA.properties +0 -1
  242. package/src/sap/ui/core/messagebundle_hi.properties +0 -1
  243. package/src/sap/ui/core/messagebundle_hr.properties +0 -1
  244. package/src/sap/ui/core/messagebundle_hu.properties +0 -1
  245. package/src/sap/ui/core/messagebundle_id.properties +0 -1
  246. package/src/sap/ui/core/messagebundle_it.properties +0 -1
  247. package/src/sap/ui/core/messagebundle_iw.properties +0 -1
  248. package/src/sap/ui/core/messagebundle_ja.properties +0 -1
  249. package/src/sap/ui/core/messagebundle_kk.properties +0 -1
  250. package/src/sap/ui/core/messagebundle_ko.properties +1 -2
  251. package/src/sap/ui/core/messagebundle_lt.properties +0 -1
  252. package/src/sap/ui/core/messagebundle_lv.properties +0 -1
  253. package/src/sap/ui/core/messagebundle_ms.properties +0 -1
  254. package/src/sap/ui/core/messagebundle_nl.properties +0 -1
  255. package/src/sap/ui/core/messagebundle_no.properties +0 -1
  256. package/src/sap/ui/core/messagebundle_pl.properties +0 -1
  257. package/src/sap/ui/core/messagebundle_pt.properties +0 -1
  258. package/src/sap/ui/core/messagebundle_pt_PT.properties +0 -1
  259. package/src/sap/ui/core/messagebundle_ro.properties +0 -1
  260. package/src/sap/ui/core/messagebundle_ru.properties +0 -1
  261. package/src/sap/ui/core/messagebundle_sh.properties +0 -1
  262. package/src/sap/ui/core/messagebundle_sk.properties +0 -1
  263. package/src/sap/ui/core/messagebundle_sl.properties +0 -1
  264. package/src/sap/ui/core/messagebundle_sv.properties +0 -1
  265. package/src/sap/ui/core/messagebundle_th.properties +0 -1
  266. package/src/sap/ui/core/messagebundle_tr.properties +0 -1
  267. package/src/sap/ui/core/messagebundle_uk.properties +0 -1
  268. package/src/sap/ui/core/messagebundle_vi.properties +0 -1
  269. package/src/sap/ui/core/messagebundle_zh_CN.properties +0 -1
  270. package/src/sap/ui/core/messagebundle_zh_TW.properties +0 -1
  271. package/src/sap/ui/core/mvc/Controller.js +1 -1
  272. package/src/sap/ui/core/mvc/ControllerExtensionProvider.js +1 -1
  273. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  274. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  275. package/src/sap/ui/core/mvc/JSView.js +2 -2
  276. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  277. package/src/sap/ui/core/mvc/View.js +2 -1
  278. package/src/sap/ui/core/mvc/XMLView.js +25 -21
  279. package/src/sap/ui/core/mvc/XMLViewRenderer.js +81 -59
  280. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  281. package/src/sap/ui/core/plugin/LessSupport.js +3 -3
  282. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  283. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  284. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  285. package/src/sap/ui/core/routing/Router.js +1 -1
  286. package/src/sap/ui/core/rules/App.support.js +14 -9
  287. package/src/sap/ui/core/rules/Config.support.js +12 -12
  288. package/src/sap/ui/core/rules/Misc.support.js +8 -3
  289. package/src/sap/ui/core/rules/Model.support.js +8 -8
  290. package/src/sap/ui/core/rules/Rendering.support.js +1 -1
  291. package/src/sap/ui/core/rules/Theming.support.js +4 -4
  292. package/src/sap/ui/core/rules/View.support.js +9 -9
  293. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  294. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  295. package/src/sap/ui/core/service/Service.js +1 -1
  296. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  297. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  298. package/src/sap/ui/core/support/Plugin.js +29 -1
  299. package/src/sap/ui/core/support/Support.js +4 -4
  300. package/src/sap/ui/core/support/controls/InteractionSlider.js +395 -407
  301. package/src/sap/ui/core/support/plugins/Breakpoint.js +5 -5
  302. package/src/sap/ui/core/support/plugins/ControlTree.js +440 -349
  303. package/src/sap/ui/core/support/plugins/Debugging.js +153 -129
  304. package/src/sap/ui/core/support/plugins/Interaction.js +71 -85
  305. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  306. package/src/sap/ui/core/support/plugins/Performance.js +10 -13
  307. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  308. package/src/sap/ui/core/support/plugins/TechInfo.js +5 -3
  309. package/src/sap/ui/core/support/plugins/Trace.js +7 -7
  310. package/src/sap/ui/core/support/plugins/ViewInfo.js +91 -43
  311. package/src/sap/ui/core/support/support.css +23 -23
  312. package/src/sap/ui/core/support/support.html +5 -7
  313. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +1 -1
  314. package/src/sap/ui/core/themes/base/CommandShortcutHints.less +1 -1
  315. package/src/sap/ui/core/themes/base/DragAndDrop.less +3 -3
  316. package/src/sap/ui/core/themes/base/LocalBusyIndicator.less +15 -1
  317. package/src/sap/ui/core/themes/base/base.less +1524 -54
  318. package/src/sap/ui/core/themes/base/global.less +171 -13
  319. package/src/sap/ui/core/themes/base/shared.less +1 -0
  320. package/src/sap/ui/core/themes/sap_hcb/global.less +166 -7
  321. package/src/sap/ui/core/theming/Parameters.js +1 -1
  322. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  323. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  324. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  325. package/src/sap/ui/core/tmpl/Template.js +1 -1
  326. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  327. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  328. package/src/sap/ui/core/util/Export.js +1 -1
  329. package/src/sap/ui/core/util/ExportCell.js +1 -1
  330. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  331. package/src/sap/ui/core/util/ExportRow.js +1 -1
  332. package/src/sap/ui/core/util/ExportType.js +1 -1
  333. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  334. package/src/sap/ui/core/util/File.js +1 -1
  335. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  336. package/src/sap/ui/core/util/MockServer.js +4 -3
  337. package/src/sap/ui/core/util/PasteHelper.js +2 -2
  338. package/src/sap/ui/core/util/XMLPreprocessor.js +1 -0
  339. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  340. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  341. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  342. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  343. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  344. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  345. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  346. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  347. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  348. package/src/sap/ui/core/ws/WebSocket.js +7 -8
  349. package/src/sap/ui/debug/ControlTree.js +1 -1
  350. package/src/sap/ui/debug/DebugEnv.js +1 -1
  351. package/src/sap/ui/debug/LogViewer.js +2 -2
  352. package/src/sap/ui/debug/PropertyList.js +1 -1
  353. package/src/sap/ui/model/ClientListBinding.js +127 -21
  354. package/src/sap/ui/model/ClientModel.js +1 -1
  355. package/src/sap/ui/model/CompositeBinding.js +3 -0
  356. package/src/sap/ui/model/CompositeDataState.js +1 -1
  357. package/src/sap/ui/model/CompositeType.js +13 -1
  358. package/src/sap/ui/model/DataState.js +1 -1
  359. package/src/sap/ui/model/ListBinding.js +32 -13
  360. package/src/sap/ui/model/MetaModel.js +1 -1
  361. package/src/sap/ui/model/Model.js +10 -7
  362. package/src/sap/ui/model/SelectionModel.js +1 -1
  363. package/src/sap/ui/model/SimpleType.js +1 -1
  364. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  365. package/src/sap/ui/model/Type.js +1 -1
  366. package/src/sap/ui/model/_Helper.js +26 -0
  367. package/src/sap/ui/model/analytics/AnalyticalBinding.js +29 -13
  368. package/src/sap/ui/model/analytics/ODataModelAdapter.js +2 -1
  369. package/src/sap/ui/model/base/ManagedObjectModel.js +8 -6
  370. package/src/sap/ui/model/json/JSONListBinding.js +0 -58
  371. package/src/sap/ui/model/json/JSONModel.js +15 -8
  372. package/src/sap/ui/model/message/MessageListBinding.js +0 -42
  373. package/src/sap/ui/model/message/MessageModel.js +1 -1
  374. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  375. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  376. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  377. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  378. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  379. package/src/sap/ui/model/odata/ODataPropertyBinding.js +3 -1
  380. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +5 -4
  381. package/src/sap/ui/model/odata/ODataUtils.js +7 -9
  382. package/src/sap/ui/model/odata/OperationMode.js +6 -0
  383. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  384. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  385. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  386. package/src/sap/ui/model/odata/type/Date.js +1 -1
  387. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  388. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  389. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  390. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +78 -68
  391. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  392. package/src/sap/ui/model/odata/type/Double.js +1 -1
  393. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  394. package/src/sap/ui/model/odata/type/Int.js +1 -1
  395. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  396. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  397. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  398. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  399. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  400. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  401. package/src/sap/ui/model/odata/type/Single.js +1 -1
  402. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  403. package/src/sap/ui/model/odata/type/String.js +1 -1
  404. package/src/sap/ui/model/odata/type/Time.js +1 -1
  405. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  406. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  407. package/src/sap/ui/model/odata/type/UnitMixin.js +1 -1
  408. package/src/sap/ui/model/odata/v2/Context.js +78 -5
  409. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  410. package/src/sap/ui/model/odata/v2/ODataListBinding.js +280 -76
  411. package/src/sap/ui/model/odata/v2/ODataModel.js +342 -96
  412. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +8 -4
  413. package/src/sap/ui/model/odata/v4/Context.js +52 -25
  414. package/src/sap/ui/model/odata/v4/ODataBinding.js +50 -32
  415. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +35 -6
  416. package/src/sap/ui/model/odata/v4/ODataListBinding.js +302 -110
  417. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +13 -6
  418. package/src/sap/ui/model/odata/v4/ODataModel.js +297 -30
  419. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +25 -57
  420. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +3 -2
  421. package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +59 -5
  422. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +15 -0
  423. package/src/sap/ui/model/odata/v4/lib/_Cache.js +309 -130
  424. package/src/sap/ui/model/odata/v4/lib/_ConcatHelper.js +5 -13
  425. package/src/sap/ui/model/odata/v4/lib/_GroupLock.js +16 -0
  426. package/src/sap/ui/model/odata/v4/lib/_Helper.js +114 -41
  427. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +270 -36
  428. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  429. package/src/sap/ui/model/type/Boolean.js +1 -1
  430. package/src/sap/ui/model/type/Currency.js +1 -1
  431. package/src/sap/ui/model/type/Date.js +1 -1
  432. package/src/sap/ui/model/type/DateInterval.js +1 -1
  433. package/src/sap/ui/model/type/DateTime.js +1 -1
  434. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  435. package/src/sap/ui/model/type/FileSize.js +1 -1
  436. package/src/sap/ui/model/type/Float.js +1 -1
  437. package/src/sap/ui/model/type/Integer.js +1 -1
  438. package/src/sap/ui/model/type/String.js +1 -1
  439. package/src/sap/ui/model/type/Time.js +1 -1
  440. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  441. package/src/sap/ui/model/type/Unit.js +1 -1
  442. package/src/sap/ui/model/xml/XMLListBinding.js +0 -53
  443. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  444. package/src/sap/ui/performance/trace/FESR.js +1 -1
  445. package/src/sap/ui/performance/trace/FESRHelper.js +72 -0
  446. package/src/sap/ui/performance/trace/Interaction.js +6 -2
  447. package/src/sap/ui/qunit/qunit-2-css.js +4 -4
  448. package/src/sap/ui/qunit/qunit-css.js +4 -4
  449. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  450. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  451. package/src/sap/ui/test/BranchTracking.js +1 -0
  452. package/src/sap/ui/test/Opa5.js +9 -5
  453. package/src/sap/ui/test/OpaBuilder.js +7 -7
  454. package/src/sap/ui/test/TestUtils.js +11 -0
  455. package/src/sap/ui/test/_UsageReport.js +1 -1
  456. package/src/sap/ui/test/actions/Action.js +3 -3
  457. package/src/sap/ui/test/actions/Press.js +1 -1
  458. package/src/sap/ui/test/generic/GenericTestCollection.js +176 -0
  459. package/src/sap/ui/test/generic/TestBase.js +151 -0
  460. package/src/sap/ui/test/generic/Utils.js +284 -0
  461. package/src/sap/ui/test/gherkin/opa5TestHarness.js +14 -5
  462. package/src/sap/ui/test/opaQunit.js +11 -10
  463. package/src/sap/ui/test/selectors/_ControlSelectorGenerator.js +9 -8
  464. package/src/sap/ui/test/selectors/_ControlSelectorValidator.js +1 -1
  465. package/src/sap/ui/test/starter/_setupAndStart.js +4 -0
  466. package/src/sap/ui/thirdparty/jszip.js +0 -1
  467. package/src/sap/ui/util/Storage.js +1 -1
  468. package/src/ui5loader.js +8 -4
  469. package/ui5.yaml +1 -1
@@ -9,11 +9,12 @@
9
9
  * Code other than the UI5 core library must not introduce dependencies to this module.
10
10
  */
11
11
  sap.ui.define([
12
- 'sap/ui/thirdparty/URI',
12
+ "sap/ui/thirdparty/jquery",
13
+ "sap/ui/thirdparty/URI",
13
14
  "sap/base/i18n/ResourceBundle",
14
15
  "sap/base/Log"
15
16
  ],
16
- function(URI, ResourceBundle, Log) {
17
+ function(jQuery, URI, ResourceBundle, Log) {
17
18
  "use strict";
18
19
 
19
20
  /**
@@ -110,7 +110,7 @@ sap.ui.define([
110
110
  if (isSwitchedOn() && this._isSupportedEnvironment()) {
111
111
  return LRUPersistentCache;
112
112
  } else {
113
- Log.warning("UI5 Cache Manager is switched off");
113
+ Log.debug("UI5 Cache Manager is switched off");
114
114
  return CacheManagerNOP;
115
115
  }
116
116
  },
@@ -216,6 +216,33 @@ sap.ui.define([
216
216
  return pDel;
217
217
  },
218
218
 
219
+ /**
220
+ * Deletes entries, filtered using several criteria.
221
+ * @param {object} [filters] The filters that will be applied to find the entries for deletion. If not
222
+ * provided - all entries are included.
223
+ * @param {string} [filters.prefix] Only includes entries that have a key starting with this prefix.
224
+ * If not provided - entries with all keys are included.
225
+ * @param {Date} [filters.olderThan] Only includes entries with older usage dates. If not provided
226
+ * - entries with any/no usage date are included.
227
+ * @returns {Promise} A promise that would be resolved in case of successful operation or rejected with
228
+ * value of the error message if the operation fails.
229
+ * @public
230
+ * @since 1.102.0
231
+ */
232
+ delWithFilters: function(filters) {
233
+ var pDel;
234
+ Log.debug("Cache Manager: delWithFilters called.");
235
+
236
+ pDel = this._callInstanceMethod("delWithFilters", arguments).then(function callInstanceHandler() {
237
+ Log.debug("Cache Manager: delWithFilters completed successfully.");
238
+ }, function (e) {
239
+ Log.debug("Cache Manager: delWithFilters failed. Error: " + e);
240
+ throw e;
241
+ });
242
+
243
+ return pDel;
244
+ },
245
+
219
246
  /**
220
247
  * Clears all entries in the cache.
221
248
  * @returns {Promise} a promise that would be resolved in case of successful operation or rejected with
@@ -32,6 +32,9 @@ sap.ui.define([],
32
32
  del: function () {
33
33
  return Promise.resolve();
34
34
  },
35
+ delWithFilters: function() {
36
+ return Promise.resolve();
37
+ },
35
38
  reset: function () {
36
39
  return Promise.resolve();
37
40
  },
@@ -245,6 +245,9 @@ sap.ui.define(["sap/base/Log", "sap/ui/performance/Measurement"],
245
245
  transaction.abort();
246
246
  });
247
247
  } else {
248
+ if (!self._metadata.timestamps) {
249
+ self._metadata.timestamps = {};
250
+ }
248
251
  resolve();
249
252
  }
250
253
  };
@@ -275,6 +278,61 @@ sap.ui.define(["sap/base/Log", "sap/ui/performance/Measurement"],
275
278
  return del(this, key);
276
279
  },
277
280
 
281
+ delWithFilters: function(filters) {
282
+ var self = this,
283
+ oFilters = filters || {};
284
+
285
+ return new Promise(function (resolve, reject) {
286
+ var oMetadataBackup = cloneMetadata(self._metadata),
287
+ oTransaction = self._db.transaction([ self.defaultOptions._contentStoreName, self.defaultOptions._metadataStoreName ], "readwrite"),
288
+ oContentStore = oTransaction.objectStore(self.defaultOptions._contentStoreName),
289
+ oMetadataStore = oTransaction.objectStore(self.defaultOptions._metadataStoreName),
290
+ oContentCursor = oContentStore.openCursor(),
291
+ sPrefix = oFilters.prefix || "";
292
+
293
+ function restoreMetadata() {
294
+ self._metadata = oMetadataBackup;
295
+ assignRUCounters(self);
296
+ }
297
+
298
+ function onTransactionFail(event) {
299
+ restoreMetadata();
300
+ reject(collectErrorData(event));
301
+ }
302
+
303
+ oTransaction.onerror = onTransactionFail;
304
+ oTransaction.onabort = onTransactionFail;
305
+
306
+ oTransaction.oncomplete = function(event) {
307
+ resolve();
308
+ };
309
+
310
+ oContentCursor.onsuccess = function(event) {
311
+ var oCursor = event.target.result,
312
+ sKey,
313
+ oRequest;
314
+
315
+ if (!oCursor) {
316
+ oMetadataStore.put(self._metadata, self.defaultOptions._metadataKey);
317
+ return;
318
+ }
319
+
320
+ sKey = oCursor.value.key;
321
+
322
+ if (sKey.indexOf(sPrefix) === 0
323
+ && (!oFilters.olderThan || self._metadata.timestamps[sKey] <= oFilters.olderThan)) {
324
+ oRequest = oCursor.delete();
325
+ oRequest.onsuccess = function() {
326
+ Log.debug('Deleted ' + sKey + '!');
327
+ deleteMetadataForEntry(self, sKey);
328
+ };
329
+ }
330
+
331
+ oCursor.continue();
332
+ };
333
+ });
334
+ },
335
+
278
336
  reset: function () {
279
337
  var self = this;
280
338
  return new Promise(function (resolve, reject) {
@@ -322,9 +380,13 @@ sap.ui.define(["sap/base/Log", "sap/ui/performance/Measurement"],
322
380
  sMsrCatSet = "LRUPersistentCache,set",
323
381
  iMsrCounter = 0;
324
382
 
325
- function scheduleMetadataSave(self) {//an async store of the metadata , the caller should not be interested in the result, since no reporting status back is supported
383
+ function scheduleMetadataSave(self, oItem) {//an async store of the metadata , the caller should not be interested in the result, since no reporting status back is supported
384
+ var transaction;
385
+
386
+ self._metadata.timestamps[oItem.oData.key] = Date.now();
387
+
326
388
  //locking both stores as no further modification is required. This will block any further metadata update and sets, but this is the way to keep the metadata consistent
327
- var transaction = self._db.transaction([self.defaultOptions._contentStoreName, self.defaultOptions._metadataStoreName], "readwrite");
389
+ transaction = self._db.transaction([self.defaultOptions._contentStoreName, self.defaultOptions._metadataStoreName], "readwrite");
328
390
 
329
391
  transaction.onerror = transaction.onabort = function (event) {
330
392
  Log.warning("Cache Manager cannot persist the information about usage of an entry. This may lead to earlier removal of the entry if browser storage space is over. Details: " + transaction.error);
@@ -434,9 +496,11 @@ sap.ui.define(["sap/base/Log", "sap/ui/performance/Measurement"],
434
496
  if (oItem.oData.lu !== self._mru) { // Update the usage data only if the item is not already the most used one
435
497
  oItem.oData.lu = ++self._mru;
436
498
  updateItemUsage(self, oItem);
437
- scheduleMetadataSave(self); //postponed as update of the metadata is not crucial here
438
499
  }
439
500
 
501
+ //postponed as update of the metadata is not crucial here
502
+ scheduleMetadataSave(self, oItem);
503
+
440
504
  Measurement.end(sMsrPutMetadata);
441
505
  result = oItem.deserialize().oData.value;
442
506
  }
@@ -705,6 +769,7 @@ sap.ui.define(["sap/base/Log", "sap/ui/performance/Measurement"],
705
769
 
706
770
  function initMetadata(ui5version) {
707
771
  return {
772
+ timestamps: {},
708
773
  __byKey__: {},
709
774
  __byIndex__: {},
710
775
  __ui5version: ui5version
@@ -724,6 +789,9 @@ sap.ui.define(["sap/base/Log", "sap/ui/performance/Measurement"],
724
789
  for (var key in source.__byKey__) {
725
790
  backupMetadata.__byKey__[key] = source.__byKey__[key];
726
791
  }
792
+ for (var key in source.timestamps) {
793
+ backupMetadata.timestamps[key] = source.timestamps[key];
794
+ }
727
795
  return backupMetadata;
728
796
  }
729
797
 
@@ -773,7 +841,8 @@ sap.ui.define(["sap/base/Log", "sap/ui/performance/Measurement"],
773
841
  /**
774
842
  * Tries to free space until the given new item is successfully added.
775
843
  * @param {sap.ui.core.cache.LRUPersistentCache} self the instance of the Cache Manager
776
- * @param {ItemData} oItem the item to free space for
844
+ * @param {string|number} key the key to associate the value with
845
+ * @param {any} value value to free space for
777
846
  * @returns {Promise} a promise that will resolve if the given item is added, or reject - if not.
778
847
  */
779
848
  function cleanAndStore(self, key, value) {
@@ -818,6 +887,9 @@ sap.ui.define(["sap/base/Log", "sap/ui/performance/Measurement"],
818
887
  var iIndex = self._metadata.__byKey__[key];
819
888
  delete self._metadata.__byKey__[key];
820
889
  delete self._metadata.__byIndex__[iIndex];
890
+ if (self._metadata.timestamps[key]) {
891
+ delete self._metadata.timestamps[key];
892
+ }
821
893
  seekMetadataLRU(self);
822
894
  }
823
895