@openui5/sap.ui.core 1.98.0 → 1.101.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 (418) hide show
  1. package/.eslintrc.json +33 -1
  2. package/THIRDPARTY.txt +6 -6
  3. package/package.json +1 -1
  4. package/src/jquery.sap.global.js +6 -3
  5. package/src/jquery.sap.mobile.js +29 -11
  6. package/src/jquery.sap.properties.js +1 -1
  7. package/src/jquery.sap.resources.js +1 -1
  8. package/src/jquery.sap.script.js +1 -1
  9. package/src/jquery.sap.storage.js +3 -3
  10. package/src/sap/base/Log.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 +1 -1
  15. package/src/sap/base/util/restricted/_castArray.js +1 -1
  16. package/src/sap/base/util/restricted/_compact.js +1 -1
  17. package/src/sap/base/util/restricted/_curry.js +1 -1
  18. package/src/sap/base/util/restricted/_debounce.js +1 -1
  19. package/src/sap/base/util/restricted/_difference.js +1 -1
  20. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  21. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  22. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  23. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  24. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  25. package/src/sap/base/util/restricted/_flatten.js +1 -1
  26. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  27. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  28. package/src/sap/base/util/restricted/_intersection.js +1 -1
  29. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  30. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  31. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  32. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  33. package/src/sap/base/util/restricted/_isNil.js +1 -1
  34. package/src/sap/base/util/restricted/_max.js +1 -1
  35. package/src/sap/base/util/restricted/_merge.js +1 -1
  36. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  37. package/src/sap/base/util/restricted/_min.js +1 -1
  38. package/src/sap/base/util/restricted/_omit.js +1 -1
  39. package/src/sap/base/util/restricted/_pick.js +1 -1
  40. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  41. package/src/sap/base/util/restricted/_throttle.js +1 -1
  42. package/src/sap/base/util/restricted/_toArray.js +1 -1
  43. package/src/sap/base/util/restricted/_union.js +1 -1
  44. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  45. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  46. package/src/sap/base/util/restricted/_uniq.js +1 -1
  47. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  48. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  49. package/src/sap/base/util/restricted/_without.js +1 -1
  50. package/src/sap/base/util/restricted/_xor.js +1 -1
  51. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  52. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  53. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  54. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  55. package/src/sap/ui/Device.js +3 -3
  56. package/src/sap/ui/Global.js +4 -4
  57. package/src/sap/ui/VersionInfo.js +13 -10
  58. package/src/sap/ui/base/BindingParser.js +34 -7
  59. package/src/sap/ui/base/Event.js +1 -1
  60. package/src/sap/ui/base/EventProvider.js +2 -2
  61. package/src/sap/ui/base/ExpressionParser.js +1 -1
  62. package/src/sap/ui/base/Interface.js +1 -1
  63. package/src/sap/ui/base/ManagedObject.js +32 -22
  64. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  65. package/src/sap/ui/base/ManagedObjectObserver.js +2 -0
  66. package/src/sap/ui/base/ManagedObjectRegistry.js +10 -5
  67. package/src/sap/ui/base/Metadata.js +1 -1
  68. package/src/sap/ui/base/Object.js +1 -1
  69. package/src/sap/ui/base/ObjectPool.js +1 -1
  70. package/src/sap/ui/core/.library +2 -2
  71. package/src/sap/ui/core/BusyIndicator.js +1 -1
  72. package/src/sap/ui/core/Component.js +24 -20
  73. package/src/sap/ui/core/ComponentContainer.js +1 -1
  74. package/src/sap/ui/core/ComponentMetadata.js +2 -2
  75. package/src/sap/ui/core/ComponentSupport.js +1 -1
  76. package/src/sap/ui/core/Configuration.js +80 -11
  77. package/src/sap/ui/core/Control.js +2 -1
  78. package/src/sap/ui/core/Core.js +29 -12
  79. package/src/sap/ui/core/CustomData.js +1 -1
  80. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  81. package/src/sap/ui/core/Element.js +4 -7
  82. package/src/sap/ui/core/ElementMetadata.js +1 -1
  83. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  84. package/src/sap/ui/core/EventBus.js +1 -1
  85. package/src/sap/ui/core/ExtensionPoint.js +6 -1
  86. package/src/sap/ui/core/FocusHandler.js +1 -1
  87. package/src/sap/ui/core/Fragment.js +1 -1
  88. package/src/sap/ui/core/HTML.js +1 -1
  89. package/src/sap/ui/core/HTMLRenderer.js +1 -1
  90. package/src/sap/ui/core/History.js +1 -1
  91. package/src/sap/ui/core/Icon.js +17 -3
  92. package/src/sap/ui/core/IconRenderer.js +1 -1
  93. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  94. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  95. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  96. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  97. package/src/sap/ui/core/InvisibleText.js +1 -1
  98. package/src/sap/ui/core/Item.js +1 -1
  99. package/src/sap/ui/core/LabelEnablement.js +9 -2
  100. package/src/sap/ui/core/LayoutData.js +1 -1
  101. package/src/sap/ui/core/ListItem.js +1 -1
  102. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  103. package/src/sap/ui/core/LocalBusyIndicatorRenderer.js +2 -2
  104. package/src/sap/ui/core/Locale.js +1 -1
  105. package/src/sap/ui/core/LocaleData.js +73 -6
  106. package/src/sap/ui/core/Manifest.js +5 -3
  107. package/src/sap/ui/core/Message.js +1 -1
  108. package/src/sap/ui/core/Patcher.js +6 -4
  109. package/src/sap/ui/core/Popup.js +11 -8
  110. package/src/sap/ui/core/RenderManager.js +1 -1
  111. package/src/sap/ui/core/Renderer.js +1 -1
  112. package/src/sap/ui/core/ResizeHandler.js +1 -1
  113. package/src/sap/ui/core/ScrollBar.js +1 -1
  114. package/src/sap/ui/core/ScrollBarRenderer.js +1 -1
  115. package/src/sap/ui/core/SeparatorItem.js +1 -1
  116. package/src/sap/ui/core/Title.js +1 -1
  117. package/src/sap/ui/core/TooltipBase.js +1 -1
  118. package/src/sap/ui/core/UIArea.js +1 -1
  119. package/src/sap/ui/core/UIComponent.js +1 -1
  120. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  121. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  122. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  123. package/src/sap/ui/core/XMLComposite.js +1 -1
  124. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  125. package/src/sap/ui/core/XMLTemplateProcessor.js +27 -26
  126. package/src/sap/ui/core/_IconRegistry.js +13 -3
  127. package/src/sap/ui/core/cache/CacheManager.js +1 -1
  128. package/src/sap/ui/core/cache/LRUPersistentCache.js +2 -1
  129. package/src/sap/ui/core/cldr/en_AU.json +1 -1
  130. package/src/sap/ui/core/date/Buddhist.js +3 -3
  131. package/src/sap/ui/core/date/Japanese.js +4 -4
  132. package/src/sap/ui/core/date/UniversalDate.js +10 -0
  133. package/src/sap/ui/core/date/UniversalDateUtils.js +49 -49
  134. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  135. package/src/sap/ui/core/delegate/ScrollEnablement.js +9 -6
  136. package/src/sap/ui/core/dnd/DragAndDrop.js +27 -22
  137. package/src/sap/ui/core/dnd/DragDropBase.js +1 -2
  138. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  139. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  140. package/src/sap/ui/core/dnd/DropInfo.js +3 -3
  141. package/src/sap/ui/core/format/DateFormat.js +670 -199
  142. package/src/sap/ui/core/format/DateFormatTimezoneDisplay.js +47 -0
  143. package/src/sap/ui/core/format/ListFormat.js +2 -2
  144. package/src/sap/ui/core/format/NumberFormat.js +502 -216
  145. package/src/sap/ui/core/format/TimezoneUtil.js +248 -0
  146. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  147. package/src/sap/ui/core/library.js +220 -189
  148. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  149. package/src/sap/ui/core/message/Message.js +1 -1
  150. package/src/sap/ui/core/message/MessageManager.js +1 -1
  151. package/src/sap/ui/core/message/MessageParser.js +1 -1
  152. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  153. package/src/sap/ui/core/messagebundle.properties +2 -0
  154. package/src/sap/ui/core/messagebundle_ar.properties +1 -0
  155. package/src/sap/ui/core/messagebundle_bg.properties +6 -5
  156. package/src/sap/ui/core/messagebundle_ca.properties +1 -0
  157. package/src/sap/ui/core/messagebundle_cs.properties +1 -0
  158. package/src/sap/ui/core/messagebundle_cy.properties +1 -0
  159. package/src/sap/ui/core/messagebundle_da.properties +1 -0
  160. package/src/sap/ui/core/messagebundle_de.properties +2 -1
  161. package/src/sap/ui/core/messagebundle_el.properties +1 -0
  162. package/src/sap/ui/core/messagebundle_en.properties +1 -0
  163. package/src/sap/ui/core/messagebundle_en_GB.properties +1 -0
  164. package/src/sap/ui/core/messagebundle_en_US_sappsd.properties +1 -0
  165. package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +1 -0
  166. package/src/sap/ui/core/messagebundle_en_US_saptrc.properties +1 -0
  167. package/src/sap/ui/core/messagebundle_es.properties +1 -0
  168. package/src/sap/ui/core/messagebundle_es_MX.properties +1 -0
  169. package/src/sap/ui/core/messagebundle_et.properties +1 -0
  170. package/src/sap/ui/core/messagebundle_fi.properties +1 -0
  171. package/src/sap/ui/core/messagebundle_fr.properties +1 -0
  172. package/src/sap/ui/core/messagebundle_fr_CA.properties +1 -0
  173. package/src/sap/ui/core/messagebundle_hi.properties +1 -0
  174. package/src/sap/ui/core/messagebundle_hr.properties +1 -0
  175. package/src/sap/ui/core/messagebundle_hu.properties +1 -0
  176. package/src/sap/ui/core/messagebundle_id.properties +3 -2
  177. package/src/sap/ui/core/messagebundle_it.properties +1 -0
  178. package/src/sap/ui/core/messagebundle_iw.properties +1 -0
  179. package/src/sap/ui/core/messagebundle_ja.properties +1 -0
  180. package/src/sap/ui/core/messagebundle_kk.properties +1 -0
  181. package/src/sap/ui/core/messagebundle_ko.properties +2 -1
  182. package/src/sap/ui/core/messagebundle_lt.properties +1 -0
  183. package/src/sap/ui/core/messagebundle_lv.properties +2 -1
  184. package/src/sap/ui/core/messagebundle_ms.properties +1 -0
  185. package/src/sap/ui/core/messagebundle_nl.properties +1 -0
  186. package/src/sap/ui/core/messagebundle_no.properties +1 -0
  187. package/src/sap/ui/core/messagebundle_pl.properties +1 -0
  188. package/src/sap/ui/core/messagebundle_pt.properties +1 -0
  189. package/src/sap/ui/core/messagebundle_pt_PT.properties +1 -0
  190. package/src/sap/ui/core/messagebundle_ro.properties +1 -0
  191. package/src/sap/ui/core/messagebundle_ru.properties +1 -0
  192. package/src/sap/ui/core/messagebundle_sh.properties +1 -0
  193. package/src/sap/ui/core/messagebundle_sk.properties +1 -0
  194. package/src/sap/ui/core/messagebundle_sl.properties +1 -0
  195. package/src/sap/ui/core/messagebundle_sv.properties +1 -0
  196. package/src/sap/ui/core/messagebundle_th.properties +1 -0
  197. package/src/sap/ui/core/messagebundle_tr.properties +1 -0
  198. package/src/sap/ui/core/messagebundle_uk.properties +1 -0
  199. package/src/sap/ui/core/messagebundle_vi.properties +1 -0
  200. package/src/sap/ui/core/messagebundle_zh_CN.properties +1 -0
  201. package/src/sap/ui/core/messagebundle_zh_TW.properties +1 -0
  202. package/src/sap/ui/core/mvc/Controller.js +1 -1
  203. package/src/sap/ui/core/mvc/ControllerExtensionProvider.js +1 -1
  204. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  205. package/src/sap/ui/core/mvc/HTMLViewRenderer.js +1 -1
  206. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  207. package/src/sap/ui/core/mvc/JSONViewRenderer.js +1 -1
  208. package/src/sap/ui/core/mvc/JSView.js +1 -1
  209. package/src/sap/ui/core/mvc/JSViewRenderer.js +1 -1
  210. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  211. package/src/sap/ui/core/mvc/TemplateViewRenderer.js +1 -1
  212. package/src/sap/ui/core/mvc/View.js +1 -1
  213. package/src/sap/ui/core/mvc/ViewRenderer.js +1 -1
  214. package/src/sap/ui/core/mvc/XMLView.js +16 -4
  215. package/src/sap/ui/core/mvc/XMLViewRenderer.js +5 -2
  216. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  217. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  218. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  219. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  220. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  221. package/src/sap/ui/core/routing/Router.js +1 -1
  222. package/src/sap/ui/core/rules/App.support.js +6 -1
  223. package/src/sap/ui/core/rules/Misc.support.js +8 -3
  224. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  225. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  226. package/src/sap/ui/core/service/Service.js +1 -1
  227. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  228. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  229. package/src/sap/ui/core/support/Plugin.js +29 -1
  230. package/src/sap/ui/core/support/Support.js +3 -3
  231. package/src/sap/ui/core/support/controls/InteractionSlider.js +395 -407
  232. package/src/sap/ui/core/support/plugins/Breakpoint.js +5 -5
  233. package/src/sap/ui/core/support/plugins/ControlTree.js +434 -347
  234. package/src/sap/ui/core/support/plugins/Debugging.js +153 -129
  235. package/src/sap/ui/core/support/plugins/Interaction.js +71 -85
  236. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  237. package/src/sap/ui/core/support/plugins/Performance.js +10 -13
  238. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  239. package/src/sap/ui/core/support/plugins/TechInfo.js +5 -3
  240. package/src/sap/ui/core/support/plugins/Trace.js +7 -7
  241. package/src/sap/ui/core/support/plugins/ViewInfo.js +84 -22
  242. package/src/sap/ui/core/support/support.css +23 -23
  243. package/src/sap/ui/core/support/support.html +4 -6
  244. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +1 -1
  245. package/src/sap/ui/core/themes/base/CommandShortcutHints.less +1 -1
  246. package/src/sap/ui/core/themes/base/DragAndDrop.less +3 -3
  247. package/src/sap/ui/core/themes/base/base.less +1524 -54
  248. package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
  249. package/src/sap/ui/core/themes/base/global.less +169 -13
  250. package/src/sap/ui/core/themes/base/shared.less +1 -0
  251. package/src/sap/ui/core/themes/sap_hcb/global.less +164 -7
  252. package/src/sap/ui/core/theming/Parameters.js +1 -1
  253. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  254. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  255. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  256. package/src/sap/ui/core/tmpl/Template.js +1 -1
  257. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  258. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  259. package/src/sap/ui/core/util/Export.js +1 -1
  260. package/src/sap/ui/core/util/ExportCell.js +1 -1
  261. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  262. package/src/sap/ui/core/util/ExportRow.js +1 -1
  263. package/src/sap/ui/core/util/ExportType.js +1 -1
  264. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  265. package/src/sap/ui/core/util/File.js +1 -1
  266. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  267. package/src/sap/ui/core/util/MockServer.js +20 -17
  268. package/src/sap/ui/core/util/PasteHelper.js +5 -5
  269. package/src/sap/ui/core/util/XMLPreprocessor.js +17 -4
  270. package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +1 -1
  271. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  272. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  273. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  274. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  275. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  276. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  277. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  278. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  279. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  280. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  281. package/src/sap/ui/debug/ControlTree.js +1 -1
  282. package/src/sap/ui/debug/DebugEnv.js +1 -1
  283. package/src/sap/ui/debug/LogViewer.js +2 -2
  284. package/src/sap/ui/debug/PropertyList.js +1 -1
  285. package/src/sap/ui/dom/includeStylesheet.js +8 -3
  286. package/src/sap/ui/events/jquery/EventExtension.js +1 -1
  287. package/src/sap/ui/model/Binding.js +4 -3
  288. package/src/sap/ui/model/ClientModel.js +1 -1
  289. package/src/sap/ui/model/ClientTreeBinding.js +1 -1
  290. package/src/sap/ui/model/CompositeBinding.js +4 -1
  291. package/src/sap/ui/model/CompositeDataState.js +1 -1
  292. package/src/sap/ui/model/CompositeType.js +13 -1
  293. package/src/sap/ui/model/ContextBinding.js +1 -1
  294. package/src/sap/ui/model/DataState.js +1 -1
  295. package/src/sap/ui/model/MetaModel.js +1 -2
  296. package/src/sap/ui/model/Model.js +10 -7
  297. package/src/sap/ui/model/SelectionModel.js +1 -1
  298. package/src/sap/ui/model/SimpleType.js +1 -1
  299. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  300. package/src/sap/ui/model/Type.js +1 -1
  301. package/src/sap/ui/model/_Helper.js +24 -0
  302. package/src/sap/ui/model/analytics/AnalyticalBinding.js +30 -15
  303. package/src/sap/ui/model/analytics/ODataModelAdapter.js +2 -1
  304. package/src/sap/ui/model/base/ManagedObjectModel.js +9 -7
  305. package/src/sap/ui/model/json/JSONListBinding.js +1 -1
  306. package/src/sap/ui/model/json/JSONModel.js +15 -8
  307. package/src/sap/ui/model/json/JSONPropertyBinding.js +1 -1
  308. package/src/sap/ui/model/message/MessageListBinding.js +1 -1
  309. package/src/sap/ui/model/message/MessageModel.js +1 -1
  310. package/src/sap/ui/model/message/MessagePropertyBinding.js +1 -1
  311. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  312. package/src/sap/ui/model/odata/ODataListBinding.js +1 -1
  313. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  314. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  315. package/src/sap/ui/model/odata/ODataMetadata.js +3 -3
  316. package/src/sap/ui/model/odata/ODataModel.js +2 -2
  317. package/src/sap/ui/model/odata/ODataPropertyBinding.js +3 -1
  318. package/src/sap/ui/model/odata/ODataTreeBinding.js +1 -1
  319. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +5 -4
  320. package/src/sap/ui/model/odata/ODataUtils.js +7 -9
  321. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  322. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  323. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  324. package/src/sap/ui/model/odata/type/Date.js +1 -1
  325. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  326. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  327. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  328. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +349 -0
  329. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  330. package/src/sap/ui/model/odata/type/Double.js +1 -1
  331. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  332. package/src/sap/ui/model/odata/type/Int.js +1 -1
  333. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  334. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  335. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  336. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  337. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  338. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  339. package/src/sap/ui/model/odata/type/Single.js +1 -1
  340. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  341. package/src/sap/ui/model/odata/type/String.js +1 -1
  342. package/src/sap/ui/model/odata/type/Time.js +1 -1
  343. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  344. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  345. package/src/sap/ui/model/odata/v2/Context.js +69 -5
  346. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  347. package/src/sap/ui/model/odata/v2/ODataContextBinding.js +8 -4
  348. package/src/sap/ui/model/odata/v2/ODataListBinding.js +215 -78
  349. package/src/sap/ui/model/odata/v2/ODataModel.js +283 -80
  350. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +6 -4
  351. package/src/sap/ui/model/odata/v4/AnnotationHelper.js +16 -17
  352. package/src/sap/ui/model/odata/v4/Context.js +117 -76
  353. package/src/sap/ui/model/odata/v4/ODataBinding.js +62 -37
  354. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +157 -169
  355. package/src/sap/ui/model/odata/v4/ODataListBinding.js +451 -262
  356. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +91 -63
  357. package/src/sap/ui/model/odata/v4/ODataModel.js +478 -250
  358. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +74 -83
  359. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +65 -61
  360. package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +61 -6
  361. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +15 -0
  362. package/src/sap/ui/model/odata/v4/lib/_Cache.js +336 -86
  363. package/src/sap/ui/model/odata/v4/lib/_ConcatHelper.js +5 -13
  364. package/src/sap/ui/model/odata/v4/lib/_GroupLock.js +16 -0
  365. package/src/sap/ui/model/odata/v4/lib/_Helper.js +13 -6
  366. package/src/sap/ui/model/odata/v4/lib/_MetadataConverter.js +2 -2
  367. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +233 -26
  368. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +1 -1
  369. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  370. package/src/sap/ui/model/resource/ResourcePropertyBinding.js +1 -1
  371. package/src/sap/ui/model/type/Boolean.js +1 -1
  372. package/src/sap/ui/model/type/Currency.js +1 -1
  373. package/src/sap/ui/model/type/Date.js +1 -1
  374. package/src/sap/ui/model/type/DateInterval.js +1 -1
  375. package/src/sap/ui/model/type/DateTime.js +1 -1
  376. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  377. package/src/sap/ui/model/type/FileSize.js +1 -1
  378. package/src/sap/ui/model/type/Float.js +1 -1
  379. package/src/sap/ui/model/type/Integer.js +1 -1
  380. package/src/sap/ui/model/type/String.js +1 -1
  381. package/src/sap/ui/model/type/Time.js +1 -1
  382. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  383. package/src/sap/ui/model/type/Unit.js +1 -1
  384. package/src/sap/ui/model/xml/XMLListBinding.js +1 -1
  385. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  386. package/src/sap/ui/model/xml/XMLPropertyBinding.js +1 -1
  387. package/src/sap/ui/performance/trace/FESR.js +1 -1
  388. package/src/sap/ui/performance/trace/FESRHelper.js +72 -0
  389. package/src/sap/ui/performance/trace/Interaction.js +6 -2
  390. package/src/sap/ui/performance/trace/Passport.js +3 -3
  391. package/src/sap/ui/qunit/qunit-2-css.js +4 -4
  392. package/src/sap/ui/qunit/qunit-css.js +4 -4
  393. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  394. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  395. package/src/sap/ui/test/BranchTracking.js +1 -0
  396. package/src/sap/ui/test/Opa5.js +10 -6
  397. package/src/sap/ui/test/OpaBuilder.js +7 -7
  398. package/src/sap/ui/test/TestUtils.js +11 -0
  399. package/src/sap/ui/test/_UsageReport.js +1 -1
  400. package/src/sap/ui/test/generic/GenericTestCollection.js +176 -0
  401. package/src/sap/ui/test/generic/TestBase.js +151 -0
  402. package/src/sap/ui/test/generic/Utils.js +284 -0
  403. package/src/sap/ui/test/gherkin/opa5TestHarness.js +14 -5
  404. package/src/sap/ui/test/opaQunit.js +11 -10
  405. package/src/sap/ui/test/selectors/_ControlSelectorGenerator.js +9 -8
  406. package/src/sap/ui/test/selectors/_ControlSelectorValidator.js +1 -1
  407. package/src/sap/ui/test/starter/_setupAndStart.js +4 -0
  408. package/src/sap/ui/thirdparty/IPv6.js +1 -1
  409. package/src/sap/ui/thirdparty/SecondLevelDomains.js +1 -1
  410. package/src/sap/ui/thirdparty/URI.js +7 -3
  411. package/src/sap/ui/thirdparty/URITemplate.js +1 -1
  412. package/src/sap/ui/thirdparty/jqueryui/jquery-ui-datepicker.js +143 -3
  413. package/src/sap/ui/thirdparty/jqueryui/jquery-ui-position.js +8 -1
  414. package/src/sap/ui/thirdparty/jszip.js +17 -7
  415. package/src/sap/ui/thirdparty/mobify-carousel.js +1 -1
  416. package/src/sap/ui/util/Mobile.js +17 -0
  417. package/src/sap/ui/util/Storage.js +1 -1
  418. package/src/ui5loader.js +9 -5
@@ -47,7 +47,7 @@ sap.ui.define([
47
47
  * @extends sap.ui.model.ClientModel
48
48
  *
49
49
  * @author SAP SE
50
- * @version 1.98.0
50
+ * @version 1.101.0
51
51
  *
52
52
  * @param {object} oData either the URL where to load the XML from or an XML
53
53
  * @public
@@ -48,7 +48,7 @@ sap.ui.define([
48
48
  * Checks whether this Binding would provide new values and in case it changed, fires a change
49
49
  * event with change reason <code>sap.ui.model.ChangeReason.Change</code>.
50
50
  *
51
- * @param {boolean} bForceupdate
51
+ * @param {boolean} [bForceupdate]
52
52
  * Whether the change event will be fired regardless of the binding's state
53
53
  */
54
54
  XMLPropertyBinding.prototype.checkUpdate = function(bForceupdate){
@@ -203,7 +203,7 @@ sap.ui.define([
203
203
  }
204
204
 
205
205
  function onInteractionFinished(oFinishedInteraction) {
206
- var sStepName = oFinishedInteraction.trigger + "_" + oFinishedInteraction.event;
206
+ var sStepName = oFinishedInteraction.semanticStepName ? oFinishedInteraction.semanticStepName : oFinishedInteraction.trigger + "_" + oFinishedInteraction.event;
207
207
  var oFESRHandle = FESR.onBeforeCreated({
208
208
  stepName: sStepName,
209
209
  appNameLong: oFinishedInteraction.stepComponent || oFinishedInteraction.component,
@@ -0,0 +1,72 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+
7
+ sap.ui.define([], function () {
8
+ "use strict";
9
+
10
+ /**
11
+ * FESRHelper API
12
+ * Provides helper functionality for FESR and consumers of FESR
13
+ *
14
+ * @namespace
15
+ * @since 1.100
16
+ * @alias module:sap/ui/performance/trace/FESRHelper
17
+ * @static
18
+ * @public
19
+ */
20
+ var FESRHelper = {
21
+ /**
22
+ * This namespace is only used inside the FESRHelper.
23
+ *
24
+ * @const
25
+ * @private
26
+ */
27
+ FESR_NAMESPACE: "http://schemas.sap.com/sapui5/extension/sap.ui.core.FESR/1",
28
+
29
+ /**
30
+ * Add semantic stepname for an event of a given element used for FESR.
31
+ *
32
+ * @param {sap.ui.core.Element} oElement The element the semantic stepname should be applied to
33
+ * @param {string} sEventId The event ID the semantic stepname is valid for
34
+ * @param {string} sStepname The semantic stepname
35
+ *
36
+ * @public
37
+ * @since 1.100
38
+ */
39
+ setSemanticStepname: function (oElement, sEventId, sStepname) {
40
+ var oCustomData = oElement.data("sap-ui-custom-settings");
41
+ if (oCustomData === null) {
42
+ oCustomData = {};
43
+ }
44
+ if (!oCustomData[this.FESR_NAMESPACE]) {
45
+ oCustomData[this.FESR_NAMESPACE] = {};
46
+ }
47
+ oCustomData[this.FESR_NAMESPACE][sEventId] = sStepname;
48
+ oElement.data("sap-ui-custom-settings", oCustomData);
49
+ },
50
+
51
+
52
+ /**
53
+ * Get semantic stepname for an event of a given element used for FESR.
54
+ *
55
+ * @param {sap.ui.core.Element} oElement The element conatining the semantic stepname
56
+ * @param {string} sEventId The event ID of the semantic stepname
57
+ * @returns {string} The semantic stepname for the given event ID
58
+ *
59
+ * @public
60
+ * @since 1.100
61
+ */
62
+ getSemanticStepname: function (oElement, sEventId) {
63
+ var oCustomFesrData = oElement && oElement.data("sap-ui-custom-settings") && oElement.data("sap-ui-custom-settings")[this.FESR_NAMESPACE];
64
+ if (!oCustomFesrData) {
65
+ return;
66
+ }
67
+ return oCustomFesrData[sEventId];
68
+ }
69
+ };
70
+
71
+ return FESRHelper;
72
+ });
@@ -8,12 +8,13 @@
8
8
  sap.ui.define([
9
9
  "sap/ui/performance/Measurement",
10
10
  "sap/ui/performance/XHRInterceptor",
11
+ "sap/ui/performance/trace/FESRHelper",
11
12
  "sap/base/util/LoaderExtensions",
12
13
  "sap/base/util/now",
13
14
  "sap/base/util/uid",
14
15
  "sap/base/Log",
15
16
  "sap/ui/thirdparty/URI"
16
- ], function(Measurement, XHRInterceptor, LoaderExtensions, now, uid, Log, URI) {
17
+ ], function(Measurement, XHRInterceptor, FESRHelper, LoaderExtensions, now, uid, Log, URI) {
17
18
 
18
19
  "use strict";
19
20
 
@@ -477,6 +478,7 @@ sap.ui.define([
477
478
  oPendingInteraction.start = iTime;
478
479
  if (oSrcElement && oSrcElement.getId) {
479
480
  oPendingInteraction.trigger = oSrcElement.getId();
481
+ oPendingInteraction.semanticStepName = FESRHelper.getSemanticStepname(oSrcElement, sType);
480
482
  }
481
483
  /*eslint-disable no-console */
482
484
  if (Log.isLoggable(null, "sap.ui.Performance")) {
@@ -626,13 +628,15 @@ sap.ui.define([
626
628
  var elem = oBrowserElement;
627
629
  if (elem && oElement.getId() === elem.getId()) {
628
630
  oPendingInteraction.trigger = oElement.getId();
631
+ oPendingInteraction.semanticStepName = FESRHelper.getSemanticStepname(oElement, sEventId);
629
632
  oPendingInteraction.event = sEventId;
630
633
  bMatched = true;
631
634
  } else {
632
635
  while (elem && elem.getParent()) {
633
636
  elem = elem.getParent();
634
637
  if (oElement.getId() === elem.getId()) {
635
- oPendingInteraction.trigger = oElement.getId();
638
+ oPendingInteraction.trigger = oElement.getId();
639
+ oPendingInteraction.semanticStepName = FESRHelper.getSemanticStepname(oElement, sEventId);
636
640
  oPendingInteraction.event = sEventId;
637
641
  //if we find no direct match we consider the last control event for the trigger/event (step name)
638
642
  break;
@@ -53,7 +53,7 @@ sap.ui.define(["sap/ui/performance/XHRInterceptor", "sap/ui/thirdparty/URI"], fu
53
53
  var Passport = {};
54
54
 
55
55
  /**
56
- * @returns {String} a generated a passport header
56
+ * @returns {string} a generated a passport header
57
57
  * @private
58
58
  */
59
59
  Passport.header = function(trcLvl, RootID, TransID, component, action) {
@@ -125,7 +125,7 @@ sap.ui.define(["sap/ui/performance/XHRInterceptor", "sap/ui/thirdparty/URI"], fu
125
125
  };
126
126
 
127
127
  /**
128
- * @param {String} lvl Tracing level to be calculated
128
+ * @param {string} lvl Tracing level to be calculated
129
129
  * @return {int[]} Array with two int representations of characters for trace level
130
130
  * @private
131
131
  */
@@ -151,7 +151,7 @@ sap.ui.define(["sap/ui/performance/XHRInterceptor", "sap/ui/thirdparty/URI"], fu
151
151
  };
152
152
 
153
153
  /**
154
- * @returns {String} a generated GUID
154
+ * @returns {string} a generated GUID
155
155
  * @private
156
156
  */
157
157
  Passport.createGUID = function() {
@@ -7,8 +7,8 @@
7
7
  (function() {
8
8
  "use strict";
9
9
 
10
- /*global jQuery */
11
-
12
- var sUrl = jQuery.sap.getModulePath("sap.ui.thirdparty.qunit-2", ".css");
13
- jQuery.sap.includeStyleSheet(sUrl);
10
+ var oLink = document.createElement("link");
11
+ oLink.rel = "stylesheet";
12
+ oLink.href = sap.ui.require.toUrl("sap/ui/thirdparty/qunit-2.css");
13
+ document.head.appendChild(oLink);
14
14
  }());
@@ -7,8 +7,8 @@
7
7
  (function() {
8
8
  "use strict";
9
9
 
10
- /*global jQuery */
11
-
12
- var sUrl = jQuery.sap.getModulePath("sap.ui.thirdparty.qunit", ".css");
13
- jQuery.sap.includeStyleSheet(sUrl);
10
+ var oLink = document.createElement("link");
11
+ oLink.rel = "stylesheet";
12
+ oLink.href = sap.ui.require.toUrl("sap/ui/thirdparty/qunit.css");
13
+ document.head.appendChild(oLink);
14
14
  }());
@@ -53,7 +53,7 @@ sap.ui.define(['sap/ui/core/Core', "sap/ui/VersionInfo"],
53
53
  * @namespace
54
54
  *
55
55
  * @author SAP SE
56
- * @version 1.98.0
56
+ * @version 1.101.0
57
57
  *
58
58
  * @public
59
59
  * @since 1.48.0
@@ -27,7 +27,7 @@ sap.ui.define([ 'sap/ui/core/Element', 'sap/ui/core/Control', 'sap/ui/core/Core'
27
27
  * @namespace
28
28
  *
29
29
  * @author SAP SE
30
- * @version 1.98.0
30
+ * @version 1.101.0
31
31
  *
32
32
  * @public
33
33
  * @since 1.48.0
@@ -660,6 +660,7 @@
660
660
  QUnit.begin(function () {
661
661
  var sFileName, aHits;
662
662
 
663
+ jQuery("body").css("overflow", "scroll"); // always show scrollbar, avoid flickering
663
664
  jQuery("#qunit-modulefilter-dropdown-list").css("max-height", "none");
664
665
 
665
666
  jQuery("#qunit-modulefilter-dropdown").on("click", function (oMouseEvent) {
@@ -25,7 +25,9 @@ sap.ui.define([
25
25
  'sap/ui/dom/includeStylesheet',
26
26
  'sap/ui/thirdparty/jquery',
27
27
  'sap/ui/test/_OpaUriParameterParser',
28
- "sap/ui/test/_ValidationParameters"
28
+ 'sap/ui/test/_ValidationParameters',
29
+ 'sap/base/util/extend',
30
+ 'sap/base/util/isPlainObject'
29
31
  ],
30
32
  function (Opa,
31
33
  OpaPlugin,
@@ -47,7 +49,9 @@ sap.ui.define([
47
49
  includeStylesheet,
48
50
  $,
49
51
  _OpaUriParameterParser,
50
- _ValidationParameters) {
52
+ _ValidationParameters,
53
+ extend,
54
+ isPlainObject) {
51
55
  "use strict";
52
56
 
53
57
  var oLogger = _OpaLogger.getLogger("sap.ui.test.Opa5"),
@@ -1115,7 +1119,7 @@ sap.ui.define([
1115
1119
  /**
1116
1120
  * Settings for a new page object, consisting of actions and assertions.
1117
1121
  *
1118
- * @typedef {Object} sap.ui.test.PageObjectDefinition
1122
+ * @typedef {object} sap.ui.test.PageObjectDefinition
1119
1123
  *
1120
1124
  * @property {string} [viewName]
1121
1125
  * When a <code>viewName</code> is given, all <code>waitFor</code> calls inside of the page object
@@ -1390,9 +1394,9 @@ sap.ui.define([
1390
1394
  function _getPathToExpansion(options) {
1391
1395
  var aPath;
1392
1396
  ["ancestor", "descendant", "sibling"].forEach(function (sMatcher) {
1393
- if (options[sMatcher] && jQuery.isPlainObject(options[sMatcher])) {
1397
+ if (options[sMatcher] && isPlainObject(options[sMatcher])) {
1394
1398
  aPath = [sMatcher];
1395
- } else if (options.matchers && options.matchers[sMatcher] && jQuery.isPlainObject(options.matchers[sMatcher])) {
1399
+ } else if (options.matchers && options.matchers[sMatcher] && isPlainObject(options.matchers[sMatcher])) {
1396
1400
  aPath = ["matchers", sMatcher];
1397
1401
  }
1398
1402
  });
@@ -1416,7 +1420,7 @@ sap.ui.define([
1416
1420
  // return a new object ("options" remains unchanged)
1417
1421
  function _substituteExpansion(options, aPath, oControl) {
1418
1422
  if (aPath) {
1419
- var oResult = jQuery.extend({}, options);
1423
+ var oResult = extend({}, options);
1420
1424
  var oPath = oResult;
1421
1425
  var i = 0;
1422
1426
  while (i < aPath.length - 1) {
@@ -285,7 +285,7 @@ sap.ui.define(
285
285
  *
286
286
  * @param {sap.ui.test.Opa5} [oOpaInstance] the Opa5 instance to operate on
287
287
  * @param {string | RegExp} [vId] the id of the target control(s)
288
- * @param {string} [vControlType] the type of the target control(s)
288
+ * @param {string} [sControlType] the type of the target control(s)
289
289
  * @param {boolean} [bDialogElement] if true, only popover and dialogs are searched for
290
290
  * @param {sap.ui.test.matchers.Matcher | function | Array | Object} [vMatchers] additional matchers to filter target control(s)
291
291
  * @param {sap.ui.test.actions.Action | function | Array} [vActions] the actions to be performed on target control(s)
@@ -417,12 +417,12 @@ sap.ui.define(
417
417
  /**
418
418
  * Defines the control type of the target control(s).
419
419
  *
420
- * @param {string} vControlType the type of the target control(s)
420
+ * @param {string} sControlType the type of the target control(s)
421
421
  * @returns {this} this OpaBuilder instance
422
422
  * @public
423
423
  */
424
- OpaBuilder.prototype.hasType = function (vControlType) {
425
- return this.options({controlType: vControlType});
424
+ OpaBuilder.prototype.hasType = function (sControlType) {
425
+ return this.options({controlType: sControlType});
426
426
  };
427
427
 
428
428
  /**
@@ -490,7 +490,7 @@ sap.ui.define(
490
490
  * Adds a matcher that checks for a certain number of aggregation items.
491
491
  *
492
492
  * @param {string} sAggregationName the aggregation name
493
- * @param [int] iNumber length to check against
493
+ * @param {int} iNumber length to check against
494
494
  * @returns {this} this OpaBuilder instance
495
495
  * @public
496
496
  */
@@ -669,8 +669,8 @@ sap.ui.define(
669
669
  * @returns {this} this OpaBuilder instance
670
670
  * @public
671
671
  */
672
- OpaBuilder.prototype.doEnterText = function (sText, bClearFirst, bKeepFocus, bPressEnterKey, sIdSuffix) {
673
- return this.do(OpaBuilder.Actions.enterText(sText, bClearFirst, bKeepFocus, bPressEnterKey, sIdSuffix));
672
+ OpaBuilder.prototype.doEnterText = function (sText, bClearTextFirst, bKeepFocus, bPressEnterKey, sIdSuffix) {
673
+ return this.do(OpaBuilder.Actions.enterText(sText, bClearTextFirst, bKeepFocus, bPressEnterKey, sIdSuffix));
674
674
  };
675
675
 
676
676
  /**
@@ -33,6 +33,8 @@ sap.ui.define([
33
33
  rODataHeaders = /^(OData-Version|DataServiceVersion)$/,
34
34
  bRealOData = sRealOData === "true" || sRealOData === "direct",
35
35
  iRequestCount = 0,
36
+ sOptimisticBatch = oUriParameters.get("optimisticBatch"),
37
+ bOptimisticBatch = sOptimisticBatch === null ? undefined : sOptimisticBatch === "true",
36
38
  bSupportAssistant = oUriParameters.get("supportAssistant") === "true",
37
39
  TestUtils;
38
40
 
@@ -799,6 +801,15 @@ sap.ui.define([
799
801
  }
800
802
  },
801
803
 
804
+ /**
805
+ * @returns {boolean|undefined}
806
+ * <code>true</code> if optimistic batch should be used, <code>undefined</code> if not
807
+ * specified.
808
+ */
809
+ isOptimisticBatch : function () {
810
+ return bOptimisticBatch;
811
+ },
812
+
802
813
  /**
803
814
  * @returns {boolean}
804
815
  * <code>true</code> if the real OData service is used.
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  }
25
25
 
26
26
  // separate report enablement from the report logic: conditionally send XHRs if reporting is explicitly enabled
27
- var oPrototype = sap.ui.test._UsageReport.prototype;
27
+ var oPrototype = _UsageReport.prototype;
28
28
  Object.keys(oPrototype).forEach(function (sKey) {
29
29
  var bIsSpecialFunction = ["constructor", "getMetadata"].indexOf(sKey) > -1;
30
30
  if (oPrototype.hasOwnProperty(sKey) && typeof oPrototype[sKey] === "function" && !bIsSpecialFunction) {
@@ -0,0 +1,176 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ sap.ui.define([], function() {
7
+ "use strict";
8
+
9
+ /**
10
+ * @typedef sap.ui.test.generic.GenericTestCollection.ObjectCapabilities
11
+ *
12
+ * @param {string} moduleName
13
+ * Name of the module that contains the class. If not given, it is assumed that a module
14
+ * with the same name as the class (dots replaced by slashes) exports the class.
15
+ * When given, the module is loaded and the class is retrieved via its global name
16
+ * @param {boolean|function} create
17
+ * Explicit false if the control can't be instantiated via constructor or factory function
18
+ * expecting the following parameters: Class, mSettings
19
+ * @param {boolean} rendererHasDependencies
20
+ * Control renderer has dependencies to parent or child controls and can't be rendered standalone
21
+ * @param {Object<string, sap.ui.test.generic.GenericTestCollection.ExcludeReason|any>} properties
22
+ * A map containing the property name as key and either an {@link sap.ui.test.generic.GenericTestCollection.ExcludeReason ExcludeReason}
23
+ * or a "value to set" as value
24
+ * @param {Object<string, sap.ui.test.generic.GenericTestCollection.ExcludeReason|function>} aggregations
25
+ * A map containing the aggregation name as key and either an {@link sap.ui.test.generic.GenericTestCollection.ExcludeReason ExcludeReason}
26
+ * or the class which should be used as value
27
+ * @param {int} [apiVersion=2]
28
+ * The API version of the control's renderer should be set in case the renderer does not support
29
+ * semantic rendering
30
+ * @param {object} [knownIssues=undefined]
31
+ * Exceptions for known but not fixed issues
32
+ * @param {boolean} knownIssues.Id
33
+ * Exception for known duplicate ID issues
34
+ * @param {boolean} knownIssues.memoryLeaks
35
+ * Exception for known memory leak issues
36
+ *
37
+ * @private
38
+ * @ui5-restricted Only for DIST layer libraries
39
+ */
40
+
41
+ /**
42
+ * @namespace
43
+ * @alias sap.ui.test.generic.GenericTestCollection
44
+ * @private
45
+ * @ui5-restricted Only for DIST layer libraries
46
+ * @since 1.100
47
+ */
48
+ var GenericTestCollection = {
49
+ /**
50
+ * Marker for exclude reasons.
51
+ *
52
+ * @enum {string}
53
+ * @private
54
+ */
55
+ ExcludeReason: {
56
+ /**
57
+ * The property or aggregation can only be changed using a binding. Using setter is not allowed.
58
+ * @private
59
+ */
60
+ OnlyChangeableViaBinding: "OnlyChangeableViaBinding",
61
+
62
+ /**
63
+ * The property or aggregation can only be set on initialisation. Using setter is not allowed.
64
+ * @private
65
+ */
66
+ NotChangeableAfterInit: "NotChangeableAfterInit",
67
+
68
+ /**
69
+ * The property or aggregation can't be filled generically. Property/aggregation specific settings are needed.
70
+ * @private
71
+ */
72
+ SetterNeedsSpecificSettings: "SetterNeedsSpecificSettings",
73
+
74
+ /**
75
+ * The default value retrieved from getter can't be used for setting the value using the corresponding setter.
76
+ * @private
77
+ */
78
+ CantSetDefaultValue: "CantSetDefaultValue"
79
+ },
80
+ /**
81
+ * Marker for available generic Tests
82
+ *
83
+ * @enum {string}
84
+ * @private
85
+ */
86
+ Test: {
87
+ /**
88
+ * Test ControlMemoryLeaks
89
+ * @protected
90
+ */
91
+ ControlMemoryLeaks: "ControlMemoryLeaks",
92
+
93
+ /**
94
+ * Test ControlRenderer
95
+ * @protected
96
+ */
97
+ ControlRenderer: "ControlRenderer",
98
+
99
+ /**
100
+ * Test DuplicateIdCheck
101
+ * @protected
102
+ */
103
+ DuplicateIdCheck: "DuplicateIdCheck",
104
+
105
+ /**
106
+ * Test EnforceSemanticRendering
107
+ * @protected
108
+ */
109
+ EnforceSemanticRendering: "EnforceSemanticRendering",
110
+
111
+ /**
112
+ * Test SettersContextReturn
113
+ * @protected
114
+ */
115
+ SettersContextReturn: "SettersContextReturn"
116
+ },
117
+
118
+ /**
119
+ * Create the testsuite config
120
+ *
121
+ * @param {object} mConfig Map containing test parameters
122
+ * @param {string} mConfig.library The library name
123
+ * @param {object} mConfig.objectCapabilities The opt-out options per control
124
+ * @param {sap.ui.test.generic.GenericTestCollection.ObjectCapabilities} mConfig.objectCapabilities.anyName The controls capability options
125
+ * @param {sap.ui.test.generic.GenericTestCollection.Test[]} mConfig.skipTests List of tests which shouldn't be executed
126
+ * @return {object} Returns the testsuite config object
127
+ *
128
+ * @private
129
+ * @ui5-restricted Only for DIST layer libraries
130
+ * @since 1.100
131
+ */
132
+ createTestsuiteConfig: function(mConfig) {
133
+ var oSuiteConfig = {
134
+ name: "Testsuite for Generic Control Tests for library: " + mConfig.library,
135
+ defaults: {
136
+ ui5: {
137
+ libs: [mConfig.library]
138
+ },
139
+ qunit: {
140
+ reorder: false,
141
+ version: 2
142
+ },
143
+ testConfig: mConfig,
144
+ module: "test-resources/sap/ui/core/qunit/generic/{name}.qunit"
145
+ },
146
+ tests: {
147
+ ControlMemoryLeaks: {
148
+ title: "QUnit Page for memory leak detection in UI5 controls"
149
+ },
150
+ ControlRenderer: {
151
+ title: "QUnit Page for Control Renderer Tests"
152
+ },
153
+ DuplicateIdCheck: {
154
+ title: "QUnit Page for duplicate ID issues detection in UI5 controls"
155
+ },
156
+ SettersContextReturn: {
157
+ title: "All setters should return correct context (Reason: https://github.com/SAP/openui5/blob/master/docs/guidelines.md#creating-classes)"
158
+ },
159
+ EnforceSemanticRendering: {
160
+ title: "QUnit Page for Semantic Rendering Coverage"
161
+ }
162
+ }
163
+ };
164
+
165
+ // Opt-out from single tests
166
+ var aSkippedTests = mConfig.skipTests || [];
167
+ aSkippedTests.forEach(function(sTest) {
168
+ delete oSuiteConfig.tests[sTest];
169
+ });
170
+
171
+ return oSuiteConfig;
172
+ }
173
+ };
174
+
175
+ return GenericTestCollection;
176
+ });