@openui5/sap.ui.core 1.106.0 → 1.107.1

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 (307) hide show
  1. package/package.json +1 -1
  2. package/src/jquery.sap.global.js +1 -1
  3. package/src/jquery.sap.properties.js +1 -1
  4. package/src/jquery.sap.resources.js +1 -1
  5. package/src/jquery.sap.script.js +1 -1
  6. package/src/jquery.sap.storage.js +3 -3
  7. package/src/jquery.sap.ui.js +5 -7
  8. package/src/sap/base/util/LoaderExtensions.js +6 -6
  9. package/src/sap/base/util/fetch.js +3 -0
  10. package/src/sap/base/util/mixedFetch.js +1 -1
  11. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  12. package/src/sap/base/util/restricted/_castArray.js +1 -1
  13. package/src/sap/base/util/restricted/_compact.js +1 -1
  14. package/src/sap/base/util/restricted/_curry.js +1 -1
  15. package/src/sap/base/util/restricted/_debounce.js +1 -1
  16. package/src/sap/base/util/restricted/_difference.js +1 -1
  17. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  18. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  19. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  20. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  21. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  22. package/src/sap/base/util/restricted/_flatten.js +1 -1
  23. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  24. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  25. package/src/sap/base/util/restricted/_intersection.js +1 -1
  26. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  27. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  28. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  29. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  30. package/src/sap/base/util/restricted/_isNil.js +1 -1
  31. package/src/sap/base/util/restricted/_max.js +1 -1
  32. package/src/sap/base/util/restricted/_merge.js +1 -1
  33. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  34. package/src/sap/base/util/restricted/_min.js +1 -1
  35. package/src/sap/base/util/restricted/_omit.js +1 -1
  36. package/src/sap/base/util/restricted/_pick.js +1 -1
  37. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  38. package/src/sap/base/util/restricted/_throttle.js +1 -1
  39. package/src/sap/base/util/restricted/_toArray.js +1 -1
  40. package/src/sap/base/util/restricted/_union.js +1 -1
  41. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  42. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  43. package/src/sap/base/util/restricted/_uniq.js +1 -1
  44. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  45. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  46. package/src/sap/base/util/restricted/_without.js +1 -1
  47. package/src/sap/base/util/restricted/_xor.js +1 -1
  48. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  49. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  50. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  51. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  52. package/src/sap/ui/Device.js +3 -3
  53. package/src/sap/ui/Global.js +4 -4
  54. package/src/sap/ui/base/DataType.js +4 -4
  55. package/src/sap/ui/base/Event.js +1 -1
  56. package/src/sap/ui/base/EventProvider.js +1 -1
  57. package/src/sap/ui/base/Interface.js +1 -1
  58. package/src/sap/ui/base/ManagedObject.js +1 -1
  59. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  60. package/src/sap/ui/base/ManagedObjectRegistry.js +4 -3
  61. package/src/sap/ui/base/Metadata.js +1 -1
  62. package/src/sap/ui/base/Object.js +1 -1
  63. package/src/sap/ui/base/ObjectPool.js +1 -1
  64. package/src/sap/ui/core/.library +1 -1
  65. package/src/sap/ui/core/AppCacheBuster.js +3 -4
  66. package/src/sap/ui/core/BusyIndicator.js +1 -1
  67. package/src/sap/ui/core/BusyIndicatorUtils.js +5 -6
  68. package/src/sap/ui/core/CalendarType.js +0 -1
  69. package/src/sap/ui/core/Component.js +12 -10
  70. package/src/sap/ui/core/ComponentContainer.js +6 -5
  71. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  72. package/src/sap/ui/core/ComponentSupport.js +1 -1
  73. package/src/sap/ui/core/Configuration.js +1 -1
  74. package/src/sap/ui/core/Control.js +7 -7
  75. package/src/sap/ui/core/Core.js +31 -304
  76. package/src/sap/ui/core/CustomData.js +1 -1
  77. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  78. package/src/sap/ui/core/Element.js +6 -6
  79. package/src/sap/ui/core/ElementMetadata.js +1 -1
  80. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  81. package/src/sap/ui/core/EventBus.js +1 -1
  82. package/src/sap/ui/core/FocusHandler.js +50 -2
  83. package/src/sap/ui/core/Fragment.js +1 -1
  84. package/src/sap/ui/core/HTML.js +1 -2
  85. package/src/sap/ui/core/History.js +1 -1
  86. package/src/sap/ui/core/Icon.js +1 -2
  87. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  88. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  89. package/src/sap/ui/core/InvisibleMessage.js +1 -2
  90. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  91. package/src/sap/ui/core/InvisibleText.js +5 -5
  92. package/src/sap/ui/core/Item.js +1 -2
  93. package/src/sap/ui/core/LabelEnablement.js +1 -1
  94. package/src/sap/ui/core/LayoutData.js +1 -2
  95. package/src/sap/ui/core/ListItem.js +1 -2
  96. package/src/sap/ui/core/LocalBusyIndicator.js +1 -2
  97. package/src/sap/ui/core/Locale.js +1 -1
  98. package/src/sap/ui/core/LocaleData.js +11 -9
  99. package/src/sap/ui/core/Manifest.js +8 -6
  100. package/src/sap/ui/core/Message.js +4 -6
  101. package/src/sap/ui/core/Popup.js +62 -5
  102. package/src/sap/ui/core/RenderManager.js +7 -5
  103. package/src/sap/ui/core/Renderer.js +5 -4
  104. package/src/sap/ui/core/Rendering.js +251 -0
  105. package/src/sap/ui/core/ResizeHandler.js +1 -1
  106. package/src/sap/ui/core/ScrollBar.js +6 -9
  107. package/src/sap/ui/core/ScrollBarRenderer.js +3 -3
  108. package/src/sap/ui/core/SeparatorItem.js +1 -2
  109. package/src/sap/ui/core/Title.js +1 -2
  110. package/src/sap/ui/core/TooltipBase.js +1 -2
  111. package/src/sap/ui/core/UIArea.js +389 -121
  112. package/src/sap/ui/core/UIComponent.js +1 -2
  113. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  114. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  115. package/src/sap/ui/core/VariantLayoutData.js +1 -2
  116. package/src/sap/ui/core/XMLComposite.js +1 -1
  117. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  118. package/src/sap/ui/core/XMLTemplateProcessor.js +5 -3
  119. package/src/sap/ui/core/cache/CacheManager.js +7 -6
  120. package/src/sap/ui/core/cache/LRUPersistentCache.js +4 -4
  121. package/src/sap/ui/core/date/Islamic.js +4 -4
  122. package/src/sap/ui/core/date/UniversalDate.js +8 -8
  123. package/src/sap/ui/core/date/UniversalDateUtils.js +3 -3
  124. package/src/sap/ui/core/delegate/ItemNavigation.js +5 -5
  125. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  126. package/src/sap/ui/core/dnd/DragAndDrop.js +4 -3
  127. package/src/sap/ui/core/dnd/DragDropBase.js +1 -2
  128. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -2
  129. package/src/sap/ui/core/dnd/DragInfo.js +1 -2
  130. package/src/sap/ui/core/dnd/DropInfo.js +1 -2
  131. package/src/sap/ui/core/format/DateFormat.js +9 -7
  132. package/src/sap/ui/core/format/DateFormatTimezoneDisplay.js +0 -1
  133. package/src/sap/ui/core/format/FileSizeFormat.js +4 -3
  134. package/src/sap/ui/core/format/ListFormat.js +4 -3
  135. package/src/sap/ui/core/format/NumberFormat.js +6 -5
  136. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  137. package/src/sap/ui/core/hyphenation/Hyphenation.js +7 -6
  138. package/src/sap/ui/core/library.js +3 -55
  139. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  140. package/src/sap/ui/core/message/Message.js +1 -1
  141. package/src/sap/ui/core/message/MessageManager.js +13 -23
  142. package/src/sap/ui/core/message/MessageParser.js +1 -1
  143. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  144. package/src/sap/ui/core/messagebundle_fr.properties +1 -1
  145. package/src/sap/ui/core/mvc/Controller.js +3 -3
  146. package/src/sap/ui/core/mvc/EventHandlerResolver.js +5 -3
  147. package/src/sap/ui/core/mvc/HTMLView.js +1 -2
  148. package/src/sap/ui/core/mvc/JSONView.js +1 -2
  149. package/src/sap/ui/core/mvc/JSView.js +1 -2
  150. package/src/sap/ui/core/mvc/TemplateView.js +1 -2
  151. package/src/sap/ui/core/mvc/View.js +21 -20
  152. package/src/sap/ui/core/mvc/ViewType.js +0 -1
  153. package/src/sap/ui/core/mvc/XMLView.js +18 -18
  154. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  155. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  156. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  157. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  158. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  159. package/src/sap/ui/core/routing/async/Target.js +4 -3
  160. package/src/sap/ui/core/rules/Config.support.js +6 -4
  161. package/src/sap/ui/core/rules/CoreHelper.support.js +3 -3
  162. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -2
  163. package/src/sap/ui/core/search/SearchProvider.js +1 -3
  164. package/src/sap/ui/core/service/Service.js +1 -1
  165. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  166. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  167. package/src/sap/ui/core/support/Plugin.js +1 -1
  168. package/src/sap/ui/core/support/Support.js +1 -1
  169. package/src/sap/ui/core/support/ToolsAPI.js +11 -13
  170. package/src/sap/ui/core/support/plugins/ControlTree.js +4 -4
  171. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  172. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  173. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  174. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  175. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  176. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  177. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  178. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +7 -5
  179. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -2
  180. package/src/sap/ui/core/tmpl/DOMElement.js +1 -4
  181. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  182. package/src/sap/ui/core/tmpl/Template.js +1 -2
  183. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -2
  184. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  185. package/src/sap/ui/core/util/Export.js +1 -1
  186. package/src/sap/ui/core/util/ExportCell.js +1 -1
  187. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  188. package/src/sap/ui/core/util/ExportRow.js +1 -1
  189. package/src/sap/ui/core/util/ExportType.js +1 -1
  190. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  191. package/src/sap/ui/core/util/File.js +1 -1
  192. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  193. package/src/sap/ui/core/util/MockServer.js +4 -2
  194. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  195. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  196. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  197. package/src/sap/ui/core/util/serializer/ViewSerializer.js +4 -4
  198. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  199. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  200. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  201. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  202. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  203. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  204. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  205. package/src/sap/ui/debug/ControlTree.js +3 -3
  206. package/src/sap/ui/debug/DebugEnv.js +4 -4
  207. package/src/sap/ui/debug/PropertyList.js +1 -1
  208. package/src/sap/ui/model/ClientModel.js +1 -1
  209. package/src/sap/ui/model/ClientTreeBinding.js +3 -1
  210. package/src/sap/ui/model/CompositeDataState.js +1 -1
  211. package/src/sap/ui/model/CompositeType.js +1 -1
  212. package/src/sap/ui/model/DataState.js +1 -1
  213. package/src/sap/ui/model/MetaModel.js +1 -1
  214. package/src/sap/ui/model/Model.js +1 -1
  215. package/src/sap/ui/model/SelectionModel.js +1 -1
  216. package/src/sap/ui/model/SimpleType.js +1 -1
  217. package/src/sap/ui/model/Sorter.js +22 -17
  218. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  219. package/src/sap/ui/model/TreeBindingAdapter.js +3 -7
  220. package/src/sap/ui/model/Type.js +1 -1
  221. package/src/sap/ui/model/analytics/AnalyticalBinding.js +2 -0
  222. package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +5 -7
  223. package/src/sap/ui/model/json/JSONModel.js +8 -6
  224. package/src/sap/ui/model/message/MessageModel.js +1 -1
  225. package/src/sap/ui/model/odata/ODataAnnotations.js +5 -3
  226. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  227. package/src/sap/ui/model/odata/ODataMetaModel.js +31 -8
  228. package/src/sap/ui/model/odata/ODataMetadata.js +5 -4
  229. package/src/sap/ui/model/odata/ODataModel.js +6 -5
  230. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +0 -1
  231. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  232. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  233. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  234. package/src/sap/ui/model/odata/type/Date.js +1 -1
  235. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  236. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  237. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  238. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  239. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  240. package/src/sap/ui/model/odata/type/Double.js +1 -1
  241. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  242. package/src/sap/ui/model/odata/type/Int.js +1 -1
  243. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  244. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  245. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  246. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  247. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  248. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  249. package/src/sap/ui/model/odata/type/Single.js +1 -1
  250. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  251. package/src/sap/ui/model/odata/type/String.js +1 -1
  252. package/src/sap/ui/model/odata/type/Time.js +1 -1
  253. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  254. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  255. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  256. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +4 -3
  257. package/src/sap/ui/model/odata/v2/ODataContextBinding.js +24 -15
  258. package/src/sap/ui/model/odata/v2/ODataListBinding.js +45 -27
  259. package/src/sap/ui/model/odata/v2/ODataModel.js +94 -36
  260. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +5 -5
  261. package/src/sap/ui/model/odata/v4/Context.js +23 -19
  262. package/src/sap/ui/model/odata/v4/ODataBinding.js +7 -3
  263. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +3 -3
  264. package/src/sap/ui/model/odata/v4/ODataListBinding.js +121 -57
  265. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +11 -11
  266. package/src/sap/ui/model/odata/v4/ODataModel.js +111 -69
  267. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +12 -4
  268. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +2 -2
  269. package/src/sap/ui/model/odata/v4/ODataUtils.js +1 -1
  270. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +41 -29
  271. package/src/sap/ui/model/odata/v4/lib/_Cache.js +59 -20
  272. package/src/sap/ui/model/odata/v4/lib/_Helper.js +135 -4
  273. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +21 -7
  274. package/src/sap/ui/model/resource/ResourceModel.js +7 -6
  275. package/src/sap/ui/model/type/Boolean.js +1 -1
  276. package/src/sap/ui/model/type/Currency.js +1 -1
  277. package/src/sap/ui/model/type/Date.js +1 -1
  278. package/src/sap/ui/model/type/DateInterval.js +1 -1
  279. package/src/sap/ui/model/type/DateTime.js +1 -1
  280. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  281. package/src/sap/ui/model/type/FileSize.js +1 -1
  282. package/src/sap/ui/model/type/Float.js +1 -1
  283. package/src/sap/ui/model/type/Integer.js +1 -1
  284. package/src/sap/ui/model/type/String.js +1 -1
  285. package/src/sap/ui/model/type/Time.js +1 -1
  286. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  287. package/src/sap/ui/model/type/Unit.js +5 -4
  288. package/src/sap/ui/model/xml/XMLModel.js +8 -6
  289. package/src/sap/ui/performance/trace/Interaction.js +1 -1
  290. package/src/sap/ui/qunit/QUnitUtils.js +2 -1
  291. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  292. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  293. package/src/sap/ui/test/Opa.js +7 -5
  294. package/src/sap/ui/test/Opa5.js +9 -15
  295. package/src/sap/ui/test/RecorderHotkeyListener.js +1 -1
  296. package/src/sap/ui/test/TestUtils.js +83 -1
  297. package/src/sap/ui/test/autowaiter/_autoWaiter.js +9 -0
  298. package/src/sap/ui/test/autowaiter/_cssAnimationWaiter.js +114 -0
  299. package/src/sap/ui/test/autowaiter/_cssTransitionWaiter.js +99 -0
  300. package/src/sap/ui/test/autowaiter/_jsAnimationWaiter.js +70 -0
  301. package/src/sap/ui/test/autowaiter/_resourceWaiter.js +3 -12
  302. package/src/sap/ui/test/autowaiter/_utils.js +13 -1
  303. package/src/sap/ui/test/generic/TestBase.js +1 -1
  304. package/src/sap/ui/test/matchers/Ancestor.js +1 -0
  305. package/src/sap/ui/test/matchers/Descendant.js +1 -0
  306. package/src/sap/ui/test/matchers/Sibling.js +1 -0
  307. package/src/sap/ui/util/Storage.js +1 -1
@@ -10,15 +10,16 @@ sap.ui.define([
10
10
  "sap/base/util/isPlainObject",
11
11
  "sap/base/util/ObjectPath",
12
12
  "sap/base/assert",
13
- "sap/base/util/extend"
14
- ], function(Log, isPlainObject, ObjectPath, assert, extend) {
13
+ "sap/base/util/extend",
14
+ "sap/ui/core/Configuration"
15
+ ], function(Log, isPlainObject, ObjectPath, assert, extend, Configuration) {
15
16
  "use strict";
16
17
 
17
18
  /**
18
19
  * @classdesc Base Class for a Renderer.
19
20
  *
20
21
  * @author SAP SE
21
- * @version 1.106.0
22
+ * @version 1.107.1
22
23
  * @namespace
23
24
  * @public
24
25
  * @alias sap.ui.core.Renderer
@@ -237,7 +238,7 @@ sap.ui.define([
237
238
  var TextDirection = sapUiCore.TextDirection;
238
239
 
239
240
  var sTextAlign = "",
240
- bRTL = sap.ui.getCore().getConfiguration().getRTL();
241
+ bRTL = Configuration.getRTL();
241
242
 
242
243
  switch (oTextAlign) {
243
244
  case TextAlign.End:
@@ -0,0 +1,251 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+
7
+ // Provides class sap.ui.core.Rendering
8
+ sap.ui.define([
9
+ "sap/base/Log",
10
+ "sap/ui/base/EventProvider",
11
+ "sap/ui/performance/trace/Interaction",
12
+ "sap/ui/performance/Measurement"
13
+ ], function(
14
+ Log,
15
+ EventProvider,
16
+ Interaction,
17
+ Measurement
18
+ ) {
19
+ "use strict";
20
+
21
+ /**
22
+ * A private logger instance used for 'debugRendering' logging.
23
+ *
24
+ * It can be activated by setting the URL parameter sap-ui-xx-debugRerendering to true.
25
+ * If activated, stack traces of invalidate() calls will be recorded and if new
26
+ * invalidations occur during rendering, they will be logged to the console together
27
+ * with the causing stack traces.
28
+ *
29
+ * @private
30
+ */
31
+ var oRenderLog = Log.getLogger("sap.ui.Rendering",
32
+ (
33
+ // Note that the sap-ui-config option still is expected in camel case.
34
+ // Lower case is only accepted here because of the config normalization which will be removed in future
35
+ (window["sap-ui-config"] && (window["sap-ui-config"]["xx-debugRendering"] || window["sap-ui-config"]["xx-debugrendering"]) )
36
+ || /sap-ui-xx-debug(R|-r)endering=(true|x|X)/.test(document.location.search)
37
+ ) ? Log.Level.DEBUG : Math.min(Log.Level.INFO, Log.getLevel())
38
+ );
39
+
40
+ var MAX_RENDERING_ITERATIONS = 20;
41
+
42
+ /**
43
+ * The ID of a timer that will execute the next rendering.
44
+ *
45
+ * A non-falsy value indicates that a timer exists already, or at least that no
46
+ * new timer needs to be created as. During the boot phase, this member is set
47
+ * to the special value <code>this</code> which is non-falsy and which should never
48
+ * represent a valid timer ID (no chance of misinterpretation).
49
+ */
50
+ var _sRerenderTimer = this; //eslint-disable-line consistent-this
51
+
52
+ var mUIAreas = {};
53
+
54
+ /**
55
+ * Tasks that are called just before the rendering starts.
56
+ * @private
57
+ */
58
+ var aPrerenderingTasks = [];
59
+
60
+ var _oEventProvider = new EventProvider();
61
+
62
+ var _bRendering = false;
63
+
64
+ function _renderPendingUIUpdates(sCaller) {
65
+ // start performance measurement
66
+ Measurement.start("renderPendingUIUpdates","Render pending UI updates in all UIAreas");
67
+
68
+ oRenderLog.debug("Render pending UI updates: start (" + (sCaller || "by timer" ) + ")");
69
+
70
+ var bUIUpdated = false,
71
+ bLooped = MAX_RENDERING_ITERATIONS > 0,
72
+ iLoopCount = 0;
73
+
74
+ _bRendering = true;
75
+
76
+ do {
77
+
78
+ if ( bLooped ) {
79
+ // try to detect long running ('endless') rendering loops
80
+ iLoopCount++;
81
+ // if we run another iteration despite the tracking mode, we complain ourselves
82
+ if ( iLoopCount > MAX_RENDERING_ITERATIONS ) {
83
+ _bRendering = false;
84
+ throw new Error("Rendering has been re-started too many times (" + iLoopCount + "). Add URL parameter sap-ui-xx-debugRendering=true for a detailed analysis.");
85
+ }
86
+
87
+ if ( iLoopCount > 1 ) {
88
+ oRenderLog.debug("Render pending UI updates: iteration " + iLoopCount);
89
+ }
90
+ }
91
+
92
+ // clear a pending timer so that the next call to re-render will create a new timer
93
+ if (_sRerenderTimer) {
94
+ if ( _sRerenderTimer !== this ) { // 'this' is used as a marker for a delayed initial rendering, no timer to cleanup then
95
+ clearTimeout(_sRerenderTimer); // explicitly stop the timer, as this call might be a synchronous call (applyChanges) while still a timer is running
96
+ }
97
+ _sRerenderTimer = undefined;
98
+ if (Rendering.aFnDone.length > 0) {
99
+ Rendering.aFnDone.pop()();
100
+ }
101
+ }
102
+
103
+ runPrerenderingTasks();
104
+
105
+ var mUIAreasSnapshot = mUIAreas;
106
+ mUIAreas = {};
107
+ for (var sId in mUIAreasSnapshot) {
108
+ bUIUpdated = mUIAreasSnapshot[sId].rerender() || bUIUpdated;
109
+ }
110
+
111
+ // eslint-disable-next-line no-unmodified-loop-condition
112
+ } while ( bLooped && _sRerenderTimer ); // iterate if there are new rendering tasks
113
+
114
+ _bRendering = false;
115
+
116
+ // TODO: Provide information on what actually was re-rendered...
117
+ if (bUIUpdated) {
118
+ Rendering.fireUIUpdated();
119
+ }
120
+
121
+ oRenderLog.debug("Render pending UI updates: finished");
122
+
123
+ // end performance measurement
124
+ Measurement.end("renderPendingUIUpdates");
125
+ }
126
+
127
+ var Rendering = {
128
+ // to protect against nested rendering we use an array of Steps instead of a single one
129
+ aFnDone: [],
130
+
131
+ /**
132
+ * Notify async Interaction step.
133
+ *
134
+ * @private
135
+ * @ui5-restricted sap.ui.core.Core
136
+ */
137
+ notifyInteractionStep: function () {
138
+ Rendering.aFnDone.push(Interaction.notifyAsyncStep());
139
+ },
140
+
141
+ /**
142
+ * Adds a task that is guaranteed to run once, just before the next rendering. A rendering
143
+ * request is not triggered.
144
+ *
145
+ * @param {function} fnPrerenderingTask
146
+ * A function that is called before the rendering
147
+ * @param {boolean} [bFirst=false]
148
+ * Whether the task should become the first one, not the last one
149
+ * @private
150
+ */
151
+ addPrerenderingTask: function (fnPrerenderingTask, bFirst) {
152
+ if (bFirst) {
153
+ aPrerenderingTasks.unshift(fnPrerenderingTask);
154
+ } else {
155
+ aPrerenderingTasks.push(fnPrerenderingTask);
156
+ }
157
+ },
158
+ /**
159
+ * Asks all UIAreas to execute any pending rendering tasks.
160
+ *
161
+ * The execution of rendering tasks might require multiple iterations
162
+ * until either no more rendering tasks are produced or until
163
+ * MAX_RENDERING_ITERATIONS are reached.
164
+ *
165
+ * With a value of MAX_RENDERING_ITERATIONS=0 the loop can be avoided
166
+ * and the remaining tasks are executed after another timeout.
167
+ *
168
+ * @param {string} sCaller The Caller id
169
+ * @private
170
+ */
171
+ renderPendingUIUpdates: function(sCaller, iTimeout) {
172
+ if (iTimeout !== undefined) {
173
+ _sRerenderTimer = setTimeout(_renderPendingUIUpdates.bind(null, sCaller), iTimeout);
174
+ } else {
175
+ Rendering.aFnDone.push(Interaction.notifyAsyncStep());
176
+ _renderPendingUIUpdates(sCaller);
177
+ }
178
+ },
179
+ /**
180
+ * Returns <code>true</code> if there are any pending rendering tasks or when
181
+ * such rendering tasks are currently being executed.
182
+ *
183
+ * @return {boolean} true if there are pending (or executing) rendering tasks.
184
+ * @private
185
+ */
186
+ getUIDirty: function() {
187
+ return !!(_sRerenderTimer || _bRendering);
188
+ },
189
+
190
+ /**
191
+ * @name sap.ui.core.Core#UIUpdated
192
+ * @event
193
+ * @private
194
+ * @function
195
+ */
196
+
197
+ attachUIUpdated: function(fnFunction, oListener) {
198
+ _oEventProvider.attachEvent("UIUpdated", fnFunction, oListener);
199
+ },
200
+
201
+ detachUIUpdated: function(fnFunction, oListener) {
202
+ _oEventProvider.detachEvent("UIUpdated", fnFunction, oListener);
203
+ },
204
+
205
+ fireUIUpdated: function(mParameters) {
206
+ _oEventProvider.fireEvent("UIUpdated", mParameters);
207
+ },
208
+
209
+ /**
210
+ * Returns the internal rendering Logger.
211
+ *
212
+ * @returns {sap.base.Log} The Rendering logger
213
+ * @private
214
+ */
215
+ getLogger: function() {
216
+ return oRenderLog;
217
+ },
218
+
219
+ /**
220
+ * Registers an invalidated UIArea for rerendering.
221
+ *
222
+ * @param {sap.ui.core.UIArea} oUIArea The invalidated UIArea
223
+ * @private
224
+ */
225
+ invalidateUIArea: function(oUIArea) {
226
+ mUIAreas[oUIArea.getId()] = oUIArea;
227
+ if ( !_sRerenderTimer ) {
228
+ // TODO: we should handle xx-waitForTheme here...
229
+ oRenderLog.debug("Registering timer for delayed re-rendering");
230
+ // start async interaction step
231
+ Rendering.aFnDone.push(Interaction.notifyAsyncStep());
232
+ Rendering.renderPendingUIUpdates('invalidated UIArea', 0); // decoupled for collecting several invalidations into one redraw
233
+ }
234
+ }
235
+ };
236
+
237
+ /**
238
+ * Runs all prerendering tasks and resets the list.
239
+ * @private
240
+ */
241
+ function runPrerenderingTasks() {
242
+ var aTasks = aPrerenderingTasks.slice();
243
+
244
+ aPrerenderingTasks = [];
245
+ aTasks.forEach(function (fnPrerenderingTask) {
246
+ fnPrerenderingTask();
247
+ });
248
+ }
249
+
250
+ return Rendering;
251
+ });
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * @alias sap.ui.core.ResizeHandler
34
34
  * @extends sap.ui.base.Object
35
35
  * @author SAP SE
36
- * @version 1.106.0
36
+ * @version 1.107.1
37
37
  * @public
38
38
  */
39
39
 
@@ -13,7 +13,8 @@ sap.ui.define([
13
13
  "sap/ui/performance/trace/Interaction",
14
14
  "sap/base/Log",
15
15
  "sap/ui/events/jquery/EventSimulation",
16
- "sap/ui/thirdparty/jquery"
16
+ "sap/ui/thirdparty/jquery",
17
+ "sap/ui/core/Configuration"
17
18
  ],
18
19
  function(
19
20
  Device,
@@ -23,7 +24,8 @@ sap.ui.define([
23
24
  Interaction,
24
25
  Log,
25
26
  EventSimulation,
26
- jQuery
27
+ jQuery,
28
+ Configuration
27
29
  ) {
28
30
  "use strict";
29
31
 
@@ -42,12 +44,11 @@ sap.ui.define([
42
44
  * The ScrollBar control can be used for virtual scrolling of a certain area.
43
45
  * This means: to simulate a very large scrollable area when technically the area is small and the control takes care of displaying the respective part only. E.g. a Table control can take care of only rendering the currently visible rows and use this ScrollBar control to make the user think he actually scrolls through a long list.
44
46
  * @extends sap.ui.core.Control
45
- * @version 1.106.0
47
+ * @version 1.107.1
46
48
  *
47
49
  * @public
48
50
  * @deprecated as of version 1.56
49
51
  * @alias sap.ui.core.ScrollBar
50
- * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
51
52
  */
52
53
  var ScrollBar = Control.extend("sap.ui.core.ScrollBar", /** @lends sap.ui.core.ScrollBar.prototype */ {
53
54
  metadata : {
@@ -146,7 +147,7 @@ sap.ui.define([
146
147
  this._bScrollPosIsChecked = false;
147
148
 
148
149
  // RTL mode
149
- this._bRTL = sap.ui.getCore().getConfiguration().getRTL();
150
+ this._bRTL = Configuration.getRTL();
150
151
 
151
152
  // suppress scroll event
152
153
  this._bSuppressScroll = false;
@@ -523,7 +524,6 @@ sap.ui.define([
523
524
  * @param {string} oOwnerDomRef
524
525
  * Dom ref of the Control that uses the scrollbar
525
526
  * @public
526
- * @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
527
527
  */
528
528
  ScrollBar.prototype.unbind = function (oOwnerDomRef) {
529
529
  if (oOwnerDomRef) {
@@ -547,7 +547,6 @@ sap.ui.define([
547
547
  * @param {string} oOwnerDomRef
548
548
  * Dom ref of the control that uses the scrollbar
549
549
  * @public
550
- * @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
551
550
  */
552
551
  ScrollBar.prototype.bind = function (oOwnerDomRef) {
553
552
  if (oOwnerDomRef) {
@@ -581,7 +580,6 @@ sap.ui.define([
581
580
  * Page Up is used to scroll one page back.
582
581
  *
583
582
  * @public
584
- * @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
585
583
  */
586
584
  ScrollBar.prototype.pageUp = function() {
587
585
  // call on scroll
@@ -592,7 +590,6 @@ sap.ui.define([
592
590
  * Page Down is used to scroll one page forward.
593
591
  *
594
592
  * @public
595
- * @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
596
593
  */
597
594
  ScrollBar.prototype.pageDown = function() {
598
595
  // call on scroll
@@ -5,8 +5,8 @@
5
5
  */
6
6
 
7
7
  // A renderer for the ScrollBar control
8
- sap.ui.define(['sap/ui/Device', "sap/ui/dom/getScrollbarSize"],
9
- function(Device, getScrollbarSize) {
8
+ sap.ui.define(['sap/ui/Device', "sap/ui/dom/getScrollbarSize", "sap/ui/core/Configuration"],
9
+ function(Device, getScrollbarSize, Configuration) {
10
10
  "use strict";
11
11
 
12
12
 
@@ -27,7 +27,7 @@ sap.ui.define(['sap/ui/Device', "sap/ui/dom/getScrollbarSize"],
27
27
  * @param {sap.ui.core.ScrollBar} oControl Object representation of the control that should be rendered
28
28
  */
29
29
  ScrollBarRenderer.render = function(oRM, oScrollBar){
30
- var bRTL = sap.ui.getCore().getConfiguration().getRTL();
30
+ var bRTL = Configuration.getRTL();
31
31
 
32
32
  oRM.openStart("div", oScrollBar);
33
33
  oRM.class("sapUiScrollBar");
@@ -23,11 +23,10 @@ sap.ui.define(['./Item', './library'],
23
23
  * @extends sap.ui.core.Item
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.106.0
26
+ * @version 1.107.1
27
27
  *
28
28
  * @public
29
29
  * @alias sap.ui.core.SeparatorItem
30
- * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
31
30
  */
32
31
  var SeparatorItem = Item.extend("sap.ui.core.SeparatorItem", /** @lends sap.ui.core.SeparatorItem.prototype */ { metadata : {
33
32
 
@@ -25,12 +25,11 @@ sap.ui.define(['./Element', './library'],
25
25
  * @extends sap.ui.core.Element
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.106.0
28
+ * @version 1.107.1
29
29
  *
30
30
  * @public
31
31
  * @since 1.16.0
32
32
  * @alias sap.ui.core.Title
33
- * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
34
33
  */
35
34
  var Title = Element.extend("sap.ui.core.Title", /** @lends sap.ui.core.Title.prototype */ { metadata : {
36
35
 
@@ -30,11 +30,10 @@ sap.ui.define([
30
30
  * @class
31
31
  * Abstract class that can be extended in order to implement any extended tooltip. For example, RichTooltip Control is based on it. It provides the opening/closing behavior and the main "text" property.
32
32
  * @extends sap.ui.core.Control
33
- * @version 1.106.0
33
+ * @version 1.107.1
34
34
  *
35
35
  * @public
36
36
  * @alias sap.ui.core.TooltipBase
37
- * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
38
37
  */
39
38
  var TooltipBase = Control.extend("sap.ui.core.TooltipBase", /** @lends sap.ui.core.TooltipBase.prototype */ {
40
39
  metadata : {