@openui5/sap.ui.core 1.91.0 → 1.93.2

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 (373) hide show
  1. package/.eslintrc.json +37 -0
  2. package/.reuse/dep5 +46 -0
  3. package/THIRDPARTY.txt +59 -1
  4. package/package.json +1 -1
  5. package/src/jquery.sap.global.js +6 -2
  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 +7 -4
  10. package/src/jquery.sap.stubs.js +0 -1
  11. package/src/sap/base/i18n/ResourceBundle.js +2 -2
  12. package/src/sap/base/security/encodeCSS.js +1 -0
  13. package/src/sap/base/security/encodeJS.js +1 -0
  14. package/src/sap/base/security/encodeURL.js +1 -0
  15. package/src/sap/base/security/encodeXML.js +2 -0
  16. package/src/sap/base/util/LoaderExtensions.js +1 -1
  17. package/src/sap/base/util/Properties.js +4 -1
  18. package/src/sap/base/util/isEmptyObject.js +1 -2
  19. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  20. package/src/sap/base/util/restricted/_castArray.js +1 -1
  21. package/src/sap/base/util/restricted/_compact.js +1 -1
  22. package/src/sap/base/util/restricted/_curry.js +1 -1
  23. package/src/sap/base/util/restricted/_debounce.js +1 -1
  24. package/src/sap/base/util/restricted/_difference.js +1 -1
  25. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  26. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  27. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  28. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  29. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  30. package/src/sap/base/util/restricted/_flatten.js +1 -1
  31. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  32. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  33. package/src/sap/base/util/restricted/_intersection.js +1 -1
  34. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  35. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  36. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  37. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  38. package/src/sap/base/util/restricted/_isNil.js +1 -1
  39. package/src/sap/base/util/restricted/_max.js +1 -1
  40. package/src/sap/base/util/restricted/_merge.js +1 -1
  41. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  42. package/src/sap/base/util/restricted/_min.js +1 -1
  43. package/src/sap/base/util/restricted/_omit.js +1 -1
  44. package/src/sap/base/util/restricted/_pick.js +1 -1
  45. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  46. package/src/sap/base/util/restricted/_throttle.js +1 -1
  47. package/src/sap/base/util/restricted/_toArray.js +1 -1
  48. package/src/sap/base/util/restricted/_union.js +1 -1
  49. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  50. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  51. package/src/sap/base/util/restricted/_uniq.js +1 -1
  52. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  53. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  54. package/src/sap/base/util/restricted/_without.js +1 -1
  55. package/src/sap/base/util/restricted/_xor.js +1 -1
  56. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  57. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  58. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  59. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  60. package/src/sap/ui/Device.js +10 -10
  61. package/src/sap/ui/Global.js +4 -4
  62. package/src/sap/ui/VersionInfo.js +1 -0
  63. package/src/sap/ui/base/DataType.js +1 -0
  64. package/src/sap/ui/base/Event.js +1 -1
  65. package/src/sap/ui/base/EventProvider.js +1 -1
  66. package/src/sap/ui/base/Interface.js +1 -1
  67. package/src/sap/ui/base/ManagedObject.js +121 -18
  68. package/src/sap/ui/base/ManagedObjectMetadata.js +13 -4
  69. package/src/sap/ui/base/Metadata.js +1 -1
  70. package/src/sap/ui/base/Object.js +1 -1
  71. package/src/sap/ui/base/ObjectPool.js +1 -1
  72. package/src/sap/ui/core/.library +4 -2
  73. package/src/sap/ui/core/BusyIndicator.js +1 -1
  74. package/src/sap/ui/core/BusyIndicatorUtils.js +4 -1
  75. package/src/sap/ui/core/Component.js +144 -43
  76. package/src/sap/ui/core/ComponentContainer.js +51 -2
  77. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  78. package/src/sap/ui/core/ComponentSupport.js +1 -1
  79. package/src/sap/ui/core/Configuration.js +2 -1
  80. package/src/sap/ui/core/Control.js +1 -1
  81. package/src/sap/ui/core/Core.js +20 -22
  82. package/src/sap/ui/core/CustomData.js +1 -1
  83. package/src/sap/ui/core/CustomizingConfiguration.js +2 -2
  84. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  85. package/src/sap/ui/core/Element.js +1 -1
  86. package/src/sap/ui/core/ElementMetadata.js +1 -3
  87. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  88. package/src/sap/ui/core/EventBus.js +1 -1
  89. package/src/sap/ui/core/ExtensionPoint.js +59 -16
  90. package/src/sap/ui/core/Fragment.js +3 -3
  91. package/src/sap/ui/core/HTML.js +1 -1
  92. package/src/sap/ui/core/History.js +1 -1
  93. package/src/sap/ui/core/Icon.js +1 -1
  94. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  95. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  96. package/src/sap/ui/core/InvisibleMessage.js +9 -1
  97. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  98. package/src/sap/ui/core/InvisibleText.js +1 -1
  99. package/src/sap/ui/core/Item.js +1 -1
  100. package/src/sap/ui/core/LabelEnablement.js +1 -1
  101. package/src/sap/ui/core/LayoutData.js +1 -1
  102. package/src/sap/ui/core/ListItem.js +1 -1
  103. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  104. package/src/sap/ui/core/Locale.js +1 -1
  105. package/src/sap/ui/core/LocaleData.js +15 -1328
  106. package/src/sap/ui/core/Manifest.js +124 -69
  107. package/src/sap/ui/core/Message.js +1 -1
  108. package/src/sap/ui/core/Patcher.js +143 -153
  109. package/src/sap/ui/core/Placeholder.js +173 -0
  110. package/src/sap/ui/core/Popup.js +29 -5
  111. package/src/sap/ui/core/RenderManager.js +344 -104
  112. package/src/sap/ui/core/Renderer.js +1 -1
  113. package/src/sap/ui/core/ResizeHandler.js +1 -1
  114. package/src/sap/ui/core/ScrollBar.js +1 -1
  115. package/src/sap/ui/core/SeparatorItem.js +1 -1
  116. package/src/sap/ui/core/ThemeCheck.js +14 -62
  117. package/src/sap/ui/core/Title.js +1 -1
  118. package/src/sap/ui/core/TooltipBase.js +1 -1
  119. package/src/sap/ui/core/UIArea.js +6 -3
  120. package/src/sap/ui/core/UIComponent.js +46 -23
  121. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  122. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  123. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  124. package/src/sap/ui/core/XMLComposite.js +3 -5
  125. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  126. package/src/sap/ui/core/XMLTemplateProcessor.js +5 -6
  127. package/src/sap/ui/core/cldr/en.json +1 -0
  128. package/src/sap/ui/core/date/UniversalDate.js +4 -2
  129. package/src/sap/ui/core/delegate/ItemNavigation.js +4 -4
  130. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  131. package/src/sap/ui/core/dnd/DragAndDrop.js +1 -1
  132. package/src/sap/ui/core/dnd/DragDropBase.js +2 -9
  133. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  134. package/src/sap/ui/core/dnd/DragInfo.js +41 -1
  135. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  136. package/src/sap/ui/core/format/DateFormat.js +4 -2
  137. package/src/sap/ui/core/format/NumberFormat.js +3 -0
  138. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  139. package/src/sap/ui/core/library.js +26 -4
  140. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  141. package/src/sap/ui/core/message/Message.js +1 -1
  142. package/src/sap/ui/core/message/MessageManager.js +4 -2
  143. package/src/sap/ui/core/message/MessageParser.js +1 -1
  144. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  145. package/src/sap/ui/core/messagebundle_cs.properties +1 -1
  146. package/src/sap/ui/core/messagebundle_ms.properties +1 -1
  147. package/src/sap/ui/core/messagebundle_pt.properties +6 -6
  148. package/src/sap/ui/core/messagebundle_tr.properties +1 -1
  149. package/src/sap/ui/core/mvc/Controller.js +146 -8
  150. package/src/sap/ui/core/mvc/HTMLView.js +3 -1
  151. package/src/sap/ui/core/mvc/JSONView.js +7 -5
  152. package/src/sap/ui/core/mvc/JSView.js +4 -2
  153. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  154. package/src/sap/ui/core/mvc/View.js +145 -68
  155. package/src/sap/ui/core/mvc/ViewType.js +2 -0
  156. package/src/sap/ui/core/mvc/XMLView.js +13 -9
  157. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  158. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  159. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  160. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  161. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  162. package/src/sap/ui/core/routing/HashChangerBase.js +9 -2
  163. package/src/sap/ui/core/routing/History.js +188 -87
  164. package/src/sap/ui/core/routing/Route.js +10 -1
  165. package/src/sap/ui/core/routing/Router.js +8 -5
  166. package/src/sap/ui/core/routing/RouterHashChanger.js +26 -16
  167. package/src/sap/ui/core/routing/TargetCache.js +19 -8
  168. package/src/sap/ui/core/routing/Targets.js +29 -3
  169. package/src/sap/ui/core/routing/async/Route.js +9 -1
  170. package/src/sap/ui/core/routing/async/Target.js +249 -85
  171. package/src/sap/ui/core/routing/async/TargetCache.js +9 -7
  172. package/src/sap/ui/core/routing/async/Targets.js +4 -2
  173. package/src/sap/ui/core/routing/sync/Target.js +15 -0
  174. package/src/sap/ui/core/rules/App.support.js +36 -2
  175. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  176. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  177. package/src/sap/ui/core/service/Service.js +1 -1
  178. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  179. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  180. package/src/sap/ui/core/support/InteractionTree.css +0 -14
  181. package/src/sap/ui/core/support/Plugin.js +1 -1
  182. package/src/sap/ui/core/support/RuleEngineOpaExtension.js +0 -2
  183. package/src/sap/ui/core/support/Support.js +1 -1
  184. package/src/sap/ui/core/support/TimelineOverview.css +0 -35
  185. package/src/sap/ui/core/support/controls/ObjectViewer.js +5 -9
  186. package/src/sap/ui/core/support/controls/TreeViewer.js +0 -1
  187. package/src/sap/ui/core/support/interactionSlider.css +0 -3
  188. package/src/sap/ui/core/support/plugins/ControlTree.js +2 -2
  189. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  190. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  191. package/src/sap/ui/core/support/plugins/MessageTest.js +1 -1
  192. package/src/sap/ui/core/support/plugins/Performance.js +2 -1
  193. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  194. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  195. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  196. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -3
  197. package/src/sap/ui/core/support/support.css +4 -164
  198. package/src/sap/ui/core/support/trace/E2eTraceLib.js +3 -3
  199. package/src/sap/ui/core/support/usage/EventBroadcaster.js +0 -22
  200. package/src/sap/ui/core/themes/base/BlindLayer.less +0 -2
  201. package/src/sap/ui/core/themes/base/BrowserScrollbar.less +0 -9
  202. package/src/sap/ui/core/themes/base/LocalBusyIndicator.less +5 -5
  203. package/src/sap/ui/core/themes/base/SAP-icons.css +2 -0
  204. package/src/sap/ui/core/themes/base/SAP-icons.less +10 -0
  205. package/src/sap/ui/core/themes/base/TechnicalInfo.less +0 -1
  206. package/src/sap/ui/core/themes/base/base.less +569 -414
  207. package/src/sap/ui/core/themes/base/global.less +38 -0
  208. package/src/sap/ui/core/themes/base/library.source.less +1 -2
  209. package/src/sap/ui/core/themes/base/shared.less +1 -1
  210. package/src/sap/ui/core/themes/sap_hcb/global.less +34 -0
  211. package/src/sap/ui/core/theming/Parameters.js +222 -60
  212. package/src/sap/ui/core/theming/ThemeHelper.js +94 -0
  213. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  214. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  215. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  216. package/src/sap/ui/core/tmpl/Template.js +2 -1
  217. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  218. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  219. package/src/sap/ui/core/util/Export.js +1 -1
  220. package/src/sap/ui/core/util/ExportCell.js +1 -1
  221. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  222. package/src/sap/ui/core/util/ExportRow.js +1 -1
  223. package/src/sap/ui/core/util/ExportType.js +1 -1
  224. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  225. package/src/sap/ui/core/util/File.js +1 -1
  226. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  227. package/src/sap/ui/core/util/MockServer.js +27 -7
  228. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  229. package/src/sap/ui/core/util/XMLPreprocessor.js +2 -2
  230. package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +18 -0
  231. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  232. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  233. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  234. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  235. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  236. package/src/sap/ui/core/util/serializer/delegate/HTML.js +2 -2
  237. package/src/sap/ui/core/util/serializer/delegate/XML.js +2 -2
  238. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  239. package/src/sap/ui/core/ws/SapPcpWebSocket.js +2 -1
  240. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  241. package/src/sap/ui/debug/ControlTree.js +1 -1
  242. package/src/sap/ui/debug/DebugEnv.js +1 -1
  243. package/src/sap/ui/debug/PropertyList.js +1 -1
  244. package/src/sap/ui/dom/jquery/zIndex.js +3 -3
  245. package/src/sap/ui/events/jquery/EventSimulation.js +7 -6
  246. package/src/sap/ui/events/jquery/EventTriggerHook.js +1 -1
  247. package/src/sap/ui/model/Binding.js +7 -3
  248. package/src/sap/ui/model/ClientModel.js +1 -1
  249. package/src/sap/ui/model/CompositeBinding.js +1 -1
  250. package/src/sap/ui/model/CompositeDataState.js +1 -1
  251. package/src/sap/ui/model/CompositeType.js +1 -1
  252. package/src/sap/ui/model/Context.js +31 -11
  253. package/src/sap/ui/model/DataState.js +1 -1
  254. package/src/sap/ui/model/ListBinding.js +19 -0
  255. package/src/sap/ui/model/MetaModel.js +1 -1
  256. package/src/sap/ui/model/Model.js +3 -3
  257. package/src/sap/ui/model/SelectionModel.js +5 -1
  258. package/src/sap/ui/model/SimpleType.js +1 -1
  259. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  260. package/src/sap/ui/model/Type.js +1 -1
  261. package/src/sap/ui/model/analytics/AnalyticalBinding.js +36 -45
  262. package/src/sap/ui/model/analytics/odata4analytics.js +31 -31
  263. package/src/sap/ui/model/base/ManagedObjectModel.js +11 -1
  264. package/src/sap/ui/model/json/JSONModel.js +1 -1
  265. package/src/sap/ui/model/message/MessageModel.js +1 -1
  266. package/src/sap/ui/model/odata/AnnotationParser.js +23 -18
  267. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  268. package/src/sap/ui/model/odata/ODataListBinding.js +1 -0
  269. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  270. package/src/sap/ui/model/odata/ODataMetaModel.js +52 -40
  271. package/src/sap/ui/model/odata/ODataMetadata.js +3 -3
  272. package/src/sap/ui/model/odata/ODataModel.js +6 -6
  273. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +1 -1
  274. package/src/sap/ui/model/odata/ODataUtils.js +126 -0
  275. package/src/sap/ui/model/odata/_AnnotationHelperBasics.js +30 -27
  276. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  277. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  278. package/src/sap/ui/model/odata/type/Currency.js +7 -2
  279. package/src/sap/ui/model/odata/type/Date.js +1 -1
  280. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  281. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  282. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  283. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  284. package/src/sap/ui/model/odata/type/Double.js +1 -1
  285. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  286. package/src/sap/ui/model/odata/type/Int.js +1 -1
  287. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  288. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  289. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  290. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  291. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  292. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  293. package/src/sap/ui/model/odata/type/Single.js +1 -1
  294. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  295. package/src/sap/ui/model/odata/type/String.js +3 -1
  296. package/src/sap/ui/model/odata/type/Time.js +1 -1
  297. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  298. package/src/sap/ui/model/odata/type/Unit.js +7 -2
  299. package/src/sap/ui/model/odata/type/UnitMixin.js +20 -7
  300. package/src/sap/ui/model/odata/v2/Context.js +165 -0
  301. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  302. package/src/sap/ui/model/odata/v2/ODataContextBinding.js +19 -5
  303. package/src/sap/ui/model/odata/v2/ODataListBinding.js +20 -79
  304. package/src/sap/ui/model/odata/v2/ODataModel.js +75 -53
  305. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +55 -41
  306. package/src/sap/ui/model/odata/v4/Context.js +48 -15
  307. package/src/sap/ui/model/odata/v4/ODataBinding.js +89 -9
  308. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +87 -21
  309. package/src/sap/ui/model/odata/v4/ODataListBinding.js +72 -50
  310. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +8 -8
  311. package/src/sap/ui/model/odata/v4/ODataModel.js +109 -171
  312. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +34 -67
  313. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +18 -9
  314. package/src/sap/ui/model/odata/v4/ODataUtils.js +1 -1
  315. package/src/sap/ui/model/odata/v4/SubmitMode.js +3 -3
  316. package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +1 -1
  317. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +17 -16
  318. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +5 -1
  319. package/src/sap/ui/model/odata/v4/lib/_Cache.js +86 -117
  320. package/src/sap/ui/model/odata/v4/lib/{_GrandTotalHelper.js → _ConcatHelper.js} +34 -27
  321. package/src/sap/ui/model/odata/v4/lib/_GroupLock.js +2 -2
  322. package/src/sap/ui/model/odata/v4/lib/_Helper.js +122 -7
  323. package/src/sap/ui/model/odata/v4/lib/_MetadataConverter.js +4 -4
  324. package/src/sap/ui/model/odata/v4/lib/_MetadataRequestor.js +2 -2
  325. package/src/sap/ui/model/odata/v4/lib/_MinMaxHelper.js +25 -74
  326. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +49 -12
  327. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +7 -7
  328. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  329. package/src/sap/ui/model/type/Boolean.js +1 -1
  330. package/src/sap/ui/model/type/Currency.js +1 -1
  331. package/src/sap/ui/model/type/Date.js +1 -1
  332. package/src/sap/ui/model/type/DateInterval.js +3 -3
  333. package/src/sap/ui/model/type/DateTime.js +1 -1
  334. package/src/sap/ui/model/type/DateTimeInterval.js +3 -3
  335. package/src/sap/ui/model/type/FileSize.js +1 -1
  336. package/src/sap/ui/model/type/Float.js +1 -1
  337. package/src/sap/ui/model/type/Integer.js +1 -1
  338. package/src/sap/ui/model/type/String.js +1 -1
  339. package/src/sap/ui/model/type/Time.js +1 -1
  340. package/src/sap/ui/model/type/TimeInterval.js +3 -3
  341. package/src/sap/ui/model/type/Unit.js +1 -1
  342. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  343. package/src/sap/ui/performance/Measurement.js +3 -5
  344. package/src/sap/ui/performance/trace/FESR.js +2 -1
  345. package/src/sap/ui/performance/trace/Interaction.js +11 -9
  346. package/src/sap/ui/qunit/QUnitUtils.js +1 -1
  347. package/src/sap/ui/qunit/qunit-coverage.js +1 -0
  348. package/src/sap/ui/qunit/qunit-junit.js +1 -0
  349. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  350. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  351. package/src/sap/ui/security/FrameOptions.js +2 -1
  352. package/src/sap/ui/test/Opa5.js +1 -1
  353. package/src/sap/ui/test/OpaBuilder.js +1 -0
  354. package/src/sap/ui/test/TestUtils.js +17 -30
  355. package/src/sap/ui/test/_BrowserLogCollector.js +1 -0
  356. package/src/sap/ui/test/actions/Action.js +1 -1
  357. package/src/sap/ui/test/launchers/componentLauncher.js +2 -1
  358. package/src/sap/ui/test/opaQunit.js +6 -9
  359. package/src/sap/ui/test/pipelines/MatcherPipeline.js +1 -1
  360. package/src/sap/ui/test/selectors/_ControlSelectorGenerator.js +4 -4
  361. package/src/sap/ui/test/starter/_utils.js +6 -0
  362. package/src/sap/ui/test/starter/createSuite.js +1 -1
  363. package/src/sap/ui/thirdparty/IPv6.js +2 -2
  364. package/src/sap/ui/thirdparty/SecondLevelDomains.js +2 -2
  365. package/src/sap/ui/thirdparty/URI.js +14 -5
  366. package/src/sap/ui/thirdparty/URITemplate.js +2 -2
  367. package/src/sap/ui/thirdparty/caja-html-sanitizer.js +1 -1
  368. package/src/sap/ui/thirdparty/crossroads.js +10 -2
  369. package/src/sap/ui/util/Mobile.js +10 -7
  370. package/src/sap/ui/util/Storage.js +1 -1
  371. package/src/ui5loader-autoconfig.js +1 -1
  372. package/src/ui5loader.js +24 -6
  373. package/src/sap/ui/model/odata/v4/.eslintrc +0 -6
@@ -6,7 +6,7 @@
6
6
  <copyright>OpenUI5
7
7
  * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
8
8
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
9
- <version>1.91.0</version>
9
+ <version>1.93.2</version>
10
10
 
11
11
  <documentation>The SAPUI5 Core Runtime.
12
12
 
@@ -234,6 +234,8 @@
234
234
  <exclude name="sap.ui.test.starter.runTest" />
235
235
  <exclude name="sap.ui.qunit." />
236
236
  <exclude name="sap.ui.thirdparty." />
237
+ <exclude name="sap.ui.model.odata.datajs" /> <!-- legacy redirect, only part of internal core overlay -->
238
+ <exclude name="sap.ui.core.designtime.mvc.ControllerExtensionTemplate" /> <!-- template file with partially unexpected content -->
237
239
  </jsdoc>
238
240
  <!-- excludes for the JSCoverage -->
239
241
  <jscoverage xmlns="http://www.sap.com/ui5/buildext/jscoverage" >
@@ -398,7 +400,7 @@
398
400
  <copyright>2010-2011, Christian Johansen</copyright>
399
401
  <pattern>sap/ui/thirdparty/sinon-qunit.js</pattern>
400
402
  </lib>
401
- <lib name="urijs" displayName="URI.js" version="1.19.6" homepage="http://medialize.github.com/URI.js/">
403
+ <lib name="urijs" displayName="URI.js" version="1.19.7" homepage="http://medialize.github.com/URI.js/">
402
404
  <license url="http://opensource.org/licenses/mit-license" type="MIT" />
403
405
  <copyright>Rodney Rehm</copyright>
404
406
  <pattern>sap/ui/thirdparty/URI.js</pattern>
@@ -38,7 +38,7 @@ sap.ui.define([
38
38
  * Provides methods to show or hide a waiting animation covering the whole
39
39
  * page and blocking user interaction.
40
40
  * @namespace
41
- * @version 1.91.0
41
+ * @version 1.93.2
42
42
  * @public
43
43
  * @alias sap.ui.core.BusyIndicator
44
44
  */
@@ -14,7 +14,8 @@ sap.ui.define(['./BlockLayerUtils'], //require of sap/ui/core/library not possib
14
14
  /**
15
15
  * @alias sap.ui.core.BusyIndicatorUtils
16
16
  * @namespace
17
- * @public
17
+ * @private
18
+ * @ui5-restricted sap.ui.core, sap.chart
18
19
  */
19
20
  var BusyIndicatorUtils = function() {};
20
21
 
@@ -24,6 +25,8 @@ sap.ui.define(['./BlockLayerUtils'], //require of sap/ui/core/library not possib
24
25
  *
25
26
  * @param {string} sSize either "Large" or "Medium". Other sizes will be mapped to "Medium"
26
27
  * @returns {DOM.element} the element for the busy indicator
28
+ * @private
29
+ * @ui5-restricted sap.ui.core, sap.chart
27
30
  */
28
31
  BusyIndicatorUtils.getElement = function(sSize) {
29
32
  //default size is medium
@@ -228,7 +228,7 @@ sap.ui.define([
228
228
  * @extends sap.ui.base.ManagedObject
229
229
  * @abstract
230
230
  * @author SAP SE
231
- * @version 1.91.0
231
+ * @version 1.93.2
232
232
  * @alias sap.ui.core.Component
233
233
  * @since 1.9.2
234
234
  */
@@ -302,6 +302,7 @@ sap.ui.define([
302
302
  }
303
303
 
304
304
  this._bIsActive = true;
305
+ this._aDestroyables = [];
305
306
 
306
307
  ManagedObject.apply(this, args);
307
308
  },
@@ -639,12 +640,15 @@ sap.ui.define([
639
640
  // make user specific data available during component instantiation
640
641
  this.oComponentData = mSettings && mSettings.componentData;
641
642
 
642
- // static initialization (loading dependencies, includes, ... / register customizing)
643
- // => either init the static or the instance manifest
644
- if (!this._isVariant()) {
645
- this.getMetadata().init();
646
- } else {
643
+ // manifest initialization (loading dependencies, includes, ... / register customizing)
644
+ // => either call init on the instance specific manifest or the static one on the ComponentMetadata
645
+ if (this._oManifest) {
647
646
  this._oManifest.init(this);
647
+ } else {
648
+ this.getMetadata().init();
649
+ }
650
+
651
+ if (this._isVariant()) {
648
652
  // in case of variants we ensure to register the module path for the variant
649
653
  // to allow module loading of code extensibility relative to the manifest
650
654
  var sAppId = this._oManifest.getEntry("/sap.app/id");
@@ -689,6 +693,27 @@ sap.ui.define([
689
693
 
690
694
  };
691
695
 
696
+ /**
697
+ * Returns the list of Promises for which an automatic destroy is scheduled.
698
+ * Logs an error in case the application Component is missing a mandatory
699
+ * constructor super call.
700
+ * For compatibility reason we must not fail in this obviously broken scenario!
701
+ *
702
+ * @private
703
+ */
704
+ Component.prototype._getDestroyables = function() {
705
+ if (!this._aDestroyables) {
706
+ Log.error("Mandatory super constructor not called for Component: '" + this.getManifestObject().getComponentName() + "'.",
707
+ null,
708
+ "sap.ui.support",
709
+ function() {
710
+ return { type: "missingSuperConstructor" };
711
+ });
712
+ this._aDestroyables = [];
713
+ }
714
+ return this._aDestroyables;
715
+ };
716
+
692
717
  /*
693
718
  * clean up the component and its dependent entities like models or event handlers
694
719
  */
@@ -728,21 +753,33 @@ sap.ui.define([
728
753
  delete this._oEventBus;
729
754
  }
730
755
 
756
+ function fnDestroy(oInstance) {
757
+ if (oInstance && !oInstance._bIsBeingDestroyed) {
758
+ oInstance.destroy();
759
+ }
760
+ }
761
+
762
+ // trigger an async destroy for all registered commponent promises
763
+ var aDestroyables = this._getDestroyables();
764
+ for (var i = 0; i < aDestroyables.length; i++ ) {
765
+ aDestroyables[i] = aDestroyables[i].then(fnDestroy);
766
+ }
767
+
731
768
  // destroy the object
732
769
  ManagedObject.prototype.destroy.apply(this, arguments);
733
770
 
734
771
  // unregister for messaging (on MessageManager)
735
772
  sap.ui.getCore().getMessageManager().unregisterObject(this);
736
773
 
737
- // static initialization (unload includes, ... / unregister customzing)
738
- // => either exit the static or the instance manifest
739
- if (!this._isVariant()) {
740
- this.getMetadata().exit();
741
- } else {
774
+ // manifest exit (unload includes, ... / unregister customzing)
775
+ // => either call exit on the instance specific manifest or the static one on the ComponentMetadata
776
+ if (this._oManifest) {
742
777
  this._oManifest.exit(this);
743
778
  delete this._oManifest;
779
+ } else {
780
+ this.getMetadata().exit();
744
781
  }
745
-
782
+ return Promise.all(aDestroyables);
746
783
  };
747
784
 
748
785
 
@@ -1112,7 +1149,11 @@ sap.ui.define([
1112
1149
  }
1113
1150
 
1114
1151
  // create the component in the owner context of the current component
1115
- return Component._createComponent(mConfig, this);
1152
+ var oComponent = Component._createComponent(mConfig, this);
1153
+ if (oComponent instanceof Promise) {
1154
+ this.registerForDestroy(oComponent);
1155
+ }
1156
+ return oComponent;
1116
1157
  };
1117
1158
 
1118
1159
  /**
@@ -1884,8 +1925,6 @@ sap.ui.define([
1884
1925
  LoaderExtensions.registerResourcePath(sModuleNamePrefix.replace(/\./g, "/"), vUrlPrefix);
1885
1926
  }
1886
1927
 
1887
-
1888
-
1889
1928
  function loadManifests(oRootMetadata) {
1890
1929
  var aManifestsToLoad = [];
1891
1930
  var aMetadataObjects = [];
@@ -1992,14 +2031,28 @@ sap.ui.define([
1992
2031
  * };
1993
2032
  * });
1994
2033
  * </pre>
1995
- * <b>ATTENTION:</b> This hook must only be used by UI flexibility (library:
1996
- * sap.ui.fl) and will be replaced with a more generic solution!
2034
+ * <b>ATTENTION:</b> This hook must only be used by UI flexibility (sap.ui.fl)
2035
+ * or the sap.ui.integration library.
1997
2036
  *
1998
2037
  * @private
1999
- * @ui5-restricted sap.ui.fl
2038
+ * @ui5-restricted sap.ui.fl,sap.ui.integration
2000
2039
  * @since 1.43.0
2001
2040
  */
2002
- Component._fnOnInstanceCreated = null;
2041
+ var _aInstanceCreatedListeners = [];
2042
+
2043
+ // [Compatibility]: We need to accept multiple onInstanceCreated listeners,
2044
+ // but still want to support the definition via assignment
2045
+ Object.defineProperty(Component, "_fnOnInstanceCreated", {
2046
+ get : function () { return _aInstanceCreatedListeners[0]; },
2047
+ set : function (fn) {
2048
+ if (typeof fn === "function") {
2049
+ _aInstanceCreatedListeners.push(fn);
2050
+ } else {
2051
+ // falsy values clear the list of listeners (a null assignment is used in different unit-tests)
2052
+ _aInstanceCreatedListeners = [];
2053
+ }
2054
+ }
2055
+ });
2003
2056
 
2004
2057
  /**
2005
2058
  * Callback handler which will be executed once the manifest.json was
@@ -2066,6 +2119,7 @@ sap.ui.define([
2066
2119
  * If it is set to a falsy value, the manifest will not be evaluated before the controller. It might still be loaded synchronously
2067
2120
  * if declared in the Component metadata.
2068
2121
  * A non-empty string value will be interpreted as the URL to load the manifest from.
2122
+ * If the manifest could not be loaded from a given URL, the Promise returned by the </code>Component.create</code> factory rejects.
2069
2123
  * A non-null object value will be interpreted as manifest content.
2070
2124
  * @param {string} [mOptions.altManifestUrl] @since 1.61.0 Alternative URL for the manifest.json. If <code>mOptions.manifest</code>
2071
2125
  * is set to an object value, this URL specifies the location to which the manifest object should resolve the relative
@@ -2233,19 +2287,26 @@ sap.ui.define([
2233
2287
  }
2234
2288
  }
2235
2289
 
2290
+ // collect instance-created listeners
2291
+ function callInstanceCreatedListeners(oInstance, vConfig) {
2292
+ return _aInstanceCreatedListeners.map(function(fn) {
2293
+ return fn(oInstance, vConfig);
2294
+ });
2295
+ }
2296
+
2236
2297
  function notifyOnInstanceCreated(oInstance, vConfig) {
2237
2298
  if (vConfig.async) {
2238
2299
  var pRootControlReady = oInstance.rootControlLoaded ? oInstance.rootControlLoaded() : Promise.resolve();
2239
- if (typeof Component._fnOnInstanceCreated === "function") {
2240
- return pRootControlReady.then(function() {
2241
- return Component._fnOnInstanceCreated(oInstance, vConfig);
2242
- });
2243
- }
2244
- // If we're async but we don't have a promise we still need to be one !
2245
- return pRootControlReady;
2246
- }
2247
- if (typeof Component._fnOnInstanceCreated === "function") {
2248
- Component._fnOnInstanceCreated(oInstance, vConfig);
2300
+
2301
+ // collect instance-created listeners
2302
+ var aOnInstanceCreatedPromises = callInstanceCreatedListeners(oInstance, vConfig);
2303
+
2304
+ // root control loaded promise
2305
+ aOnInstanceCreatedPromises.push(pRootControlReady);
2306
+
2307
+ return Promise.all(aOnInstanceCreatedPromises);
2308
+ } else {
2309
+ callInstanceCreatedListeners(oInstance, vConfig);
2249
2310
  }
2250
2311
  return oInstance;
2251
2312
  }
@@ -2317,9 +2378,25 @@ sap.ui.define([
2317
2378
  // constructor and delegate the current owner id for the instance creation
2318
2379
  var sCurrentOwnerId = ManagedObject._sOwnerId;
2319
2380
  return vClassOrPromise.then(function(oClass) {
2320
- return runWithOwner(function() {
2321
- return createInstance(oClass);
2322
- }, sCurrentOwnerId);
2381
+ // [Compatibility]: We sequentialize the dependency loading for the inheritance chain of the component.
2382
+ // This keeps the order of the dependency execution stable (e.g. thirdparty script includes).
2383
+ var loadDependenciesAndIncludes = function (oMetadata) {
2384
+ var oParent = oMetadata.getParent();
2385
+ var oPromise = Promise.resolve();
2386
+ if (oParent instanceof ComponentMetadata) {
2387
+ oPromise = oPromise.then(function () {
2388
+ return loadDependenciesAndIncludes(oParent);
2389
+ });
2390
+ }
2391
+ return oPromise.then(function () {
2392
+ return oMetadata.getManifestObject().loadDependenciesAndIncludes(true);
2393
+ });
2394
+ };
2395
+ return loadDependenciesAndIncludes(oClass.getMetadata()).then(function () {
2396
+ return runWithOwner(function() {
2397
+ return createInstance(oClass);
2398
+ }, sCurrentOwnerId);
2399
+ });
2323
2400
  });
2324
2401
  } else {
2325
2402
  // sync: constructor has been returned, instantiate component immediately
@@ -2355,10 +2432,10 @@ sap.ui.define([
2355
2432
  * is set to a non-empty string, this URL specifies the location of the final component defined via that
2356
2433
  * manifest, otherwise it specifies the location of the component defined via its name <code>mOptions.name</code>.
2357
2434
  * @param {boolean|string|object} [mOptions.manifest=true] Whether and from where to load the manifest.json for the Component.
2358
- * When set to any truthy value, the manifest will be loaded and evaluated before the Component controller.
2359
- * If it is set to a falsy value, the manifest will not be evaluated before the controller. It might still be loaded synchronously
2360
- * if declared in the Component metadata.
2435
+ * When set to a truthy value, the manifest will be loaded and evaluated <b>before</b> the Component controller.
2436
+ * When set to a falsy value, the manifest will be loaded and evaluated <b>after</b> the Component controller.
2361
2437
  * A non-empty string value will be interpreted as the URL to load the manifest from.
2438
+ * This implies that the manifest is loaded and evaluated <b>before</b> the Component controller.
2362
2439
  * A non-null object value will be interpreted as manifest content.
2363
2440
  * @param {string} [mOptions.altManifestUrl] @since 1.61.0 Alternative URL for the manifest.json. If <code>mOptions.manifest</code>
2364
2441
  * is set to an object value, this URL specifies the location to which the manifest object should resolve the relative
@@ -3080,13 +3157,21 @@ sap.ui.define([
3080
3157
  Log.debug("Component.load: all promises fulfilled, then " + v);
3081
3158
  if (oManifest) {
3082
3159
  return oManifest.then(function(oLoadedManifest) {
3083
- // store the loaded manifest in the oManifest variable
3084
- // which is used for the scope constructor function
3085
- oManifest = oLoadedManifest;
3086
- // read the component name from the manifest and
3087
- // preload the dependencies defined in the manifest
3088
- sName = oManifest.getComponentName();
3089
- return preloadDependencies(sName, oManifest, true);
3160
+ if (!oLoadedManifest._bLoadManifestRequestFailed) {
3161
+ // store the loaded manifest in the oManifest variable
3162
+ // which is used for the scope constructor function
3163
+ oManifest = oLoadedManifest;
3164
+ // read the component name from the manifest and
3165
+ // preload the dependencies defined in the manifest
3166
+ sName = oManifest.getComponentName();
3167
+ return preloadDependencies(sName, oManifest, true);
3168
+ } else {
3169
+ // Set oManifest to undefined in case the loadManifest request failed
3170
+ // This should be only the case if manifestFirst is true but there was
3171
+ // no manifest.json
3172
+ oManifest = undefined;
3173
+ return oManifest;
3174
+ }
3090
3175
  });
3091
3176
  } else {
3092
3177
  return v;
@@ -3578,7 +3663,23 @@ sap.ui.define([
3578
3663
  }, this);
3579
3664
  }
3580
3665
 
3581
- return bIsKeepAliveSupported;
3666
+ return !!bIsKeepAliveSupported;
3667
+ };
3668
+
3669
+ /**
3670
+ * Register a <code>Promise</code> to handle asynchronous destroy
3671
+ *
3672
+ * @param {Promise} pInstance Promise to handle asynchronous destroy
3673
+ * @private
3674
+ */
3675
+ Component.prototype.registerForDestroy = function(pInstance) {
3676
+ var aDestroyables = this._getDestroyables();
3677
+ pInstance = pInstance.then(function(oInstance) {
3678
+ // if already resolved, destroy must be done by the application
3679
+ aDestroyables.splice(aDestroyables.indexOf(pInstance),1);
3680
+ return oInstance;
3681
+ });
3682
+ aDestroyables.push(pInstance);
3582
3683
  };
3583
3684
 
3584
3685
  /**
@@ -61,7 +61,7 @@ sap.ui.define([
61
61
  * See also {@link module:sap/ui/core/ComponentSupport}.
62
62
  *
63
63
  * @extends sap.ui.core.Control
64
- * @version 1.91.0
64
+ * @version 1.93.2
65
65
  *
66
66
  * @public
67
67
  * @alias sap.ui.core.ComponentContainer
@@ -69,7 +69,9 @@ sap.ui.define([
69
69
  */
70
70
  var ComponentContainer = Control.extend("sap.ui.core.ComponentContainer", /** @lends sap.ui.core.ComponentContainer.prototype */ {
71
71
  metadata : {
72
-
72
+ interfaces: [
73
+ "sap.ui.core.IPlaceholderSupport"
74
+ ],
73
75
  library : "sap.ui.core",
74
76
  properties : {
75
77
 
@@ -253,6 +255,53 @@ sap.ui.define([
253
255
  return sComponentId && Core.getComponent(sComponentId);
254
256
  };
255
257
 
258
+ // Delegate registered by the ComponentContainer#showPlaceholder function
259
+ var oPlaceholderDelegate = {
260
+ "onAfterRendering": function() {
261
+ // check whether the placeholder is still active. If yes, show the placeholder again
262
+ if (this._placeholder) {
263
+ this._placeholder.show(this);
264
+ }
265
+ }
266
+ };
267
+
268
+ /**
269
+ * Shows the provided placeholder on the component container.
270
+ *
271
+ * @param {object} mSettings Object containing the placeholder object
272
+ * @param {sap.ui.core.Placeholder} mSettings.placeholder The placeholder instance
273
+ * @public
274
+ * @since 1.91
275
+ */
276
+ ComponentContainer.prototype.showPlaceholder = function(mSettings) {
277
+ if (this._placeholder) {
278
+ this.hidePlaceholder();
279
+ }
280
+
281
+ if (this.getDomRef() && mSettings.placeholder) {
282
+ this._placeholder = mSettings.placeholder;
283
+ this._placeholder.show(this);
284
+ }
285
+
286
+ // Add an event delegate to reinsert the placeholder after it's removed after a rerendering
287
+ this.addEventDelegate(oPlaceholderDelegate, this);
288
+ };
289
+
290
+ /**
291
+ * Hides the placeholder that is shown on the component container.
292
+ *
293
+ * @public
294
+ * @since 1.91
295
+ */
296
+ ComponentContainer.prototype.hidePlaceholder = function() {
297
+ if (this._placeholder) {
298
+ this._placeholder.hide();
299
+
300
+ // remove the delegate because the placeholder is hidden
301
+ this.removeEventDelegate(oPlaceholderDelegate);
302
+ this._placeholder = undefined;
303
+ }
304
+ };
256
305
 
257
306
  /**
258
307
  * Sets the component of the container. Depending on the ComponentContainer's
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  * @public
37
37
  * @class
38
38
  * @author SAP SE
39
- * @version 1.91.0
39
+ * @version 1.93.2
40
40
  * @since 1.9.2
41
41
  * @alias sap.ui.core.ComponentMetadata
42
42
  * @extends sap.ui.base.ManagedObjectMetadata
@@ -97,7 +97,7 @@ sap.ui.define([
97
97
  * @author SAP SE
98
98
  * @public
99
99
  * @since 1.58.0
100
- * @version 1.91.0
100
+ * @version 1.93.2
101
101
  * @namespace
102
102
  * @alias module:sap/ui/core/ComponentSupport
103
103
  */
@@ -164,6 +164,7 @@ sap.ui.define([
164
164
  "xx-waitForTheme" : { type : "string", defaultValue : ""}, // rendering|init
165
165
  "xx-hyphenation" : { type : "string", defaultValue : ""}, // (empty string)|native|thirdparty|disable
166
166
  "xx-flexBundleRequestForced" : { type : "boolean", defaultValue : false },
167
+ // TODO: check and remove "xx-cssVariables" value after tooling also support CSS variables if possible
167
168
  "xx-cssVariables" : { type : "string", defaultValue : "false" }, // false|true|additional (additional just includes the css_variables.css in addition)
168
169
  "statistics" : { type : "boolean", defaultValue : false }
169
170
  };
@@ -2282,4 +2283,4 @@ sap.ui.define([
2282
2283
 
2283
2284
  return Configuration;
2284
2285
 
2285
- });
2286
+ });
@@ -77,7 +77,7 @@ sap.ui.define([
77
77
  * @extends sap.ui.core.Element
78
78
  * @abstract
79
79
  * @author SAP SE
80
- * @version 1.91.0
80
+ * @version 1.93.2
81
81
  * @alias sap.ui.core.Control
82
82
  * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
83
83
  */
@@ -18,7 +18,6 @@ sap.ui.define([
18
18
  'sap/ui/performance/trace/Interaction',
19
19
  './Component',
20
20
  './Configuration',
21
- './Control',
22
21
  './Element',
23
22
  './ElementMetadata',
24
23
  './FocusHandler',
@@ -59,7 +58,6 @@ sap.ui.define([
59
58
  Interaction,
60
59
  Component,
61
60
  Configuration,
62
- Control,
63
61
  Element,
64
62
  ElementMetadata,
65
63
  FocusHandler,
@@ -212,7 +210,7 @@ sap.ui.define([
212
210
  * @extends sap.ui.base.Object
213
211
  * @final
214
212
  * @author SAP SE
215
- * @version 1.91.0
213
+ * @version 1.93.2
216
214
  * @alias sap.ui.core.Core
217
215
  * @public
218
216
  * @hideconstructor
@@ -1304,6 +1302,7 @@ sap.ui.define([
1304
1302
  * in the global context, without closure variables.
1305
1303
  * See http://www.ecma-international.org/ecma-262/5.1/#sec-10.4.2
1306
1304
  */
1305
+ // eslint-disable-next-line no-eval
1307
1306
  window.eval(vOnInit); // csp-ignore-legacy-api
1308
1307
  }
1309
1308
  }
@@ -1620,7 +1619,7 @@ sap.ui.define([
1620
1619
  libPackage = lib.replace(/\./g, '/'),
1621
1620
  http2 = this.oConfiguration.getDepCache();
1622
1621
 
1623
- if ( fileType === 'none' || !!sap.ui.loader._.getModuleState(libPackage + '/library.js') ) {
1622
+ if ( fileType === 'none' || sap.ui.loader._.getModuleState(libPackage + '/library.js') ) {
1624
1623
  return Promise.resolve(true);
1625
1624
  }
1626
1625
 
@@ -2645,6 +2644,15 @@ sap.ui.define([
2645
2644
 
2646
2645
  // ---- UIArea and Rendering -------------------------------------------------------------------------------------
2647
2646
 
2647
+ function placeControlAt(oDomRef, oControl) {
2648
+ assert(typeof oDomRef === "string" || typeof oDomRef === "object", "oDomRef must be a string or object");
2649
+ assert(oControl instanceof Interface || BaseObject.isA(oControl, "sap.ui.core.Control"), "oControl must be a Control or Interface");
2650
+
2651
+ if (oControl) {
2652
+ oControl.placeAt(oDomRef, "only");
2653
+ }
2654
+ }
2655
+
2648
2656
  /**
2649
2657
  * Implicitly creates a new <code>UIArea</code> (or reuses an exiting one) for the given DOM reference and
2650
2658
  * adds the given control reference to the UIAreas content (existing content will be removed).
@@ -2654,15 +2662,9 @@ sap.ui.define([
2654
2662
  * oControl the Control that should be the added to the <code>UIArea</code>.
2655
2663
  * @public
2656
2664
  * @deprecated As of version 1.1, use {@link sap.ui.core.Control#placeAt oControl.placeAt(oDomRef, "only")} instead.
2665
+ * @function
2657
2666
  */
2658
- Core.prototype.setRoot = function(oDomRef, oControl) {
2659
- assert(typeof oDomRef === "string" || typeof oDomRef === "object", "oDomRef must be a string or object");
2660
- assert(oControl instanceof Interface || oControl instanceof Control, "oControl must be a Control or Interface");
2661
-
2662
- if (oControl) {
2663
- oControl.placeAt(oDomRef, "only");
2664
- }
2665
- };
2667
+ Core.prototype.setRoot = placeControlAt;
2666
2668
 
2667
2669
  /**
2668
2670
  * Creates a new {@link sap.ui.core.UIArea UIArea}.
@@ -2823,6 +2825,7 @@ sap.ui.define([
2823
2825
  bUIUpdated = mUIAreas[sId].rerender() || bUIUpdated;
2824
2826
  }
2825
2827
 
2828
+ // eslint-disable-next-line no-unmodified-loop-condition
2826
2829
  } while ( bLooped && this._sRerenderTimer ); // iterate if there are new rendering tasks
2827
2830
 
2828
2831
  this._bRendering = false;
@@ -3186,7 +3189,7 @@ sap.ui.define([
3186
3189
  var sName = oMetadata.getName(),
3187
3190
  sLibraryName = oMetadata.getLibraryName() || "",
3188
3191
  oLibrary = this.mLibraries[sLibraryName],
3189
- sCategory = Control.prototype.isPrototypeOf(oMetadata.getClass().prototype) ? 'controls' : 'elements';
3192
+ sCategory = oMetadata.isA("sap.ui.core.Control") ? 'controls' : 'elements';
3190
3193
 
3191
3194
  // if library has not been loaded yet, create empty 'adhoc' library
3192
3195
  // don't set 'loaded' marker, so it might be loaded later
@@ -3702,7 +3705,7 @@ sap.ui.define([
3702
3705
  */
3703
3706
  Core.prototype.byFieldGroupId = function(vFieldGroupIds) {
3704
3707
  return Element.registry.filter(function(oElement) {
3705
- return oElement instanceof Control && oElement.checkFieldGroupIds(vFieldGroupIds);
3708
+ return oElement.isA("sap.ui.core.Control") && oElement.checkFieldGroupIds(vFieldGroupIds);
3706
3709
  });
3707
3710
  };
3708
3711
 
@@ -3714,7 +3717,7 @@ sap.ui.define([
3714
3717
  * Note: to be compatible with future versions of this API, applications must not use the value <code>null</code>,
3715
3718
  * the empty string <code>""</code> or the string literals <code>"null"</code> or <code>"undefined"</code> as model name.
3716
3719
  *
3717
- * @param {string|undefined} [sName] name of the model to be retrieved
3720
+ * @param {string} [sName] name of the model to be retrieved
3718
3721
  * @return {sap.ui.model.Model} oModel
3719
3722
  * @public
3720
3723
  */
@@ -4214,14 +4217,9 @@ sap.ui.define([
4214
4217
  * @public
4215
4218
  * @deprecated As of version 1.1, use {@link sap.ui.core.Control#placeAt Control#placeAt} instead.
4216
4219
  * @ui5-global-only
4220
+ * @function
4217
4221
  */
4218
- sap.ui.setRoot = function(oDomRef, oControl) {
4219
- assert(typeof oDomRef === "string" || typeof oDomRef === "object", "oDomRef must be a string or object");
4220
- assert(oControl instanceof Interface || oControl instanceof Control, "oControl must be a Control or Interface");
4221
-
4222
- sap.ui.getCore().setRoot(oDomRef, oControl);
4223
- };
4224
-
4222
+ sap.ui.setRoot = placeControlAt;
4225
4223
 
4226
4224
  /*
4227
4225
  * Create a new (the only) instance of the Core and return it's interface as module value.
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * in the documentation.
25
25
  *
26
26
  * @extends sap.ui.core.Element
27
- * @version 1.91.0
27
+ * @version 1.93.2
28
28
  *
29
29
  * @public
30
30
  * @alias sap.ui.core.CustomData
@@ -75,7 +75,7 @@ sap.ui.define([
75
75
  * gets removed again.
76
76
  *
77
77
  * @author SAP SE
78
- * @version 1.91.0
78
+ * @version 1.93.2
79
79
  * @constructor
80
80
  * @private
81
81
  * @since 1.15.1
@@ -245,7 +245,7 @@ sap.ui.define([
245
245
  hasCustomProperties: function(sViewName, vObject) {
246
246
  var mSettings = {};
247
247
  findConfig(CONFIG_VIEW_MODIFICATIONS, vObject, function(oConfig) {
248
- if (!!oConfig[sViewName]) {
248
+ if (oConfig[sViewName]) {
249
249
  mSettings = oConfig[sViewName];
250
250
  }
251
251
  });
@@ -40,7 +40,7 @@ sap.ui.define([
40
40
  * @class Static class for enabling declarative UI support.
41
41
  *
42
42
  * @author Peter Muessig, Tino Butz
43
- * @version 1.91.0
43
+ * @version 1.93.2
44
44
  * @since 1.7.0
45
45
  * @public
46
46
  * @alias sap.ui.core.DeclarativeSupport
@@ -126,7 +126,7 @@ sap.ui.define([
126
126
  *
127
127
  * @extends sap.ui.base.ManagedObject
128
128
  * @author SAP SE
129
- * @version 1.91.0
129
+ * @version 1.93.2
130
130
  * @public
131
131
  * @alias sap.ui.core.Element
132
132
  * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
@@ -4,8 +4,6 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
7
- /*global Promise */
8
-
9
7
  // Provides class sap.ui.core.ElementMetadata
10
8
  sap.ui.define([
11
9
  'sap/base/Log',
@@ -25,7 +23,7 @@ sap.ui.define([
25
23
  *
26
24
  * @class
27
25
  * @author SAP SE
28
- * @version 1.91.0
26
+ * @version 1.93.2
29
27
  * @since 0.8.6
30
28
  * @alias sap.ui.core.ElementMetadata
31
29
  * @extends sap.ui.base.ManagedObjectMetadata