@openui5/sap.ui.core 1.115.0 → 1.116.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 (541) hide show
  1. package/.dtsgenrc +18 -0
  2. package/.eslintrc.json +11 -0
  3. package/.reuse/dep5 +0 -5
  4. package/THIRDPARTY.txt +1 -7
  5. package/package.json +1 -1
  6. package/src/jquery.sap.global.js +1 -1
  7. package/src/jquery.sap.properties.js +1 -1
  8. package/src/jquery.sap.resources.js +1 -1
  9. package/src/jquery.sap.script.js +1 -1
  10. package/src/jquery.sap.sjax.js +2 -2
  11. package/src/jquery.sap.storage.js +3 -3
  12. package/src/sap/base/Event.js +106 -0
  13. package/src/sap/base/Eventing.js +320 -0
  14. package/src/sap/base/config.js +1 -1
  15. package/src/sap/base/i18n/Formatting.js +991 -0
  16. package/src/sap/base/i18n/LanguageTag.js +189 -0
  17. package/src/sap/base/i18n/Localization.js +711 -0
  18. package/src/sap/base/i18n/ResourceBundle.js +5 -20
  19. package/src/sap/base/i18n/date/CalendarType.js +54 -0
  20. package/src/sap/base/i18n/date/CalendarWeekNumbering.js +105 -0
  21. package/src/sap/base/i18n/date/TimezoneUtils.js +287 -0
  22. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  23. package/src/sap/base/util/restricted/_castArray.js +1 -1
  24. package/src/sap/base/util/restricted/_compact.js +1 -1
  25. package/src/sap/base/util/restricted/_curry.js +1 -1
  26. package/src/sap/base/util/restricted/_debounce.js +1 -1
  27. package/src/sap/base/util/restricted/_difference.js +1 -1
  28. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  29. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  30. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  31. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  32. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  33. package/src/sap/base/util/restricted/_flatten.js +1 -1
  34. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  35. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  36. package/src/sap/base/util/restricted/_intersection.js +1 -1
  37. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  38. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  39. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  40. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  41. package/src/sap/base/util/restricted/_isNil.js +1 -1
  42. package/src/sap/base/util/restricted/_max.js +1 -1
  43. package/src/sap/base/util/restricted/_merge.js +1 -1
  44. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  45. package/src/sap/base/util/restricted/_min.js +1 -1
  46. package/src/sap/base/util/restricted/_omit.js +1 -1
  47. package/src/sap/base/util/restricted/_pick.js +1 -1
  48. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  49. package/src/sap/base/util/restricted/_throttle.js +1 -1
  50. package/src/sap/base/util/restricted/_toArray.js +1 -1
  51. package/src/sap/base/util/restricted/_union.js +1 -1
  52. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  53. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  54. package/src/sap/base/util/restricted/_uniq.js +1 -1
  55. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  56. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  57. package/src/sap/base/util/restricted/_without.js +1 -1
  58. package/src/sap/base/util/restricted/_xor.js +1 -1
  59. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  60. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  61. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  62. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  63. package/src/sap/ui/Device.js +3 -3
  64. package/src/sap/ui/Global.js +4 -4
  65. package/src/sap/ui/base/Event.js +1 -1
  66. package/src/sap/ui/base/EventProvider.js +4 -12
  67. package/src/sap/ui/base/Interface.js +1 -1
  68. package/src/sap/ui/base/ManagedObject.js +8 -12
  69. package/src/sap/ui/base/ManagedObjectMetadata.js +30 -7
  70. package/src/sap/ui/base/Metadata.js +1 -1
  71. package/src/sap/ui/base/Object.js +1 -1
  72. package/src/sap/ui/base/ObjectPool.js +1 -1
  73. package/src/sap/ui/base/SyncPromise.js +10 -5
  74. package/src/sap/ui/core/.library +2 -2
  75. package/src/sap/ui/core/AccessKeysEnablement.js +10 -5
  76. package/src/sap/ui/core/AnimationMode.js +49 -0
  77. package/src/sap/ui/core/BusyIndicator.js +33 -42
  78. package/src/sap/ui/core/CalendarType.js +11 -37
  79. package/src/sap/ui/core/Component.js +4 -5
  80. package/src/sap/ui/core/ComponentContainer.js +1 -1
  81. package/src/sap/ui/core/ComponentMetadata.js +2 -2
  82. package/src/sap/ui/core/ComponentSupport.js +1 -1
  83. package/src/sap/ui/core/Configuration.js +409 -1270
  84. package/src/sap/ui/core/Control.js +4 -12
  85. package/src/sap/ui/core/ControlBehavior.js +157 -0
  86. package/src/sap/ui/core/Core.js +124 -132
  87. package/src/sap/ui/core/CustomData.js +1 -1
  88. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  89. package/src/sap/ui/core/Element.js +14 -3
  90. package/src/sap/ui/core/ElementMetadata.js +1 -1
  91. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  92. package/src/sap/ui/core/EventBus.js +1 -1
  93. package/src/sap/ui/core/Fragment.js +1 -1
  94. package/src/sap/ui/core/HTML.js +1 -1
  95. package/src/sap/ui/core/History.js +1 -1
  96. package/src/sap/ui/core/Icon.js +1 -1
  97. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  98. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  99. package/src/sap/ui/core/InvisibleMessage.js +5 -7
  100. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  101. package/src/sap/ui/core/InvisibleText.js +12 -12
  102. package/src/sap/ui/core/Item.js +1 -1
  103. package/src/sap/ui/core/LabelEnablement.js +1 -1
  104. package/src/sap/ui/core/LayoutData.js +1 -1
  105. package/src/sap/ui/core/Lib.js +109 -22
  106. package/src/sap/ui/core/ListItem.js +1 -1
  107. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  108. package/src/sap/ui/core/Locale.js +151 -430
  109. package/src/sap/ui/core/LocaleData.js +39 -11
  110. package/src/sap/ui/core/Manifest.js +1 -1
  111. package/src/sap/ui/core/Message.js +1 -1
  112. package/src/sap/ui/core/RenderManager.js +1 -1
  113. package/src/sap/ui/core/Renderer.js +1 -1
  114. package/src/sap/ui/core/ResizeHandler.js +1 -1
  115. package/src/sap/ui/core/ScrollBar.js +1 -1
  116. package/src/sap/ui/core/SeparatorItem.js +1 -1
  117. package/src/sap/ui/core/StaticArea.js +31 -17
  118. package/src/sap/ui/core/Theming.js +451 -0
  119. package/src/sap/ui/core/Title.js +1 -1
  120. package/src/sap/ui/core/TooltipBase.js +1 -1
  121. package/src/sap/ui/core/UIArea.js +1 -1
  122. package/src/sap/ui/core/UIComponent.js +1 -1
  123. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  124. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  125. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  126. package/src/sap/ui/core/XMLComposite.js +1 -1
  127. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  128. package/src/sap/ui/core/XMLTemplateProcessor.js +1 -0
  129. package/src/sap/ui/core/_IconRegistry.js +7 -1
  130. package/src/sap/ui/core/date/CalendarWeekNumbering.js +12 -83
  131. package/src/sap/ui/core/date/UI5Date.js +2 -2
  132. package/src/sap/ui/core/delegate/ItemNavigation.js +8 -10
  133. package/src/sap/ui/core/delegate/ScrollEnablement.js +5 -5
  134. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  135. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  136. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  137. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  138. package/src/sap/ui/core/format/DateFormat.js +20 -15
  139. package/src/sap/ui/core/format/TimezoneUtil.js +15 -273
  140. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  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 +1 -1
  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_cs.properties +1 -1
  148. package/src/sap/ui/core/messagebundle_cy.properties +1 -1
  149. package/src/sap/ui/core/messagebundle_da.properties +1 -1
  150. package/src/sap/ui/core/messagebundle_de.properties +1 -1
  151. package/src/sap/ui/core/messagebundle_el.properties +1 -1
  152. package/src/sap/ui/core/messagebundle_en.properties +1 -1
  153. package/src/sap/ui/core/messagebundle_en_GB.properties +1 -1
  154. package/src/sap/ui/core/messagebundle_es.properties +1 -1
  155. package/src/sap/ui/core/messagebundle_es_MX.properties +1 -1
  156. package/src/sap/ui/core/messagebundle_et.properties +1 -1
  157. package/src/sap/ui/core/messagebundle_id.properties +1 -1
  158. package/src/sap/ui/core/messagebundle_it.properties +49 -49
  159. package/src/sap/ui/core/messagebundle_iw.properties +1 -1
  160. package/src/sap/ui/core/messagebundle_kk.properties +1 -1
  161. package/src/sap/ui/core/messagebundle_ko.properties +1 -1
  162. package/src/sap/ui/core/messagebundle_lt.properties +1 -1
  163. package/src/sap/ui/core/messagebundle_lv.properties +1 -1
  164. package/src/sap/ui/core/messagebundle_ms.properties +8 -8
  165. package/src/sap/ui/core/messagebundle_nl.properties +1 -1
  166. package/src/sap/ui/core/messagebundle_no.properties +1 -1
  167. package/src/sap/ui/core/messagebundle_pl.properties +1 -1
  168. package/src/sap/ui/core/messagebundle_pt.properties +1 -1
  169. package/src/sap/ui/core/messagebundle_pt_PT.properties +1 -1
  170. package/src/sap/ui/core/messagebundle_ro.properties +1 -1
  171. package/src/sap/ui/core/messagebundle_sh.properties +1 -1
  172. package/src/sap/ui/core/messagebundle_sv.properties +1 -1
  173. package/src/sap/ui/core/messagebundle_th.properties +1 -1
  174. package/src/sap/ui/core/messagebundle_uk.properties +21 -21
  175. package/src/sap/ui/core/messagebundle_vi.properties +1 -1
  176. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  177. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  178. package/src/sap/ui/core/mvc/JSView.js +1 -1
  179. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  180. package/src/sap/ui/core/mvc/View.js +1 -1
  181. package/src/sap/ui/core/mvc/XMLView.js +1 -1
  182. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  183. package/src/sap/ui/core/plugin/LessSupport.js +14 -16
  184. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  185. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  186. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  187. package/src/sap/ui/core/routing/HashChanger.js +1 -0
  188. package/src/sap/ui/core/routing/Route.js +1 -0
  189. package/src/sap/ui/core/routing/Router.js +3 -1
  190. package/src/sap/ui/core/rules/Config.support.js +2 -2
  191. package/src/sap/ui/core/rules/Model.support.js +3 -1
  192. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  193. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  194. package/src/sap/ui/core/service/Service.js +1 -1
  195. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  196. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  197. package/src/sap/ui/core/support/Plugin.js +1 -1
  198. package/src/sap/ui/core/support/Support.js +1 -1
  199. package/src/sap/ui/core/support/controls/TimelineOverview.js +1 -1
  200. package/src/sap/ui/core/support/plugins/ControlTree.js +2 -2
  201. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  202. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  203. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  204. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  205. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  206. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  207. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  208. package/src/sap/ui/core/themes/base/LocalBusyIndicator.less +4 -4
  209. package/src/sap/ui/core/themes/base/base.less +41 -20
  210. package/src/sap/ui/core/themes/base/fonts/SAP-icons.ttf +0 -0
  211. package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
  212. package/src/sap/ui/core/theming/Parameters.js +6 -5
  213. package/src/sap/ui/core/theming/ThemeManager.js +310 -447
  214. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  215. package/src/sap/ui/core/tmpl/DOMElement.js +5 -10
  216. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  217. package/src/sap/ui/core/tmpl/Template.js +1 -1
  218. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  219. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  220. package/src/sap/ui/core/util/Export.js +1 -1
  221. package/src/sap/ui/core/util/ExportCell.js +1 -1
  222. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  223. package/src/sap/ui/core/util/ExportRow.js +1 -1
  224. package/src/sap/ui/core/util/ExportType.js +1 -1
  225. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  226. package/src/sap/ui/core/util/File.js +1 -1
  227. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  228. package/src/sap/ui/core/util/MockServer.js +1 -1
  229. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  230. package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +3 -1
  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 +1 -1
  237. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  238. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  239. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -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/events/PseudoEvents.js +17 -9
  245. package/src/sap/ui/model/Binding.js +19 -15
  246. package/src/sap/ui/model/ClientModel.js +1 -1
  247. package/src/sap/ui/model/CompositeBinding.js +57 -19
  248. package/src/sap/ui/model/CompositeDataState.js +1 -1
  249. package/src/sap/ui/model/CompositeType.js +1 -1
  250. package/src/sap/ui/model/DataState.js +1 -1
  251. package/src/sap/ui/model/ListBinding.js +42 -1
  252. package/src/sap/ui/model/MetaModel.js +1 -1
  253. package/src/sap/ui/model/Model.js +5 -4
  254. package/src/sap/ui/model/PropertyBinding.js +10 -0
  255. package/src/sap/ui/model/SelectionModel.js +1 -1
  256. package/src/sap/ui/model/SimpleType.js +4 -1
  257. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  258. package/src/sap/ui/model/Type.js +1 -1
  259. package/src/sap/ui/model/base/ManagedObjectModel.js +1 -1
  260. package/src/sap/ui/model/json/JSONModel.js +1 -1
  261. package/src/sap/ui/model/message/MessageModel.js +1 -1
  262. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  263. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  264. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  265. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  266. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  267. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  268. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  269. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  270. package/src/sap/ui/model/odata/type/Date.js +1 -1
  271. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  272. package/src/sap/ui/model/odata/type/DateTimeBase.js +8 -1
  273. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  274. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  275. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  276. package/src/sap/ui/model/odata/type/Double.js +1 -1
  277. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  278. package/src/sap/ui/model/odata/type/Int.js +1 -1
  279. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  280. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  281. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  282. package/src/sap/ui/model/odata/type/ODataType.js +3 -3
  283. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  284. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  285. package/src/sap/ui/model/odata/type/Single.js +1 -1
  286. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  287. package/src/sap/ui/model/odata/type/String.js +1 -1
  288. package/src/sap/ui/model/odata/type/Time.js +1 -1
  289. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  290. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  291. package/src/sap/ui/model/odata/v2/Context.js +3 -2
  292. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  293. package/src/sap/ui/model/odata/v2/ODataListBinding.js +14 -3
  294. package/src/sap/ui/model/odata/v2/ODataModel.js +45 -31
  295. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
  296. package/src/sap/ui/model/odata/v4/Context.js +7 -3
  297. package/src/sap/ui/model/odata/v4/ODataBinding.js +68 -39
  298. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +12 -8
  299. package/src/sap/ui/model/odata/v4/ODataListBinding.js +30 -8
  300. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +11 -9
  301. package/src/sap/ui/model/odata/v4/ODataModel.js +10 -14
  302. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +64 -31
  303. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +21 -16
  304. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +2 -0
  305. package/src/sap/ui/model/odata/v4/lib/_Cache.js +37 -14
  306. package/src/sap/ui/model/odata/v4/lib/_Helper.js +11 -1
  307. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +7 -4
  308. package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +4 -4
  309. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +1 -1
  310. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  311. package/src/sap/ui/model/type/Boolean.js +1 -1
  312. package/src/sap/ui/model/type/Currency.js +1 -1
  313. package/src/sap/ui/model/type/Date.js +1 -1
  314. package/src/sap/ui/model/type/DateInterval.js +1 -1
  315. package/src/sap/ui/model/type/DateTime.js +1 -1
  316. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  317. package/src/sap/ui/model/type/FileSize.js +1 -1
  318. package/src/sap/ui/model/type/Float.js +1 -1
  319. package/src/sap/ui/model/type/Integer.js +1 -1
  320. package/src/sap/ui/model/type/String.js +1 -1
  321. package/src/sap/ui/model/type/Time.js +1 -1
  322. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  323. package/src/sap/ui/model/type/Unit.js +1 -1
  324. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  325. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  326. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  327. package/src/sap/ui/test/Opa5.js +1 -1
  328. package/src/sap/ui/test/autowaiter/_autoWaiter.js +1 -1
  329. package/src/sap/ui/test/generic/TestBase.js +1 -1
  330. package/src/sap/ui/test/gherkin/simpleGherkinParser.js +10 -5
  331. package/src/sap/ui/test/matchers/LabelFor.js +1 -0
  332. package/src/sap/ui/thirdparty/caja-html-sanitizer.js +111 -96
  333. package/src/sap/ui/util/ActivityDetection.js +7 -1
  334. package/src/sap/ui/util/Mobile.js +11 -8
  335. package/src/sap/ui/util/Storage.js +1 -1
  336. package/src/ui5loader-autoconfig.js +5 -2
  337. package/src/ui5loader.js +169 -185
  338. package/test/sap/ui/core/FormatHelper.js +3 -2
  339. package/test/sap/ui/core/demokit/docuindex.json +6 -0
  340. package/test/sap/ui/core/demokit/sample/OpaBusyIndicator/OpaBusyIndicator.js +1 -1
  341. package/test/sap/ui/core/demokit/sample/OpaMatchers/OpaMatchers.js +2 -2
  342. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/MIT.ODataTypes.html +9 -14
  343. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Opa.qunit.js +7 -0
  344. package/test/sap/ui/core/demokit/sample/common/pages/Any.js +1 -1
  345. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/tests/filter.js +2 -2
  346. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Component.js +27 -0
  347. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/ListReport.controller.js +43 -0
  348. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/ListReport.view.xml +47 -0
  349. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Main.controller.js +27 -0
  350. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Main.view.xml +7 -0
  351. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/NotFound.view.xml +8 -0
  352. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/ObjectPage.controller.js +123 -0
  353. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/ObjectPage.view.xml +92 -0
  354. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.html +27 -0
  355. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.js +69 -0
  356. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/README.html +55 -0
  357. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/SandboxModel.js +56 -0
  358. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/POST-SalesOrderList.json +66 -0
  359. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/SalesOrderList('0500000000')-SO_2_SOITEM.json +57 -0
  360. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/SalesOrderList('0500000000').json +20 -0
  361. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/SalesOrderList('0500000001').json +9 -0
  362. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/SalesOrderList('0500000007')-SO_2_BP.json +12 -0
  363. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/SalesOrderList.json +62 -0
  364. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/VH_CurrencyCode.json +85 -0
  365. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/VH_CurrencyCode.xml +185 -0
  366. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/VH_ProductID.json +93 -0
  367. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/VH_ProductID.xml +262 -0
  368. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/data/metadata.xml +1779 -0
  369. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/manifest.json +134 -0
  370. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/pages/Main.js +119 -0
  371. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/pages/Main.js +0 -41
  372. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/manifest.json +1 -1
  373. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/manifest.json +1 -1
  374. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Main.controller.js +5 -17
  375. package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Main.view.xml +3 -3
  376. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/test/integration/arrangements/Startup.js +1 -1
  377. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/test/integration/arrangements/Startup.js +1 -1
  378. package/test/sap/ui/core/qunit/CompositeBinding.qunit.js +25 -7
  379. package/test/sap/ui/core/qunit/ControlRenderer.qunit.js +86 -2
  380. package/test/sap/ui/core/qunit/DataState.qunit.js +2 -7
  381. package/test/sap/ui/core/qunit/HTML.qunit.js +31 -31
  382. package/test/sap/ui/core/qunit/Lib.qunit.js +55 -2
  383. package/test/sap/ui/core/qunit/LocalBusyIndicator.qunit.js +22 -15
  384. package/test/sap/ui/core/qunit/ManagedObject.qunit.js +5 -3
  385. package/test/sap/ui/core/qunit/Object.qunit.js +4 -1
  386. package/test/sap/ui/core/qunit/ThemeManager.qunit.js +2 -2
  387. package/test/sap/ui/core/qunit/ThemeParameters.qunit.js +9 -3
  388. package/test/sap/ui/core/qunit/Theming.beforeBootstrap.qunit.js +13 -0
  389. package/test/sap/ui/core/qunit/Theming.qunit.js +229 -0
  390. package/test/sap/ui/core/qunit/analytics/AnalyticalTreeBindingAdapter.qunit.js +2 -7
  391. package/test/sap/ui/core/qunit/analytics/ODataModelAdapter.qunit.js +2 -7
  392. package/test/sap/ui/core/qunit/app/MessageListBinding.qunit.js +2 -7
  393. package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.html +24 -0
  394. package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.js +275 -0
  395. package/test/sap/ui/core/qunit/base/i18n/Localization.qunit.js +259 -0
  396. package/test/sap/ui/core/qunit/base/i18n/ResourceBundle.qunit.js +5 -6
  397. package/test/sap/ui/core/qunit/base/security/sanitizeHTML.qunit.js +17 -0
  398. package/test/sap/ui/core/qunit/bootstrap/BootstrapPreload.qunit.js +1 -2
  399. package/test/sap/ui/core/qunit/bootstrap/BootstrapWithCustomBootTask.beforeBootstrap.qunit.js +13 -12
  400. package/test/sap/ui/core/qunit/bootstrap/Configuration.qunit.js +388 -254
  401. package/test/sap/ui/core/qunit/bootstrap/ThemeVersion.qunit.js +19 -30
  402. package/test/sap/ui/core/qunit/component/Models.qunit.js +7 -28
  403. package/test/sap/ui/core/qunit/component/Models_unavoidablySync.qunit.js +8 -26
  404. package/test/sap/ui/core/qunit/component/testdata/async/lib2/library-preload.js +2 -2
  405. package/test/sap/ui/core/qunit/component/testdata/async/lib2/library-preload.json +1 -1
  406. package/test/sap/ui/core/qunit/component/testdata/async/lib2/library.js +2 -2
  407. package/test/sap/ui/core/qunit/component/testdata/async/lib3/library-preload.js +2 -2
  408. package/test/sap/ui/core/qunit/component/testdata/async/lib3/library-preload.json +1 -1
  409. package/test/sap/ui/core/qunit/component/testdata/async/lib3/library.js +2 -2
  410. package/test/sap/ui/core/qunit/component/testdata/async/lib4/library-preload.js +2 -2
  411. package/test/sap/ui/core/qunit/component/testdata/async/lib4/library-preload.json +1 -1
  412. package/test/sap/ui/core/qunit/component/testdata/async/lib4/library.js +2 -2
  413. package/test/sap/ui/core/qunit/component/testdata/async/manifestcomp/Component-preload.js +1 -1
  414. package/test/sap/ui/core/qunit/component/testdata/async/manifestcomp/Component.js +2 -2
  415. package/test/sap/ui/core/qunit/component/testdata/async/mycomp/Component-preload.js +1 -1
  416. package/test/sap/ui/core/qunit/component/testdata/async/mycomp/Component.js +2 -2
  417. package/test/sap/ui/core/qunit/component/testdata/async/mysubcomp/Component-preload.js +1 -1
  418. package/test/sap/ui/core/qunit/component/testdata/async/mysubcomp/Component.js +2 -3
  419. package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/Component.js +0 -4
  420. package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/sync/Component.js +2 -6
  421. package/test/sap/ui/core/qunit/component/testdata/customizing/customersub/Component.js +0 -4
  422. package/test/sap/ui/core/qunit/component/testdata/inherit/Component.js +2 -7
  423. package/test/sap/ui/core/qunit/component/testdata/inherit/parent/Component.js +2 -7
  424. package/test/sap/ui/core/qunit/component/testdata/inheritAsync/Component.js +2 -2
  425. package/test/sap/ui/core/qunit/component/testdata/inheritAsync/parentA/Component.js +2 -2
  426. package/test/sap/ui/core/qunit/component/testdata/inheritAsync/parentB/Component.js +2 -2
  427. package/test/sap/ui/core/qunit/component/testdata/inheritAsyncError/Component.js +2 -2
  428. package/test/sap/ui/core/qunit/component/testdata/inheritAsyncError/parentA/Component.js +2 -2
  429. package/test/sap/ui/core/qunit/component/testdata/inheritAsyncError/parentB/Component.js +2 -2
  430. package/test/sap/ui/core/qunit/component/testdata/other/Component.js +2 -7
  431. package/test/sap/ui/core/qunit/component/testdata/terminologies/Component.js +2 -2
  432. package/test/sap/ui/core/qunit/component/testdata/terminologies/component1/Component.js +2 -2
  433. package/test/sap/ui/core/qunit/component/testdata/terminologies/component2/Component.js +2 -2
  434. package/test/sap/ui/core/qunit/component/testdata/terminologies/component3/Component.js +2 -2
  435. package/test/sap/ui/core/qunit/component/testdata/terminologies/component5/Component.js +2 -2
  436. package/test/sap/ui/core/qunit/component/testdata/terminologies/reuse/Component.js +2 -3
  437. package/test/sap/ui/core/qunit/component/testdata/v1/Component.js +2 -7
  438. package/test/sap/ui/core/qunit/component/testdata/v1empty/Component.js +2 -7
  439. package/test/sap/ui/core/qunit/component/testdata/v1inline/Component.js +2 -5
  440. package/test/sap/ui/core/qunit/component/testdata/v1missing/Component.js +2 -7
  441. package/test/sap/ui/core/qunit/component/testdata/v2/Component.js +2 -5
  442. package/test/sap/ui/core/qunit/component/testdata/v2asyncRootView/Component.js +2 -5
  443. package/test/sap/ui/core/qunit/component/testdata/v2empty/Component.js +2 -9
  444. package/test/sap/ui/core/qunit/component/testdata/v2inline/Component.js +2 -5
  445. package/test/sap/ui/core/qunit/component/testdata/v2missing/Component.js +2 -9
  446. package/test/sap/ui/core/qunit/component/testdata/v2version/Component.js +2 -2
  447. package/test/sap/ui/core/qunit/dnd/DragDropInfo.qunit.js +1 -2
  448. package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaks.qunit.js +2 -0
  449. package/test/sap/ui/core/qunit/generic/legacy/DuplicateIdCheck.qunit.js +2 -0
  450. package/test/sap/ui/core/qunit/gherkin/dataTableUtils.qunit.js +2 -2
  451. package/test/sap/ui/core/qunit/i18n/Locale.qunit.js +0 -52
  452. package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +1 -1
  453. package/test/sap/ui/core/qunit/i18n/UniversalDate.qunit.js +14 -24
  454. package/test/sap/ui/core/qunit/i18n/testsuite.i18n.qunit.js +18 -0
  455. package/test/sap/ui/core/qunit/internal/1RingModels.qunit.js +1 -0
  456. package/test/sap/ui/core/qunit/json/JSONListBinding.qunit.js +2 -7
  457. package/test/sap/ui/core/qunit/json/JSONPropertyBinding.qunit.js +7 -12
  458. package/test/sap/ui/core/qunit/json/JSONTwoWay.qunit.js +3 -8
  459. package/test/sap/ui/core/qunit/loader/fixture/amd-with-export-true/module1.js +2 -2
  460. package/test/sap/ui/core/qunit/messages/MessageMixin.qunit.js +2 -7
  461. package/test/sap/ui/core/qunit/messages/messagesUsage.qunit.js +1 -1
  462. package/test/sap/ui/core/qunit/model/Binding.qunit.js +36 -11
  463. package/test/sap/ui/core/qunit/model/ClientListBinding.qunit.js +2 -7
  464. package/test/sap/ui/core/qunit/model/ClientTreeBinding.qunit.js +2 -7
  465. package/test/sap/ui/core/qunit/model/CompositeDataState.qunit.js +2 -7
  466. package/test/sap/ui/core/qunit/model/Context.qunit.js +2 -7
  467. package/test/sap/ui/core/qunit/model/ContextBinding.qunit.js +2 -7
  468. package/test/sap/ui/core/qunit/model/ListBinding.qunit.js +63 -6
  469. package/test/sap/ui/core/qunit/model/Model.qunit.js +2 -7
  470. package/test/sap/ui/core/qunit/model/PropertyBinding.qunit.js +40 -0
  471. package/test/sap/ui/core/qunit/model/TreeBinding.qunit.js +2 -7
  472. package/test/sap/ui/core/qunit/model/TreeBindingAdapter.qunit.js +2 -7
  473. package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +9 -8
  474. package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions.qunit.js +4 -4
  475. package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions_legacy.qunit.js +4 -4
  476. package/test/sap/ui/core/qunit/odata/AnnotationParserNoFakeService.qunit.js +2 -7
  477. package/test/sap/ui/core/qunit/odata/ODataMessageParser.qunit.js +1 -1
  478. package/test/sap/ui/core/qunit/odata/ODataMessageParserNoFakeService.qunit.js +2 -8
  479. package/test/sap/ui/core/qunit/odata/ODataMetadataNoFakeService.qunit.js +1 -6
  480. package/test/sap/ui/core/qunit/odata/type/DateTimeBase.qunit.js +24 -0
  481. package/test/sap/ui/core/qunit/odata/v2/Context.qunit.js +2 -7
  482. package/test/sap/ui/core/qunit/odata/v2/ODataContextBindingNoFakeService.qunit.js +2 -7
  483. package/test/sap/ui/core/qunit/odata/v2/ODataListBindingNoFakeService.qunit.js +31 -17
  484. package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +28 -19
  485. package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +70 -15
  486. package/test/sap/ui/core/qunit/odata/v2/ODataPropertyBindingNoFakeService.qunit.js +2 -7
  487. package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingFlatNoFakeService.qunit.js +4 -9
  488. package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingNoFakeService.qunit.js +2 -7
  489. package/test/sap/ui/core/qunit/odata/v2/_CreatedContextsCache.qunit.js +2 -7
  490. package/test/sap/ui/core/qunit/odata/v4/AnnotationHelper.qunit.js +1 -1
  491. package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +45 -17
  492. package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +152 -151
  493. package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +55 -27
  494. package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +119 -4
  495. package/test/sap/ui/core/qunit/odata/v4/ODataMetaModel.qunit.js +3 -3
  496. package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +754 -195
  497. package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +42 -53
  498. package/test/sap/ui/core/qunit/odata/v4/ODataParentBinding.qunit.js +283 -170
  499. package/test/sap/ui/core/qunit/odata/v4/ODataPropertyBinding.qunit.js +103 -78
  500. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +3 -0
  501. package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +87 -58
  502. package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +3 -1
  503. package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +124 -22
  504. package/test/sap/ui/core/qunit/odata/v4/testsuite.odatav4.qunit.js +4 -0
  505. package/test/sap/ui/core/qunit/opa/_LogCollector.qunit.js +1 -1
  506. package/test/sap/ui/core/qunit/performance/trace/FESR.qunit.js +5 -0
  507. package/test/sap/ui/core/qunit/resource/ResourceModel.qunit.js +17 -37
  508. package/test/sap/ui/core/qunit/routing/HashChanger.qunit.js +1 -6
  509. package/test/sap/ui/core/qunit/routing/RouterHashChanger.qunit.js +1 -10
  510. package/test/sap/ui/core/qunit/routing/async/Router.qunit.js +1 -22
  511. package/test/sap/ui/core/qunit/routing/async/Target.qunit.js +1 -4
  512. package/test/sap/ui/core/qunit/rule/model/modelSupport.qunit.js +34 -1
  513. package/test/sap/ui/core/qunit/testdata/fastnavigation/view/FastNavigation.view.xml +2 -2
  514. package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib1/i18n.properties +1 -0
  515. package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib1/library.js +10 -0
  516. package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib1/manifest.json +10 -0
  517. package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib2/library.js +10 -0
  518. package/test/sap/ui/core/qunit/testdata/libraries/resourcebundle/lib2/messagebundle.properties +1 -0
  519. package/test/sap/ui/core/qunit/testsuites/testsuite.databinding.qunit.js +3 -0
  520. package/test/sap/ui/core/qunit/testsuites/testsuite.theming.qunit.js +29 -0
  521. package/test/sap/ui/core/qunit/types/DateFormatTimezones.qunit.js +397 -607
  522. package/test/sap/ui/core/qunit/types/SimpleType.qunit.js +16 -2
  523. package/test/sap/ui/core/qunit/types/Types.qunit.js +2 -37
  524. package/test/sap/ui/core/qunit/types/testsuite.types.qunit.js +1 -1
  525. package/test/sap/ui/core/qunit/util/SyncPromise.qunit.js +4 -1
  526. package/test/sap/ui/core/qunit/util/jQuery.sap.measure.qunit.js +16 -11
  527. package/test/sap/ui/core/qunit/xml/XMLListBinding.qunit.js +1 -3
  528. package/test/sap/ui/core/qunit/xml/XMLModel.qunit.js +4 -14
  529. package/test/sap/ui/core/qunit/xml/XMLPropertyBinding.qunit.js +7 -11
  530. package/test/sap/ui/core/qunit/xml/XMLTreeBinding.qunit.js +1 -1
  531. package/test/sap/ui/core/qunit/xml/XMLTwoWay.qunit.js +3 -7
  532. package/test/sap/ui/core/relnotes/changes-1.115.json +1 -37
  533. package/test/sap/ui/core/relnotes/changes-1.116.json +82 -0
  534. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/firstItem-contextMenu.ref.lnk +1 -1
  535. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/initial.ref.lnk +1 -1
  536. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/lastItem-contextMenu.ref.lnk +1 -1
  537. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/leftDownBtn-contextMenu.ref.lnk +1 -1
  538. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/myButtonSample-contextMenu.ref.lnk +1 -1
  539. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/rightDownBtn-contextMenu.ref.lnk +1 -1
  540. package/test/testsuite/js/samples.js +2 -0
  541. package/ui5.yaml +1 -1
@@ -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.115.0
43
+ * @version 1.116.0
44
44
  * @since 1.7.0
45
45
  * @public
46
46
  * @alias sap.ui.core.DeclarativeSupport
@@ -19,7 +19,8 @@ sap.ui.define([
19
19
  "sap/ui/events/F6Navigation",
20
20
  "./RenderManager",
21
21
  "./Configuration",
22
- "./EnabledPropagator"
22
+ "./EnabledPropagator",
23
+ "./Theming"
23
24
  ],
24
25
  function(
25
26
  DataType,
@@ -35,7 +36,8 @@ sap.ui.define([
35
36
  F6Navigation,
36
37
  RenderManager,
37
38
  Configuration,
38
- EnabledPropagator
39
+ EnabledPropagator,
40
+ Theming
39
41
  ) {
40
42
  "use strict";
41
43
 
@@ -130,7 +132,7 @@ sap.ui.define([
130
132
  *
131
133
  * @extends sap.ui.base.ManagedObject
132
134
  * @author SAP SE
133
- * @version 1.115.0
135
+ * @version 1.116.0
134
136
  * @public
135
137
  * @alias sap.ui.core.Element
136
138
  */
@@ -2021,6 +2023,15 @@ sap.ui.define([
2021
2023
  * @public
2022
2024
  */
2023
2025
 
2026
+ Theming.attachApplied(function(oEvent) {
2027
+ // notify all elements/controls via a pseudo browser event
2028
+ var oJQueryEvent = jQuery.Event("ThemeChanged");
2029
+ oJQueryEvent.theme = oEvent.theme;
2030
+ Element.registry.forEach(function(oElement) {
2031
+ oElement._handleEvent(oJQueryEvent);
2032
+ });
2033
+ });
2034
+
2024
2035
  return Element;
2025
2036
 
2026
2037
  });
@@ -38,7 +38,7 @@ sap.ui.define([
38
38
  *
39
39
  * @class
40
40
  * @author SAP SE
41
- * @version 1.115.0
41
+ * @version 1.116.0
42
42
  * @since 0.8.6
43
43
  * @alias sap.ui.core.ElementMetadata
44
44
  * @extends sap.ui.base.ManagedObjectMetadata
@@ -43,7 +43,7 @@ sap.ui.define([
43
43
  *
44
44
  * @param {boolean} [bDefault=true] Value that should be used as default value for the enhancement of the control.
45
45
  * @param {boolean} [bLegacy=false] Whether the introduced property should use the old name <code>Enabled</code>.
46
- * @version 1.115.0
46
+ * @version 1.116.0
47
47
  * @public
48
48
  * @class
49
49
  * @alias sap.ui.core.EnabledPropagator
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  *
31
31
  * @extends sap.ui.base.Object
32
32
  * @author SAP SE
33
- * @version 1.115.0
33
+ * @version 1.116.0
34
34
  * @public
35
35
  * @since 1.8.0
36
36
  * @alias sap.ui.core.EventBus
@@ -60,7 +60,7 @@ function(
60
60
  * @class
61
61
  * @extends sap.ui.base.ManagedObject
62
62
  * @author SAP SE
63
- * @version 1.115.0
63
+ * @version 1.116.0
64
64
  * @public
65
65
  * @alias sap.ui.core.Fragment
66
66
  */
@@ -44,7 +44,7 @@ sap.ui.define([
44
44
  * @extends sap.ui.core.Control
45
45
  *
46
46
  * @author SAP SE
47
- * @version 1.115.0
47
+ * @version 1.116.0
48
48
  *
49
49
  * @public
50
50
  * @alias sap.ui.core.HTML
@@ -22,7 +22,7 @@ sap.ui.define(['sap/ui/base/Object', "sap/ui/util/Storage"],
22
22
  *
23
23
  * @extends sap.ui.base.Object
24
24
  * @author SAP SE
25
- * @version 1.115.0
25
+ * @version 1.116.0
26
26
  * @alias sap.ui.core.History
27
27
  * @protected
28
28
  */
@@ -75,7 +75,7 @@ sap.ui.define([
75
75
  * @implements sap.ui.core.IFormContent
76
76
  *
77
77
  * @author SAP SE
78
- * @version 1.115.0
78
+ * @version 1.116.0
79
79
  *
80
80
  * @public
81
81
  * @since 1.11.1
@@ -16,7 +16,7 @@ sap.ui.define(['./library', 'sap/ui/core/Lib'],
16
16
  * Helper functionality for indication color support.
17
17
  *
18
18
  * @author SAP SE
19
- * @version 1.115.0
19
+ * @version 1.116.0
20
20
  * @public
21
21
  * @namespace sap.ui.core.IndicationColorSupport
22
22
  * @since 1.66
@@ -23,7 +23,7 @@ sap.ui.define(['../base/Object', './EventBus', "sap/base/assert"],
23
23
  *
24
24
  * @extends sap.ui.base.Object
25
25
  * @author SAP SE
26
- * @version 1.115.0
26
+ * @version 1.116.0
27
27
  * @public
28
28
  * @since 1.11.0
29
29
  * @alias sap.ui.core.IntervalTrigger
@@ -4,8 +4,8 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
7
- sap.ui.define(["./library", "sap/ui/base/ManagedObject", "sap/base/Log"],
8
- function (coreLibrary, ManagedObject, Log) {
7
+ sap.ui.define(["./library", "sap/ui/base/ManagedObject", "sap/base/Log", "sap/ui/core/StaticArea"],
8
+ function (coreLibrary, ManagedObject, Log, StaticArea) {
9
9
  "use strict";
10
10
 
11
11
  var oInstance;
@@ -32,7 +32,7 @@ function (coreLibrary, ManagedObject, Log) {
32
32
  * @extends sap.ui.base.ManagedObject
33
33
  *
34
34
  * @author SAP SE
35
- * @version 1.115.0
35
+ * @version 1.116.0
36
36
  * @hideconstructor
37
37
  * @public
38
38
  * @since 1.78
@@ -69,8 +69,7 @@ function (coreLibrary, ManagedObject, Log) {
69
69
  };
70
70
 
71
71
  InvisibleMessage.prototype.init = function () {
72
- var oCore = sap.ui.getCore(),
73
- oStatic = oCore.getStaticAreaRef();
72
+ var oStatic = StaticArea.getDomRef();
74
73
 
75
74
  oStatic.insertAdjacentHTML("beforeend", this.getPoliteInstance());
76
75
  oStatic.insertAdjacentHTML("beforeend", this.getAssertiveInstance());
@@ -84,8 +83,7 @@ function (coreLibrary, ManagedObject, Log) {
84
83
  * @public
85
84
  */
86
85
  InvisibleMessage.prototype.announce = function (sText, sMode) {
87
- var oCore = sap.ui.getCore(),
88
- oStatic = oCore.getStaticAreaRef(),
86
+ var oStatic = StaticArea.getDomRef(),
89
87
  oPoliteMarkup = oStatic.querySelector(".sapUiInvisibleMessagePolite"),
90
88
  oAssertiveMarkup = oStatic.querySelector(".sapUiInvisibleMessageAssertive");
91
89
 
@@ -12,7 +12,7 @@ sap.ui.define([], function() {
12
12
  * Provides the default renderer for the controls that have set their <code>visible</code> property to <code>false</code>.
13
13
  *
14
14
  * @author SAP SE
15
- * @version 1.115.0
15
+ * @version 1.116.0
16
16
  * @alias module:sap/ui/core/InvisibleRenderer
17
17
  * @since 1.66.0
18
18
  * @protected
@@ -7,12 +7,15 @@
7
7
  // Provides control sap.ui.core.InvisibleText.
8
8
  sap.ui.define([
9
9
  "sap/base/Log",
10
+ "sap/base/i18n/Localization",
10
11
  "sap/base/security/encodeXML",
11
- "./Configuration",
12
12
  "./Control",
13
+ "./ControlBehavior",
14
+ "./Element",
13
15
  "./Lib",
16
+ "./StaticArea",
14
17
  "./library" // ensure loading of CSS
15
- ], function(Log, encodeXML, Configuration, Control, Library) {
18
+ ], function(Log, Localization, encodeXML, Control, ControlBehavior, Element, Library, StaticArea) {
16
19
  "use strict";
17
20
 
18
21
 
@@ -31,7 +34,7 @@ sap.ui.define([
31
34
  * @extends sap.ui.core.Control
32
35
  *
33
36
  * @author SAP SE
34
- * @version 1.115.0
37
+ * @version 1.116.0
35
38
  *
36
39
  * @public
37
40
  * @since 1.27.0
@@ -147,10 +150,8 @@ sap.ui.define([
147
150
  * @see sap.ui.core.Control#placeAt
148
151
  */
149
152
  InvisibleText.prototype.toStatic = function() {
150
- var oCore = sap.ui.getCore();
151
-
152
153
  try {
153
- var oStatic = oCore.getStaticAreaRef();
154
+ var oStatic = StaticArea.getDomRef();
154
155
  oStatic.insertAdjacentHTML("beforeend", this.getRendererMarkup());
155
156
  this.bOutput = true;
156
157
  } catch (e) {
@@ -181,7 +182,7 @@ sap.ui.define([
181
182
  InvisibleText.getStaticId = function(sLibrary, sTextKey) {
182
183
  var sTextId = "", sKey, oBundle, oText, oLibrary;
183
184
 
184
- if ( Configuration.getAccessibility() && sTextKey ) {
185
+ if ( ControlBehavior.isAccessibilityEnabled() && sTextKey ) {
185
186
  // Note: identify by lib and text key, not by text to avoid conflicts after a language change
186
187
  sKey = sLibrary + "|" + sTextKey;
187
188
  sTextId = mTextIds[sKey];
@@ -203,13 +204,12 @@ sap.ui.define([
203
204
  };
204
205
 
205
206
  // listen to localizationChange event and update shared texts
206
- sap.ui.getCore().attachLocalizationChanged(function(oEvent) {
207
- var oCore = sap.ui.getCore(),
208
- sKey, p, oBundle, oText;
207
+ Localization.attachChange(function(oEvent) {
208
+ var sKey, p, oBundle, oText;
209
209
  for ( sKey in mTextIds ) {
210
210
  p = sKey.indexOf('|');
211
- oBundle = Library.get(sKey.slice(0, p)).getResourceBundle();
212
- oText = oCore.byId(mTextIds[sKey]);
211
+ oBundle = Library.getResourceBundleFor(sKey.slice(0, p));
212
+ oText = Element.registry.get(mTextIds[sKey]);
213
213
  oText && oText.setText(oBundle.getText(sKey.slice(p + 1)));
214
214
  }
215
215
  });
@@ -24,7 +24,7 @@ sap.ui.define(['./Element', './library'],
24
24
  * @extends sap.ui.core.Element
25
25
  *
26
26
  * @author SAP SE
27
- * @version 1.115.0
27
+ * @version 1.116.0
28
28
  *
29
29
  * @public
30
30
  * @alias sap.ui.core.Item
@@ -136,7 +136,7 @@ sap.ui.define(['../base/ManagedObject', "sap/base/assert"],
136
136
  * @see sap.ui.core.LabelEnablement#enrich
137
137
  *
138
138
  * @author SAP SE
139
- * @version 1.115.0
139
+ * @version 1.116.0
140
140
  * @protected
141
141
  * @alias sap.ui.core.LabelEnablement
142
142
  * @namespace
@@ -23,7 +23,7 @@ sap.ui.define(['./Element', "sap/ui/thirdparty/jquery", './library'],
23
23
  * @extends sap.ui.core.Element
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.115.0
26
+ * @version 1.116.0
27
27
  *
28
28
  * @public
29
29
  * @alias sap.ui.core.LayoutData
@@ -7,6 +7,7 @@
7
7
  //Provides class sap.ui.core.Lib
8
8
  sap.ui.define([
9
9
  'sap/base/assert',
10
+ 'sap/base/config',
10
11
  'sap/base/i18n/ResourceBundle',
11
12
  'sap/base/Log',
12
13
  'sap/base/util/deepExtend',
@@ -25,6 +26,7 @@ sap.ui.define([
25
26
  'sap/ui/core/_UrlResolver'
26
27
  ], function (
27
28
  assert,
29
+ BaseConfig,
28
30
  ResourceBundle,
29
31
  Log,
30
32
  deepExtend,
@@ -220,6 +222,43 @@ sap.ui.define([
220
222
  }
221
223
  }
222
224
 
225
+ /**
226
+ * Returns the list of libraries for which the library.css was preloaded.
227
+ *
228
+ * This configuration setting specifies a list of UI libraries using the same syntax as the "libs" property,
229
+ * for which the SAPUI5 core does not include the library.css stylesheet in the head of the page.
230
+ * If the list starts with an exclamation mark (!), no stylesheet is loaded at all for the specified libs.
231
+ * In this case, it is assumed that the application takes care of loading CSS.
232
+ *
233
+ * If the first library's name is an asterisk (*), it will be expanded to the list of already
234
+ * configured libraries.
235
+ *
236
+ * @returns {string[]} the list of libraries for which the library.css was preloaded
237
+ * @private
238
+ */
239
+ function getPreloadLibCss() {
240
+ var aPreloadLibCSS = BaseConfig.get({name: "sapUiPreloadLibCss", type: BaseConfig.Type.StringArray, external: true});
241
+ if ( aPreloadLibCSS.length > 0 ) {
242
+ // remove leading '!' (legacy) as it does not make any difference
243
+ if ( aPreloadLibCSS[0].startsWith("!") ) {
244
+ aPreloadLibCSS[0] = aPreloadLibCSS[0].slice(1);
245
+ }
246
+ // "*" means "add all bootstrap libraries"
247
+ if ( aPreloadLibCSS[0] === "*" ) {
248
+ aPreloadLibCSS.shift(); // remove * (inplace)
249
+
250
+ // The modules list also contains all configured libs
251
+ // we prepend them now to the preloaded libs css list
252
+ Object.keys(mLibraries).forEach(function(sLib) {
253
+ if (!aPreloadLibCSS.includes(sLib)) {
254
+ aPreloadLibCSS.unshift(sLib);
255
+ }
256
+ });
257
+ }
258
+ }
259
+ return aPreloadLibCSS;
260
+ }
261
+
223
262
  /*
224
263
  * Create an instance that represents a library with the given name.
225
264
  *
@@ -293,6 +332,10 @@ sap.ui.define([
293
332
  value: false,
294
333
  writable: true
295
334
  });
335
+ Object.defineProperty(this, "_manifestFailed", {
336
+ value: false,
337
+ writable: true
338
+ });
296
339
  },
297
340
 
298
341
  /**
@@ -724,20 +767,31 @@ sap.ui.define([
724
767
  * Only when the library's manifest is preloaded with the library's preload bundle, the manifest will be
725
768
  * returned from this function. This function never triggers a separate request to load the library's manifest.
726
769
  *
770
+ * @param {boolean} [bSync=false] whether to use sync request to load the library manifest when it doesn't exist
771
+ * in preload cache
727
772
  * @returns {object|undefined} The manifest of the library
728
773
  */
729
- getManifest: function() {
774
+ getManifest: function(bSync) {
730
775
  if (!this.oManifest) {
731
776
  var manifestModule = this.name.replace(/\./g, '/') + '/manifest.json';
732
777
 
733
- if ( sap.ui.loader._.getModuleState(manifestModule) ) {
734
- this.oManifest = LoaderExtensions.loadResource(manifestModule, {
735
- dataType: 'json',
736
- async: false, // always sync as we are sure to load from preload cache
737
- failOnError: false
738
- });
778
+ if (sap.ui.loader._.getModuleState(manifestModule) || (bSync && !this._manifestFailed)) {
779
+ try {
780
+ this.oManifest = LoaderExtensions.loadResource(manifestModule, {
781
+ dataType: 'json',
782
+ async: false,
783
+ failOnError: !this.isSettingsEnhanced()
784
+ });
785
+
786
+ if (this._oManifest) {
787
+ deepFreeze(this.oManifest);
788
+ } else {
789
+ this._manifestFailed = true;
790
+ }
791
+ } catch (e) {
792
+ this._manifestFailed = true;
793
+ }
739
794
 
740
- deepFreeze(this.oManifest);
741
795
  }
742
796
  }
743
797
 
@@ -834,12 +888,14 @@ sap.ui.define([
834
888
  * @private
835
889
  */
836
890
  _includeTheme: function(sVariant, sQuery) {
837
- var sName = this.name;
891
+ var sName = this.name,
892
+ bLibCssPreloaded = getPreloadLibCss().indexOf(sName) !== -1;
838
893
 
839
894
  aAllLibrariesRequiringCss.push({
840
895
  name: sName,
841
896
  version: this.version,
842
- variant: sVariant
897
+ variant: sVariant,
898
+ preloadedCss: bLibCssPreloaded
843
899
  });
844
900
 
845
901
  _getThemeManager().then(function(ThemeManager) {
@@ -930,11 +986,11 @@ sap.ui.define([
930
986
  * @param {string} [bSync=false] Whether to load the resource bundle synchronously
931
987
  * @returns {module:sap/base/i18n/ResourceBundle|Promise<module:sap/base/i18n/ResourceBundle>} The resource
932
988
  * bundle in synchronous case, otherwise a promise that resolves with the resource bundle
933
- * @prviate
989
+ * @private
934
990
  */
935
991
  _loadResourceBundle: function(sLocale, bSync) {
936
992
  var that = this,
937
- oManifest = this.getManifest(),
993
+ oManifest = this.getManifest(bSync),
938
994
  // A library ResourceBundle can be requested before its owning library is preloaded.
939
995
  // In this case we do not have the library's manifest yet and the default bundle (messagebundle.properties) is requested.
940
996
  // We still cache this default bundle for as long as the library remains "not-preloaded".
@@ -1198,9 +1254,8 @@ sap.ui.define([
1198
1254
  * files must be kept in sync.
1199
1255
  *
1200
1256
  * @param {object} mSettings Info object for the library
1201
- * @param {string} [mSettings.name] Name of the library; when given it must match the name by which the library has
1202
- * been loaded
1203
- * @param {string} mSettings.version Version of the library
1257
+ * @param {string} mSettings.name Name of the library; It must match the name by which the library has been loaded
1258
+ * @param {string} [mSettings.version] Version of the library
1204
1259
  * @param {string[]} [mSettings.dependencies=[]] List of libraries that this library depends on; names are in dot
1205
1260
  * notation (e.g. "sap.ui.core")
1206
1261
  * @param {string[]} [mSettings.types=[]] List of names of types that this library provides; names are in dot
@@ -1213,10 +1268,9 @@ sap.ui.define([
1213
1268
  * names are in dot notation (e.g. "sap.ui.core.Item")
1214
1269
  * @param {boolean} [mSettings.noLibraryCSS=false] Indicates whether the library doesn't provide / use theming.
1215
1270
  * When set to true, no library.css will be loaded for this library
1216
- * @param {object} [oLibInfo.extensions] Potential extensions of the library metadata; structure not defined by the
1271
+ * @param {object} [mSettings.extensions] Potential extensions of the library metadata; structure not defined by the
1217
1272
  * UI5 core framework.
1218
- * @returns {object|undefined} As of version 1.101; returns the library namespace, based on the given library name.
1219
- * Returns 'undefined' if no library name is provided.
1273
+ * @returns {object} As of version 1.101; returns the library namespace, based on the given library name.
1220
1274
  * @public
1221
1275
  */
1222
1276
  Library.init = function(mSettings) {
@@ -1272,12 +1326,12 @@ sap.ui.define([
1272
1326
  if (!oLib.noLibraryCSS) {
1273
1327
  var oLibThemingInfo = {
1274
1328
  name: oLib.name,
1275
- version: oLib.version
1329
+ version: oLib.version,
1330
+ preloadedCss: getPreloadLibCss().indexOf(oLib.name) !== -1
1276
1331
  };
1277
- // Don't reset ThemeManager in case CSS for current library is already preloaded
1278
- var bResetThemeManager = Configuration.getValue('preloadLibCss').indexOf(oLib.name) === -1;
1279
1332
  aAllLibrariesRequiringCss.push(oLibThemingInfo);
1280
- _getThemeManager(bResetThemeManager).then(function(ThemeManager) {
1333
+ // Don't reset ThemeManager in case CSS for current library is already preloaded
1334
+ _getThemeManager(/* bClear = */ !oLibThemingInfo.preloadedCss).then(function(ThemeManager) {
1281
1335
  ThemeManager._includeLibraryThemeAndEnsureThemeRoot(oLibThemingInfo);
1282
1336
  });
1283
1337
  }
@@ -1506,6 +1560,24 @@ sap.ui.define([
1506
1560
  }
1507
1561
  };
1508
1562
 
1563
+ /**
1564
+ * Retrieves a resource bundle for the given library and locale.
1565
+ *
1566
+ * If only one argument is given, it is assumed to be the library name. The locale
1567
+ * then falls back to the current {@link sap.ui.core.Configuration#getLanguage session locale}.
1568
+ *
1569
+ * @param {string} sLibrary Name of the library to retrieve the bundle for
1570
+ * @param {string} [sLocale] Locale to retrieve the resource bundle for
1571
+ * @returns {module:sap/base/i18n/ResourceBundle|undefined} The best matching resource bundle for the given
1572
+ * parameters or <code>undefined</code>
1573
+ * @public
1574
+ */
1575
+ Library.getResourceBundleFor = function(sLibrary, sLocale) {
1576
+ var oLibrary = Library._get(sLibrary, true);
1577
+
1578
+ return oLibrary.getResourceBundle(sLocale);
1579
+ };
1580
+
1509
1581
  /**
1510
1582
  * Registers the given Element class to the library to which it belongs.
1511
1583
  *
@@ -1646,5 +1718,20 @@ sap.ui.define([
1646
1718
  return mParams;
1647
1719
  };
1648
1720
 
1721
+ /**
1722
+ * Get VersionedLibCss config option
1723
+ *
1724
+ * @returns {boolean} Wether VersionedLibCss is enabled or not
1725
+ * @private
1726
+ * @ui-restricted sap.ui.core
1727
+ */
1728
+ Library.getVersionedLibCss = function() {
1729
+ return BaseConfig.get({
1730
+ name: "sapUiVersionedLibCss",
1731
+ type: BaseConfig.Type.Boolean,
1732
+ external: true
1733
+ });
1734
+ };
1735
+
1649
1736
  return Library;
1650
1737
  });
@@ -23,7 +23,7 @@ sap.ui.define(['./Item', './library'],
23
23
  * @extends sap.ui.core.Item
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.115.0
26
+ * @version 1.116.0
27
27
  *
28
28
  * @public
29
29
  * @alias sap.ui.core.ListItem
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  * @extends sap.ui.core.Control
33
33
  *
34
34
  * @author SAP SE
35
- * @version 1.115.0
35
+ * @version 1.116.0
36
36
  *
37
37
  * @public
38
38
  * @since 1.11.0