@openui5/sap.ui.core 1.105.1 → 1.107.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 (351) hide show
  1. package/.reuse/dep5 +20 -17
  2. package/THIRDPARTY.txt +31 -21
  3. package/package.json +1 -1
  4. package/src/jquery.sap.dom.js +10 -10
  5. package/src/jquery.sap.global.js +24 -216
  6. package/src/jquery.sap.history.js +1 -1
  7. package/src/jquery.sap.properties.js +2 -2
  8. package/src/jquery.sap.resources.js +1 -1
  9. package/src/jquery.sap.script.js +1 -1
  10. package/src/jquery.sap.storage.js +4 -4
  11. package/src/jquery.sap.ui.js +5 -7
  12. package/src/sap/base/i18n/ResourceBundle.js +7 -11
  13. package/src/sap/base/util/LoaderExtensions.js +6 -6
  14. package/src/sap/base/util/ObjectPath.js +1 -1
  15. package/src/sap/base/util/Properties.js +1 -1
  16. package/src/sap/base/util/fetch.js +8 -10
  17. package/src/sap/base/util/mixedFetch.js +1 -1
  18. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  19. package/src/sap/base/util/restricted/_castArray.js +1 -1
  20. package/src/sap/base/util/restricted/_compact.js +1 -1
  21. package/src/sap/base/util/restricted/_curry.js +1 -1
  22. package/src/sap/base/util/restricted/_debounce.js +1 -1
  23. package/src/sap/base/util/restricted/_difference.js +1 -1
  24. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  25. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  26. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  27. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  28. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  29. package/src/sap/base/util/restricted/_flatten.js +1 -1
  30. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  31. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  32. package/src/sap/base/util/restricted/_intersection.js +1 -1
  33. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  34. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  35. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  36. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  37. package/src/sap/base/util/restricted/_isNil.js +1 -1
  38. package/src/sap/base/util/restricted/_max.js +1 -1
  39. package/src/sap/base/util/restricted/_merge.js +1 -1
  40. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  41. package/src/sap/base/util/restricted/_min.js +1 -1
  42. package/src/sap/base/util/restricted/_omit.js +1 -1
  43. package/src/sap/base/util/restricted/_pick.js +1 -1
  44. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  45. package/src/sap/base/util/restricted/_throttle.js +1 -1
  46. package/src/sap/base/util/restricted/_toArray.js +1 -1
  47. package/src/sap/base/util/restricted/_union.js +1 -1
  48. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  49. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  50. package/src/sap/base/util/restricted/_uniq.js +1 -1
  51. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  52. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  53. package/src/sap/base/util/restricted/_without.js +1 -1
  54. package/src/sap/base/util/restricted/_xor.js +1 -1
  55. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  56. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  57. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  58. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  59. package/src/sap/base/util/syncFetch.js +9 -16
  60. package/src/sap/ui/Device.js +3 -3
  61. package/src/sap/ui/Global.js +7 -14
  62. package/src/sap/ui/VersionInfo.js +57 -54
  63. package/src/sap/ui/base/BindingInfo.js +198 -0
  64. package/src/sap/ui/base/DataType.js +5 -5
  65. package/src/sap/ui/base/Event.js +2 -2
  66. package/src/sap/ui/base/EventProvider.js +2 -2
  67. package/src/sap/ui/base/Interface.js +1 -1
  68. package/src/sap/ui/base/ManagedObject.js +209 -979
  69. package/src/sap/ui/base/ManagedObjectMetadata.js +6 -6
  70. package/src/sap/ui/base/ManagedObjectRegistry.js +4 -3
  71. package/src/sap/ui/base/Metadata.js +1 -1
  72. package/src/sap/ui/base/Object.js +1 -1
  73. package/src/sap/ui/base/ObjectPool.js +1 -1
  74. package/src/sap/ui/core/.library +13 -9
  75. package/src/sap/ui/core/AppCacheBuster.js +3 -4
  76. package/src/sap/ui/core/BusyIndicator.js +1 -1
  77. package/src/sap/ui/core/BusyIndicatorUtils.js +5 -6
  78. package/src/sap/ui/core/CalendarType.js +0 -1
  79. package/src/sap/ui/core/Component.js +16 -14
  80. package/src/sap/ui/core/ComponentContainer.js +6 -5
  81. package/src/sap/ui/core/ComponentMetadata.js +5 -12
  82. package/src/sap/ui/core/ComponentSupport.js +1 -1
  83. package/src/sap/ui/core/Configuration.js +525 -336
  84. package/src/sap/ui/core/Control.js +7 -7
  85. package/src/sap/ui/core/Core.js +102 -422
  86. package/src/sap/ui/core/CustomData.js +1 -1
  87. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  88. package/src/sap/ui/core/Element.js +65 -9
  89. package/src/sap/ui/core/ElementMetadata.js +1 -1
  90. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  91. package/src/sap/ui/core/EventBus.js +1 -1
  92. package/src/sap/ui/core/FocusHandler.js +79 -9
  93. package/src/sap/ui/core/Fragment.js +1 -1
  94. package/src/sap/ui/core/HTML.js +1 -2
  95. package/src/sap/ui/core/History.js +1 -1
  96. package/src/sap/ui/core/Icon.js +1 -2
  97. package/src/sap/ui/core/IconPool.js +8 -8
  98. package/src/sap/ui/core/IndicationColorSupport.js +2 -2
  99. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  100. package/src/sap/ui/core/InvisibleMessage.js +1 -2
  101. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  102. package/src/sap/ui/core/InvisibleText.js +5 -5
  103. package/src/sap/ui/core/Item.js +1 -2
  104. package/src/sap/ui/core/LabelEnablement.js +1 -1
  105. package/src/sap/ui/core/LayoutData.js +1 -2
  106. package/src/sap/ui/core/ListItem.js +1 -2
  107. package/src/sap/ui/core/LocalBusyIndicator.js +1 -2
  108. package/src/sap/ui/core/Locale.js +1 -1
  109. package/src/sap/ui/core/LocaleData.js +15 -13
  110. package/src/sap/ui/core/Manifest.js +8 -6
  111. package/src/sap/ui/core/Message.js +4 -6
  112. package/src/sap/ui/core/Popup.js +63 -6
  113. package/src/sap/ui/core/RenderManager.js +13 -5
  114. package/src/sap/ui/core/Renderer.js +5 -4
  115. package/src/sap/ui/core/Rendering.js +251 -0
  116. package/src/sap/ui/core/ResizeHandler.js +7 -7
  117. package/src/sap/ui/core/ScrollBar.js +6 -9
  118. package/src/sap/ui/core/ScrollBarRenderer.js +3 -3
  119. package/src/sap/ui/core/SeparatorItem.js +1 -2
  120. package/src/sap/ui/core/Title.js +1 -2
  121. package/src/sap/ui/core/TooltipBase.js +12 -14
  122. package/src/sap/ui/core/UIArea.js +396 -129
  123. package/src/sap/ui/core/UIComponent.js +3 -4
  124. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  125. package/src/sap/ui/core/ValueStateSupport.js +2 -2
  126. package/src/sap/ui/core/VariantLayoutData.js +1 -2
  127. package/src/sap/ui/core/XMLComposite.js +2 -2
  128. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  129. package/src/sap/ui/core/XMLTemplateProcessor.js +12 -10
  130. package/src/sap/ui/core/_ConfigurationProvider.js +187 -0
  131. package/src/sap/ui/core/cache/CacheManager.js +9 -8
  132. package/src/sap/ui/core/cache/LRUPersistentCache.js +4 -4
  133. package/src/sap/ui/core/cldr/es_BO.json +3 -3
  134. package/src/sap/ui/core/cldr/es_CL.json +3 -3
  135. package/src/sap/ui/core/cldr/es_MX.json +3 -3
  136. package/src/sap/ui/core/cldr/es_PE.json +3 -3
  137. package/src/sap/ui/core/cldr/es_UY.json +3 -3
  138. package/src/sap/ui/core/cldr/es_VE.json +2 -2
  139. package/src/sap/ui/core/date/Islamic.js +4 -4
  140. package/src/sap/ui/core/date/UniversalDate.js +8 -8
  141. package/src/sap/ui/core/date/UniversalDateUtils.js +3 -3
  142. package/src/sap/ui/core/delegate/ItemNavigation.js +5 -5
  143. package/src/sap/ui/core/delegate/ScrollEnablement.js +7 -6
  144. package/src/sap/ui/core/dnd/DragAndDrop.js +14 -9
  145. package/src/sap/ui/core/dnd/DragDropBase.js +1 -2
  146. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -2
  147. package/src/sap/ui/core/dnd/DragInfo.js +1 -2
  148. package/src/sap/ui/core/dnd/DropInfo.js +1 -2
  149. package/src/sap/ui/core/format/DateFormat.js +14 -7
  150. package/src/sap/ui/core/format/DateFormatTimezoneDisplay.js +0 -1
  151. package/src/sap/ui/core/format/FileSizeFormat.js +4 -3
  152. package/src/sap/ui/core/format/ListFormat.js +4 -3
  153. package/src/sap/ui/core/format/NumberFormat.js +7 -6
  154. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  155. package/src/sap/ui/core/hyphenation/Hyphenation.js +7 -6
  156. package/src/sap/ui/core/library.js +3 -55
  157. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  158. package/src/sap/ui/core/message/Message.js +1 -1
  159. package/src/sap/ui/core/message/MessageManager.js +13 -23
  160. package/src/sap/ui/core/message/MessageParser.js +1 -1
  161. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  162. package/src/sap/ui/core/messagebundle_fr.properties +1 -1
  163. package/src/sap/ui/core/mvc/Controller.js +8 -3
  164. package/src/sap/ui/core/mvc/EventHandlerResolver.js +5 -3
  165. package/src/sap/ui/core/mvc/HTMLView.js +1 -2
  166. package/src/sap/ui/core/mvc/JSONView.js +1 -2
  167. package/src/sap/ui/core/mvc/JSView.js +2 -3
  168. package/src/sap/ui/core/mvc/TemplateView.js +1 -2
  169. package/src/sap/ui/core/mvc/View.js +21 -20
  170. package/src/sap/ui/core/mvc/ViewType.js +0 -1
  171. package/src/sap/ui/core/mvc/XMLView.js +18 -18
  172. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  173. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  174. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  175. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  176. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  177. package/src/sap/ui/core/routing/Router.js +1 -1
  178. package/src/sap/ui/core/routing/async/Target.js +4 -3
  179. package/src/sap/ui/core/rules/App.support.js +11 -13
  180. package/src/sap/ui/core/rules/Config.support.js +19 -17
  181. package/src/sap/ui/core/rules/CoreHelper.support.js +4 -4
  182. package/src/sap/ui/core/rules/Model.support.js +8 -8
  183. package/src/sap/ui/core/rules/Rendering.support.js +1 -1
  184. package/src/sap/ui/core/rules/Theming.support.js +8 -8
  185. package/src/sap/ui/core/rules/View.support.js +9 -9
  186. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -2
  187. package/src/sap/ui/core/search/SearchProvider.js +1 -3
  188. package/src/sap/ui/core/service/Service.js +1 -1
  189. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  190. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  191. package/src/sap/ui/core/support/Hotkeys.js +2 -3
  192. package/src/sap/ui/core/support/Plugin.js +1 -1
  193. package/src/sap/ui/core/support/Support.js +1 -1
  194. package/src/sap/ui/core/support/ToolsAPI.js +11 -13
  195. package/src/sap/ui/core/support/plugins/ControlTree.js +4 -4
  196. package/src/sap/ui/core/support/plugins/Debugging.js +3 -3
  197. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  198. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  199. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  200. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  201. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  202. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  203. package/src/sap/ui/core/support/plugins/ViewInfo.js +2 -2
  204. package/src/sap/ui/core/support/support.html +1 -1
  205. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +10 -8
  206. package/src/sap/ui/core/theming/Parameters.js +8 -15
  207. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -2
  208. package/src/sap/ui/core/tmpl/DOMElement.js +1 -4
  209. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  210. package/src/sap/ui/core/tmpl/Template.js +6 -5
  211. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -2
  212. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  213. package/src/sap/ui/core/util/Export.js +1 -1
  214. package/src/sap/ui/core/util/ExportCell.js +1 -1
  215. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  216. package/src/sap/ui/core/util/ExportRow.js +1 -1
  217. package/src/sap/ui/core/util/ExportType.js +1 -1
  218. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  219. package/src/sap/ui/core/util/File.js +1 -1
  220. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  221. package/src/sap/ui/core/util/MockServer.js +48 -72
  222. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  223. package/src/sap/ui/core/util/ResponsivePaddingsEnablement.js +4 -3
  224. package/src/sap/ui/core/util/XMLPreprocessor.js +2 -2
  225. package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +1 -1
  226. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  227. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  228. package/src/sap/ui/core/util/serializer/ViewSerializer.js +4 -4
  229. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  230. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  231. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  232. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  233. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  234. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  235. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  236. package/src/sap/ui/debug/ControlTree.js +3 -3
  237. package/src/sap/ui/debug/DebugEnv.js +4 -4
  238. package/src/sap/ui/debug/PropertyList.css +1 -31
  239. package/src/sap/ui/debug/PropertyList.js +6 -250
  240. package/src/sap/ui/dom/getScrollbarSize.js +1 -1
  241. package/src/sap/ui/dom/jquery/control.js +1 -0
  242. package/src/sap/ui/events/jquery/EventSimulation.js +4 -4
  243. package/src/sap/ui/model/ClientModel.js +1 -1
  244. package/src/sap/ui/model/ClientTreeBinding.js +3 -1
  245. package/src/sap/ui/model/CompositeDataState.js +1 -1
  246. package/src/sap/ui/model/CompositeType.js +1 -1
  247. package/src/sap/ui/model/Context.js +3 -0
  248. package/src/sap/ui/model/ContextBinding.js +1 -1
  249. package/src/sap/ui/model/DataState.js +2 -2
  250. package/src/sap/ui/model/ListBinding.js +2 -2
  251. package/src/sap/ui/model/ManagedObjectBindingSupport.js +871 -0
  252. package/src/sap/ui/model/MetaModel.js +1 -1
  253. package/src/sap/ui/model/Model.js +16 -5
  254. package/src/sap/ui/model/SelectionModel.js +1 -1
  255. package/src/sap/ui/model/SimpleType.js +2 -2
  256. package/src/sap/ui/model/Sorter.js +24 -19
  257. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  258. package/src/sap/ui/model/TreeBindingAdapter.js +3 -7
  259. package/src/sap/ui/model/Type.js +1 -1
  260. package/src/sap/ui/model/analytics/AnalyticalBinding.js +2 -0
  261. package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +5 -7
  262. package/src/sap/ui/model/json/JSONModel.js +9 -7
  263. package/src/sap/ui/model/message/MessageModel.js +1 -1
  264. package/src/sap/ui/model/odata/AnnotationHelper.js +4 -4
  265. package/src/sap/ui/model/odata/ODataAnnotations.js +5 -3
  266. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  267. package/src/sap/ui/model/odata/ODataMetaModel.js +10 -10
  268. package/src/sap/ui/model/odata/ODataMetadata.js +5 -4
  269. package/src/sap/ui/model/odata/ODataModel.js +6 -5
  270. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +0 -1
  271. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  272. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  273. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  274. package/src/sap/ui/model/odata/type/Date.js +1 -1
  275. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  276. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  277. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  278. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  279. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  280. package/src/sap/ui/model/odata/type/Double.js +1 -1
  281. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  282. package/src/sap/ui/model/odata/type/Int.js +1 -1
  283. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  284. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  285. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  286. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  287. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  288. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  289. package/src/sap/ui/model/odata/type/Single.js +1 -1
  290. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  291. package/src/sap/ui/model/odata/type/String.js +1 -1
  292. package/src/sap/ui/model/odata/type/Time.js +1 -1
  293. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  294. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  295. package/src/sap/ui/model/odata/v2/Context.js +5 -5
  296. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +4 -3
  297. package/src/sap/ui/model/odata/v2/ODataContextBinding.js +25 -16
  298. package/src/sap/ui/model/odata/v2/ODataListBinding.js +46 -28
  299. package/src/sap/ui/model/odata/v2/ODataModel.js +97 -39
  300. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +5 -5
  301. package/src/sap/ui/model/odata/v4/AnnotationHelper.js +3 -3
  302. package/src/sap/ui/model/odata/v4/Context.js +109 -71
  303. package/src/sap/ui/model/odata/v4/ODataBinding.js +50 -7
  304. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +88 -68
  305. package/src/sap/ui/model/odata/v4/ODataListBinding.js +116 -81
  306. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +23 -20
  307. package/src/sap/ui/model/odata/v4/ODataModel.js +350 -88
  308. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +35 -9
  309. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +15 -9
  310. package/src/sap/ui/model/odata/v4/ODataUtils.js +8 -5
  311. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +45 -33
  312. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +40 -6
  313. package/src/sap/ui/model/odata/v4/lib/_Cache.js +135 -81
  314. package/src/sap/ui/model/odata/v4/lib/_ConcatHelper.js +2 -3
  315. package/src/sap/ui/model/odata/v4/lib/_Helper.js +179 -36
  316. package/src/sap/ui/model/odata/v4/lib/_MinMaxHelper.js +2 -3
  317. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +26 -7
  318. package/src/sap/ui/model/resource/ResourceModel.js +8 -7
  319. package/src/sap/ui/model/type/Boolean.js +1 -1
  320. package/src/sap/ui/model/type/Currency.js +2 -2
  321. package/src/sap/ui/model/type/Date.js +1 -1
  322. package/src/sap/ui/model/type/DateInterval.js +1 -1
  323. package/src/sap/ui/model/type/DateTime.js +1 -1
  324. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  325. package/src/sap/ui/model/type/FileSize.js +1 -1
  326. package/src/sap/ui/model/type/Float.js +1 -1
  327. package/src/sap/ui/model/type/Integer.js +1 -1
  328. package/src/sap/ui/model/type/String.js +2 -2
  329. package/src/sap/ui/model/type/Time.js +1 -1
  330. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  331. package/src/sap/ui/model/type/Unit.js +5 -4
  332. package/src/sap/ui/model/xml/XMLModel.js +8 -6
  333. package/src/sap/ui/performance/trace/Interaction.js +1 -1
  334. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  335. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  336. package/src/sap/ui/test/Opa.js +7 -5
  337. package/src/sap/ui/test/Opa5.js +9 -15
  338. package/src/sap/ui/test/OpaBuilder.js +1 -1
  339. package/src/sap/ui/test/RecorderHotkeyListener.js +1 -1
  340. package/src/sap/ui/test/TestUtils.js +83 -1
  341. package/src/sap/ui/test/autowaiter/_autoWaiter.js +9 -0
  342. package/src/sap/ui/test/autowaiter/_cssAnimationWaiter.js +114 -0
  343. package/src/sap/ui/test/autowaiter/_cssTransitionWaiter.js +99 -0
  344. package/src/sap/ui/test/autowaiter/_jsAnimationWaiter.js +70 -0
  345. package/src/sap/ui/test/autowaiter/_resourceWaiter.js +3 -12
  346. package/src/sap/ui/test/autowaiter/_utils.js +13 -1
  347. package/src/sap/ui/test/generic/TestBase.js +1 -1
  348. package/src/sap/ui/test/matchers/Ancestor.js +1 -0
  349. package/src/sap/ui/test/matchers/Descendant.js +1 -0
  350. package/src/sap/ui/test/matchers/Sibling.js +1 -0
  351. package/src/sap/ui/util/Storage.js +1 -1
package/.reuse/dep5 CHANGED
@@ -43,6 +43,14 @@ License: Apache-2.0
43
43
  #
44
44
 
45
45
 
46
+ # Library: sap.m:
47
+
48
+ Files: src/sap.m/src/sap/m/_thirdparty/purify.js
49
+ Copyright: Mario Heiderich
50
+ License: Apache-2.0
51
+ Comment: these files belong to: purify.js
52
+
53
+
46
54
  # Library: sap.ui.codeeditor:
47
55
 
48
56
  Files: src/sap.ui.codeeditor/src/sap/ui/codeeditor/js/ace/*
@@ -127,17 +135,17 @@ Copyright:
127
135
  License: Apache-2.0 and MIT
128
136
  Comment: these files contain content from SAP and jQuery UI 1.11: zIndex.js is overall written by SAP, but contains an implementation of the function 'fnzIndex' which is taken from jQuery UI Datepicker 1.11.1
129
137
 
130
- Files: src/sap.ui.core/src/sap/ui/thirdparty/qunit.*
138
+ Files: src/sap.ui.core/src/sap/ui/thirdparty/qunit.css src/sap.ui.core/src/sap/ui/thirdparty/qunit.js
131
139
  Copyright: jQuery Foundation and other contributors
132
140
  License: MIT
133
141
  Comment: these files belong to: QUnit
134
142
 
135
- Files: src/sap.ui.core/src/sap/ui/thirdparty/qunit-2.*
143
+ Files: src/sap.ui.core/src/sap/ui/thirdparty/qunit-2.css src/sap.ui.core/src/sap/ui/thirdparty/qunit-2.js
136
144
  Copyright: jQuery Foundation and other contributors
137
145
  License: MIT
138
146
  Comment: these files belong to: QUnit 2
139
147
 
140
- Files: src/sap.ui.core/test/sap/ui/core/qunit/thirdparty/qunit-2.18.*
148
+ Files: src/sap.ui.core/test/sap/ui/core/qunit/thirdparty/qunit-2.18.css src/sap.ui.core/test/sap/ui/core/qunit/thirdparty/qunit-2.18.js
141
149
  Copyright: jQuery Foundation and other contributors
142
150
  License: MIT
143
151
  Comment: these files belong to: QUnit 2.18
@@ -159,7 +167,7 @@ Copyright:
159
167
  License: Apache-2.0 and MIT
160
168
  Comment: these files contain content from SAP and jQuery.rtl-scroll-type: _FeatureDetection.js is overall written by SAP, but contains code which is inspired by jQuery.rtl-scroll-type
161
169
 
162
- Files: src/sap.ui.core/src/sap/ui/thirdparty/qunit-composite.*
170
+ Files: src/sap.ui.core/src/sap/ui/thirdparty/qunit-composite.css src/sap.ui.core/src/sap/ui/thirdparty/qunit-composite.js
163
171
  Copyright: jQuery Foundation and other contributors
164
172
  License: MIT
165
173
  Comment: these files belong to: QUnit Composite
@@ -239,7 +247,7 @@ Copyright: 2010-2017, Christian Johansen, christian@cjohansen.no
239
247
  License: BSD-3-Clause
240
248
  Comment: these files belong to: SinonJS
241
249
 
242
- Files: src/sap.ui.core/test/sap/ui/core/qunit/thirdparty/sinon-14.0.*
250
+ Files: src/sap.ui.core/test/sap/ui/core/qunit/thirdparty/sinon-14.0.js
243
251
  Copyright: 2010-2022, Christian Johansen, christian@cjohansen.no
244
252
  License: BSD-3-Clause
245
253
  Comment: these files belong to: SinonJS 14
@@ -313,7 +321,7 @@ Copyright: 2018 Michael Mclaughlin
313
321
  License: MIT
314
322
  Comment: these files belong to: bignumber.js
315
323
 
316
- Files: src/sap.ui.core/src/sap/ui/base/util/restricted/_/lodash.custom.js
324
+ Files: src/sap.ui.core/src/sap/base/util/restricted/_/lodash.custom.js
317
325
  Copyright: OpenJS Foundation and other contributors
318
326
  License: MIT
319
327
  Comment: these files belong to: lodash
@@ -323,7 +331,7 @@ Copyright: 2021 Mathias Nater
323
331
  License: MIT
324
332
  Comment: these files belong to: Hyphenopoly
325
333
 
326
- Files: src/sap.ui.core/src/sap/ui/base/util/restricted/_CancelablePromise.js
334
+ Files: src/sap.ui.core/src/sap/base/util/restricted/_CancelablePromise.js
327
335
  Copyright:
328
336
  Sindre Sorhus <sindresorhus@gmail.com>
329
337
  2014-present Sebastian McKenzie and other contributors
@@ -418,16 +426,6 @@ License: MIT
418
426
  Comment: these files belong to: @cfworker/json-schema
419
427
 
420
428
 
421
- # Library: sap.ui.mdc:
422
-
423
- Files: src/sap.ui.mdc/test/sap/ui/mdc/sample/field/filterfieldwithoperators/BoolExprTool.js
424
- Copyright:
425
- 2009-2022 SAP SE or an SAP affiliate company and OpenUI5 contributors
426
- 2015 unnikked
427
- License: Apache-2.0 and MIT
428
- Comment: these files contain content from SAP and BooleanExpressionEvaluator: BoolExprTool.js is authored by SAP, but partly inspired by BooleanExpressionEvaluator
429
-
430
-
431
429
  # Library: sap.ui.webc.common:
432
430
 
433
431
  Files: src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/base/*.* src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/theming/*.* src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/localization/*.* src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/icons/*.* src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/icons-tnt/*.* src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/icons-business-suite/*.*
@@ -448,6 +446,11 @@ Copyright: SAP
448
446
  License: Apache-2.0
449
447
  Comment: these files belong to: UI5 Web Components
450
448
 
449
+ Files: src/sap.ui.webc.fiori/src/sap/ui/webc/fiori/lib/zxing.js
450
+ Copyright: 2005 Sun Microsystems, Inc.; 2010-2014 University of Manchester; 2010-2015 Stian Soiland-Reyes; 2015 Peter Hull
451
+ License: Apache-2.0
452
+ Comment: these files belong to: ZXing
453
+
451
454
 
452
455
  # Library: sap.ui.webc.main:
453
456
 
package/THIRDPARTY.txt CHANGED
@@ -4,6 +4,15 @@ each subcomponent.
4
4
  The full text of all referenced licenses is appended at the end of this file.
5
5
 
6
6
 
7
+ Library: sap.m:
8
+
9
+ Component: purify.js, version: 2.3.8
10
+ Copyright: Mario Heiderich
11
+ License: Apache-2.0
12
+ License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
13
+ Contained in: src/sap.m/src/sap/m/_thirdparty/purify.js
14
+
15
+
7
16
  Library: sap.ui.codeeditor:
8
17
 
9
18
  Component: Ace (Ajax.org Cloud9 Editor), version: 1.4.13
@@ -68,19 +77,22 @@ Component: QUnit, version: 1.18.0
68
77
  Copyright: jQuery Foundation and other contributors
69
78
  License: MIT
70
79
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
71
- Contained in: src/sap.ui.core/src/sap/ui/thirdparty/qunit.*
80
+ Contained in: src/sap.ui.core/src/sap/ui/thirdparty/qunit.css
81
+ src/sap.ui.core/src/sap/ui/thirdparty/qunit.js
72
82
 
73
83
  Component: QUnit 2, version: 2.3.2
74
84
  Copyright: jQuery Foundation and other contributors
75
85
  License: MIT
76
86
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
77
- Contained in: src/sap.ui.core/src/sap/ui/thirdparty/qunit-2.*
87
+ Contained in: src/sap.ui.core/src/sap/ui/thirdparty/qunit-2.css
88
+ src/sap.ui.core/src/sap/ui/thirdparty/qunit-2.js
78
89
 
79
90
  Component: QUnit 2.18, version: 2.18.0
80
91
  Copyright: jQuery Foundation and other contributors
81
92
  License: MIT
82
93
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
83
- Contained in: src/sap.ui.core/test/sap/ui/core/qunit/thirdparty/qunit-2.18.*
94
+ Contained in: src/sap.ui.core/test/sap/ui/core/qunit/thirdparty/qunit-2.18.css
95
+ src/sap.ui.core/test/sap/ui/core/qunit/thirdparty/qunit-2.18.js
84
96
 
85
97
  Component: jQuery-Migrate, version: 3.3.1
86
98
  Copyright: OpenJS Foundation and other contributors
@@ -104,7 +116,8 @@ Component: QUnit Composite, version: 1.0.2-pre
104
116
  Copyright: jQuery Foundation and other contributors
105
117
  License: MIT
106
118
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
107
- Contained in: src/sap.ui.core/src/sap/ui/thirdparty/qunit-composite.*
119
+ Contained in: src/sap.ui.core/src/sap/ui/thirdparty/qunit-composite.css
120
+ src/sap.ui.core/src/sap/ui/thirdparty/qunit-composite.js
108
121
 
109
122
  Component: JUnit Reporter for QUnit, version: 1.1.1
110
123
  Copyright: jQuery Foundation and other contributors
@@ -201,7 +214,7 @@ Component: SinonJS 14, version: 14.0.0
201
214
  Copyright: 2010-2022, Christian Johansen, christian@cjohansen.no
202
215
  License: BSD-3-Clause
203
216
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/BSD-3-Clause.txt
204
- Contained in: src/sap.ui.core/test/sap/ui/core/qunit/thirdparty/sinon-14.0.*
217
+ Contained in: src/sap.ui.core/test/sap/ui/core/qunit/thirdparty/sinon-14.0.js
205
218
 
206
219
  Component: Sinon-qunit, version: 2.0.0
207
220
  Copyright: 2010-2011, Christian Johansen
@@ -289,7 +302,7 @@ Component: lodash, version: 4.17.21
289
302
  Copyright: OpenJS Foundation and other contributors
290
303
  License: MIT
291
304
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
292
- Contained in: src/sap.ui.core/src/sap/ui/base/util/restricted/_/lodash.custom.js
305
+ Contained in: src/sap.ui.core/src/sap/base/util/restricted/_/lodash.custom.js
293
306
 
294
307
  Component: Hyphenopoly, version: 3.4.0
295
308
  Copyright: 2021 Mathias Nater
@@ -301,13 +314,13 @@ Component: p-cancelable, version: 2.0.0
301
314
  Copyright: Sindre Sorhus <sindresorhus@gmail.com>
302
315
  License: MIT
303
316
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
304
- Contained in: src/sap.ui.core/src/sap/ui/base/util/restricted/_CancelablePromise.js
317
+ Contained in: src/sap.ui.core/src/sap/base/util/restricted/_CancelablePromise.js
305
318
 
306
319
  Component: @babel/helpers, version: 7.10.4
307
320
  Copyright: 2014-present Sebastian McKenzie and other contributors
308
321
  License: MIT
309
322
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
310
- Contained in: src/sap.ui.core/src/sap/ui/base/util/restricted/_CancelablePromise.js
323
+ Contained in: src/sap.ui.core/src/sap/base/util/restricted/_CancelablePromise.js
311
324
 
312
325
  Component: Jalaali JS
313
326
  Copyright: Behrang Norouzinia
@@ -407,18 +420,9 @@ License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
407
420
  Contained in: src/sap.ui.integration/test/sap/ui/integration/demokit/cardExplorer/webapp/thirdparty/CfWorkerJsonSchemaValidator.js
408
421
 
409
422
 
410
- Library: sap.ui.mdc:
411
-
412
- Component: BooleanExpressionEvaluator, version: master-18530acbf3
413
- Copyright: 2015 unnikked
414
- License: MIT
415
- License Text: https://github.com/SAP/openui5/blob/master/LICENSES/MIT.txt
416
- Contained in: src/sap.ui.mdc/test/sap/ui/mdc/sample/field/filterfieldwithoperators/BoolExprTool.js
417
-
418
-
419
423
  Library: sap.ui.webc.common:
420
424
 
421
- Component: UI5 Web Components, version: 1.1.2
425
+ Component: UI5 Web Components, version: 1.5.0
422
426
  Copyright: SAP
423
427
  License: Apache-2.0
424
428
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
@@ -429,7 +433,7 @@ Contained in: src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/base/*.*
429
433
  src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/icons-tnt/*.*
430
434
  src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/icons-business-suite/*.*
431
435
 
432
- Component: lit-html, version: 2.0.1
436
+ Component: lit-html, version: 2.2.2
433
437
  Copyright: Google LLC
434
438
  License: BSD-3-Clause
435
439
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/BSD-3-Clause.txt
@@ -438,16 +442,22 @@ Contained in: src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/lit-html/
438
442
 
439
443
  Library: sap.ui.webc.fiori:
440
444
 
441
- Component: UI5 Web Components, version: 1.1.2
445
+ Component: UI5 Web Components, version: 1.5.0
442
446
  Copyright: SAP
443
447
  License: Apache-2.0
444
448
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
445
449
  Contained in: src/sap.ui.webc.fiori/src/sap/ui/webc/fiori/thirdparty/*.*
446
450
 
451
+ Component: ZXing, version: 0.19.1
452
+ Copyright: 2005 Sun Microsystems, Inc.; 2010-2014 University of Manchester; 2010-2015 Stian Soiland-Reyes; 2015 Peter Hull
453
+ License: Apache-2.0
454
+ License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
455
+ Contained in: src/sap.ui.webc.fiori/src/sap/ui/webc/fiori/lib/zxing.js
456
+
447
457
 
448
458
  Library: sap.ui.webc.main:
449
459
 
450
- Component: UI5 Web Components, version: 1.1.2
460
+ Component: UI5 Web Components, version: 1.5.0
451
461
  Copyright: SAP
452
462
  License: Apache-2.0
453
463
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openui5/sap.ui.core",
3
- "version": "1.105.1",
3
+ "version": "1.107.0",
4
4
  "description": "OpenUI5 Core Library sap.ui.core",
5
5
  "author": "SAP SE (https://www.sap.com)",
6
6
  "license": "Apache-2.0",
@@ -39,7 +39,7 @@ sap.ui.define([
39
39
  *
40
40
  * @param {string} sId The id of the DOM element to return
41
41
  * @param {Window} [oWindow=window] The window (optional)
42
- * @return {Element} The DOMNode identified by the given sId
42
+ * @returns {Element|null} The DOMNode identified by the given sId, or <code>null</code>
43
43
  * @public
44
44
  * @since 0.9.0
45
45
  * @deprecated since 1.58 use <code>document.getElementById</code> instead
@@ -58,7 +58,7 @@ sap.ui.define([
58
58
  *
59
59
  * @param {string} sId The id to search for and construct the jQuery object
60
60
  * @param {Element} oContext the context DOM Element
61
- * @return {Object} The jQuery object for the DOM element identified by the given sId
61
+ * @returns {jQuery} The jQuery object for the DOM element identified by the given sId
62
62
  * @public
63
63
  * @since 0.9.1
64
64
  * @function
@@ -81,7 +81,7 @@ sap.ui.define([
81
81
  * Calls focus() on the given DOM element.
82
82
  *
83
83
  * @param {Element} oDomRef The DOM element to focus (or null - in this case the method does nothing)
84
- * @return {boolean} Whether the focus() command was executed without an error
84
+ * @returns {boolean|undefined} <code>true</code> when the focus() command was executed without an error, otherwise undefined.
85
85
  * @public
86
86
  * @since 1.1.2
87
87
  * @function
@@ -120,7 +120,7 @@ sap.ui.define([
120
120
  /**
121
121
  * Returns the outer HTML of the given HTML element.
122
122
  *
123
- * @return {string} outer HTML
123
+ * @returns {string} outer HTML
124
124
  * @public
125
125
  * @name jQuery#outerHTML
126
126
  * @author SAP SE
@@ -153,7 +153,7 @@ sap.ui.define([
153
153
  *
154
154
  * @param {Element} oDomRefContainer The container element
155
155
  * @param {Element} oDomRefChild The child element (must not be a text node, must be an element)
156
- * @return {boolean} Whether <code>oDomRefChild</code> is contained in or equal to <code>oDomRefContainer</code>
156
+ * @returns {boolean} Whether <code>oDomRefChild</code> is contained in or equal to <code>oDomRefContainer</code>
157
157
  * @public
158
158
  * @author SAP SE
159
159
  * @since 0.9.0
@@ -174,7 +174,7 @@ sap.ui.define([
174
174
  *
175
175
  * @param {int} iNormalizedScrollLeft The distance from the leftmost position to which the element should be scrolled
176
176
  * @param {Element} oDomRef The DOM Element to which scrollLeft will be applied
177
- * @return {int} The scroll position that must be set for the DOM element
177
+ * @returns {int} The scroll position that must be set for the DOM element
178
178
  * @public
179
179
  * @author SAP SE
180
180
  * @since 0.20.0
@@ -199,7 +199,7 @@ sap.ui.define([
199
199
  *
200
200
  * @param {int} iNormalizedScrollBegin The distance from the rightmost position to which the element should be scrolled
201
201
  * @param {Element} oDomRef The DOM Element to which scrollLeft will be applied
202
- * @return {int} The scroll position that must be set for the DOM element
202
+ * @returns {int} The scroll position that must be set for the DOM element
203
203
  * @public
204
204
  * @author SAP SE
205
205
  * @since 1.26.1
@@ -234,7 +234,7 @@ sap.ui.define([
234
234
  * Returns the window reference for a DomRef.
235
235
  *
236
236
  * @param {Element} oDomRef The DOM reference
237
- * @return {Window} Window reference
237
+ * @returns {Window} Window reference
238
238
  * @public
239
239
  * @since 0.9.0
240
240
  * @function
@@ -249,7 +249,7 @@ sap.ui.define([
249
249
  *
250
250
  * @param {string} [sClasses=null] the CSS class that should be added to the test element.
251
251
  * @param {boolean} [bForce=false] force recalculation of size (e.g. when CSS was changed). When no classes are passed all calculated sizes are reset.
252
- * @return {object} JSON object with properties <code>width</code> and <code>height</code> (the values are of type number and are pixels).
252
+ * @returns {{width: number, height: number}} JSON object with properties <code>width</code> and <code>height</code> (the values are of type number and are pixels).
253
253
  * @public
254
254
  * @since 1.4.0
255
255
  * @function
@@ -265,7 +265,7 @@ sap.ui.define([
265
265
  * @param {string} sStyleClass CSS class name
266
266
  * @param {jQuery|sap.ui.core.Control|string} vSource jQuery object, control or an id of the source element.
267
267
  * @param {jQuery|sap.ui.core.Control} vDestination target jQuery object or a control.
268
- * @return {jQuery|Element} Target element
268
+ * @returns {jQuery|Element} Target element
269
269
  * @public
270
270
  * @since 1.22
271
271
  * @function
@@ -4,8 +4,6 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
7
- /*global XMLHttpRequest, localStorage, alert, document */
8
-
9
7
  /**
10
8
  * Provides base functionality of the SAP jQuery plugin as extension of the jQuery framework.<br/>
11
9
  * See also <a href="http://api.jquery.com/jQuery/">jQuery</a> for details.<br/>
@@ -33,6 +31,7 @@ sap.ui.define([
33
31
 
34
32
  // former sap-ui-core.js dependencies
35
33
  "sap/ui/Device",
34
+ "sap/ui/core/Configuration",
36
35
 
37
36
  "sap/ui/thirdparty/jquery",
38
37
  "sap/ui/thirdparty/jqueryui/jquery-ui-position",
@@ -48,6 +47,7 @@ sap.ui.define([
48
47
  syncXHRFix, LoaderExtensions,
49
48
 
50
49
  Device,
50
+ Configuration,
51
51
 
52
52
  jQuery /*, jqueryUiPosition, ui5loaderAutoconfig, jquerySapStubs, URI, PasteEventFix */) {
53
53
  "use strict";
@@ -64,15 +64,6 @@ sap.ui.define([
64
64
 
65
65
  var _ui5loader = ui5loader._;
66
66
 
67
- // early logging support
68
- var _earlyLogs = [];
69
- function _earlyLog(sLevel, sMessage) {
70
- _earlyLogs.push({
71
- level: sLevel,
72
- message: sMessage
73
- });
74
- }
75
-
76
67
  var oJQVersion = Version(jQuery.fn.jquery);
77
68
 
78
69
  (function() {
@@ -185,190 +176,33 @@ sap.ui.define([
185
176
  syncXHRFix();
186
177
  }
187
178
 
188
- /*
189
- * Merged, raw (un-interpreted) configuration data from the following sources
190
- * (last one wins)
191
- * <ol>
192
- * <li>global configuration object <code>window["sap-ui-config"]</code> (could be either a string/url or a conffiguration object)</li>
193
- * <li><code>data-sap-ui-config</code> attribute of the bootstrap script tag</li>
194
- * <li>other <code>data-sap-ui-<i>xyz</i></code> attributes of the bootstrap tag</li>
195
- * </ol>
196
- */
197
- var oCfgData = window["sap-ui-config"] = (function() {
198
- function normalize(o) {
199
- for (var i in o) {
200
- var v = o[i];
201
- var il = i.toLowerCase();
202
- if ( !o.hasOwnProperty(il) ) {
203
- o[il] = v;
204
- delete o[i];
205
- }
206
- }
207
- return o;
208
- }
209
-
210
- function loadExternalConfig(url) {
211
- var sCfgFile = "sap-ui-config.json",
212
- config;
213
-
214
- Log.warning("Loading external bootstrap configuration from \"" + url + "\". This is a design time feature and not for productive usage!");
215
- if (url !== sCfgFile) {
216
- Log.warning("The external bootstrap configuration file should be named \"" + sCfgFile + "\"!");
217
- }
218
-
219
- var xhr = new XMLHttpRequest();
220
- xhr.addEventListener('load', function(e) {
221
- if ( xhr.status === 200 && xhr.responseText ) {
222
- try {
223
- config = JSON.parse( xhr.responseText );
224
- } catch (error) {
225
- Log.error("Parsing externalized bootstrap configuration from \"" + url + "\" failed! Reason: " + error + "!");
226
- }
227
- } else {
228
- Log.error("Loading externalized bootstrap configuration from \"" + url + "\" failed! Response: " + xhr.status + "!");
229
- }
230
- });
231
- xhr.open('GET', url, false);
232
- try {
233
- xhr.send();
234
- } catch (error) {
235
- Log.error("Loading externalized bootstrap configuration from \"" + url + "\" failed! Reason: " + error + "!");
236
- }
237
-
238
- config = config || {};
239
- config.__loaded = true; // mark config as 'being loaded', needed to detect sync call
240
-
241
- return config;
242
- }
243
-
244
- function getInfo() {
245
- function check(oScript, rUrlPattern) {
246
- var sUrl = oScript && oScript.getAttribute("src");
247
- var oMatch = rUrlPattern.exec(sUrl);
248
- if ( oMatch ) {
249
- return {
250
- tag: oScript,
251
- url: sUrl,
252
- resourceRoot: oMatch[1] || ""
253
- };
254
- }
255
- }
256
-
257
- var rResources = /^((?:.*\/)?resources\/)/,
258
- rBootScripts, aScripts, i, oResult;
259
-
260
- // Prefer script tags which have the sap-ui-bootstrap ID
261
- // This prevents issues when multiple script tags point to files named
262
- // "sap-ui-core.js", for example when using the cache buster for UI5 resources
263
- oResult = check(document.querySelector('SCRIPT[src][id=sap-ui-bootstrap]'), rResources);
264
-
265
- if ( !oResult ) {
266
- aScripts = document.querySelectorAll('SCRIPT[src]');
267
- rBootScripts = /^([^?#]*\/)?(?:sap-ui-(?:core|custom|boot|merged)(?:-[^?#/]*)?|jquery.sap.global|ui5loader(?:-autoconfig)?)\.js(?:[?#]|$)/;
268
- for ( i = 0; i < aScripts.length; i++ ) {
269
- oResult = check(aScripts[i], rBootScripts);
270
- if ( oResult ) {
271
- break;
272
- }
273
- }
274
- }
275
-
276
- return oResult || {};
277
- }
278
-
279
- var _oBootstrap = getInfo(),
280
- oScriptTag = _oBootstrap.tag,
281
- oCfg = window["sap-ui-config"];
282
-
283
- // load the configuration from an external JSON file
284
- if (typeof oCfg === "string") {
285
- oCfg = loadExternalConfig(oCfg);
286
- }
287
-
288
- oCfg = normalize(oCfg || {});
289
- oCfg.resourceroots = oCfg.resourceroots || {};
290
- oCfg.themeroots = oCfg.themeroots || {};
291
-
292
- // map loadall mode to sync preload mode
293
- if ( /(^|\/)(sap-?ui5|[^\/]+-all).js([?#]|$)/.test(_oBootstrap.url) ) {
294
- Log.error(
295
- "The all-in-one file 'sap-ui-core-all.js' has been abandoned in favour of standard preloads." +
296
- " Please migrate to sap-ui-core.js and consider to use async preloads.");
297
- oCfg.preload = 'sync';
298
- }
299
-
300
- // if a script tag has been identified, collect its configuration info
301
- if ( oScriptTag ) {
302
- // evaluate the config attribute first - if present
303
- var sConfig = oScriptTag.getAttribute("data-sap-ui-config");
304
- if ( sConfig ) {
305
- try {
306
- var oParsedConfig;
307
- try {
308
- // first try to parse the config as a plain JSON
309
- oParsedConfig = JSON.parse("{" + sConfig + "}");
310
- } catch (e) {
311
- // if the JSON.parse fails, we fall back to the more lenient "new Function" eval for compatibility reasons
312
- Log.error("JSON.parse on the data-sap-ui-config attribute failed. Please check the config for JSON syntax violations.");
313
- /*eslint-disable no-new-func */
314
- oParsedConfig = (new Function("return {" + sConfig + "};"))();
315
- /*eslint-enable no-new-func */
316
- }
317
- Object.assign(oCfg, normalize(oParsedConfig));
318
- } catch (e) {
319
- // no log yet, how to report this error?
320
- Log.error("failed to parse data-sap-ui-config attribute: " + (e.message || e));
321
- }
322
- }
323
-
324
- // merge with any existing "data-sap-ui-" attributes
325
- for (var i = 0; i < oScriptTag.attributes.length; i++) {
326
- var attr = oScriptTag.attributes[i];
327
- var m = attr.name.match(/^data-sap-ui-(.*)$/);
328
- if ( m ) {
329
- // the following (deactivated) conversion would implement multi-word names like "resource-roots"
330
- m = m[1].toLowerCase(); // .replace(/\-([a-z])/g, function(s,w) { return w.toUpperCase(); })
331
- if ( m === 'resourceroots' ) {
332
- // merge map entries instead of overwriting map
333
- Object.assign(oCfg[m], JSON.parse(attr.value));
334
- } else if ( m === 'theme-roots' ) {
335
- // merge map entries, but rename to camelCase
336
- Object.assign(oCfg.themeroots, JSON.parse(attr.value));
337
- } else if ( m !== 'config' ) {
338
- oCfg[m] = attr.value;
339
- }
340
- }
341
- }
179
+ // Normalize configuration to stay compatible
180
+ // Previously the sap/ui/core/_ConfigurationProvider code (incl. normalization)
181
+ // was executed here. Since we moved the coding to an own module which is
182
+ // a dependency of sap/ui/core/Configuration it's possible, that someone requires
183
+ // the configuration and normalizes the window['sap-ui-config'] object at an
184
+ // earlier point in time. To avoid, that someone adds configuration parameters
185
+ // to the window object inbetween normalization done by _ConfigurationProvider
186
+ // and the usage within jquery.sap.global we normalize here again.
187
+ var oCfg = window["sap-ui-config"];
188
+ for (var sKey in oCfg) {
189
+ var vValue = oCfg[sKey];
190
+ var sLowerCaseKey = sKey.toLowerCase();
191
+ if ( !oCfg.hasOwnProperty(sLowerCaseKey) ) {
192
+ oCfg[sLowerCaseKey] = vValue;
193
+ delete oCfg[sKey];
342
194
  }
343
-
344
- return oCfg;
345
- }());
346
-
347
- var syncCallBehavior = 0; // ignore
348
- if ( oCfgData['xx-nosync'] === 'warn' || /(?:\?|&)sap-ui-xx-nosync=(?:warn)/.exec(window.location.search) ) {
349
- syncCallBehavior = 1;
350
- }
351
- if ( oCfgData['xx-nosync'] === true || oCfgData['xx-nosync'] === 'true' || /(?:\?|&)sap-ui-xx-nosync=(?:x|X|true)/.exec(window.location.search) ) {
352
- syncCallBehavior = 2;
353
- }
354
-
355
- ui5loader.config({
356
- reportSyncCalls: syncCallBehavior
357
- });
358
-
359
- if ( syncCallBehavior && oCfgData.__loaded ) {
360
- _earlyLog(syncCallBehavior === 1 ? "warning" : "error", "[nosync]: configuration loaded via sync XHR");
361
195
  }
362
196
 
363
197
  // check whether noConflict must be used...
364
- if ( oCfgData.noconflict === true || oCfgData.noconflict === "true" || oCfgData.noconflict === "x" ) {
198
+ if ( Configuration.getValue("noConflict") ) {
365
199
  jQuery.noConflict();
366
200
  }
367
201
 
368
202
  /**
369
203
  * Root Namespace for the jQuery plug-in provided by SAP SE.
370
204
  *
371
- * @version 1.105.1
205
+ * @version 1.107.0
372
206
  * @namespace
373
207
  * @public
374
208
  * @static
@@ -958,24 +792,6 @@ sap.ui.define([
958
792
  }
959
793
  };
960
794
 
961
- // evaluate configuration
962
- oCfgData.loglevel = (function() {
963
- var m = /(?:\?|&)sap-ui-log(?:L|-l)evel=([^&]*)/.exec(window.location.search);
964
- return m && m[1];
965
- }()) || oCfgData.loglevel;
966
- if ( oCfgData.loglevel ) {
967
- Log.setLevel(Log.Level[oCfgData.loglevel.toUpperCase()] || parseInt(oCfgData.loglevel));
968
- } else if (!window["sap-ui-optimized"]) {
969
- Log.setLevel(Log.Level.DEBUG);
970
- }
971
-
972
- Log.info("SAP Logger started.");
973
- // log early logs
974
- jQuery.each(_earlyLogs, function(i,e) {
975
- Log[e.level](e.message);
976
- });
977
- _earlyLogs = null;
978
-
979
795
  // ------------------------------------------- OBJECT --------------------------------------------------------
980
796
 
981
797
  /**
@@ -1091,7 +907,7 @@ sap.ui.define([
1091
907
  iEndCreate = isNaN(iNoCreates) ? 0 : l - iNoCreates,
1092
908
  i;
1093
909
 
1094
- if ( syncCallBehavior && oContext === window ) {
910
+ if ( Configuration.getSyncCallBehavior() && oContext === window ) {
1095
911
  Log.error("[nosync] getObject called to retrieve global name '" + sName + "'");
1096
912
  }
1097
913
 
@@ -1490,7 +1306,7 @@ sap.ui.define([
1490
1306
  * @private
1491
1307
  */
1492
1308
  var oLog = _ui5loader.logger = Log.getLogger("sap.ui.ModuleSystem",
1493
- (/sap-ui-xx-debug(M|-m)odule(L|-l)oading=(true|x|X)/.test(location.search) || oCfgData["xx-debugModuleLoading"]) ? Log.Level.DEBUG : Math.min(Log.getLevel(), Log.Level.INFO)
1309
+ (/sap-ui-xx-debug(M|-m)odule(L|-l)oading=(true|x|X)/.test(location.search) || Configuration.getValue("xx-debugModuleLoading")) ? Log.Level.DEBUG : Math.min(Log.getLevel(), Log.Level.INFO)
1494
1310
  ),
1495
1311
 
1496
1312
  mKnownSubtypes = LoaderExtensions.getKnownSubtypes(),
@@ -1772,14 +1588,6 @@ sap.ui.define([
1772
1588
  */
1773
1589
  jQuery.sap.getAllDeclaredModules = LoaderExtensions.getAllRequiredModules;
1774
1590
 
1775
-
1776
- // take resource roots from configuration
1777
- var paths = {};
1778
- for ( var n in oCfgData.resourceroots ) {
1779
- paths[ui5ToRJS(n)] = oCfgData.resourceroots[n] || ".";
1780
- }
1781
- ui5loader.config({paths: paths});
1782
-
1783
1591
  var mUrlPrefixes = _ui5loader.getUrlPrefixes();
1784
1592
  // dump the URL prefixes
1785
1593
  oLog.info("URL prefixes set to:");
@@ -2131,9 +1939,9 @@ sap.ui.define([
2131
1939
  // --------------------- support hooks ---------------------------------------------------------
2132
1940
 
2133
1941
  // TODO should be in core, but then the 'callback' could not be implemented
2134
- if ( !(oCfgData.productive === true || oCfgData.productive === "true" || oCfgData.productive === "x") ) {
2135
- SupportHotkeys.init(getModuleSystemInfo, oCfgData);
2136
- TestRecorderHotkeyListener.init(getModuleSystemInfo, oCfgData);
1942
+ if ( !Configuration.getValue("productive") ) {
1943
+ SupportHotkeys.init(getModuleSystemInfo);
1944
+ TestRecorderHotkeyListener.init(getModuleSystemInfo);
2137
1945
  }
2138
1946
 
2139
1947
  // -----------------------------------------------------------------------
@@ -217,7 +217,7 @@ sap.ui.define([
217
217
  * @param {function} fn The function that will be called when the identifier is matched with the hash.
218
218
  * @param {object} [oThis] If oThis is provided, the fn function's this keyword will be bound to this object.
219
219
  *
220
- * @returns {object} It returns the this object to enable chaining.
220
+ * @returns {this} It returns the this object to enable chaining.
221
221
  *
222
222
  * @function
223
223
  * @public