@openui5/sap.ui.core 1.92.0 → 1.95.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 (394) hide show
  1. package/{.eslintrc → .eslintrc.json} +1 -2
  2. package/.reuse/dep5 +1 -6
  3. package/THIRDPARTY.txt +4 -10
  4. package/package.json +1 -1
  5. package/src/jquery.sap.global.js +9 -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 +2 -1
  11. package/src/jquery.sap.trace.js +2 -1
  12. package/src/sap/base/i18n/ResourceBundle.js +8 -4
  13. package/src/sap/base/strings/whitespaceReplacer.js +52 -0
  14. package/src/sap/base/util/Properties.js +4 -1
  15. package/src/sap/base/util/isEmptyObject.js +1 -2
  16. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  17. package/src/sap/base/util/restricted/_castArray.js +1 -1
  18. package/src/sap/base/util/restricted/_compact.js +1 -1
  19. package/src/sap/base/util/restricted/_curry.js +1 -1
  20. package/src/sap/base/util/restricted/_debounce.js +1 -1
  21. package/src/sap/base/util/restricted/_difference.js +1 -1
  22. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  23. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  24. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  25. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  26. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  27. package/src/sap/base/util/restricted/_flatten.js +1 -1
  28. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  29. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  30. package/src/sap/base/util/restricted/_intersection.js +1 -1
  31. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  32. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  33. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  34. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  35. package/src/sap/base/util/restricted/_isNil.js +1 -1
  36. package/src/sap/base/util/restricted/_max.js +1 -1
  37. package/src/sap/base/util/restricted/_merge.js +1 -1
  38. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  39. package/src/sap/base/util/restricted/_min.js +1 -1
  40. package/src/sap/base/util/restricted/_omit.js +1 -1
  41. package/src/sap/base/util/restricted/_pick.js +1 -1
  42. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  43. package/src/sap/base/util/restricted/_throttle.js +1 -1
  44. package/src/sap/base/util/restricted/_toArray.js +1 -1
  45. package/src/sap/base/util/restricted/_union.js +1 -1
  46. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  47. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  48. package/src/sap/base/util/restricted/_uniq.js +1 -1
  49. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  50. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  51. package/src/sap/base/util/restricted/_without.js +1 -1
  52. package/src/sap/base/util/restricted/_xor.js +1 -1
  53. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  54. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  55. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  56. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  57. package/src/sap/ui/Device.js +37 -42
  58. package/src/sap/ui/Global.js +6 -6
  59. package/src/sap/ui/VersionInfo.js +1 -0
  60. package/src/sap/ui/base/DataType.js +14 -7
  61. package/src/sap/ui/base/Event.js +1 -1
  62. package/src/sap/ui/base/EventProvider.js +1 -1
  63. package/src/sap/ui/base/ExpressionParser.js +9 -6
  64. package/src/sap/ui/base/Interface.js +3 -49
  65. package/src/sap/ui/base/ManagedObject.js +131 -24
  66. package/src/sap/ui/base/ManagedObjectMetadata.js +13 -4
  67. package/src/sap/ui/base/Metadata.js +1 -1
  68. package/src/sap/ui/base/Object.js +49 -4
  69. package/src/sap/ui/base/ObjectPool.js +1 -1
  70. package/src/sap/ui/base/syncXHRFix.js +2 -1
  71. package/src/sap/ui/core/.library +5 -5
  72. package/src/sap/ui/core/AppCacheBuster.js +4 -4
  73. package/src/sap/ui/core/BusyIndicator.js +1 -11
  74. package/src/sap/ui/core/BusyIndicatorUtils.js +4 -1
  75. package/src/sap/ui/core/Component.js +441 -179
  76. package/src/sap/ui/core/ComponentContainer.js +16 -6
  77. package/src/sap/ui/core/ComponentMetadata.js +14 -3
  78. package/src/sap/ui/core/ComponentSupport.js +1 -1
  79. package/src/sap/ui/core/Configuration.js +64 -32
  80. package/src/sap/ui/core/Control.js +1 -1
  81. package/src/sap/ui/core/Core.js +57 -40
  82. package/src/sap/ui/core/CustomData.js +1 -1
  83. package/src/sap/ui/core/CustomizingConfiguration.js +35 -260
  84. package/src/sap/ui/core/DeclarativeSupport.js +3 -2
  85. package/src/sap/ui/core/Element.js +1 -1
  86. package/src/sap/ui/core/ElementMetadata.js +4 -2
  87. package/src/sap/ui/core/EnabledPropagator.js +91 -73
  88. package/src/sap/ui/core/EventBus.js +1 -1
  89. package/src/sap/ui/core/ExtensionPoint.js +7 -14
  90. package/src/sap/ui/core/Fragment.js +30 -32
  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 +5 -5
  94. package/src/sap/ui/core/IconPool.js +15 -1097
  95. package/src/sap/ui/core/IconRenderer.js +2 -2
  96. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  97. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  98. package/src/sap/ui/core/InvisibleMessage.js +9 -1
  99. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  100. package/src/sap/ui/core/InvisibleText.js +1 -1
  101. package/src/sap/ui/core/Item.js +1 -1
  102. package/src/sap/ui/core/LabelEnablement.js +1 -1
  103. package/src/sap/ui/core/LayoutData.js +1 -1
  104. package/src/sap/ui/core/ListItem.js +1 -1
  105. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  106. package/src/sap/ui/core/Locale.js +26 -4
  107. package/src/sap/ui/core/LocaleData.js +1 -1
  108. package/src/sap/ui/core/Manifest.js +124 -126
  109. package/src/sap/ui/core/Message.js +1 -1
  110. package/src/sap/ui/core/Patcher.js +53 -80
  111. package/src/sap/ui/core/Placeholder.js +25 -11
  112. package/src/sap/ui/core/Popup.js +29 -5
  113. package/src/sap/ui/core/RenderManager.js +41 -24
  114. package/src/sap/ui/core/Renderer.js +13 -3
  115. package/src/sap/ui/core/ResizeHandler.js +1 -1
  116. package/src/sap/ui/core/ScrollBar.js +2 -2
  117. package/src/sap/ui/core/SeparatorItem.js +1 -1
  118. package/src/sap/ui/core/ShortcutHintsMixin.js +14 -7
  119. package/src/sap/ui/core/ThemeCheck.js +13 -61
  120. package/src/sap/ui/core/Title.js +1 -1
  121. package/src/sap/ui/core/TooltipBase.js +1 -1
  122. package/src/sap/ui/core/UIArea.js +5 -2
  123. package/src/sap/ui/core/UIComponent.js +81 -40
  124. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  125. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  126. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  127. package/src/sap/ui/core/XMLComposite.js +1 -1
  128. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  129. package/src/sap/ui/core/XMLTemplateProcessor.js +5 -5
  130. package/src/sap/ui/core/_IconRegistry.js +1215 -0
  131. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  132. package/src/sap/ui/core/delegate/ScrollEnablement.js +6 -3
  133. package/src/sap/ui/core/dnd/DragDropBase.js +2 -9
  134. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  135. package/src/sap/ui/core/dnd/DragInfo.js +41 -1
  136. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  137. package/src/sap/ui/core/format/DateFormat.js +2 -0
  138. package/src/sap/ui/core/format/NumberFormat.js +2 -0
  139. package/src/sap/ui/core/hyphenation/Hyphenation.js +73 -221
  140. package/src/sap/ui/core/hyphenation/HyphenationTestingWords.js +11 -10
  141. package/src/sap/ui/core/library.js +3 -3
  142. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  143. package/src/sap/ui/core/message/Message.js +1 -1
  144. package/src/sap/ui/core/message/MessageManager.js +13 -13
  145. package/src/sap/ui/core/message/MessageParser.js +1 -1
  146. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  147. package/src/sap/ui/core/messagebundle_de.properties +1 -1
  148. package/src/sap/ui/core/messagebundle_fr.properties +1 -1
  149. package/src/sap/ui/core/messagebundle_it.properties +1 -1
  150. package/src/sap/ui/core/messagebundle_pl.properties +1 -1
  151. package/src/sap/ui/core/messagebundle_th.properties +2 -2
  152. package/src/sap/ui/core/mvc/Controller.js +166 -9
  153. package/src/sap/ui/core/mvc/ControllerExtensionProvider.js +30 -32
  154. package/src/sap/ui/core/mvc/ControllerMetadata.js +18 -18
  155. package/src/sap/ui/core/mvc/HTMLView.js +4 -2
  156. package/src/sap/ui/core/mvc/JSONView.js +8 -6
  157. package/src/sap/ui/core/mvc/JSView.js +5 -3
  158. package/src/sap/ui/core/mvc/TemplateView.js +2 -2
  159. package/src/sap/ui/core/mvc/View.js +73 -89
  160. package/src/sap/ui/core/mvc/ViewType.js +2 -0
  161. package/src/sap/ui/core/mvc/XMLView.js +14 -10
  162. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  163. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  164. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  165. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  166. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  167. package/src/sap/ui/core/routing/History.js +36 -18
  168. package/src/sap/ui/core/routing/Route.js +10 -1
  169. package/src/sap/ui/core/routing/Router.js +8 -5
  170. package/src/sap/ui/core/routing/Target.js +13 -0
  171. package/src/sap/ui/core/routing/TargetCache.js +1 -1
  172. package/src/sap/ui/core/routing/Targets.js +39 -2
  173. package/src/sap/ui/core/routing/async/Route.js +7 -4
  174. package/src/sap/ui/core/routing/async/Target.js +383 -262
  175. package/src/sap/ui/core/routing/sync/Target.js +15 -0
  176. package/src/sap/ui/core/rules/App.support.js +35 -1
  177. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  178. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  179. package/src/sap/ui/core/service/Service.js +1 -1
  180. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  181. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  182. package/src/sap/ui/core/support/BootSupportTool.js +11 -0
  183. package/src/sap/ui/core/support/InteractionTree.css +4 -0
  184. package/src/sap/ui/core/support/Plugin.js +1 -1
  185. package/src/sap/ui/core/support/Support.js +1 -1
  186. package/src/sap/ui/core/support/ViewInfo.css +599 -0
  187. package/src/sap/ui/core/support/controls/InteractionTree.js +352 -222
  188. package/src/sap/ui/core/support/controls/ObjectViewer.js +8 -50
  189. package/src/sap/ui/core/support/controls/TimelineOverview.js +49 -24
  190. package/src/sap/ui/core/support/controls/TreeViewer.js +12 -58
  191. package/src/sap/ui/core/support/plugins/ControlTree.js +23 -26
  192. package/src/sap/ui/core/support/plugins/Debugging.js +9 -11
  193. package/src/sap/ui/core/support/plugins/Interaction.js +2 -2
  194. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  195. package/src/sap/ui/core/support/plugins/Performance.js +147 -75
  196. package/src/sap/ui/core/support/plugins/Selector.js +19 -24
  197. package/src/sap/ui/core/support/plugins/TechInfo.js +5 -5
  198. package/src/sap/ui/core/support/plugins/Trace.js +95 -32
  199. package/src/sap/ui/core/support/plugins/ViewInfo.js +9 -73
  200. package/src/sap/ui/core/support/support.css +109 -14
  201. package/src/sap/ui/core/support/support.html +6 -2
  202. package/src/sap/ui/core/support/techinfo/TechnicalInfo.fragment.xml +1 -0
  203. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +149 -72
  204. package/src/sap/ui/core/support/trace/E2eTraceLib.js +3 -3
  205. package/src/sap/ui/core/themes/base/LocalBusyIndicator.less +5 -0
  206. package/src/sap/ui/core/themes/base/base.less +27 -25
  207. package/src/sap/ui/core/themes/base/shared.less +1 -0
  208. package/src/sap/ui/core/theming/Parameters.js +225 -61
  209. package/src/sap/ui/core/theming/ThemeHelper.js +94 -0
  210. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  211. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  212. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  213. package/src/sap/ui/core/tmpl/Template.js +11 -28
  214. package/src/sap/ui/core/tmpl/TemplateControl.js +4 -4
  215. package/src/sap/ui/core/tmpl/_parsePath.js +35 -0
  216. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  217. package/src/sap/ui/core/util/DraftEnabledMockServer.js +9 -4
  218. package/src/sap/ui/core/util/Export.js +1 -1
  219. package/src/sap/ui/core/util/ExportCell.js +1 -1
  220. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  221. package/src/sap/ui/core/util/ExportRow.js +1 -1
  222. package/src/sap/ui/core/util/ExportType.js +1 -1
  223. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  224. package/src/sap/ui/core/util/File.js +1 -1
  225. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  226. package/src/sap/ui/core/util/MockServer.js +24 -5
  227. package/src/sap/ui/core/util/MockServerAnnotationsHandler.js +3 -2
  228. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  229. package/src/sap/ui/core/util/XMLPreprocessor.js +11 -12
  230. package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +154 -63
  231. package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +171 -152
  232. package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +419 -291
  233. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  234. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  235. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  236. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  237. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  238. package/src/sap/ui/core/util/serializer/delegate/HTML.js +2 -2
  239. package/src/sap/ui/core/util/serializer/delegate/XML.js +2 -2
  240. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  241. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  242. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  243. package/src/sap/ui/debug/ControlTree.js +10 -4
  244. package/src/sap/ui/debug/DebugEnv.js +3 -4
  245. package/src/sap/ui/debug/PropertyList.css +55 -0
  246. package/src/sap/ui/debug/PropertyList.js +111 -182
  247. package/src/sap/ui/events/jquery/EventSimulation.js +7 -6
  248. package/src/sap/ui/events/jquery/EventTriggerHook.js +1 -1
  249. package/src/sap/ui/model/ClientModel.js +1 -1
  250. package/src/sap/ui/model/ClientPropertyBinding.js +3 -1
  251. package/src/sap/ui/model/ClientTreeBinding.js +14 -8
  252. package/src/sap/ui/model/CompositeDataState.js +1 -1
  253. package/src/sap/ui/model/CompositeType.js +1 -1
  254. package/src/sap/ui/model/Context.js +31 -11
  255. package/src/sap/ui/model/DataState.js +1 -1
  256. package/src/sap/ui/model/ListBinding.js +19 -0
  257. package/src/sap/ui/model/MetaModel.js +1 -1
  258. package/src/sap/ui/model/Model.js +3 -3
  259. package/src/sap/ui/model/SelectionModel.js +5 -1
  260. package/src/sap/ui/model/SimpleType.js +1 -1
  261. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  262. package/src/sap/ui/model/Type.js +1 -1
  263. package/src/sap/ui/model/analytics/AnalyticalBinding.js +14 -9
  264. package/src/sap/ui/model/analytics/odata4analytics.js +31 -23
  265. package/src/sap/ui/model/base/ManagedObjectModel.js +13 -1
  266. package/src/sap/ui/model/json/JSONModel.js +4 -2
  267. package/src/sap/ui/model/message/MessageModel.js +4 -2
  268. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  269. package/src/sap/ui/model/odata/ODataListBinding.js +1 -0
  270. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  271. package/src/sap/ui/model/odata/ODataMetaModel.js +5 -2
  272. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  273. package/src/sap/ui/model/odata/ODataModel.js +7 -6
  274. package/src/sap/ui/model/odata/ODataUtils.js +31 -10
  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 +187 -0
  301. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +2 -2
  302. package/src/sap/ui/model/odata/v2/ODataContextBinding.js +55 -51
  303. package/src/sap/ui/model/odata/v2/ODataListBinding.js +42 -106
  304. package/src/sap/ui/model/odata/v2/ODataModel.js +251 -159
  305. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +163 -136
  306. package/src/sap/ui/model/odata/v4/Context.js +6 -3
  307. package/src/sap/ui/model/odata/v4/ODataBinding.js +3 -3
  308. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +97 -25
  309. package/src/sap/ui/model/odata/v4/ODataListBinding.js +112 -24
  310. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +15 -12
  311. package/src/sap/ui/model/odata/v4/ODataModel.js +85 -77
  312. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +25 -15
  313. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +21 -12
  314. package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +10 -3
  315. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +13 -4
  316. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +5 -1
  317. package/src/sap/ui/model/odata/v4/lib/_Cache.js +28 -17
  318. package/src/sap/ui/model/odata/v4/lib/_Helper.js +47 -30
  319. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +55 -19
  320. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +2 -2
  321. package/src/sap/ui/model/resource/ResourceModel.js +5 -2
  322. package/src/sap/ui/model/type/Boolean.js +1 -1
  323. package/src/sap/ui/model/type/Currency.js +1 -1
  324. package/src/sap/ui/model/type/Date.js +1 -1
  325. package/src/sap/ui/model/type/DateInterval.js +1 -1
  326. package/src/sap/ui/model/type/DateTime.js +1 -1
  327. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  328. package/src/sap/ui/model/type/FileSize.js +1 -1
  329. package/src/sap/ui/model/type/Float.js +1 -1
  330. package/src/sap/ui/model/type/Integer.js +1 -1
  331. package/src/sap/ui/model/type/String.js +1 -1
  332. package/src/sap/ui/model/type/Time.js +1 -1
  333. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  334. package/src/sap/ui/model/type/Unit.js +1 -1
  335. package/src/sap/ui/model/xml/XMLModel.js +4 -2
  336. package/src/sap/ui/performance/Measurement.js +1 -1
  337. package/src/sap/ui/performance/trace/FESR.js +2 -1
  338. package/src/sap/ui/performance/trace/Interaction.js +42 -25
  339. package/src/sap/ui/performance/trace/initTraces.js +1 -1
  340. package/src/sap/ui/qunit/QUnitUtils.js +1 -1
  341. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  342. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  343. package/src/sap/ui/security/FrameOptions.js +2 -1
  344. package/src/sap/ui/test/Opa5.js +1 -1
  345. package/src/sap/ui/test/OpaBuilder.js +1 -0
  346. package/src/sap/ui/test/TestUtils.js +28 -34
  347. package/src/sap/ui/test/actions/Drag.js +6 -2
  348. package/src/sap/ui/test/actions/Drop.js +6 -2
  349. package/src/sap/ui/test/actions/EnterText.js +6 -0
  350. package/src/sap/ui/test/actions/Press.js +6 -0
  351. package/src/sap/ui/test/actions/Scroll.js +6 -0
  352. package/src/sap/ui/test/autowaiter/_resourceWaiter.js +4 -4
  353. package/src/sap/ui/test/launchers/componentLauncher.js +1 -4
  354. package/src/sap/ui/test/matchers/I18NText.js +29 -11
  355. package/src/sap/ui/test/opaQunit.js +11 -9
  356. package/src/sap/ui/test/selectors/_ControlSelectorGenerator.js +4 -4
  357. package/src/sap/ui/thirdparty/caja-html-sanitizer.js +1 -1
  358. package/src/sap/ui/thirdparty/crossroads.js +16 -6
  359. package/src/sap/ui/thirdparty/hyphenopoly/Hyphenopoly.js +1196 -0
  360. package/src/sap/ui/thirdparty/hyphenopoly/Hyphenopoly_Loader.js +797 -0
  361. package/src/sap/ui/thirdparty/hyphenopoly/hyphenEngine.asm.js +108 -127
  362. package/src/sap/ui/thirdparty/hyphenopoly/hyphenEngine.wasm +0 -0
  363. package/src/sap/ui/thirdparty/hyphenopoly/patterns/bg.hpb +0 -0
  364. package/src/sap/ui/thirdparty/hyphenopoly/patterns/ca.hpb +0 -0
  365. package/src/sap/ui/thirdparty/hyphenopoly/patterns/da.hpb +0 -0
  366. package/src/sap/ui/thirdparty/hyphenopoly/patterns/de.hpb +0 -0
  367. package/src/sap/ui/thirdparty/hyphenopoly/patterns/el-monoton.hpb +0 -0
  368. package/src/sap/ui/thirdparty/hyphenopoly/patterns/en-us.hpb +0 -0
  369. package/src/sap/ui/thirdparty/hyphenopoly/patterns/es.hpb +0 -0
  370. package/src/sap/ui/thirdparty/hyphenopoly/patterns/et.hpb +0 -0
  371. package/src/sap/ui/thirdparty/hyphenopoly/patterns/fi.hpb +0 -0
  372. package/src/sap/ui/thirdparty/hyphenopoly/patterns/fr.hpb +0 -0
  373. package/src/sap/ui/thirdparty/hyphenopoly/patterns/hi.hpb +0 -0
  374. package/src/sap/ui/thirdparty/hyphenopoly/patterns/hr.hpb +0 -0
  375. package/src/sap/ui/thirdparty/hyphenopoly/patterns/hu.hpb +0 -0
  376. package/src/sap/ui/thirdparty/hyphenopoly/patterns/it.hpb +0 -0
  377. package/src/sap/ui/thirdparty/hyphenopoly/patterns/lt.hpb +0 -0
  378. package/src/sap/ui/thirdparty/hyphenopoly/patterns/nb-no.hpb +0 -0
  379. package/src/sap/ui/thirdparty/hyphenopoly/patterns/nl.hpb +0 -0
  380. package/src/sap/ui/thirdparty/hyphenopoly/patterns/pt.hpb +0 -0
  381. package/src/sap/ui/thirdparty/hyphenopoly/patterns/ru.hpb +0 -0
  382. package/src/sap/ui/thirdparty/hyphenopoly/patterns/sl.hpb +0 -0
  383. package/src/sap/ui/thirdparty/hyphenopoly/patterns/sv.hpb +0 -0
  384. package/src/sap/ui/thirdparty/hyphenopoly/patterns/th.hpb +0 -0
  385. package/src/sap/ui/thirdparty/hyphenopoly/patterns/tr.hpb +0 -0
  386. package/src/sap/ui/thirdparty/hyphenopoly/patterns/uk.hpb +0 -0
  387. package/src/sap/ui/util/Storage.js +1 -1
  388. package/src/sap/ui/util/isCrossOriginURL.js +16 -6
  389. package/src/sap-ui-core-nojQuery.js +1 -1
  390. package/src/sap-ui-core.js +1 -1
  391. package/src/sap-ui-debug.js +3 -17
  392. package/src/ui5loader.js +5 -2
  393. package/src/sap/ui/core/support/plugins/MessageTest.js +0 -96
  394. package/src/sap/ui/thirdparty/hyphenopoly/hyphenopoly.bundle.js +0 -860
@@ -266,7 +266,7 @@ sap.ui.define([
266
266
  *
267
267
  * @extends sap.ui.base.EventProvider
268
268
  * @author SAP SE
269
- * @version 1.92.0
269
+ * @version 1.95.0
270
270
  * @public
271
271
  * @alias sap.ui.base.ManagedObject
272
272
  */
@@ -1151,7 +1151,7 @@ sap.ui.define([
1151
1151
  if (oBindingInfo && typeof oBindingInfo === "object") {
1152
1152
  this.bindProperty(sKey, oBindingInfo);
1153
1153
  } else {
1154
- this[oKeyInfo._sMutator](oBindingInfo || oValue);
1154
+ this[oKeyInfo._sMutator](typeof oBindingInfo === "string" ? oBindingInfo : oValue);
1155
1155
  }
1156
1156
  break;
1157
1157
  case 1: // SINGLE_AGGREGATION
@@ -1166,7 +1166,7 @@ sap.ui.define([
1166
1166
  }
1167
1167
  oValue = oValue[0];
1168
1168
  }
1169
- this[oKeyInfo._sMutator](makeObject(oBindingInfo || oValue, oKeyInfo, oScope));
1169
+ this[oKeyInfo._sMutator](makeObject(typeof oBindingInfo === "string" ? oBindingInfo : oValue, oKeyInfo, oScope));
1170
1170
  }
1171
1171
  break;
1172
1172
  case 2: // MULTIPLE_AGGREGATION
@@ -1174,7 +1174,7 @@ sap.ui.define([
1174
1174
  if (oBindingInfo && typeof oBindingInfo === "object" ) {
1175
1175
  this.bindAggregation(sKey, oBindingInfo);
1176
1176
  } else {
1177
- oValue = oBindingInfo || oValue; // could be an unescaped string if altTypes contains 'string'
1177
+ oValue = typeof oBindingInfo === "string" ? oBindingInfo : oValue; // could be an unescaped string if altTypes contains 'string'
1178
1178
  if ( oValue ) {
1179
1179
  if ( Array.isArray(oValue) ) {
1180
1180
  addAllToAggregation(oValue); // wrap a single object as array
@@ -2797,6 +2797,19 @@ sap.ui.define([
2797
2797
  this.iSuppressInvalidate++;
2798
2798
  }
2799
2799
 
2800
+ // Data Binding
2801
+ for (sName in this.mBindingInfos) {
2802
+ if (this.mBindingInfos[sName].factory) {
2803
+ this._detachAggregationBindingHandlers(sName);
2804
+ } else {
2805
+ this._detachPropertyBindingHandlers(sName);
2806
+ }
2807
+ }
2808
+
2809
+ for (sName in this.mObjectBindingInfos) {
2810
+ this._detachObjectBindingHandlers(sName);
2811
+ }
2812
+
2800
2813
  if (this.exit) {
2801
2814
  this.exit();
2802
2815
  }
@@ -3099,6 +3112,25 @@ sap.ui.define([
3099
3112
  oBinding.initialize();
3100
3113
  };
3101
3114
 
3115
+ /**
3116
+ * Detach all object binding event handler
3117
+ *
3118
+ * @param {string} sModelName Name of the model to detach the handler for.
3119
+ * @private
3120
+ */
3121
+ ManagedObject.prototype._detachObjectBindingHandlers = function(sModelName) {
3122
+ var oBindingInfo = this.mObjectBindingInfos[sModelName];
3123
+ if (oBindingInfo) {
3124
+ if (oBindingInfo.binding) {
3125
+ oBindingInfo.binding.detachChange(oBindingInfo.modelChangeHandler);
3126
+ oBindingInfo.binding.detachEvents(oBindingInfo.events);
3127
+ if (this.refreshDataState) {
3128
+ oBindingInfo.binding.detachAggregatedDataStateChange(oBindingInfo.dataStateChangeHandler);
3129
+ }
3130
+ }
3131
+ }
3132
+ };
3133
+
3102
3134
  /**
3103
3135
  * Removes the defined binding context of this object, all bindings will now resolve
3104
3136
  * relative to the parent context again.
@@ -3111,10 +3143,8 @@ sap.ui.define([
3111
3143
  var oBindingInfo = this.mObjectBindingInfos[sModelName];
3112
3144
  if (oBindingInfo) {
3113
3145
  if (oBindingInfo.binding) {
3114
- oBindingInfo.binding.detachChange(oBindingInfo.modelChangeHandler);
3115
- oBindingInfo.binding.detachEvents(oBindingInfo.events);
3116
- if (this.refreshDataState) {
3117
- oBindingInfo.binding.detachAggregatedDataStateChange(oBindingInfo.dataStateChangeHandler);
3146
+ if (!this._bIsBeingDestroyed) {
3147
+ this._detachObjectBindingHandlers(sModelName);
3118
3148
  }
3119
3149
  oBindingInfo.binding.destroy();
3120
3150
  }
@@ -3515,6 +3545,33 @@ sap.ui.define([
3515
3545
  }
3516
3546
  };
3517
3547
 
3548
+ /**
3549
+ * Detach all property binding event handler
3550
+ *
3551
+ * Note: The DataState event handler could not be detached here. This must happen after
3552
+ * the destroy call to correctly cleanup messages. We leave it in unbindProperty and
3553
+ * check for destroy state in the handler itself.
3554
+ *
3555
+ * @param {string} sName the name of the property
3556
+ * @private
3557
+ */
3558
+ ManagedObject.prototype._detachPropertyBindingHandlers = function(sName) {
3559
+ var oBindingInfo = this.mBindingInfos[sName],
3560
+ oBinding;
3561
+ if (oBindingInfo) {
3562
+ oBinding = oBindingInfo.binding;
3563
+ if (oBinding) {
3564
+ oBinding.detachChange(oBindingInfo.modelChangeHandler);
3565
+ oBinding.detachEvents(oBindingInfo.events);
3566
+ /* to reset messages on a control we need to detach the datastate handler after destroy,
3567
+ as binding destroy clears up validation messages */
3568
+ if (this.refreshDataState && this._bIsBeingDestroyed) {
3569
+ oBinding.detachAggregatedDataStateChange(oBindingInfo.dataStateChangeHandler);
3570
+ }
3571
+ }
3572
+ }
3573
+ };
3574
+
3518
3575
  /**
3519
3576
  * Unbind the property from the model
3520
3577
  *
@@ -3529,17 +3586,18 @@ sap.ui.define([
3529
3586
  if (oBindingInfo) {
3530
3587
  oBinding = oBindingInfo.binding;
3531
3588
  if (oBinding) {
3532
- oBinding.detachChange(oBindingInfo.modelChangeHandler);
3533
- oBinding.detachEvents(oBindingInfo.events);
3589
+ if (!this._bIsBeingDestroyed) {
3590
+ this._detachPropertyBindingHandlers(sName);
3591
+ }
3534
3592
  oBinding.destroy();
3535
3593
  /* to reset messages on a control we need to detach the datastate handler after destroy,
3536
3594
  as binding destroy clears up validation messages */
3537
- if (this.refreshDataState) {
3595
+ if (this.refreshDataState && !this._bIsBeingDestroyed) {
3538
3596
  oBinding.detachAggregatedDataStateChange(oBindingInfo.dataStateChangeHandler);
3539
3597
  }
3540
3598
  }
3541
3599
 
3542
- if (this._observer) {
3600
+ if (this._observer && !this._bIsBeingDestroyed) {
3543
3601
  this._observer.bindingChange(this,sName,"remove", this.mBindingInfos[sName], "property");
3544
3602
  }
3545
3603
 
@@ -3699,7 +3757,7 @@ sap.ui.define([
3699
3757
  * Name of the model to bind against; when <code>undefined</code> or omitted, the default model is used
3700
3758
  * @property {sap.ui.base.ManagedObject} [template]
3701
3759
  * The template to clone for each item in the aggregation; either a template or a factory must be given
3702
- * @property {boolean|undefined} [templateShareable=undefined]
3760
+ * @property {boolean} [templateShareable=undefined]
3703
3761
  * Whether the framework should assume that the application takes care of the lifecycle of the given
3704
3762
  * template; when set to <code>true</code>, the template can be used in multiple bindings, either in
3705
3763
  * parallel or over time, and the framework won't clone it when this <code>ManagedObject</code> is cloned;
@@ -3941,6 +3999,26 @@ sap.ui.define([
3941
3999
  }
3942
4000
  };
3943
4001
 
4002
+ /**
4003
+ * Detach all aggregation binding event handler
4004
+ *
4005
+ * @param {string} sName the name of the aggregation
4006
+ * @private
4007
+ */
4008
+ ManagedObject.prototype._detachAggregationBindingHandlers = function(sName) {
4009
+ var oBindingInfo = this.mBindingInfos[sName];
4010
+ if (oBindingInfo) {
4011
+ if (oBindingInfo.binding) {
4012
+ oBindingInfo.binding.detachChange(oBindingInfo.modelChangeHandler);
4013
+ oBindingInfo.binding.detachRefresh(oBindingInfo.modelRefreshHandler);
4014
+ oBindingInfo.binding.detachEvents(oBindingInfo.events);
4015
+ if (this.refreshDataState) {
4016
+ oBindingInfo.binding.detachAggregatedDataStateChange(oBindingInfo.dataStateChangeHandler);
4017
+ }
4018
+ }
4019
+ }
4020
+ };
4021
+
3944
4022
  /**
3945
4023
  * Unbind the aggregation from the model.
3946
4024
  *
@@ -3963,11 +4041,8 @@ sap.ui.define([
3963
4041
  oAggregationInfo = this.getMetadata().getAggregation(sName);
3964
4042
  if (oBindingInfo) {
3965
4043
  if (oBindingInfo.binding) {
3966
- oBindingInfo.binding.detachChange(oBindingInfo.modelChangeHandler);
3967
- oBindingInfo.binding.detachRefresh(oBindingInfo.modelRefreshHandler);
3968
- oBindingInfo.binding.detachEvents(oBindingInfo.events);
3969
- if (this.refreshDataState) {
3970
- oBindingInfo.binding.detachAggregatedDataStateChange(oBindingInfo.dataStateChangeHandler);
4044
+ if (!this._bIsBeingDestroyed) {
4045
+ this._detachAggregationBindingHandlers(sName);
3971
4046
  }
3972
4047
  oBindingInfo.binding.destroy();
3973
4048
  }
@@ -3980,8 +4055,7 @@ sap.ui.define([
3980
4055
  oBindingInfo.template._sapui_candidateForDestroy = true;
3981
4056
  }
3982
4057
  }
3983
-
3984
- if (this._observer) {
4058
+ if (this._observer && !this._bIsBeingDestroyed) {
3985
4059
  this._observer.bindingChange(this,sName,"remove", this.mBindingInfos[sName], "aggregation");
3986
4060
  }
3987
4061
  delete this.mBindingInfos[sName];
@@ -4218,6 +4292,7 @@ sap.ui.define([
4218
4292
  ManagedObject.prototype.updateBindings = function(bUpdateAll, sModelName) {
4219
4293
  var that = this,
4220
4294
  sName,
4295
+ bCanCreate,
4221
4296
  oBindingInfo;
4222
4297
 
4223
4298
  /*
@@ -4302,14 +4377,18 @@ sap.ui.define([
4302
4377
  // create object bindings if they don't exist yet
4303
4378
  for ( sName in this.mObjectBindingInfos ) {
4304
4379
  oBindingInfo = this.mObjectBindingInfos[sName];
4305
-
4380
+ bCanCreate = canCreate(oBindingInfo);
4306
4381
  // if there is a binding and if it became invalid through the current model change, then remove it
4307
4382
  if ( oBindingInfo.binding && becameInvalid(oBindingInfo) ) {
4308
4383
  removeBinding(oBindingInfo);
4384
+ // if model does not exists anymore, also delete the BindingContext
4385
+ if (!bCanCreate) {
4386
+ delete this.mElementBindingContexts[sName];
4387
+ }
4309
4388
  }
4310
4389
 
4311
4390
  // if there is no binding and if all required information is available, create a binding object
4312
- if ( !oBindingInfo.binding && canCreate(oBindingInfo) ) {
4391
+ if ( !oBindingInfo.binding && bCanCreate ) {
4313
4392
  this._bindObject(oBindingInfo);
4314
4393
  }
4315
4394
  }
@@ -4582,7 +4661,7 @@ sap.ui.define([
4582
4661
  * <b>Note:</b> A ManagedObject inherits binding contexts from the Core only when it is a descendant of a UIArea.
4583
4662
  *
4584
4663
  * @param {string} [sModelName] the name of the model or <code>undefined</code>
4585
- * @return {sap.ui.model.Context} The binding context of this object
4664
+ * @returns {sap.ui.model.Context|null|undefined} The binding context of this object
4586
4665
  * @public
4587
4666
  */
4588
4667
  ManagedObject.prototype.getBindingContext = function(sModelName){
@@ -4869,7 +4948,7 @@ sap.ui.define([
4869
4948
  * Omitting the model name (or using the value <code>undefined</code>) is explicitly allowed and
4870
4949
  * refers to the default model.
4871
4950
  *
4872
- * @param {string|undefined} [sModelName] name of the model to be retrieved
4951
+ * @param {string} [sModelName] name of the model to be retrieved
4873
4952
  * @return {sap.ui.model.Model} oModel
4874
4953
  * @public
4875
4954
  */
@@ -5315,6 +5394,34 @@ sap.ui.define([
5315
5394
  this._onContextualSettingsChanged();
5316
5395
  };
5317
5396
 
5397
+ /**
5398
+ * Checks if an object's destruction has been started. During the
5399
+ * descruction of an object its ID is still registered, and child
5400
+ * objects could be still aggregated.
5401
+ * Creating another object with the same ID would lead to duplicate ID
5402
+ * issues.
5403
+ * To check if the destruction is finished, call <code>isDestroyed</code>.
5404
+ *
5405
+ * @return {boolean} Whether an object's destruction has been started
5406
+ * @since 1.93
5407
+ * @protected
5408
+ */
5409
+ ManagedObject.prototype.isDestroyStarted = function() {
5410
+ return !!this._bIsBeingDestroyed;
5411
+ };
5412
+
5413
+ /**
5414
+ * Returns whether this object is destroyed or not. A
5415
+ * destroyed object cannot be used anymore.
5416
+ *
5417
+ * @return {boolean} Whether the object is destroyed
5418
+ * @since 1.93
5419
+ * @public
5420
+ */
5421
+ ManagedObject.prototype.isDestroyed = function() {
5422
+ return !!this.bIsDestroyed;
5423
+ };
5424
+
5318
5425
  ManagedObject._defaultContextualSettings = {};
5319
5426
 
5320
5427
  return ManagedObject;
@@ -73,7 +73,7 @@ function(
73
73
  *
74
74
  *
75
75
  * @author Frank Weigel
76
- * @version 1.92.0
76
+ * @version 1.95.0
77
77
  * @since 0.8.6
78
78
  * @alias sap.ui.base.ManagedObjectMetadata
79
79
  * @extends sap.ui.base.Metadata
@@ -211,7 +211,10 @@ function(
211
211
  };
212
212
 
213
213
  Property.prototype.getType = function() {
214
- return this._oType || (this._oType = DataType.getType(this.type));
214
+ if (!this._oType) {
215
+ this._oType = DataType.getType(this.type);
216
+ }
217
+ return this._oType;
215
218
  };
216
219
 
217
220
  Property.prototype.getDefaultValue = function() {
@@ -323,7 +326,10 @@ function(
323
326
  };
324
327
 
325
328
  Aggregation.prototype.getType = function() {
326
- return this._oType || (this._oType = DataType.getType(this.type));
329
+ if (!this._oType) {
330
+ this._oType = DataType.getType(this.type);
331
+ }
332
+ return this._oType;
327
333
  };
328
334
 
329
335
  Aggregation.prototype.get = function(instance) {
@@ -704,7 +710,10 @@ function(
704
710
  };
705
711
 
706
712
  Association.prototype.getType = function() {
707
- return this._oType || (this._oType = DataType.getType(this.type));
713
+ if (!this._oType) {
714
+ this._oType = DataType.getType(this.type);
715
+ }
716
+ return this._oType;
708
717
  };
709
718
 
710
719
  Association.prototype.get = function(instance) {
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  *
27
27
  * @class Metadata for a class.
28
28
  * @author Frank Weigel
29
- * @version 1.92.0
29
+ * @version 1.95.0
30
30
  * @since 0.8.6
31
31
  * @public
32
32
  * @alias sap.ui.base.Metadata
@@ -13,8 +13,8 @@
13
13
  */
14
14
 
15
15
  // Provides class sap.ui.base.Object
16
- sap.ui.define(['./Interface', './Metadata', "sap/base/Log"],
17
- function(Interface, Metadata, Log) {
16
+ sap.ui.define(['./Metadata', "sap/base/Log"],
17
+ function(Metadata, Log) {
18
18
  "use strict";
19
19
 
20
20
 
@@ -26,7 +26,7 @@ sap.ui.define(['./Interface', './Metadata', "sap/base/Log"],
26
26
  * @class Base class for all SAPUI5 Objects.
27
27
  * @abstract
28
28
  * @author Malte Wedel
29
- * @version 1.92.0
29
+ * @version 1.95.0
30
30
  * @public
31
31
  * @alias sap.ui.base.Object
32
32
  * @throws {Error} When an instance of the class or its subclasses is created without the <code>new</code> operator.
@@ -67,7 +67,7 @@ sap.ui.define(['./Interface', './Metadata', "sap/base/Log"],
67
67
  // initially, an Object instance has no associated Interface and the getInterface
68
68
  // method is defined only in the prototype. So the code here will be executed.
69
69
  // It creates an interface (basically the same code as in the old implementation)
70
- var oInterface = new Interface(this, this.getMetadata().getAllPublicMethods());
70
+ var oInterface = new BaseObject._Interface(this, this.getMetadata().getAllPublicMethods());
71
71
  // Now this Object instance gets a new, private implementation of getInterface
72
72
  // that returns the newly created oInterface. Future calls of getInterface on the
73
73
  // same Object therefore will return the already created interface
@@ -236,6 +236,51 @@ sap.ui.define(['./Interface', './Metadata', "sap/base/Log"],
236
236
  return oObject instanceof BaseObject && oObject.isA(vTypeName);
237
237
  };
238
238
 
239
+ /**
240
+ * @param {sap.ui.base.Object} [oObject] Object for which a facade should be created
241
+ * @param {string[]} [aMethods=[]] Names of the methods, that should be available in the new facade
242
+ * @param {boolean} [_bReturnFacade=false] If true, the return value of a function call is this created Interface instance instead of the BaseObject interface
243
+ * @private
244
+ * @static
245
+ */
246
+ BaseObject._Interface = function(oObject, aMethods, _bReturnFacade) {
247
+ // if object is null or undefined, return itself
248
+ if (!oObject) {
249
+ return oObject;
250
+ }
251
+
252
+ function fCreateDelegator(oObject, sMethodName) {
253
+ return function() {
254
+ // return oObject[sMethodName].apply(oObject, arguments);
255
+ var tmp = oObject[sMethodName].apply(oObject, arguments);
256
+ // to avoid to hide the implementation behind the interface you need
257
+ // to override the getInterface function in the object or create the interface with bFacade = true
258
+ if (_bReturnFacade) {
259
+ return this;
260
+ } else {
261
+ return (tmp instanceof BaseObject) ? tmp.getInterface() : tmp;
262
+ }
263
+ };
264
+ }
265
+
266
+ // if there are no methods return
267
+ if (!aMethods) {
268
+ return {};
269
+ }
270
+
271
+ var sMethodName;
272
+
273
+ // create functions for all delegated methods
274
+ // PERFOPT: 'cache' length of aMethods to reduce # of resolutions
275
+ for (var i = 0, ml = aMethods.length; i < ml; i++) {
276
+ sMethodName = aMethods[i];
277
+ //!oObject[sMethodName] for 'lazy' loading interface methods ;-)
278
+ if (!oObject[sMethodName] || typeof oObject[sMethodName] === "function") {
279
+ this[sMethodName] = fCreateDelegator(oObject, sMethodName);
280
+ }
281
+ }
282
+ };
283
+
239
284
  return BaseObject;
240
285
 
241
286
  }, /* bExport= */ true);
@@ -59,7 +59,7 @@ sap.ui.define(['./Object'],
59
59
  *
60
60
  * @extends sap.ui.base.Object
61
61
  * @author SAP SE
62
- * @version 1.92.0
62
+ * @version 1.95.0
63
63
  * @alias sap.ui.base.ObjectPool
64
64
  * @public
65
65
  */
@@ -100,7 +100,8 @@ sap.ui.define([], function() {
100
100
  aArgs = [fnWrappedHandler, 0].concat(arguments);
101
101
  _timeout.apply(window, aArgs);
102
102
  } else {
103
- fnHandler = typeof vHandler !== "function" ? new Function(vHandler) : vHandler; // eslint-disable-line no-new-func
103
+ // eslint-disable-next-line no-new-func
104
+ fnHandler = typeof vHandler !== "function" ? new Function(vHandler) : vHandler; // legacy-relevant
104
105
  fnHandler.apply(window, arguments);
105
106
  }
106
107
  };
@@ -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.92.0</version>
9
+ <version>1.95.0</version>
10
10
 
11
11
  <documentation>The SAPUI5 Core Runtime.
12
12
 
@@ -112,7 +112,7 @@
112
112
  <raw-module name="sap/ui/thirdparty/URITemplate.js" depends="sap/ui/thirdparty/URI.js"/>
113
113
  <raw-module name="sap/ui/thirdparty/vkbeautify.js" />
114
114
  <raw-module name="sap/ui/thirdparty/zyngascroll.js" requiresTopLevelScope="false" />
115
- <raw-module name="sap/ui/thirdparty/hyphenopoly/hyphenopoly.bundle.js" depends="sap/ui/thirdparty/hyphenopoly/hyphenEngine.asm.js" />
115
+ <raw-module name="sap/ui/thirdparty/hyphenopoly/Hyphenopoly.js" depends="sap/ui/thirdparty/hyphenopoly/hyphenEngine.asm.js" />
116
116
  <raw-module name="sap/ui/thirdparty/hyphenopoly/hyphenEngine.asm.js" requiresTopLevelScope="false" />
117
117
  <raw-module name="ui5loader.js" />
118
118
  <raw-module name="ui5loader-autoconfig.js" depends="ui5loader.js" />
@@ -235,7 +235,7 @@
235
235
  <exclude name="sap.ui.qunit." />
236
236
  <exclude name="sap.ui.thirdparty." />
237
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 -->
238
+ <exclude name="sap.ui.core.designtime.mvc.ControllerExtensionTemplate" /> <!-- template file with partially unexpected content -->
239
239
  </jsdoc>
240
240
  <!-- excludes for the JSCoverage -->
241
241
  <jscoverage xmlns="http://www.sap.com/ui5/buildext/jscoverage" >
@@ -470,9 +470,9 @@
470
470
  <copyright>OpenJS Foundation and other contributors</copyright>
471
471
  <pattern>sap/ui/base/util/restricted/_/lodash.custom.js</pattern>
472
472
  </lib>
473
- <lib name="hyphenopoly" displayName="Hyphenopoly" version="2.4.0" homepage="https://github.com/mnater/Hyphenopoly">
473
+ <lib name="hyphenopoly" displayName="Hyphenopoly" version="3.4.0" homepage="https://github.com/mnater/Hyphenopoly">
474
474
  <license url="https://github.com/mnater/Hyphenopoly/blob/master/LICENSE" type="MIT" />
475
- <copyright>2018 Mathias Nater</copyright>
475
+ <copyright>2021 Mathias Nater</copyright>
476
476
  <pattern>sap/ui/thirdparty/hyphenopoly/*</pattern>
477
477
  </lib>
478
478
  <lib name="p-cancelable" displayName="p-cancelable" version="2.0.0" homepage="https://github.com/sindresorhus/p-cancelable/tree/v2.0.0">
@@ -16,10 +16,10 @@ sap.ui.define([
16
16
  'sap/base/util/extend',
17
17
  'sap/base/strings/escapeRegExp',
18
18
  'sap/ui/thirdparty/jquery',
19
- 'sap/ui/core/IconPool',
19
+ 'sap/ui/core/_IconRegistry',
20
20
  './Core' // provides sap.ui.getCore()
21
21
  ],
22
- function(ManagedObject, URI, Log, extend, escapeRegExp, jQuery, IconPool/*, Core */) {
22
+ function(ManagedObject, URI, Log, extend, escapeRegExp, jQuery, _IconRegistry/*, Core */) {
23
23
  "use strict";
24
24
 
25
25
  /*
@@ -389,7 +389,7 @@ sap.ui.define([
389
389
  return fnValidateProperty.apply(this, oArgs || arguments);
390
390
  };
391
391
 
392
- IconPool._convertUrl = function(sUrl) {
392
+ _IconRegistry._convertUrl = function(sUrl) {
393
393
  return fnConvertUrl(sUrl);
394
394
  };
395
395
 
@@ -446,7 +446,7 @@ sap.ui.define([
446
446
  ManagedObject.prototype.validateProperty = fnValidateProperty;
447
447
 
448
448
  // remove the function from IconPool
449
- delete IconPool._convertUrl;
449
+ delete _IconRegistry._convertUrl;
450
450
 
451
451
  // only remove xhr interception if xhr#open was not modified meanwhile
452
452
  if (XMLHttpRequest.prototype.open === fnEnhancedXhrOpen) {
@@ -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.92.0
41
+ * @version 1.95.0
42
42
  * @public
43
43
  * @alias sap.ui.core.BusyIndicator
44
44
  */
@@ -101,11 +101,6 @@ sap.ui.define([
101
101
  * @private
102
102
  */
103
103
  BusyIndicator._init = function() {
104
- // Create the graphics element
105
- // inserts 2 divs:
106
- // 1. an empty one which will contain the old indicator (used in goldreflection)
107
- // 2. a div containing the new standard busy indicator (used in bluecrystal)
108
-
109
104
  var oRootDomRef = document.createElement("div");
110
105
  oRootDomRef.id = this.sDOM_ID;
111
106
 
@@ -125,13 +120,8 @@ sap.ui.define([
125
120
  oBusyElement.setAttribute("title", sTitle);
126
121
  oRootDomRef.appendChild(oBusyElement);
127
122
 
128
- // Render into invisible area, so the size settings from CSS are applied
129
- var oInvisible = sap.ui.getCore().getStaticAreaRef();
130
- oInvisible.appendChild(oRootDomRef);
131
-
132
123
  this.oDomRef = oRootDomRef;
133
124
 
134
- //TODO how could this be destroyed? Who can/will destroy this?
135
125
  this.oPopup = new Popup(oRootDomRef);
136
126
  this.oPopup.setModal(true, "sapUiBlyBusy");
137
127
  this.oPopup.setShadow(false);
@@ -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