@openui5/sap.ui.core 1.116.0 → 1.117.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 (473) hide show
  1. package/.eslintrc.json +1 -22
  2. package/package.json +1 -1
  3. package/src/jquery.sap.global.js +1 -1
  4. package/src/jquery.sap.properties.js +1 -1
  5. package/src/jquery.sap.resources.js +1 -1
  6. package/src/jquery.sap.script.js +1 -1
  7. package/src/jquery.sap.storage.js +3 -3
  8. package/src/sap/base/Event.js +4 -4
  9. package/src/sap/base/Eventing.js +5 -6
  10. package/src/sap/base/config/MemoryConfigurationProvider.js +10 -1
  11. package/src/sap/base/config.js +3 -2
  12. package/src/sap/base/i18n/Formatting.js +30 -32
  13. package/src/sap/base/i18n/LanguageTag.js +2 -2
  14. package/src/sap/base/i18n/Localization.js +19 -20
  15. package/src/sap/base/i18n/date/CalendarType.js +1 -1
  16. package/src/sap/base/i18n/date/CalendarWeekNumbering.js +1 -1
  17. package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
  18. package/src/sap/base/util/JSTokenizer.js +1 -1
  19. package/src/sap/base/util/fetch.js +4 -4
  20. package/src/sap/base/util/mixedFetch.js +2 -2
  21. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  22. package/src/sap/base/util/restricted/_castArray.js +1 -1
  23. package/src/sap/base/util/restricted/_compact.js +1 -1
  24. package/src/sap/base/util/restricted/_curry.js +1 -1
  25. package/src/sap/base/util/restricted/_debounce.js +1 -1
  26. package/src/sap/base/util/restricted/_difference.js +1 -1
  27. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  28. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  29. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  30. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  31. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  32. package/src/sap/base/util/restricted/_flatten.js +1 -1
  33. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  34. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  35. package/src/sap/base/util/restricted/_intersection.js +1 -1
  36. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  37. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  38. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  39. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  40. package/src/sap/base/util/restricted/_isNil.js +1 -1
  41. package/src/sap/base/util/restricted/_max.js +1 -1
  42. package/src/sap/base/util/restricted/_merge.js +1 -1
  43. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  44. package/src/sap/base/util/restricted/_min.js +1 -1
  45. package/src/sap/base/util/restricted/_omit.js +1 -1
  46. package/src/sap/base/util/restricted/_pick.js +1 -1
  47. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  48. package/src/sap/base/util/restricted/_throttle.js +1 -1
  49. package/src/sap/base/util/restricted/_toArray.js +1 -1
  50. package/src/sap/base/util/restricted/_union.js +1 -1
  51. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  52. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  53. package/src/sap/base/util/restricted/_uniq.js +1 -1
  54. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  55. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  56. package/src/sap/base/util/restricted/_without.js +1 -1
  57. package/src/sap/base/util/restricted/_xor.js +1 -1
  58. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  59. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  60. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  61. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  62. package/src/sap/base/util/syncFetch.js +2 -2
  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 +6 -4
  66. package/src/sap/ui/base/EventProvider.js +1 -1
  67. package/src/sap/ui/base/Interface.js +1 -1
  68. package/src/sap/ui/base/ManagedObject.js +2 -4
  69. package/src/sap/ui/base/ManagedObjectMetadata.js +4 -6
  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/core/.library +2 -2
  74. package/src/sap/ui/core/AnimationMode.js +1 -1
  75. package/src/sap/ui/core/BusyIndicator.js +1 -1
  76. package/src/sap/ui/core/Component.js +1 -1
  77. package/src/sap/ui/core/ComponentContainer.js +1 -1
  78. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  79. package/src/sap/ui/core/ComponentSupport.js +1 -1
  80. package/src/sap/ui/core/ConfigTest.js +17 -0
  81. package/src/sap/ui/core/Configuration.js +2 -14
  82. package/src/sap/ui/core/Control.js +4 -1
  83. package/src/sap/ui/core/ControlBehavior.js +2 -2
  84. package/src/sap/ui/core/Core.js +3 -1
  85. package/src/sap/ui/core/CustomData.js +1 -1
  86. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  87. package/src/sap/ui/core/Element.js +1 -1
  88. package/src/sap/ui/core/ElementMetadata.js +2 -4
  89. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  90. package/src/sap/ui/core/EventBus.js +1 -1
  91. package/src/sap/ui/core/Fragment.js +1 -1
  92. package/src/sap/ui/core/HTML.js +1 -1
  93. package/src/sap/ui/core/History.js +1 -1
  94. package/src/sap/ui/core/Icon.js +1 -1
  95. package/src/sap/ui/core/IconPool.js +1 -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 +1 -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/Lib.js +17 -16
  105. package/src/sap/ui/core/ListItem.js +1 -1
  106. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  107. package/src/sap/ui/core/Locale.js +5 -2
  108. package/src/sap/ui/core/LocaleData.js +12 -4
  109. package/src/sap/ui/core/Manifest.js +5 -5
  110. package/src/sap/ui/core/Message.js +1 -1
  111. package/src/sap/ui/core/Popup.js +37 -50
  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/Rendering.js +1 -1
  115. package/src/sap/ui/core/ResizeHandler.js +1 -1
  116. package/src/sap/ui/core/ScrollBar.js +1 -1
  117. package/src/sap/ui/core/SeparatorItem.js +1 -1
  118. package/src/sap/ui/core/Shortcut.js +11 -9
  119. package/src/sap/ui/core/StaticArea.js +1 -1
  120. package/src/sap/ui/core/Theming.js +16 -9
  121. package/src/sap/ui/core/Title.js +1 -1
  122. package/src/sap/ui/core/TooltipBase.js +1 -1
  123. package/src/sap/ui/core/UIArea.js +1 -1
  124. package/src/sap/ui/core/UIComponent.js +1 -1
  125. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  126. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  127. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  128. package/src/sap/ui/core/XMLComposite.js +1 -1
  129. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  130. package/src/sap/ui/core/XMLTemplateProcessor.js +27 -5
  131. package/src/sap/ui/core/_IconRegistry.js +82 -11
  132. package/src/sap/ui/core/boot/_bootConfig.js +137 -0
  133. package/src/sap/ui/core/boot/_runBoot.js +16 -0
  134. package/src/sap/ui/core/boot/initDOM.js +96 -0
  135. package/src/sap/ui/core/boot/loadCalendar.js +50 -0
  136. package/src/sap/ui/core/boot/loadManifest.js +55 -0
  137. package/src/sap/ui/core/boot/loadModules.js +80 -0
  138. package/src/sap/ui/core/boot/manifest.json +11 -0
  139. package/src/sap/ui/core/boot/onInit.js +44 -0
  140. package/src/sap/ui/core/boot.js +107 -0
  141. package/src/sap/ui/core/date/UI5Date.js +9 -3
  142. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  143. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  144. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  145. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  146. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  147. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  148. package/src/sap/ui/core/format/DateFormat.js +13 -12
  149. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  150. package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
  151. package/src/sap/ui/core/library.js +32 -6
  152. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  153. package/src/sap/ui/core/message/Message.js +1 -1
  154. package/src/sap/ui/core/message/MessageManager.js +1 -1
  155. package/src/sap/ui/core/message/MessageMixin.js +6 -5
  156. package/src/sap/ui/core/message/MessageParser.js +1 -1
  157. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  158. package/src/sap/ui/core/messagebundle_ar.properties +57 -55
  159. package/src/sap/ui/core/messagebundle_bg.properties +57 -55
  160. package/src/sap/ui/core/messagebundle_ca.properties +30 -28
  161. package/src/sap/ui/core/messagebundle_cs.properties +43 -41
  162. package/src/sap/ui/core/messagebundle_cy.properties +58 -56
  163. package/src/sap/ui/core/messagebundle_da.properties +56 -54
  164. package/src/sap/ui/core/messagebundle_de.properties +58 -56
  165. package/src/sap/ui/core/messagebundle_el.properties +47 -45
  166. package/src/sap/ui/core/messagebundle_en.properties +58 -56
  167. package/src/sap/ui/core/messagebundle_en_GB.properties +58 -56
  168. package/src/sap/ui/core/messagebundle_en_US_sappsd.properties +2 -0
  169. package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +2 -0
  170. package/src/sap/ui/core/messagebundle_en_US_saptrc.properties +3 -0
  171. package/src/sap/ui/core/messagebundle_es.properties +47 -45
  172. package/src/sap/ui/core/messagebundle_es_MX.properties +57 -55
  173. package/src/sap/ui/core/messagebundle_et.properties +54 -52
  174. package/src/sap/ui/core/messagebundle_fi.properties +51 -49
  175. package/src/sap/ui/core/messagebundle_fr.properties +36 -34
  176. package/src/sap/ui/core/messagebundle_fr_CA.properties +21 -19
  177. package/src/sap/ui/core/messagebundle_hi.properties +42 -40
  178. package/src/sap/ui/core/messagebundle_hr.properties +57 -55
  179. package/src/sap/ui/core/messagebundle_hu.properties +58 -56
  180. package/src/sap/ui/core/messagebundle_id.properties +58 -56
  181. package/src/sap/ui/core/messagebundle_it.properties +59 -57
  182. package/src/sap/ui/core/messagebundle_iw.properties +58 -56
  183. package/src/sap/ui/core/messagebundle_ja.properties +50 -48
  184. package/src/sap/ui/core/messagebundle_kk.properties +43 -41
  185. package/src/sap/ui/core/messagebundle_ko.properties +19 -17
  186. package/src/sap/ui/core/messagebundle_lt.properties +58 -56
  187. package/src/sap/ui/core/messagebundle_lv.properties +58 -56
  188. package/src/sap/ui/core/messagebundle_ms.properties +58 -56
  189. package/src/sap/ui/core/messagebundle_nl.properties +57 -55
  190. package/src/sap/ui/core/messagebundle_no.properties +55 -53
  191. package/src/sap/ui/core/messagebundle_pl.properties +55 -53
  192. package/src/sap/ui/core/messagebundle_pt.properties +57 -55
  193. package/src/sap/ui/core/messagebundle_pt_PT.properties +57 -55
  194. package/src/sap/ui/core/messagebundle_ro.properties +58 -56
  195. package/src/sap/ui/core/messagebundle_ru.properties +57 -55
  196. package/src/sap/ui/core/messagebundle_sh.properties +58 -56
  197. package/src/sap/ui/core/messagebundle_sk.properties +57 -55
  198. package/src/sap/ui/core/messagebundle_sl.properties +58 -56
  199. package/src/sap/ui/core/messagebundle_sv.properties +54 -52
  200. package/src/sap/ui/core/messagebundle_th.properties +17 -15
  201. package/src/sap/ui/core/messagebundle_tr.properties +58 -56
  202. package/src/sap/ui/core/messagebundle_uk.properties +58 -56
  203. package/src/sap/ui/core/messagebundle_vi.properties +58 -56
  204. package/src/sap/ui/core/messagebundle_zh_CN.properties +58 -56
  205. package/src/sap/ui/core/messagebundle_zh_TW.properties +58 -56
  206. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  207. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  208. package/src/sap/ui/core/mvc/JSView.js +1 -1
  209. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  210. package/src/sap/ui/core/mvc/View.js +1 -1
  211. package/src/sap/ui/core/mvc/XMLView.js +14 -2
  212. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  213. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  214. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  215. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  216. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  217. package/src/sap/ui/core/rules/Misc.support.js +1 -1
  218. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  219. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  220. package/src/sap/ui/core/service/Service.js +1 -1
  221. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  222. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  223. package/src/sap/ui/core/support/Plugin.js +1 -1
  224. package/src/sap/ui/core/support/Support.js +7 -4
  225. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  226. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  227. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  228. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  229. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  230. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  231. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  232. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  233. package/src/sap/ui/core/themes/base/Icon.less +2 -2
  234. package/src/sap/ui/core/theming/Parameters.js +0 -5
  235. package/src/sap/ui/core/theming/ThemeManager.js +3 -4
  236. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  237. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  238. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  239. package/src/sap/ui/core/tmpl/Template.js +1 -1
  240. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  241. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  242. package/src/sap/ui/core/util/Export.js +1 -1
  243. package/src/sap/ui/core/util/ExportCell.js +1 -1
  244. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  245. package/src/sap/ui/core/util/ExportRow.js +1 -1
  246. package/src/sap/ui/core/util/ExportType.js +1 -1
  247. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  248. package/src/sap/ui/core/util/File.js +1 -1
  249. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  250. package/src/sap/ui/core/util/MockServer.js +4 -5
  251. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  252. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  253. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  254. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  255. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  256. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  257. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  258. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  259. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  260. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  261. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  262. package/src/sap/ui/debug/ControlTree.js +1 -1
  263. package/src/sap/ui/debug/DebugEnv.js +1 -1
  264. package/src/sap/ui/debug/PropertyList.js +1 -1
  265. package/src/sap/ui/model/ClientModel.js +1 -1
  266. package/src/sap/ui/model/CompositeDataState.js +1 -1
  267. package/src/sap/ui/model/CompositeType.js +1 -1
  268. package/src/sap/ui/model/DataState.js +1 -1
  269. package/src/sap/ui/model/MetaModel.js +1 -1
  270. package/src/sap/ui/model/Model.js +1 -1
  271. package/src/sap/ui/model/SelectionModel.js +1 -1
  272. package/src/sap/ui/model/SimpleType.js +1 -1
  273. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  274. package/src/sap/ui/model/Type.js +1 -1
  275. package/src/sap/ui/model/analytics/AnalyticalBinding.js +166 -79
  276. package/src/sap/ui/model/analytics/AnalyticalVersionInfo.js +4 -3
  277. package/src/sap/ui/model/analytics/BatchResponseCollector.js +2 -2
  278. package/src/sap/ui/model/analytics/ODataModelAdapter.js +14 -27
  279. package/src/sap/ui/model/analytics/odata4analytics.js +6 -12
  280. package/src/sap/ui/model/base/ManagedObjectModel.js +2 -1
  281. package/src/sap/ui/model/json/JSONModel.js +6 -1
  282. package/src/sap/ui/model/message/MessageModel.js +1 -1
  283. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  284. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  285. package/src/sap/ui/model/odata/ODataMetaModel.js +191 -5
  286. package/src/sap/ui/model/odata/ODataMetadata.js +38 -4
  287. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  288. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  289. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  290. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  291. package/src/sap/ui/model/odata/type/Date.js +1 -1
  292. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  293. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  294. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  295. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  296. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  297. package/src/sap/ui/model/odata/type/Double.js +1 -1
  298. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  299. package/src/sap/ui/model/odata/type/Int.js +1 -1
  300. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  301. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  302. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  303. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  304. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  305. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  306. package/src/sap/ui/model/odata/type/Single.js +1 -1
  307. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  308. package/src/sap/ui/model/odata/type/String.js +1 -1
  309. package/src/sap/ui/model/odata/type/Time.js +1 -1
  310. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  311. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  312. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  313. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  314. package/src/sap/ui/model/odata/v2/ODataModel.js +2 -2
  315. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
  316. package/src/sap/ui/model/odata/v4/AnnotationHelper.js +4 -4
  317. package/src/sap/ui/model/odata/v4/Context.js +33 -30
  318. package/src/sap/ui/model/odata/v4/ODataBinding.js +18 -14
  319. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +12 -12
  320. package/src/sap/ui/model/odata/v4/ODataListBinding.js +110 -43
  321. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +20 -28
  322. package/src/sap/ui/model/odata/v4/ODataModel.js +40 -31
  323. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +8 -6
  324. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +14 -14
  325. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +93 -9
  326. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +25 -27
  327. package/src/sap/ui/model/odata/v4/lib/_Cache.js +58 -195
  328. package/src/sap/ui/model/odata/v4/lib/_Helper.js +157 -0
  329. package/src/sap/ui/model/odata/v4/lib/_MetadataRequestor.js +14 -5
  330. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +27 -15
  331. package/src/sap/ui/model/resource/ResourceModel.js +1 -1
  332. package/src/sap/ui/model/type/Boolean.js +1 -1
  333. package/src/sap/ui/model/type/Currency.js +1 -1
  334. package/src/sap/ui/model/type/Date.js +1 -1
  335. package/src/sap/ui/model/type/DateInterval.js +1 -1
  336. package/src/sap/ui/model/type/DateTime.js +1 -1
  337. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  338. package/src/sap/ui/model/type/FileSize.js +1 -1
  339. package/src/sap/ui/model/type/Float.js +1 -1
  340. package/src/sap/ui/model/type/Integer.js +1 -1
  341. package/src/sap/ui/model/type/String.js +1 -1
  342. package/src/sap/ui/model/type/Time.js +1 -1
  343. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  344. package/src/sap/ui/model/type/Unit.js +1 -1
  345. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  346. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  347. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  348. package/src/sap/ui/test/TestUtils.js +1 -1
  349. package/src/sap/ui/test/generic/TestBase.js +1 -1
  350. package/src/sap/ui/test/generic/_EnforceSemanticRendering.js +1 -3
  351. package/src/sap/ui/test/matchers/_Visitor.js +6 -1
  352. package/src/sap/ui/test/starter/_setupAndStart.js +2 -5
  353. package/src/sap/ui/thirdparty/qunit-2.js +9 -3
  354. package/src/sap/ui/util/Mobile.js +10 -6
  355. package/src/sap/ui/util/Storage.js +1 -1
  356. package/src/sap-ui-boot.js +23 -6
  357. package/src/ui5-boot.js +50 -0
  358. package/src/ui5loader-autoconfig.js +147 -75
  359. package/src/ui5loader.js +322 -362
  360. package/test/sap/ui/core/Device.js +1 -1
  361. package/test/sap/ui/core/demokit/sample/OpaAction/applicationUnderTest/view/Main.view.xml +1 -0
  362. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Template.controller.js +2 -2
  363. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/AutoExpand.view.xml +24 -5
  364. package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.view.xml +24 -6
  365. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/DataAggregation.view.xml +20 -5
  366. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/Opa.qunit.js +2 -1
  367. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.js +2 -1
  368. package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Opa.qunit.js +2 -1
  369. package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/Opa.qunit.js +2 -1
  370. package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.view.xml +4 -1
  371. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Opa.qunit.js +2 -1
  372. package/test/sap/ui/core/demokit/sample/odata/v4/GridTable/GridTable.view.xml +12 -3
  373. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Main.controller.js +2 -1
  374. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.OptimisticBatch.qunit.js +2 -1
  375. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.qunit.js +2 -1
  376. package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Opa.qunit.js +2 -1
  377. package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Opa.qunit.js +2 -1
  378. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.js +2 -1
  379. package/test/sap/ui/core/demokit/sample/odata/v4/Products/Opa.qunit.js +2 -1
  380. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +26 -8
  381. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/data/metadata.xml +4 -0
  382. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/Opa.qunit.js +2 -1
  383. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/Opa.qunit.js +2 -1
  384. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Opa.qunit.js +2 -1
  385. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/pages/Main.js +18 -0
  386. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/Create.js +10 -6
  387. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/Opa.qunit.js +2 -1
  388. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/manifest.json +18 -0
  389. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Opa.qunit.js +2 -1
  390. package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Opa.qunit.js +2 -1
  391. package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/pages/Main.js +4 -1
  392. package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/Opa.qunit.js +2 -1
  393. package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/controller/App.controller.js +1 -6
  394. package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/localService/mockserver.js +1 -0
  395. package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/controller/App.controller.js +1 -6
  396. package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/localService/mockserver.js +1 -0
  397. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/controller/App.controller.js +1 -6
  398. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/localService/mockserver.js +1 -0
  399. package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/controller/App.controller.js +1 -6
  400. package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/localService/mockserver.js +1 -0
  401. package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/controller/App.controller.js +3 -8
  402. package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/localService/mockserver.js +1 -0
  403. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/controller/App.controller.js +3 -8
  404. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/localService/mockserver.js +1 -0
  405. package/test/sap/ui/core/qunit/IconPool.qunit.js +53 -4
  406. package/test/sap/ui/core/qunit/ManagedObjectModel.qunit.js +43 -5
  407. package/test/sap/ui/core/qunit/Theming.qunit.js +19 -1
  408. package/test/sap/ui/core/qunit/analytics/AnalyticalBinding.qunit.js +510 -185
  409. package/test/sap/ui/core/qunit/analytics/ODataModelAdapter.qunit.js +80 -10
  410. package/test/sap/ui/core/qunit/analytics/odata4analytics.qunit.js +20 -29
  411. package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +18 -1
  412. package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.js +15 -13
  413. package/test/sap/ui/core/qunit/base/i18n/Localization.qunit.js +35 -12
  414. package/test/sap/ui/core/qunit/bootstrap/Configuration.main.qunit.js +11 -0
  415. package/test/sap/ui/core/qunit/bootstrap/Configuration.qunit.html +4 -3
  416. package/test/sap/ui/core/qunit/bootstrap/Configuration.qunit.js +71 -35
  417. package/test/sap/ui/core/qunit/component/Models.qunit.js +5 -2
  418. package/test/sap/ui/core/qunit/generic/EnforceSemanticRendering.qunit.js +2 -2
  419. package/test/sap/ui/core/qunit/generic/SettersContextReturn.qunit.js +2 -2
  420. package/test/sap/ui/core/qunit/generic/legacy/SettersContextReturn.qunit.js +2 -2
  421. package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +48 -13
  422. package/test/sap/ui/core/qunit/i18n/UI5Date.qunit.js +16 -4
  423. package/test/sap/ui/core/qunit/i18n/UniversalDate.qunit.js +73 -103
  424. package/test/sap/ui/core/qunit/i18n/UniversalDateUtils.qunit.js +34 -39
  425. package/test/sap/ui/core/qunit/internal/BeforePush.ODataV4.js +28 -0
  426. package/test/sap/ui/core/qunit/internal/BeforePush.html +1 -0
  427. package/test/sap/ui/core/qunit/internal/BeforePush.js +15 -0
  428. package/test/sap/ui/core/qunit/internal/performance/ExpressionParser.performance.qunit.js +1 -0
  429. package/test/sap/ui/core/qunit/loader/asyncMode.qunit.js +2 -2
  430. package/test/sap/ui/core/qunit/loader/asyncMode_unavoidablySync.qunit.js +1 -1
  431. package/test/sap/ui/core/qunit/loader/testsuite.loader.qunit.js +0 -3
  432. package/test/sap/ui/core/qunit/model/FAR_CUSTOMER_LINE_ITEMS.metadata.xml +2 -0
  433. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +51 -0
  434. package/test/sap/ui/core/qunit/mvc/testdata/Async.view.xml +1 -1
  435. package/test/sap/ui/core/qunit/mvc/testdata/AsyncTypedView.js +5 -1
  436. package/test/sap/ui/core/qunit/odata/ODataMetadataNoFakeService.qunit.js +68 -4
  437. package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +232 -37
  438. package/test/sap/ui/core/qunit/odata/v2/V2ODataModel.qunit.js +1 -1
  439. package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +10 -5
  440. package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +33 -1
  441. package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +5 -3
  442. package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +186 -65
  443. package/test/sap/ui/core/qunit/odata/v4/ODataMetaModel.qunit.js +17 -66
  444. package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +528 -60
  445. package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +48 -8
  446. package/test/sap/ui/core/qunit/odata/v4/ODataModel.realOData.qunit.js +0 -3
  447. package/test/sap/ui/core/qunit/odata/v4/data/metadata.json +2 -1
  448. package/test/sap/ui/core/qunit/odata/v4/data/metadata.xml +4 -0
  449. package/test/sap/ui/core/qunit/odata/v4/data/metadata_special_cases.xml +2 -0
  450. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +148 -1
  451. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +24 -11
  452. package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +196 -404
  453. package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +201 -2
  454. package/test/sap/ui/core/qunit/odata/v4/lib/_MetadataRequestor.qunit.js +7 -3
  455. package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +21 -4
  456. package/test/sap/ui/core/qunit/opa/matchers/LabelFor.qunit.js +4 -2
  457. package/test/sap/ui/core/qunit/opa/matchers/_Busy.qunit.js +129 -2
  458. package/test/sap/ui/core/qunit/opa/matchers/_Editable.qunit.js +5 -1
  459. package/test/sap/ui/core/qunit/routing/fixture/Async1.view.xml +1 -1
  460. package/test/sap/ui/core/qunit/testdata/xml-require/helper/Formatter.js +7 -4
  461. package/test/sap/ui/core/qunit/testdata/xml-require/view/XMLTemplateProcessorAsync_require_in_html.view.xml +36 -0
  462. package/test/sap/ui/core/qunit/testsuites/testsuite.theming.qunit.js +2 -2
  463. package/test/sap/ui/core/qunit/types/DateFormatTimezones.qunit.js +1222 -1201
  464. package/test/sap/ui/core/qunit/util/Popup.qunit.js +7 -11
  465. package/test/sap/ui/core/qunit/util/XMLPreprocessor.qunit.js +3 -1
  466. package/test/sap/ui/core/qunit/util/jQuery.sap.Version.qunit.js +3 -0
  467. package/test/sap/ui/core/qunit/util/reflection/BaseTreeModifier.qunit.js +1 -1
  468. package/test/sap/ui/core/relnotes/changes-1.116.json +1 -12
  469. package/test/sap/ui/core/relnotes/changes-1.117.json +127 -0
  470. package/test/sap/ui/core/visual/images/HyphenationPlayground/windows/1600x1200/chrome/horizon/ltr/cozy/19_thirdParty_language_sl.ref.lnk +1 -1
  471. package/ui5.yaml +165 -0
  472. package/src/sap/ui/core/util/MockServerAnnotationsHandler.js +0 -45
  473. /package/test/sap/ui/core/qunit/bootstrap/{GlobalConfigurationSettings.js → Configuration.beforeBootstrap.qunit.js} +0 -0
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  * @extends sap.ui.core.Control
33
33
  *
34
34
  * @author SAP SE
35
- * @version 1.116.0
35
+ * @version 1.117.0
36
36
  *
37
37
  * @public
38
38
  * @since 1.11.0
@@ -9,6 +9,8 @@ sap.ui.define(['sap/base/assert', 'sap/ui/base/Object', "sap/base/i18n/Localizat
9
9
  function(assert, BaseObject, Localization, LanguageTag) {
10
10
  "use strict";
11
11
 
12
+ var mCache = Object.create(null);
13
+
12
14
  /**
13
15
  * Creates an instance of the Locale.
14
16
  *
@@ -18,7 +20,7 @@ sap.ui.define(['sap/base/assert', 'sap/ui/base/Object', "sap/base/i18n/Localizat
18
20
  *
19
21
  * @extends sap.ui.base.Object
20
22
  * @author SAP SE
21
- * @version 1.116.0
23
+ * @version 1.117.0
22
24
  * @public
23
25
  * @alias sap.ui.core.Locale
24
26
  */
@@ -199,7 +201,8 @@ sap.ui.define(['sap/base/assert', 'sap/ui/base/Object', "sap/base/i18n/Localizat
199
201
 
200
202
  Locale._getCoreLocale = function(oLocale) {
201
203
  if (oLocale instanceof LanguageTag) {
202
- oLocale = new Locale(oLocale);
204
+ oLocale = mCache[oLocale.toString()] || new Locale(oLocale);
205
+ mCache[oLocale.toString()] = oLocale;
203
206
  }
204
207
  return oLocale;
205
208
  };
@@ -47,7 +47,7 @@ sap.ui.define([
47
47
  *
48
48
  * @extends sap.ui.base.Object
49
49
  * @author SAP SE
50
- * @version 1.116.0
50
+ * @version 1.117.0
51
51
  * @public
52
52
  * @alias sap.ui.core.LocaleData
53
53
  */
@@ -529,11 +529,16 @@ sap.ui.define([
529
529
  * @private
530
530
  */
531
531
  getTimezoneTranslations: function() {
532
- this.mTimezoneTranslations = this.mTimezoneTranslations ||
533
- _resolveTimezoneTranslationStructure(this._get("timezoneNames"));
532
+ var sLocale = this.oLocale.toString();
533
+ var mTranslations = LocaleData._mTimezoneTranslations[sLocale];
534
+
535
+ if (!mTranslations) {
536
+ LocaleData._mTimezoneTranslations[sLocale] = mTranslations =
537
+ _resolveTimezoneTranslationStructure(this._get("timezoneNames"));
538
+ }
534
539
 
535
540
  // retrieve a copy such that the original object won't be modified.
536
- return Object.assign({}, this.mTimezoneTranslations);
541
+ return Object.assign({}, mTranslations);
537
542
  },
538
543
 
539
544
  /**
@@ -2597,6 +2602,9 @@ sap.ui.define([
2597
2602
  };
2598
2603
 
2599
2604
  LocaleData._cldrLocales = _cldrLocales;
2605
+ // maps a locale to a map of time zone translations, which maps an IANA time zone ID to the translated time zone
2606
+ // name
2607
+ LocaleData._mTimezoneTranslations = {};
2600
2608
 
2601
2609
  return LocaleData;
2602
2610
 
@@ -72,7 +72,7 @@ sap.ui.define([
72
72
  sPathSegment = aPaths[i];
73
73
 
74
74
  // Prevent access to native properties
75
- oObject = oObject.hasOwnProperty(sPathSegment) ? oObject[sPathSegment] : undefined;
75
+ oObject = Object.hasOwn(oObject, sPathSegment) ? oObject[sPathSegment] : undefined;
76
76
 
77
77
  // Only continue with lookup if the value is an object.
78
78
  // Accessing properties of other types is not allowed!
@@ -107,7 +107,7 @@ sap.ui.define([
107
107
  if (oObject && typeof oObject === 'object' && !Object.isFrozen(oObject)) {
108
108
  Object.freeze(oObject);
109
109
  for (var sKey in oObject) {
110
- if (oObject.hasOwnProperty(sKey)) {
110
+ if (Object.hasOwn(oObject, sKey)) {
111
111
  deepFreeze(oObject[sKey]);
112
112
  }
113
113
  }
@@ -145,7 +145,7 @@ sap.ui.define([
145
145
  * @class The Manifest class.
146
146
  * @extends sap.ui.base.Object
147
147
  * @author SAP SE
148
- * @version 1.116.0
148
+ * @version 1.117.0
149
149
  * @alias sap.ui.core.Manifest
150
150
  * @since 1.33.0
151
151
  */
@@ -796,7 +796,7 @@ sap.ui.define([
796
796
  }
797
797
  }
798
798
  if (!oManifestUrl.hasQuery("sap-client")) {
799
- var sValue = BaseConfig.get({name: "sapClient", type:BaseConfig.Type.String});
799
+ var sValue = BaseConfig.get({name: "sapClient", type:BaseConfig.Type.String, external: true});
800
800
  if (sValue) {
801
801
  oManifestUrl.addQuery("sap-client", sValue);
802
802
  }
@@ -861,7 +861,7 @@ sap.ui.define([
861
861
  */
862
862
  Manifest.processObject = function (oObject, fnCallback) {
863
863
  for (var sKey in oObject) {
864
- if (!oObject.hasOwnProperty(sKey)) {
864
+ if (!Object.hasOwn(oObject, sKey)) {
865
865
  continue;
866
866
  }
867
867
  var vValue = oObject[sKey];
@@ -26,7 +26,7 @@ sap.ui.define(['./Element', './library', "sap/base/Log", "sap/ui/core/Configurat
26
26
  * @extends sap.ui.core.Element
27
27
  *
28
28
  * @author SAP SE
29
- * @version 1.116.0
29
+ * @version 1.117.0
30
30
  *
31
31
  * @public
32
32
  * @alias sap.ui.core.Message
@@ -15,6 +15,7 @@ sap.ui.define([
15
15
  'sap/ui/base/ObjectPool',
16
16
  './Control',
17
17
  './Element',
18
+ './EventBus',
18
19
  './FocusHandler',
19
20
  './IntervalTrigger',
20
21
  './RenderManager',
@@ -23,16 +24,17 @@ sap.ui.define([
23
24
  './StaticArea',
24
25
  "sap/base/assert",
25
26
  "sap/base/Log",
27
+ "sap/base/i18n/Localization",
26
28
  "sap/base/util/Version",
27
29
  "sap/base/util/uid",
28
30
  "sap/base/util/extend",
29
31
  "sap/base/util/each",
30
32
  "sap/base/util/deepExtend",
31
- "sap/ui/thirdparty/jquery",
32
33
  "sap/ui/events/F6Navigation",
33
34
  "sap/ui/events/isMouseEventDelayed",
34
35
  "sap/ui/base/EventProvider",
35
- "sap/ui/core/Configuration",
36
+ "sap/ui/thirdparty/jquery",
37
+ "sap/ui/thirdparty/jqueryui/jquery-ui-position",
36
38
  "sap/ui/dom/jquery/control", // jQuery Plugin "control"
37
39
  "sap/ui/dom/jquery/Focusable", // jQuery Plugin "firstFocusableDomRef"
38
40
  "sap/ui/dom/jquery/rect" // jQuery Plugin "rect"
@@ -44,6 +46,7 @@ sap.ui.define([
44
46
  ObjectPool,
45
47
  Control,
46
48
  Element,
49
+ EventBus,
47
50
  FocusHandler,
48
51
  IntervalTrigger,
49
52
  RenderManager,
@@ -52,16 +55,17 @@ sap.ui.define([
52
55
  StaticArea,
53
56
  assert,
54
57
  Log,
58
+ Localization,
55
59
  Version,
56
60
  uid,
57
61
  extend,
58
62
  each,
59
63
  deepExtend,
60
- jQuery,
61
64
  F6Navigation,
62
65
  isMouseEventDelayed,
63
66
  EventProvider,
64
- Configuration
67
+ jQuery
68
+ //jquery-ui-position
65
69
  //control
66
70
  //Focusable
67
71
  //rect
@@ -84,6 +88,8 @@ sap.ui.define([
84
88
  var oResizeObserver;
85
89
  var sResizeHandlerIdAttribute = "sapUiPopupResize";
86
90
 
91
+ var oEventBus = new EventBus();
92
+
87
93
  if (window.ResizeObserver) {
88
94
  oResizeObserver = new window.ResizeObserver(function(aEntries){
89
95
  adaptSizeAndPosition(jQuery("#sap-ui-blocklayer-popup"), aEntries[0].target);
@@ -218,20 +224,6 @@ sap.ui.define([
218
224
  * TinyMCE uses this method to be able to focus the popups of the TinyMCE if the <code>RichTextEditor</code> runs
219
225
  * within a <code>Popup</code>/<code>Dialog</code> etc.
220
226
  *
221
- * To provide an additional DOM element that can get the focus the following should be done:
222
- * <pre>
223
- * // create an object with the corresponding DOM-ID
224
- * var oObject = {
225
- * id : "this_is_the_most_valuable_id_of_the_DOM_element"
226
- * };
227
- *
228
- * // add the event prefix for adding an element to the ID of the corresponding Popup
229
- * var sEventId = "sap.ui.core.Popup.addFocusableContent-" + oPopup.getId();
230
- *
231
- * // fire the event with the created event-ID and the object with the DOM-ID
232
- * sap.ui.getCore().getEventBus().publish("sap.ui", sEventId, oObject);
233
- * </pre>
234
- *
235
227
  * <strong>Since 1.75</strong>, DOM elements which have the attribute
236
228
  * <code>data-sap-ui-integration-popup-content</code> are considered to be part of all opened popups. Those DOM
237
229
  * elements can get the focus without causing the autoclose popup to be closed or the modal popup to take the focus
@@ -550,7 +542,7 @@ sap.ui.define([
550
542
  var Layer = BaseObject.extend("sap.ui.core.Popup.Layer", {
551
543
  constructor: function() {
552
544
  var sDomString = this.getDomString();
553
- this._$Ref = jQuery(sDomString).appendTo(sap.ui.getCore().getStaticAreaRef());
545
+ this._$Ref = jQuery(sDomString).appendTo(StaticArea.getDomRef());
554
546
  }
555
547
  });
556
548
 
@@ -625,7 +617,7 @@ sap.ui.define([
625
617
  this._$Ref[0].style.display = "none";
626
618
  this._$Ref[0].style.visibility = "hidden";
627
619
 
628
- this._$Ref.appendTo(sap.ui.getCore().getStaticAreaRef());
620
+ this._$Ref.appendTo(StaticArea.getDomRef());
629
621
  }
630
622
  };
631
623
 
@@ -918,7 +910,7 @@ sap.ui.define([
918
910
 
919
911
  this._iZIndex = this._iZIndex === this.getLastZIndex() ? this._iZIndex : this.getNextZIndex();
920
912
 
921
- var oStaticArea = sap.ui.getCore().getStaticAreaRef();
913
+ var oStaticArea = StaticArea.getDomRef();
922
914
  $Ref.css({
923
915
  "position" : "absolute",
924
916
  "visibility" : "hidden"
@@ -966,7 +958,7 @@ sap.ui.define([
966
958
 
967
959
  if (this._shouldGetFocusAfterOpen()) {
968
960
  if (this._sInitialFocusId) {
969
- oControl = sap.ui.getCore().byId(this._sInitialFocusId);
961
+ oControl = Element.registry.get(this._sInitialFocusId);
970
962
 
971
963
  if (oControl) {
972
964
  oDomRefToFocus = oControl.getFocusDomRef();
@@ -1048,7 +1040,7 @@ sap.ui.define([
1048
1040
  */
1049
1041
  Popup.prototype._duringOpen = function(bOpenAnimated) {
1050
1042
  var $Ref = this._$(/* bForceReRender */false, /* bGetOnly */true),
1051
- oStaticArea = sap.ui.getCore().getStaticAreaRef(),
1043
+ oStaticArea = StaticArea.getDomRef(),
1052
1044
  oFirstFocusableInStaticArea = document.getElementById(oStaticArea.id + "-firstfe");
1053
1045
 
1054
1046
  Popup._clearSelection();
@@ -1159,7 +1151,7 @@ sap.ui.define([
1159
1151
  var oData = {
1160
1152
  domRef: oDomRef
1161
1153
  };
1162
- sap.ui.getCore().getEventBus().publish("sap.ui", sEventId, oData);
1154
+ oEventBus.publish("sap.ui", sEventId, oData);
1163
1155
 
1164
1156
  bContains = oData.contains;
1165
1157
  }
@@ -1266,7 +1258,7 @@ sap.ui.define([
1266
1258
  // Parent popup can check whether the current focused element is inside the parent popup. If it's still inside the
1267
1259
  // parent popup, it keeps open, otherwise parent popup is also closed.
1268
1260
  var sEventId = "sap.ui.core.Popup.onFocusEvent-" + sParentPopupId;
1269
- sap.ui.getCore().getEventBus().publish("sap.ui", sEventId, oEvent);
1261
+ oEventBus.publish("sap.ui", sEventId, oEvent);
1270
1262
  }
1271
1263
  }
1272
1264
  }.bind(this), iDuration);
@@ -1336,7 +1328,7 @@ sap.ui.define([
1336
1328
  // Assumption: application did not move the content in the meantime!
1337
1329
  if (this._bContentAddedToStatic ) {
1338
1330
  //Fix for RTE in PopUp
1339
- sap.ui.getCore().getEventBus().publish("sap.ui","__beforePopupClose", { domNode : this._$().get(0) });
1331
+ oEventBus.publish("sap.ui","__beforePopupClose", { domNode : this._$().get(0) });
1340
1332
  var oStatic = StaticArea.getUIArea();
1341
1333
  oStatic.removeContent(oStatic.indexOfContent(this.oContent), true);
1342
1334
  } else if (this._bUIAreaPatched) { // if the getUIArea function is patched, delete it
@@ -1518,22 +1510,17 @@ sap.ui.define([
1518
1510
  */
1519
1511
  Popup.getCurrentFocusInfo = function() {
1520
1512
  var _oPreviousFocus = null;
1521
- var focusedControlId = sap.ui.getCore().getCurrentFocusedControlId();
1522
- if (focusedControlId) {
1523
- // an SAPUI5 control was focused before
1524
- var oFocusedControl = sap.ui.getCore().byId(focusedControlId);
1513
+ var oActiveElement = Element.closestTo(document.activeElement);
1514
+ if (oActiveElement) {
1525
1515
  _oPreviousFocus = {
1526
- 'sFocusId' : focusedControlId,
1527
- // add empty oFocusInfo to avoid the need for all recipients to check
1528
- 'oFocusInfo' : oFocusedControl ? oFocusedControl.getFocusInfo() : {}
1516
+ 'sFocusId' : oActiveElement.getId(),
1517
+ 'oFocusInfo' : oActiveElement.getFocusInfo()
1529
1518
  };
1530
1519
  } else {
1531
1520
  // not an SAPUI5 control... but if something has focus, save as much information about it as available
1532
- var oElement = document.activeElement;
1533
-
1534
1521
  _oPreviousFocus = {
1535
- 'sFocusId' : oElement.id,
1536
- 'oFocusedElement' : oElement,
1522
+ 'sFocusId' : document.activeElement.id,
1523
+ 'oFocusedElement' : document.activeElement,
1537
1524
  // add empty oFocusInfo to avoid the need for all recipients to check
1538
1525
  'oFocusInfo': {}
1539
1526
  };
@@ -1568,7 +1555,7 @@ sap.ui.define([
1568
1555
  };
1569
1556
 
1570
1557
  if (oPreviousFocus) {
1571
- var oFocusedControl = sap.ui.getCore().byId(oPreviousFocus.sFocusId);
1558
+ var oFocusedControl = Element.registry.get(oPreviousFocus.sFocusId);
1572
1559
  if (oFocusedControl) {
1573
1560
 
1574
1561
  // if an SAPUI5 control had been focused, just re-focus it
@@ -1761,7 +1748,7 @@ sap.ui.define([
1761
1748
  * @private
1762
1749
  */
1763
1750
  Popup.prototype._applyPosition = function(oPosition) {
1764
- var bRtl = Configuration.getRTL();
1751
+ var bRtl = Localization.getRTL();
1765
1752
  var $Ref = this._$();
1766
1753
 
1767
1754
  if ($Ref.length) {
@@ -2521,7 +2508,7 @@ sap.ui.define([
2521
2508
  var that = this;
2522
2509
 
2523
2510
  each(that._mEvents, function(sEventId, fnListener) {
2524
- sap.ui.getCore().getEventBus().subscribe("sap.ui", sEventId, fnListener, that);
2511
+ oEventBus.subscribe("sap.ui", sEventId, fnListener, that);
2525
2512
  });
2526
2513
 
2527
2514
  this._bEventBusEventsRegistered = true;
@@ -2536,7 +2523,7 @@ sap.ui.define([
2536
2523
  var that = this;
2537
2524
 
2538
2525
  each(that._mEvents, function(sEventId, fnListener) {
2539
- sap.ui.getCore().getEventBus().unsubscribe("sap.ui", sEventId, fnListener, that);
2526
+ oEventBus.unsubscribe("sap.ui", sEventId, fnListener, that);
2540
2527
  });
2541
2528
 
2542
2529
  delete this._bEventBusEventsRegistered;
@@ -2632,7 +2619,7 @@ sap.ui.define([
2632
2619
  if ($ContentRef.length > 0) {
2633
2620
  RenderManager.preserveContent($ContentRef[0], /* bPreserveRoot */ true, /* bPreserveNodesWithId */ false);
2634
2621
  }
2635
- sap.ui.getCore().createRenderManager().render(this.oContent, sap.ui.getCore().getStaticAreaRef());
2622
+ new RenderManager().render(this.oContent, StaticArea.getDomRef());
2636
2623
  $ContentRef = this.oContent.$();
2637
2624
  }
2638
2625
  } else if (this.oContent instanceof Element) {
@@ -2771,7 +2758,7 @@ sap.ui.define([
2771
2758
  var aChildPopups = this.getChildPopups();
2772
2759
  bExtended = aChildPopups.some(function(sChildID) {
2773
2760
  var sEventId = sEventPrefix + sChildID;
2774
- sap.ui.getCore().getEventBus().publish("sap.ui", sEventId, oData);
2761
+ oEventBus.publish("sap.ui", sEventId, oData);
2775
2762
 
2776
2763
  return oData.extended;
2777
2764
  });
@@ -2795,7 +2782,7 @@ sap.ui.define([
2795
2782
 
2796
2783
  if ($BlockRef.length === 0) {
2797
2784
  $BlockRef = jQuery('<div id="sap-ui-blocklayer-popup" tabindex="0" class="' + sClassName + '"></div>');
2798
- $BlockRef.appendTo(sap.ui.getCore().getStaticAreaRef());
2785
+ $BlockRef.appendTo(StaticArea.getDomRef());
2799
2786
  } else {
2800
2787
  $BlockRef.removeClass().addClass(sClassName);
2801
2788
  }
@@ -3180,7 +3167,7 @@ sap.ui.define([
3180
3167
  */
3181
3168
  Popup.prototype.addChildToPopup = function(sParentPopupId, sChildPopupId) {
3182
3169
  var sEventId = "sap.ui.core.Popup.addFocusableContent-" + sParentPopupId;
3183
- sap.ui.getCore().getEventBus().publish("sap.ui", sEventId, {
3170
+ oEventBus.publish("sap.ui", sEventId, {
3184
3171
  id : sChildPopupId
3185
3172
  });
3186
3173
  };
@@ -3197,7 +3184,7 @@ sap.ui.define([
3197
3184
  */
3198
3185
  Popup.prototype.removeChildFromPopup = function(sParentPopupId, sChildPopupId) {
3199
3186
  var sEventId = "sap.ui.core.Popup.removeFocusableContent-" + sParentPopupId;
3200
- sap.ui.getCore().getEventBus().publish("sap.ui", sEventId, {
3187
+ oEventBus.publish("sap.ui", sEventId, {
3201
3188
  id : sChildPopupId
3202
3189
  });
3203
3190
  };
@@ -3210,7 +3197,7 @@ sap.ui.define([
3210
3197
  */
3211
3198
  Popup.prototype.closePopup = function(sPopupId) {
3212
3199
  var sEventId = "sap.ui.core.Popup.closePopup-" + sPopupId;
3213
- sap.ui.getCore().getEventBus().publish("sap.ui", sEventId);
3200
+ oEventBus.publish("sap.ui", sEventId);
3214
3201
  };
3215
3202
 
3216
3203
  /**
@@ -3224,7 +3211,7 @@ sap.ui.define([
3224
3211
  */
3225
3212
  Popup.prototype.increaseZIndex = function(sPopupId, bIsParent) {
3226
3213
  var sEventId = "sap.ui.core.Popup.increaseZIndex-" + sPopupId;
3227
- sap.ui.getCore().getEventBus().publish("sap.ui", sEventId, {
3214
+ oEventBus.publish("sap.ui", sEventId, {
3228
3215
  isFromParentPopup : bIsParent ? bIsParent : false
3229
3216
  });
3230
3217
  };
@@ -3242,7 +3229,7 @@ sap.ui.define([
3242
3229
  * @param {object}
3243
3230
  * mParameters contain all necessary parameters
3244
3231
  * @param {object}
3245
- * mParameter.that is the control that calls this function.
3232
+ * mParameters.that is the control that calls this function.
3246
3233
  * Needed for debug logging info
3247
3234
  * @param {object}
3248
3235
  * mParameters.event is the event that is being forwarded
@@ -3306,7 +3293,7 @@ sap.ui.define([
3306
3293
  // if the element is a control the focus should be called
3307
3294
  // via the control
3308
3295
  // especially if the control has an individual focus DOM-ref
3309
- var oControl = sap.ui.getCore().byId(oFocusDomRef.id);
3296
+ var oControl = Element.registry.get(oFocusDomRef.id);
3310
3297
  if (oControl instanceof Control) {
3311
3298
  Log.debug("Focus will be handled by " + oControl.getMetadata().getName(), "", sName);
3312
3299
  } else {
@@ -234,7 +234,7 @@ sap.ui.define([
234
234
  *
235
235
  * @extends Object
236
236
  * @author SAP SE
237
- * @version 1.116.0
237
+ * @version 1.117.0
238
238
  * @alias sap.ui.core.RenderManager
239
239
  * @public
240
240
  */
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  * @classdesc Base Class for a Renderer.
20
20
  *
21
21
  * @author SAP SE
22
- * @version 1.116.0
22
+ * @version 1.117.0
23
23
  * @namespace
24
24
  * @public
25
25
  * @alias sap.ui.core.Renderer
@@ -230,7 +230,7 @@ sap.ui.define([
230
230
  /**
231
231
  * Returns the internal rendering Logger.
232
232
  *
233
- * @returns {sap.base.Log} The Rendering logger
233
+ * @returns {module:sap/base/Log} The Rendering logger
234
234
  * @private
235
235
  */
236
236
  getLogger: function() {
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  * @alias sap.ui.core.ResizeHandler
37
37
  * @extends sap.ui.base.Object
38
38
  * @author SAP SE
39
- * @version 1.116.0
39
+ * @version 1.117.0
40
40
  * @public
41
41
  */
42
42
 
@@ -44,7 +44,7 @@ sap.ui.define([
44
44
  * The ScrollBar control can be used for virtual scrolling of a certain area.
45
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.
46
46
  * @extends sap.ui.core.Control
47
- * @version 1.116.0
47
+ * @version 1.117.0
48
48
  *
49
49
  * @public
50
50
  * @deprecated as of version 1.56
@@ -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.116.0
26
+ * @version 1.117.0
27
27
  *
28
28
  * @public
29
29
  * @alias sap.ui.core.SeparatorItem
@@ -94,7 +94,8 @@ sap.ui.define([
94
94
  function wrapCallback() {
95
95
  var oFocusedElement = document.activeElement,
96
96
  oSpan = document.createElement("span"),
97
- oStaticUiAreaDomRef = sap.ui.getCore().getStaticAreaRef();
97
+ oStaticUiAreaDomRef = sap.ui.getCore().getStaticAreaRef(),
98
+ args = arguments;
98
99
 
99
100
  oSpan.setAttribute("tabindex", 0);
100
101
  oSpan.setAttribute("id", "sap-ui-shortcut-focus");
@@ -109,16 +110,17 @@ sap.ui.define([
109
110
 
110
111
  // set focus on span to enforce blur - e.g. data of input field needs to get peristed
111
112
  oSpan.focus();
113
+ // setting back the focus async ensures that also a fieldGroupChange happens
114
+ setTimeout(function() {
115
+ // restore old focus
116
+ oFocusedElement.focus();
112
117
 
113
- // restore old focus
114
- oFocusedElement.focus();
115
-
116
- // cleanup DOM
117
- oStaticUiAreaDomRef.removeChild(oSpan);
118
-
119
- // trigger callback
120
- fnCallback.apply(null, arguments);
118
+ // cleanup DOM
119
+ oStaticUiAreaDomRef.removeChild(oSpan);
121
120
 
121
+ // trigger callback
122
+ fnCallback.apply(null, args);
123
+ });
122
124
  }
123
125
 
124
126
  var oDelegate = {};
@@ -113,7 +113,7 @@ sap.ui.define([
113
113
  * It can be used e.g. for hiding elements like Popup, Shadow, Blocklayer etc.
114
114
  * If it is not yet available, a DIV element is created and appended to the body.
115
115
  *
116
- * @returns {ELement} the root DOM element of the static, hidden area
116
+ * @returns {Element} the root DOM element of the static, hidden area
117
117
  * @throws {Error} if the document is not ready yet
118
118
  *
119
119
  * @private
@@ -48,11 +48,17 @@ sap.ui.define([
48
48
  defaultValue: oWritableConfig.get({
49
49
  name: "sapUiTheme",
50
50
  type: oWritableConfig.Type.String,
51
- defaultValue: "base",
52
51
  external: true
53
52
  }),
54
53
  external: true
55
54
  });
55
+
56
+ // empty string is a valid value wrt. the <String> type
57
+ // this is a semantic check if we need to default to a valid theme
58
+ if (sTheme === "") {
59
+ sTheme = "base";
60
+ }
61
+
56
62
  // It's only possible to provide a themeroot via theme parameter using
57
63
  // the initial config provider such as Global-, Bootstrap-, Meta- and
58
64
  // URLConfigurationProvider. The themeroot is also only validated against
@@ -198,12 +204,13 @@ sap.ui.define([
198
204
 
199
205
  var oThemeRootConfigParam = {
200
206
  name: "sapUiThemeRoots",
201
- type: oWritableConfig.Type.Object,
202
- defaultValue: {}
207
+ type: oWritableConfig.Type.Object
203
208
  };
209
+
204
210
  // Use get twice, for a deep copy of themeRoots object
205
- var mOldThemeRoots = oWritableConfig.get(oThemeRootConfigParam);
206
- var mNewThemeRoots = oWritableConfig.get(oThemeRootConfigParam);
211
+ // we add a new default "empty object" with each call, so we don't accidentally share it
212
+ var mOldThemeRoots = oWritableConfig.get(Object.assign(oThemeRootConfigParam, {defaultValue: {}}));
213
+ var mNewThemeRoots = oWritableConfig.get(Object.assign(oThemeRootConfigParam, {defaultValue: {}}));
207
214
 
208
215
  // normalize parameters
209
216
  if (typeof aLibraryNames === "boolean") {
@@ -267,7 +274,7 @@ sap.ui.define([
267
274
  *
268
275
  * @name sap.ui.core.Theming#applied
269
276
  * @event
270
- * @param {sap.base.Event} oEvent
277
+ * @param {module:sap/base/Event} oEvent
271
278
  * @param {sap.ui.base.EventProvider} oEvent.target
272
279
  * @param {string} oEvent.theme Theme name
273
280
  * @public
@@ -319,11 +326,11 @@ sap.ui.define([
319
326
  *
320
327
  * @name module:sap/ui/core/Theming.change
321
328
  * @event
322
- * @param {sap.base.Event} oEvent
329
+ * @param {module:sap/base/Event} oEvent
323
330
  * @param {sap.ui.base.EventProvider} oEvent.target
324
331
  * @param {object} oEvent.theme theme object
325
- * @param {object} oEvent.theme.new new theme name
326
- * @param {object} oEvent.theme.old old theme name
332
+ * @param {string} oEvent.theme.new new theme name
333
+ * @param {string} oEvent.theme.old old theme name
327
334
  * @param {object} oEvent.themeroots themeroots object
328
335
  * @param {object} oEvent.themeroots.new new themeroots
329
336
  * @param {object} oEvent.themeroots.old old themeroots
@@ -25,7 +25,7 @@ sap.ui.define(['./Element', './library'],
25
25
  * @extends sap.ui.core.Element
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.116.0
28
+ * @version 1.117.0
29
29
  *
30
30
  * @public
31
31
  * @since 1.16.0
@@ -30,7 +30,7 @@ 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.116.0
33
+ * @version 1.117.0
34
34
  *
35
35
  * @public
36
36
  * @alias sap.ui.core.TooltipBase
@@ -170,7 +170,7 @@ sap.ui.define([
170
170
  *
171
171
  * @extends sap.ui.base.ManagedObject
172
172
  * @author SAP SE
173
- * @version 1.116.0
173
+ * @version 1.117.0
174
174
  * @param {object} [oRootNode] reference to the DOM element that should be 'hosting' the UI Area.
175
175
  * @public
176
176
  * @alias sap.ui.core.UIArea
@@ -55,7 +55,7 @@ sap.ui.define([
55
55
  * @extends sap.ui.core.Component
56
56
  * @abstract
57
57
  * @author SAP SE
58
- * @version 1.116.0
58
+ * @version 1.117.0
59
59
  * @alias sap.ui.core.UIComponent
60
60
  * @since 1.9.2
61
61
  */
@@ -18,7 +18,7 @@ sap.ui.define(['./ComponentMetadata', 'sap/ui/core/mvc/ViewType'],
18
18
  * @experimental Since 1.15.1. The Component concept is still under construction, so some implementation details can be changed in future.
19
19
  * @class
20
20
  * @author SAP SE
21
- * @version 1.116.0
21
+ * @version 1.117.0
22
22
  * @since 1.15.1
23
23
  * @alias sap.ui.core.UIComponentMetadata
24
24
  * @extends sap.ui.core.ComponentMetadata
@@ -16,7 +16,7 @@ sap.ui.define(['./Element', './library', './Lib', "sap/base/assert"],
16
16
  * Helper functionality for value state support.
17
17
  *
18
18
  * @author SAP SE
19
- * @version 1.116.0
19
+ * @version 1.117.0
20
20
  * @public
21
21
  * @namespace sap.ui.core.ValueStateSupport
22
22
  */
@@ -20,7 +20,7 @@ sap.ui.define(['./LayoutData', './library'],
20
20
  * @class
21
21
  * Allows to add multiple LayoutData to one control in case that an easy switch of layouts (e.g. in a Form) is needed.
22
22
  * @extends sap.ui.core.LayoutData
23
- * @version 1.116.0
23
+ * @version 1.117.0
24
24
  *
25
25
  * @public
26
26
  * @since 1.9.2