@openui5/sap.ui.core 1.93.3 → 1.96.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (416) hide show
  1. package/.eslintrc.json +13 -2
  2. package/.reuse/dep5 +6 -11
  3. package/THIRDPARTY.txt +10 -16
  4. package/package.json +1 -1
  5. package/src/jquery.sap.global.js +5 -2
  6. package/src/jquery.sap.properties.js +1 -1
  7. package/src/jquery.sap.resources.js +1 -1
  8. package/src/jquery.sap.script.js +1 -1
  9. package/src/jquery.sap.storage.js +3 -3
  10. package/src/jquery.sap.stubs.js +2 -1
  11. package/src/jquery.sap.trace.js +2 -1
  12. package/src/sap/base/i18n/ResourceBundle.js +6 -2
  13. package/src/sap/base/strings/whitespaceReplacer.js +52 -0
  14. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  15. package/src/sap/base/util/restricted/_castArray.js +1 -1
  16. package/src/sap/base/util/restricted/_compact.js +1 -1
  17. package/src/sap/base/util/restricted/_curry.js +1 -1
  18. package/src/sap/base/util/restricted/_debounce.js +1 -1
  19. package/src/sap/base/util/restricted/_difference.js +1 -1
  20. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  21. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  22. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  23. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  24. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  25. package/src/sap/base/util/restricted/_flatten.js +1 -1
  26. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  27. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  28. package/src/sap/base/util/restricted/_intersection.js +1 -1
  29. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  30. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  31. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  32. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  33. package/src/sap/base/util/restricted/_isNil.js +1 -1
  34. package/src/sap/base/util/restricted/_max.js +1 -1
  35. package/src/sap/base/util/restricted/_merge.js +1 -1
  36. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  37. package/src/sap/base/util/restricted/_min.js +1 -1
  38. package/src/sap/base/util/restricted/_omit.js +1 -1
  39. package/src/sap/base/util/restricted/_pick.js +1 -1
  40. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  41. package/src/sap/base/util/restricted/_throttle.js +1 -1
  42. package/src/sap/base/util/restricted/_toArray.js +1 -1
  43. package/src/sap/base/util/restricted/_union.js +1 -1
  44. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  45. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  46. package/src/sap/base/util/restricted/_uniq.js +1 -1
  47. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  48. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  49. package/src/sap/base/util/restricted/_without.js +1 -1
  50. package/src/sap/base/util/restricted/_xor.js +1 -1
  51. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  52. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  53. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  54. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  55. package/src/sap/ui/Device.js +37 -42
  56. package/src/sap/ui/Global.js +8 -7
  57. package/src/sap/ui/base/DataType.js +14 -8
  58. package/src/sap/ui/base/Event.js +1 -1
  59. package/src/sap/ui/base/EventProvider.js +1 -1
  60. package/src/sap/ui/base/ExpressionParser.js +9 -6
  61. package/src/sap/ui/base/Interface.js +3 -49
  62. package/src/sap/ui/base/ManagedObject.js +12 -7
  63. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  64. package/src/sap/ui/base/Metadata.js +1 -1
  65. package/src/sap/ui/base/Object.js +49 -4
  66. package/src/sap/ui/base/ObjectPool.js +1 -1
  67. package/src/sap/ui/base/syncXHRFix.js +2 -1
  68. package/src/sap/ui/core/.library +5 -5
  69. package/src/sap/ui/core/AppCacheBuster.js +4 -4
  70. package/src/sap/ui/core/BusyIndicator.js +1 -11
  71. package/src/sap/ui/core/Component.js +300 -140
  72. package/src/sap/ui/core/ComponentContainer.js +24 -8
  73. package/src/sap/ui/core/ComponentMetadata.js +14 -3
  74. package/src/sap/ui/core/ComponentSupport.js +1 -1
  75. package/src/sap/ui/core/Configuration.js +67 -31
  76. package/src/sap/ui/core/Control.js +1 -1
  77. package/src/sap/ui/core/Core.js +103 -25
  78. package/src/sap/ui/core/CustomData.js +1 -1
  79. package/src/sap/ui/core/CustomizingConfiguration.js +35 -260
  80. package/src/sap/ui/core/DeclarativeSupport.js +3 -2
  81. package/src/sap/ui/core/Element.js +1 -1
  82. package/src/sap/ui/core/ElementMetadata.js +4 -2
  83. package/src/sap/ui/core/EnabledPropagator.js +91 -73
  84. package/src/sap/ui/core/EventBus.js +1 -1
  85. package/src/sap/ui/core/ExtensionPoint.js +7 -14
  86. package/src/sap/ui/core/Fragment.js +30 -32
  87. package/src/sap/ui/core/HTML.js +1 -1
  88. package/src/sap/ui/core/History.js +1 -1
  89. package/src/sap/ui/core/Icon.js +7 -8
  90. package/src/sap/ui/core/IconPool.js +26 -1097
  91. package/src/sap/ui/core/IconRenderer.js +6 -6
  92. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  93. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  94. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  95. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  96. package/src/sap/ui/core/InvisibleText.js +1 -1
  97. package/src/sap/ui/core/Item.js +1 -1
  98. package/src/sap/ui/core/LabelEnablement.js +1 -1
  99. package/src/sap/ui/core/LayoutData.js +1 -1
  100. package/src/sap/ui/core/ListItem.js +1 -1
  101. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  102. package/src/sap/ui/core/Locale.js +26 -4
  103. package/src/sap/ui/core/LocaleData.js +1 -1
  104. package/src/sap/ui/core/Manifest.js +4 -61
  105. package/src/sap/ui/core/Message.js +1 -1
  106. package/src/sap/ui/core/Patcher.js +27 -3
  107. package/src/sap/ui/core/Placeholder.js +28 -15
  108. package/src/sap/ui/core/RenderManager.js +36 -6
  109. package/src/sap/ui/core/Renderer.js +13 -3
  110. package/src/sap/ui/core/ResizeHandler.js +1 -1
  111. package/src/sap/ui/core/ScrollBar.js +2 -2
  112. package/src/sap/ui/core/SeparatorItem.js +1 -1
  113. package/src/sap/ui/core/ShortcutHintsMixin.js +14 -7
  114. package/src/sap/ui/core/Title.js +1 -1
  115. package/src/sap/ui/core/TooltipBase.js +1 -1
  116. package/src/sap/ui/core/UIArea.js +1 -1
  117. package/src/sap/ui/core/UIComponent.js +42 -16
  118. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  119. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  120. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  121. package/src/sap/ui/core/XMLComposite.js +2 -2
  122. package/src/sap/ui/core/XMLCompositeMetadata.js +2 -2
  123. package/src/sap/ui/core/XMLTemplateProcessor.js +116 -41
  124. package/src/sap/ui/core/_IconRegistry.js +1148 -0
  125. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  126. package/src/sap/ui/core/delegate/ScrollEnablement.js +6 -3
  127. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  128. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  129. package/src/sap/ui/core/dnd/DragInfo.js +2 -2
  130. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  131. package/src/sap/ui/core/format/NumberFormat.js +16 -1
  132. package/src/sap/ui/core/hyphenation/Hyphenation.js +73 -221
  133. package/src/sap/ui/core/hyphenation/HyphenationTestingWords.js +11 -10
  134. package/src/sap/ui/core/library.js +3 -3
  135. package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
  136. package/src/sap/ui/core/message/Message.js +1 -1
  137. package/src/sap/ui/core/message/MessageManager.js +13 -15
  138. package/src/sap/ui/core/message/MessageParser.js +1 -1
  139. package/src/sap/ui/core/message/MessageProcessor.js +1 -1
  140. package/src/sap/ui/core/messagebundle_de.properties +1 -1
  141. package/src/sap/ui/core/messagebundle_fr.properties +1 -1
  142. package/src/sap/ui/core/messagebundle_it.properties +1 -1
  143. package/src/sap/ui/core/messagebundle_pl.properties +1 -1
  144. package/src/sap/ui/core/messagebundle_th.properties +2 -2
  145. package/src/sap/ui/core/mvc/Controller.js +38 -19
  146. package/src/sap/ui/core/mvc/ControllerExtensionProvider.js +30 -32
  147. package/src/sap/ui/core/mvc/ControllerMetadata.js +18 -18
  148. package/src/sap/ui/core/mvc/HTMLView.js +2 -2
  149. package/src/sap/ui/core/mvc/JSONView.js +2 -2
  150. package/src/sap/ui/core/mvc/JSView.js +2 -2
  151. package/src/sap/ui/core/mvc/TemplateView.js +2 -2
  152. package/src/sap/ui/core/mvc/View.js +58 -85
  153. package/src/sap/ui/core/mvc/XMLView.js +2 -2
  154. package/src/sap/ui/core/mvc/XMLViewRenderer.js +17 -20
  155. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  156. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  157. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  158. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  159. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  160. package/src/sap/ui/core/routing/History.js +10 -2
  161. package/src/sap/ui/core/routing/Router.js +8 -1
  162. package/src/sap/ui/core/routing/Target.js +13 -0
  163. package/src/sap/ui/core/routing/Targets.js +13 -2
  164. package/src/sap/ui/core/routing/async/Route.js +1 -1
  165. package/src/sap/ui/core/routing/async/Target.js +353 -259
  166. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  167. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  168. package/src/sap/ui/core/service/Service.js +1 -1
  169. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  170. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  171. package/src/sap/ui/core/support/BootSupportTool.js +11 -0
  172. package/src/sap/ui/core/support/InteractionTree.css +4 -0
  173. package/src/sap/ui/core/support/Plugin.js +1 -1
  174. package/src/sap/ui/core/support/Support.js +1 -1
  175. package/src/sap/ui/core/support/ViewInfo.css +599 -0
  176. package/src/sap/ui/core/support/controls/InteractionTree.js +352 -222
  177. package/src/sap/ui/core/support/controls/ObjectViewer.js +3 -41
  178. package/src/sap/ui/core/support/controls/TimelineOverview.js +49 -24
  179. package/src/sap/ui/core/support/controls/TreeViewer.js +12 -58
  180. package/src/sap/ui/core/support/plugins/ControlTree.js +59 -68
  181. package/src/sap/ui/core/support/plugins/Debugging.js +9 -11
  182. package/src/sap/ui/core/support/plugins/Interaction.js +2 -2
  183. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  184. package/src/sap/ui/core/support/plugins/Performance.js +147 -75
  185. package/src/sap/ui/core/support/plugins/Selector.js +19 -24
  186. package/src/sap/ui/core/support/plugins/TechInfo.js +5 -5
  187. package/src/sap/ui/core/support/plugins/Trace.js +95 -32
  188. package/src/sap/ui/core/support/plugins/ViewInfo.js +9 -73
  189. package/src/sap/ui/core/support/support.css +109 -14
  190. package/src/sap/ui/core/support/support.html +6 -2
  191. package/src/sap/ui/core/support/techinfo/TechnicalInfo.fragment.xml +1 -0
  192. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +149 -72
  193. package/src/sap/ui/core/themes/base/Icon.less +9 -0
  194. package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
  195. package/src/sap/ui/core/theming/Parameters.js +6 -4
  196. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  197. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  198. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  199. package/src/sap/ui/core/tmpl/Template.js +10 -28
  200. package/src/sap/ui/core/tmpl/TemplateControl.js +4 -4
  201. package/src/sap/ui/core/tmpl/_parsePath.js +35 -0
  202. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  203. package/src/sap/ui/core/util/DraftEnabledMockServer.js +9 -4
  204. package/src/sap/ui/core/util/Export.js +1 -1
  205. package/src/sap/ui/core/util/ExportCell.js +1 -1
  206. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  207. package/src/sap/ui/core/util/ExportRow.js +1 -1
  208. package/src/sap/ui/core/util/ExportType.js +1 -1
  209. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  210. package/src/sap/ui/core/util/File.js +1 -1
  211. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  212. package/src/sap/ui/core/util/MockServer.js +5 -5
  213. package/src/sap/ui/core/util/MockServerAnnotationsHandler.js +3 -2
  214. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  215. package/src/sap/ui/core/util/XMLPreprocessor.js +11 -12
  216. package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +136 -63
  217. package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +170 -153
  218. package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +424 -293
  219. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  220. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  221. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  222. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  223. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  224. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  225. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  226. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  227. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  228. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  229. package/src/sap/ui/debug/ControlTree.js +10 -4
  230. package/src/sap/ui/debug/DebugEnv.js +3 -4
  231. package/src/sap/ui/debug/Highlighter.js +8 -2
  232. package/src/sap/ui/debug/PropertyList.css +55 -0
  233. package/src/sap/ui/debug/PropertyList.js +111 -182
  234. package/src/sap/ui/model/Binding.js +174 -118
  235. package/src/sap/ui/model/ClientContextBinding.js +1 -1
  236. package/src/sap/ui/model/ClientListBinding.js +1 -3
  237. package/src/sap/ui/model/ClientModel.js +4 -4
  238. package/src/sap/ui/model/ClientPropertyBinding.js +4 -2
  239. package/src/sap/ui/model/ClientTreeBinding.js +15 -9
  240. package/src/sap/ui/model/ClientTreeBindingAdapter.js +28 -23
  241. package/src/sap/ui/model/CompositeBinding.js +98 -77
  242. package/src/sap/ui/model/CompositeDataState.js +2 -2
  243. package/src/sap/ui/model/CompositeType.js +2 -2
  244. package/src/sap/ui/model/Context.js +4 -2
  245. package/src/sap/ui/model/ContextBinding.js +6 -14
  246. package/src/sap/ui/model/DataState.js +2 -2
  247. package/src/sap/ui/model/Filter.js +255 -53
  248. package/src/sap/ui/model/FilterOperator.js +1 -1
  249. package/src/sap/ui/model/FilterProcessor.js +27 -17
  250. package/src/sap/ui/model/FilterType.js +1 -1
  251. package/src/sap/ui/model/ListBinding.js +180 -117
  252. package/src/sap/ui/model/MetaModel.js +4 -9
  253. package/src/sap/ui/model/Model.js +345 -294
  254. package/src/sap/ui/model/PropertyBinding.js +92 -58
  255. package/src/sap/ui/model/SelectionModel.js +2 -2
  256. package/src/sap/ui/model/SimpleType.js +2 -2
  257. package/src/sap/ui/model/Sorter.js +1 -1
  258. package/src/sap/ui/model/SorterProcessor.js +1 -1
  259. package/src/sap/ui/model/StaticBinding.js +1 -1
  260. package/src/sap/ui/model/TreeAutoExpandMode.js +2 -2
  261. package/src/sap/ui/model/TreeBinding.js +1 -1
  262. package/src/sap/ui/model/TreeBindingAdapter.js +251 -100
  263. package/src/sap/ui/model/TreeBindingCompatibilityAdapter.js +16 -9
  264. package/src/sap/ui/model/TreeBindingUtils.js +1 -0
  265. package/src/sap/ui/model/Type.js +1 -1
  266. package/src/sap/ui/model/analytics/AnalyticalBinding.js +8 -4
  267. package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +1 -1
  268. package/src/sap/ui/model/analytics/AnalyticalVersionInfo.js +1 -1
  269. package/src/sap/ui/model/analytics/BatchResponseCollector.js +1 -1
  270. package/src/sap/ui/model/analytics/ODataModelAdapter.js +1 -1
  271. package/src/sap/ui/model/analytics/odata4analytics.js +34 -25
  272. package/src/sap/ui/model/base/ManagedObjectModel.js +4 -0
  273. package/src/sap/ui/model/json/JSONListBinding.js +8 -5
  274. package/src/sap/ui/model/json/JSONModel.js +24 -15
  275. package/src/sap/ui/model/json/JSONPropertyBinding.js +4 -3
  276. package/src/sap/ui/model/json/JSONTreeBinding.js +1 -1
  277. package/src/sap/ui/model/message/MessageListBinding.js +6 -3
  278. package/src/sap/ui/model/message/MessageModel.js +23 -15
  279. package/src/sap/ui/model/message/MessagePropertyBinding.js +2 -2
  280. package/src/sap/ui/model/odata/AnnotationHelper.js +1 -1
  281. package/src/sap/ui/model/odata/AnnotationParser.js +1 -1
  282. package/src/sap/ui/model/odata/CountMode.js +1 -1
  283. package/src/sap/ui/model/odata/Filter.js +1 -1
  284. package/src/sap/ui/model/odata/ODataAnnotations.js +2 -2
  285. package/src/sap/ui/model/odata/ODataContextBinding.js +1 -1
  286. package/src/sap/ui/model/odata/ODataListBinding.js +1 -1
  287. package/src/sap/ui/model/odata/ODataMessageParser.js +2 -2
  288. package/src/sap/ui/model/odata/ODataMetaModel.js +5 -3
  289. package/src/sap/ui/model/odata/ODataMetadata.js +2 -2
  290. package/src/sap/ui/model/odata/ODataModel.js +8 -7
  291. package/src/sap/ui/model/odata/ODataPropertyBinding.js +1 -1
  292. package/src/sap/ui/model/odata/ODataTreeBinding.js +65 -33
  293. package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +1 -1
  294. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +2 -2
  295. package/src/sap/ui/model/odata/ODataUtils.js +13 -11
  296. package/src/sap/ui/model/odata/OperationMode.js +1 -1
  297. package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +1 -1
  298. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  299. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  300. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  301. package/src/sap/ui/model/odata/type/Date.js +1 -1
  302. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  303. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  304. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  305. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  306. package/src/sap/ui/model/odata/type/Double.js +1 -1
  307. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  308. package/src/sap/ui/model/odata/type/Int.js +1 -1
  309. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  310. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  311. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  312. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  313. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  314. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  315. package/src/sap/ui/model/odata/type/Single.js +1 -1
  316. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  317. package/src/sap/ui/model/odata/type/String.js +1 -1
  318. package/src/sap/ui/model/odata/type/Time.js +1 -1
  319. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  320. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  321. package/src/sap/ui/model/odata/v2/Context.js +81 -9
  322. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +3 -3
  323. package/src/sap/ui/model/odata/v2/ODataContextBinding.js +39 -49
  324. package/src/sap/ui/model/odata/v2/ODataListBinding.js +236 -73
  325. package/src/sap/ui/model/odata/v2/ODataModel.js +314 -164
  326. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +110 -97
  327. package/src/sap/ui/model/odata/v2/_CreatedContextsCache.js +129 -0
  328. package/src/sap/ui/model/odata/v4/Context.js +6 -3
  329. package/src/sap/ui/model/odata/v4/ODataBinding.js +5 -6
  330. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +117 -40
  331. package/src/sap/ui/model/odata/v4/ODataListBinding.js +95 -15
  332. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +44 -31
  333. package/src/sap/ui/model/odata/v4/ODataModel.js +86 -78
  334. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +47 -28
  335. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +11 -7
  336. package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +10 -3
  337. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +8 -1
  338. package/src/sap/ui/model/odata/v4/lib/_Cache.js +24 -16
  339. package/src/sap/ui/model/odata/v4/lib/_Helper.js +32 -30
  340. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +52 -17
  341. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +2 -2
  342. package/src/sap/ui/model/resource/ResourceModel.js +6 -2
  343. package/src/sap/ui/model/resource/ResourcePropertyBinding.js +1 -1
  344. package/src/sap/ui/model/type/Boolean.js +2 -2
  345. package/src/sap/ui/model/type/Currency.js +2 -2
  346. package/src/sap/ui/model/type/Date.js +9 -3
  347. package/src/sap/ui/model/type/DateInterval.js +4 -2
  348. package/src/sap/ui/model/type/DateTime.js +2 -2
  349. package/src/sap/ui/model/type/DateTimeInterval.js +2 -2
  350. package/src/sap/ui/model/type/FileSize.js +4 -2
  351. package/src/sap/ui/model/type/Float.js +4 -2
  352. package/src/sap/ui/model/type/Integer.js +4 -2
  353. package/src/sap/ui/model/type/String.js +2 -2
  354. package/src/sap/ui/model/type/Time.js +2 -2
  355. package/src/sap/ui/model/type/TimeInterval.js +2 -2
  356. package/src/sap/ui/model/type/Unit.js +14 -7
  357. package/src/sap/ui/model/xml/XMLListBinding.js +15 -9
  358. package/src/sap/ui/model/xml/XMLModel.js +70 -41
  359. package/src/sap/ui/model/xml/XMLPropertyBinding.js +4 -4
  360. package/src/sap/ui/model/xml/XMLTreeBinding.js +5 -4
  361. package/src/sap/ui/performance/trace/Interaction.js +30 -15
  362. package/src/sap/ui/performance/trace/initTraces.js +1 -1
  363. package/src/sap/ui/qunit/QUnitUtils.js +3 -2
  364. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  365. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +9 -11
  366. package/src/sap/ui/test/TestUtils.js +11 -4
  367. package/src/sap/ui/test/actions/Drag.js +6 -2
  368. package/src/sap/ui/test/actions/Drop.js +6 -2
  369. package/src/sap/ui/test/actions/EnterText.js +6 -0
  370. package/src/sap/ui/test/actions/Press.js +6 -0
  371. package/src/sap/ui/test/actions/Scroll.js +6 -0
  372. package/src/sap/ui/test/autowaiter/_resourceWaiter.js +4 -4
  373. package/src/sap/ui/test/launchers/componentLauncher.js +0 -4
  374. package/src/sap/ui/test/matchers/I18NText.js +29 -11
  375. package/src/sap/ui/test/opaQunit.js +5 -0
  376. package/src/sap/ui/thirdparty/crossroads.js +6 -4
  377. package/src/sap/ui/thirdparty/hyphenopoly/Hyphenopoly.js +1196 -0
  378. package/src/sap/ui/thirdparty/hyphenopoly/Hyphenopoly_Loader.js +797 -0
  379. package/src/sap/ui/thirdparty/hyphenopoly/hyphenEngine.asm.js +108 -127
  380. package/src/sap/ui/thirdparty/hyphenopoly/hyphenEngine.wasm +0 -0
  381. package/src/sap/ui/thirdparty/hyphenopoly/patterns/bg.hpb +0 -0
  382. package/src/sap/ui/thirdparty/hyphenopoly/patterns/ca.hpb +0 -0
  383. package/src/sap/ui/thirdparty/hyphenopoly/patterns/da.hpb +0 -0
  384. package/src/sap/ui/thirdparty/hyphenopoly/patterns/de.hpb +0 -0
  385. package/src/sap/ui/thirdparty/hyphenopoly/patterns/el-monoton.hpb +0 -0
  386. package/src/sap/ui/thirdparty/hyphenopoly/patterns/en-us.hpb +0 -0
  387. package/src/sap/ui/thirdparty/hyphenopoly/patterns/es.hpb +0 -0
  388. package/src/sap/ui/thirdparty/hyphenopoly/patterns/et.hpb +0 -0
  389. package/src/sap/ui/thirdparty/hyphenopoly/patterns/fi.hpb +0 -0
  390. package/src/sap/ui/thirdparty/hyphenopoly/patterns/fr.hpb +0 -0
  391. package/src/sap/ui/thirdparty/hyphenopoly/patterns/hi.hpb +0 -0
  392. package/src/sap/ui/thirdparty/hyphenopoly/patterns/hr.hpb +0 -0
  393. package/src/sap/ui/thirdparty/hyphenopoly/patterns/hu.hpb +0 -0
  394. package/src/sap/ui/thirdparty/hyphenopoly/patterns/it.hpb +0 -0
  395. package/src/sap/ui/thirdparty/hyphenopoly/patterns/lt.hpb +0 -0
  396. package/src/sap/ui/thirdparty/hyphenopoly/patterns/nb-no.hpb +0 -0
  397. package/src/sap/ui/thirdparty/hyphenopoly/patterns/nl.hpb +0 -0
  398. package/src/sap/ui/thirdparty/hyphenopoly/patterns/pt.hpb +0 -0
  399. package/src/sap/ui/thirdparty/hyphenopoly/patterns/ru.hpb +0 -0
  400. package/src/sap/ui/thirdparty/hyphenopoly/patterns/sl.hpb +0 -0
  401. package/src/sap/ui/thirdparty/hyphenopoly/patterns/sv.hpb +0 -0
  402. package/src/sap/ui/thirdparty/hyphenopoly/patterns/th.hpb +0 -0
  403. package/src/sap/ui/thirdparty/hyphenopoly/patterns/tr.hpb +0 -0
  404. package/src/sap/ui/thirdparty/hyphenopoly/patterns/uk.hpb +0 -0
  405. package/src/sap/ui/thirdparty/jquery.js +9 -1
  406. package/src/sap/ui/thirdparty/qunit-2.js +1 -1
  407. package/src/sap/ui/thirdparty/qunit.js +1 -1
  408. package/src/sap/ui/util/Mobile.js +2 -20
  409. package/src/sap/ui/util/Storage.js +1 -1
  410. package/src/sap/ui/util/isCrossOriginURL.js +16 -6
  411. package/src/sap-ui-core-nojQuery.js +1 -1
  412. package/src/sap-ui-core.js +1 -1
  413. package/src/sap-ui-debug.js +3 -17
  414. package/ui5.yaml +5 -2
  415. package/src/sap/ui/core/support/plugins/MessageTest.js +0 -96
  416. package/src/sap/ui/thirdparty/hyphenopoly/hyphenopoly.bundle.js +0 -860
@@ -8,6 +8,7 @@ sap.ui.define([
8
8
  "sap/ui/core/support/techinfo/moduleTreeHelper",
9
9
  "sap/ui/Device",
10
10
  "sap/ui/Global",
11
+ "sap/ui/VersionInfo",
11
12
  "sap/ui/core/format/DateFormat",
12
13
  "sap/ui/model/resource/ResourceModel",
13
14
  "sap/ui/model/json/JSONModel",
@@ -20,11 +21,13 @@ sap.ui.define([
20
21
  "sap/ui/util/Storage",
21
22
  "sap/ui/core/syncStyleClass",
22
23
  "sap/base/Log",
24
+ "sap/ui/core/Fragment",
23
25
  "sap/ui/thirdparty/jquery"
24
26
  ], function(
25
27
  moduleTreeHelper,
26
28
  Device,
27
29
  Global,
30
+ VersionInfo,
28
31
  DateFormat,
29
32
  ResourceModel,
30
33
  JSONModel,
@@ -37,6 +40,7 @@ sap.ui.define([
37
40
  Storage,
38
41
  syncStyleClass,
39
42
  Log,
43
+ Fragment,
40
44
  jQuery
41
45
  ) {
42
46
  "use strict";
@@ -68,8 +72,8 @@ sap.ui.define([
68
72
  * @param{function} fnCallback Callback that can be executed to fetch library and module information
69
73
  */
70
74
  open: function (fnCallback) {
71
- // early out if already open
72
- if (this._oDialog && this._oDialog.isOpen()) {
75
+ // early out if already loading or open
76
+ if (this._pOpenDialog) {
73
77
  return;
74
78
  }
75
79
 
@@ -77,32 +81,45 @@ sap.ui.define([
77
81
  this._oModuleSystemInfo = fnCallback() || {};
78
82
 
79
83
  // create dialog lazily
80
- if (!this._oDialog) {
81
- this._oDialog = sap.ui.xmlfragment(this._TECHNICAL_INFO_DIALOG_ID, "sap.ui.core.support.techinfo.TechnicalInfo", this);
82
- }
83
-
84
- // refresh configuration data and open dialog
85
- this._initialize();
86
- this._oDialog.open();
84
+ this._loadAndInitialize().then(function() {
85
+ this._oDialog.open();
86
+ this._bIsBeingClosed = false;
87
+ }.bind(this));
87
88
  },
88
89
 
89
90
  /**
90
- * Closes the technical information dialog
91
+ * Closes the technical information dialog.
91
92
  */
92
93
  close: function() {
93
- this._oDialog.close();
94
- this._oDialog.destroy();
95
- this._oDialog = null;
96
-
97
- if (this._oAssistantPopover) {
98
- this._oAssistantPopover.destroy();
99
- this._oAssistantPopover = null;
94
+ if ( !this._pDestroyDialog ) {
95
+ this._bIsBeingClosed = true;
96
+ this._pDestroyDialog = Promise.all([
97
+ Promise.resolve(this._pAssistantPopover)
98
+ .then(function() {
99
+ if (this._oAssistantPopover) {
100
+ this._oAssistantPopover.destroy();
101
+ this._oAssistantPopover = null;
102
+ }
103
+ this._pAssistantPopover = null;
104
+ }.bind(this)),
105
+ Promise.resolve(this._pDebugPopover)
106
+ .then(function() {
107
+ if (this._oDebugPopover) {
108
+ this._oDebugPopover.destroy();
109
+ this._oDebugPopover = null;
110
+ }
111
+ this._pDebugPopover = null;
112
+ }.bind(this))
113
+ ]).then(function() {
114
+ this._oDialog.close();
115
+ this._oDialog.destroy();
116
+ this._oDialog = null;
117
+ this._pOpenDialog = null;
118
+ this._pDestroyDialog = null;
119
+ }.bind(this));
100
120
  }
101
121
 
102
- if (this._oDebugPopover) {
103
- this._oDebugPopover.destroy();
104
- this._oDebugPopover = null;
105
- }
122
+ return this._pDestroyDialog;
106
123
  },
107
124
 
108
125
  /* =========================================================== */
@@ -185,10 +202,11 @@ sap.ui.define([
185
202
  this._updateTreeInfos();
186
203
 
187
204
  // create dialog lazily
188
- if (!this._oDebugPopover) {
189
- this._oDebugPopover = sap.ui.xmlfragment(this._DEBUG_MODULES_ID, "sap.ui.core.support.techinfo.TechnicalInfoDebugDialog", this);
190
- this._oDialog.addDependent(this._oDebugPopover);
191
- syncStyleClass(this._getContentDensityClass(), this._oDialog, this._oDebugPopover);
205
+ this._loadDebugPopover().then(function() {
206
+ // out early if TechnicalInfo is closing
207
+ if (this._bIsBeingClosed) {
208
+ return;
209
+ }
192
210
  var oControl = this._getControl("customDebugValue", this._DEBUG_MODULES_ID);
193
211
  try {
194
212
  this._validateCustomDebugValue(oControl.getValue());
@@ -196,13 +214,12 @@ sap.ui.define([
196
214
  this._showError(oControl, oException.message);
197
215
  return;
198
216
  }
199
- }
217
+ // adopt tree depth to the deepest currently selected module
218
+ this._getControl("tree", this._DEBUG_MODULES_ID).expandToLevel(Math.max(this._MIN_EXPAND_LEVEL_DEBUG_MODULES, oTreeResults.depth));
200
219
 
201
- // adopt tree depth to the deepest currently selected module
202
- this._getControl("tree", this._DEBUG_MODULES_ID).expandToLevel(Math.max(this._MIN_EXPAND_LEVEL_DEBUG_MODULES, oTreeResults.depth));
203
-
204
- // open dialog
205
- this._oDebugPopover.open();
220
+ // open dialog
221
+ this._oDebugPopover.open();
222
+ }.bind(this));
206
223
  },
207
224
 
208
225
  /**
@@ -411,36 +428,30 @@ sap.ui.define([
411
428
  return;
412
429
  }
413
430
  // create dialog lazily
414
- if (!this._oAssistantPopover) {
415
- this._oAssistantPopover = sap.ui.xmlfragment(this._SUPPORT_ASSISTANT_POPOVER_ID, "sap.ui.core.support.techinfo.TechnicalInfoAssistantPopover", this);
416
- this._oAssistantPopover.attachAfterOpen(this._onAssistantPopoverOpened, this);
417
- this._oDialog.addDependent(this._oAssistantPopover);
418
- syncStyleClass(this._getContentDensityClass(), this._oDialog, this._oAssistantPopover);
419
-
420
- // register message validation and trigger it once to validate the value coming from local storage
421
- var oCustomBootstrapURL = this._getControl("customBootstrapURL", this._SUPPORT_ASSISTANT_POPOVER_ID);
422
- sap.ui.getCore().getMessageManager().registerObject(oCustomBootstrapURL, true);
423
-
424
- }
425
-
426
- // enable or disable default option for version >= 1.48
427
- var oCurrentItem = this._getControl("standardBootstrapURL", this._SUPPORT_ASSISTANT_POPOVER_ID).getItems()[0];
428
- if (this._isVersionBiggerThanMinSupported()) {
429
- var sAppVersion = sap.ui.getCore().getConfiguration().getVersion().toString();
430
- oCurrentItem.setText(oCurrentItem.getText().replace("[[version]]", sAppVersion));
431
- oCurrentItem.setEnabled(true);
432
- } else {
433
- oCurrentItem.setText(oCurrentItem.getText().replace("[[version]]", "not supported"));
434
- oCurrentItem.setEnabled(false);
435
- }
431
+ this._loadAssistantPopover().then(function() {
432
+ // out early if TechnicalInfo is closing
433
+ if (this._bIsBeingClosed) {
434
+ return;
435
+ }
436
+ // enable or disable default option for version >= 1.48
437
+ var oCurrentItem = this._getControl("standardBootstrapURL", this._SUPPORT_ASSISTANT_POPOVER_ID).getItems()[0];
438
+ if (this._isVersionBiggerThanMinSupported()) {
439
+ var sAppVersion = sap.ui.getCore().getConfiguration().getVersion().toString();
440
+ oCurrentItem.setText(oCurrentItem.getText().replace("[[version]]", sAppVersion));
441
+ oCurrentItem.setEnabled(true);
442
+ } else {
443
+ oCurrentItem.setText(oCurrentItem.getText().replace("[[version]]", "not supported"));
444
+ oCurrentItem.setEnabled(false);
445
+ }
436
446
 
437
- var oModel = this._oDialog.getModel("view"),
438
- sSelectedLocation = oModel.getProperty("/SelectedLocation");
447
+ var oModel = this._oDialog.getModel("view"),
448
+ sSelectedLocation = oModel.getProperty("/SelectedLocation");
439
449
 
440
- this._setActiveLocations(sSelectedLocation);
450
+ this._setActiveLocations(sSelectedLocation);
441
451
 
442
- var oSupportAssistantSettingsButton = this._getControl("supportAssistantSettingsButton", this._TECHNICAL_INFO_DIALOG_ID);
443
- this._oAssistantPopover.openBy(oSupportAssistantSettingsButton);
452
+ var oSupportAssistantSettingsButton = this._getControl("supportAssistantSettingsButton", this._TECHNICAL_INFO_DIALOG_ID);
453
+ this._oAssistantPopover.openBy(oSupportAssistantSettingsButton);
454
+ }.bind(this));
444
455
  },
445
456
 
446
457
  /* =========================================================== */
@@ -581,8 +592,33 @@ sap.ui.define([
581
592
  });
582
593
  },
583
594
 
584
- /**
585
- * Initalizes the technical information dialog
595
+ _loadAndInitialize: function() {
596
+ // create dialog lazily
597
+ this._pOpenDialog =
598
+ Promise.all([
599
+ sap.ui.getCore().loadLibraries(["sap.ui.core", "sap.ui.layout", "sap.m"]),
600
+ this._loadVersionInfo(),
601
+ this._pDestroyDialog // wait for a pending destroy to finish
602
+ ]).then(function() {
603
+ return Fragment.load({
604
+ id: this._TECHNICAL_INFO_DIALOG_ID,
605
+ name: "sap.ui.core.support.techinfo.TechnicalInfo",
606
+ controller: this
607
+ });
608
+ }.bind(this)).then(function(oDialog) {
609
+ this._oDialog = oDialog;
610
+ // refresh configuration data and open dialog
611
+ return this._initialize();
612
+ }.bind(this)).then(function() {
613
+ this._oDialog.open();
614
+ this._bIsBeingClosed = false;
615
+ }.bind(this));
616
+
617
+ return this._pOpenDialog;
618
+ },
619
+
620
+ /**
621
+ * Initalizes the technical information dialog.
586
622
  * @private
587
623
  */
588
624
  _initialize: function () {
@@ -597,6 +633,18 @@ sap.ui.define([
597
633
  this._oDialog.addStyleClass(this._getContentDensityClass());
598
634
  },
599
635
 
636
+ _loadVersionInfo: function() {
637
+ return VersionInfo.load().catch(function(err) {
638
+ Log.error("failed to load global version info", err);
639
+ return {
640
+ name: "",
641
+ version: ""
642
+ };
643
+ }).then(function(oVersionInfo) {
644
+ this._oVersionInfo = oVersionInfo;
645
+ }.bind(this));
646
+ },
647
+
600
648
  /**
601
649
  * Initializes the view model with the current runtime information
602
650
  * @private
@@ -623,23 +671,16 @@ sap.ui.define([
623
671
  });
624
672
 
625
673
  // load version info into view model
626
- var oVersionInfo = {};
627
- try {
628
- oVersionInfo = Global.getVersionInfo();
629
- oViewModel.setProperty("/ProductName", oVersionInfo.name);
630
- oViewModel.setProperty("/ProductVersion", oVersionInfo.version);
631
- } catch (oException) {
632
- oVersionInfo.version = "";
633
- Log.error("failed to load global version info");
634
- }
674
+ oViewModel.setProperty("/ProductName", this._oVersionInfo.name);
675
+ oViewModel.setProperty("/ProductVersion", this._oVersionInfo.version);
635
676
 
636
677
  try {
637
- oViewModel.setProperty("/ProductTimestamp", this._generateLocalizedBuildDate(oVersionInfo.buildTimestamp));
678
+ oViewModel.setProperty("/ProductTimestamp", this._generateLocalizedBuildDate(this._oVersionInfo.buildTimestamp));
638
679
  } catch (oException) {
639
680
  Log.error("failed to parse build timestamp from global version info");
640
681
  }
641
682
 
642
- if (!/openui5/i.test(oVersionInfo.name)) {
683
+ if (!/openui5/i.test(this._oVersionInfo.name)) {
643
684
  oViewModel.setProperty("/OpenUI5ProductVersion", Global.version);
644
685
  // convert build timestamp
645
686
  try {
@@ -651,7 +692,7 @@ sap.ui.define([
651
692
 
652
693
  var sAppVersion;
653
694
  try {
654
- sAppVersion = this._getText("TechInfo.SupportAssistantConfigPopup.AppVersionOption", oVersionInfo.version);
695
+ sAppVersion = this._getText("TechInfo.SupportAssistantConfigPopup.AppVersionOption", this._oVersionInfo.version);
655
696
  } catch (oException) {
656
697
  sAppVersion = "Application";
657
698
  }
@@ -940,6 +981,42 @@ sap.ui.define([
940
981
  oModel.setProperty("/DebugModuleSelectionCount", this._treeHelper.getSelectionCount(oTreeData));
941
982
  sDisplayCount = oModel.getProperty("/DebugModuleSelectionCount").toString();
942
983
  oModel.setProperty("/DebugModulesTitle", this._getText("TechInfo.DebugModulesConfigPopup.SelectionCounter", sDisplayCount));
984
+ },
985
+
986
+ _loadDebugPopover: function() {
987
+ // create dialog lazily
988
+ if (!this._pDebugPopover) {
989
+ this._pDebugPopover = Fragment.load({
990
+ id: this._DEBUG_MODULES_ID,
991
+ name: "sap.ui.core.support.techinfo.TechnicalInfoDebugDialog",
992
+ controller: this
993
+ }).then(function(oDebugPopover) {
994
+ this._oDebugPopover = oDebugPopover;
995
+ this._oDialog.addDependent(this._oDebugPopover);
996
+ syncStyleClass(this._getContentDensityClass(), this._oDialog, this._oDebugPopover);
997
+ }.bind(this));
998
+ }
999
+ return this._pDebugPopover;
1000
+ },
1001
+
1002
+ _loadAssistantPopover: function() {
1003
+ if (!this._pAssistantPopover) {
1004
+ this._pAssistantPopover = Fragment.load({
1005
+ id: this._SUPPORT_ASSISTANT_POPOVER_ID,
1006
+ name: "sap.ui.core.support.techinfo.TechnicalInfoAssistantPopover",
1007
+ controller: this
1008
+ }).then(function(oAssistantPopover) {
1009
+ this._oAssistantPopover = oAssistantPopover;
1010
+ this._oAssistantPopover.attachAfterOpen(this._onAssistantPopoverOpened, this);
1011
+ this._oDialog.addDependent(this._oAssistantPopover);
1012
+ syncStyleClass(this._getContentDensityClass(), this._oDialog, this._oAssistantPopover);
1013
+
1014
+ // register message validation and trigger it once to validate the value coming from local storage
1015
+ var oCustomBootstrapURL = this._getControl("customBootstrapURL", this._SUPPORT_ASSISTANT_POPOVER_ID);
1016
+ sap.ui.getCore().getMessageManager().registerObject(oCustomBootstrapURL, true);
1017
+ }.bind(this));
1018
+ }
1019
+ return this._pAssistantPopover;
943
1020
  }
944
1021
  };
945
1022
  });
@@ -9,6 +9,7 @@
9
9
  display: inline-block;
10
10
  vertical-align: baseline;
11
11
  line-height: 1;
12
+ position: relative;
12
13
  }
13
14
 
14
15
  .sapUiIconPointer {
@@ -28,6 +29,14 @@
28
29
  -webkit-font-smoothing: antialiased;
29
30
  }
30
31
 
32
+ .sapUiIcon > .sapUiIconTitle {
33
+ position: absolute;
34
+ width: 100%;
35
+ height: 100%;
36
+ left: 0;
37
+ top: 0;
38
+ }
39
+
31
40
  /*
32
41
  * The mirroring of icon is done on the pesudo element and not the root DOM.
33
42
  * Because:
@@ -631,6 +631,8 @@ sap.ui.define([
631
631
  /**
632
632
  * <p>
633
633
  * Returns the current value for one or more theming parameters, depending on the given arguments.
634
+ * The synchronous usage of this API has been deprecated and only the asynchronous usage should still be used
635
+ * (see the 4th bullet point and the code examples below).
634
636
  * </p>
635
637
  *
636
638
  * <p>
@@ -651,9 +653,9 @@ sap.ui.define([
651
653
  * <p>
652
654
  * The following API variants are available (see also the below examples):
653
655
  * <ul>
654
- * <li> <b>(deprecated since 1.92)<b> If no parameter is given a key-value map containing all parameters is returned</li>
655
- * <li>If a <code>string</code> is given as first parameter the value is returned as a <code>string</code></li>
656
- * <li>If an <code>array</code> is given as first parameter a key-value map containing all parameters from the <code>array</code> is returned</li>
656
+ * <li> <b>(deprecated since 1.92)</b> If no parameter is given a key-value map containing all parameters is returned</li>
657
+ * <li> <b>(deprecated since 1.94)</b> If a <code>string</code> is given as first parameter the value is returned as a <code>string</code></li>
658
+ * <li> <b>(deprecated since 1.94)</b> If an <code>array</code> is given as first parameter a key-value map containing all parameters from the <code>array</code> is returned</li>
657
659
  * <li>If an <code>object</code> is given as first parameter the result is returned immediately in case all parameters are loaded and available or within the callback in case not all CSS files are already loaded.
658
660
  * This is the <b>only asynchronous</b> API variant. This variant is the preferred way to retrieve theming parameters.
659
661
  * The structure of the return value is the same as listed above depending on the type of the name property within the <code>object</code>.</li>
@@ -772,7 +774,7 @@ sap.ui.define([
772
774
 
773
775
  Log.warning(
774
776
  "Legacy variant usage of sap.ui.core.theming.Parameters.get API detected for parameter(s): '" + aNames.join(", ") +
775
- "'. This could lead to bad performance and sync XHR as parameters might not be available, yet. Use asynchronous variant instead.",
777
+ "'. This could lead to bad performance and additional synchronous XHRs, as parameters might not be available yet. Use asynchronous variant instead.",
776
778
  "LegacyParametersGet",
777
779
  "sap.ui.support",
778
780
  function() { return { type: "LegacyParametersGet" }; }
@@ -19,7 +19,7 @@ sap.ui.define(['sap/ui/core/Element', 'sap/ui/core/library'],
19
19
  * @class
20
20
  * Represents a DOM attribute of a DOM element.
21
21
  * @extends sap.ui.core.Element
22
- * @version 1.93.3
22
+ * @version 1.96.2
23
23
  *
24
24
  * @public
25
25
  * @since 1.15
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * @class
28
28
  * Represents a DOM element. It allows to use databinding for the properties and nested DOM attributes.
29
29
  * @extends sap.ui.core.Control
30
- * @version 1.93.3
30
+ * @version 1.96.2
31
31
  *
32
32
  * @public
33
33
  * @since 1.15
@@ -46,7 +46,7 @@ sap.ui.define([
46
46
  * @extends sap.ui.core.tmpl.Template
47
47
  * @abstract
48
48
  * @author SAP SE
49
- * @version 1.93.3
49
+ * @version 1.96.2
50
50
  * @alias sap.ui.core.tmpl.HandlebarsTemplate
51
51
  * @since 1.15
52
52
  * @deprecated since 1.56
@@ -13,7 +13,9 @@ sap.ui.define([
13
13
  'sap/base/util/ObjectPath',
14
14
  'sap/base/Log',
15
15
  'sap/base/assert',
16
- 'sap/ui/thirdparty/jquery'
16
+ 'sap/ui/thirdparty/jquery',
17
+ 'sap/ui/core/tmpl/TemplateControl',
18
+ './_parsePath'
17
19
  ],
18
20
  function(
19
21
  ManagedObject,
@@ -23,7 +25,9 @@ function(
23
25
  ObjectPath,
24
26
  Log,
25
27
  assert,
26
- jQuery
28
+ jQuery,
29
+ TemplateControl,
30
+ parsePath
27
31
  ) {
28
32
  "use strict";
29
33
 
@@ -48,7 +52,7 @@ function(
48
52
  * @extends sap.ui.base.ManagedObject
49
53
  * @abstract
50
54
  * @author SAP SE
51
- * @version 1.93.3
55
+ * @version 1.96.2
52
56
  * @alias sap.ui.core.tmpl.Template
53
57
  * @since 1.15
54
58
  * @deprecated since 1.56, use an {@link sap.ui.core.mvc.XMLView XMLView} or {@link sap.ui.core.mvc.JSView JSView} instead.
@@ -170,28 +174,7 @@ function(
170
174
  * @protected
171
175
  * @static
172
176
  */
173
- Template.parsePath = function(sPath) {
174
-
175
- // TODO: wouldn't this be something central in ManagedObject?
176
-
177
- // parse the path
178
- var sModelName,
179
- iSeparatorPos = sPath.indexOf(">");
180
-
181
- // if a model name is specified in the binding path
182
- // we extract this binding path
183
- if (iSeparatorPos > 0) {
184
- sModelName = sPath.substr(0, iSeparatorPos);
185
- sPath = sPath.substr(iSeparatorPos + 1);
186
- }
187
-
188
- // returns the path information
189
- return {
190
- path: sPath,
191
- model: sModelName
192
- };
193
-
194
- };
177
+ Template.parsePath = parsePath;
195
178
 
196
179
  /*
197
180
  * overridden to prevent instantiation of Template
@@ -240,7 +223,6 @@ function(
240
223
  var oMetadata = this.createMetadata(),
241
224
  fnRenderer = this.createRenderer(),
242
225
  that = this;
243
- var TemplateControl = sap.ui.requireSync('sap/ui/core/tmpl/TemplateControl');
244
226
  TemplateControl.extend(sControl, {
245
227
 
246
228
  // the new control metadata
@@ -281,7 +263,6 @@ function(
281
263
  Template.prototype.createControl = function(sId, oContext, oView) {
282
264
 
283
265
  // create the anonymous control instance
284
- var TemplateControl = sap.ui.requireSync('sap/ui/core/tmpl/TemplateControl');
285
266
  var oControl = new TemplateControl({
286
267
  id: sId,
287
268
  template: this,
@@ -597,7 +578,8 @@ function(
597
578
  }
598
579
 
599
580
  // require and instantiate the proper template
600
- var fnClass = sap.ui.requireSync(sClass.replace(/\./g, "/"));
581
+ var fnClass = sap.ui.requireSync(sClass.replace(/\./g, "/")); // legacy-relevant: Template is deprecated since 1.56 and XMLView should be used instead
582
+
601
583
  fnClass = fnClass || ObjectPath.get(sClass || "");
602
584
 
603
585
  // create a new instance of the template
@@ -10,8 +10,8 @@ sap.ui.define([
10
10
  'sap/ui/core/DeclarativeSupport',
11
11
  'sap/ui/core/UIArea',
12
12
  './DOMElement',
13
- './Template',
14
13
  "./TemplateControlRenderer",
14
+ "./_parsePath",
15
15
  "sap/base/strings/capitalize",
16
16
  "sap/base/strings/hyphenate",
17
17
  "sap/base/Log",
@@ -23,8 +23,8 @@ sap.ui.define([
23
23
  DeclarativeSupport,
24
24
  UIArea,
25
25
  DOMElement,
26
- Template,
27
26
  TemplateControlRenderer,
27
+ parsePath,
28
28
  capitalize,
29
29
  hyphenate,
30
30
  Log,
@@ -43,7 +43,7 @@ sap.ui.define([
43
43
  * @class
44
44
  * This is the base class for all template controls. Template controls are declared based on templates.
45
45
  * @extends sap.ui.core.Control
46
- * @version 1.93.3
46
+ * @version 1.96.2
47
47
  *
48
48
  * @public
49
49
  * @since 1.15
@@ -263,7 +263,7 @@ sap.ui.define([
263
263
  TemplateControl.prototype.bind = function(sPath, sType) {
264
264
 
265
265
  // parse the path and create the binding
266
- var oPathInfo = Template.parsePath(sPath),
266
+ var oPathInfo = parsePath(sPath),
267
267
  oModel = this.getModel(oPathInfo.model),
268
268
  sPath = oPathInfo.path,
269
269
  sModelFunc = sType ? "bind" + capitalize(sType) : "bindProperty",
@@ -0,0 +1,35 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ sap.ui.define([], function() {
7
+ "use strict";
8
+
9
+ /**
10
+ * Parses the given path and extracts the model and path
11
+ *
12
+ * @param {string} sPath the path
13
+ * @return {object} the model and the path
14
+ */
15
+ return function(sPath) {
16
+ // TODO: wouldn't this be something central in ManagedObject?
17
+
18
+ // parse the path
19
+ var sModelName,
20
+ iSeparatorPos = sPath.indexOf(">");
21
+
22
+ // if a model name is specified in the binding path
23
+ // we extract this binding path
24
+ if (iSeparatorPos > 0) {
25
+ sModelName = sPath.substr(0, iSeparatorPos);
26
+ sPath = sPath.substr(iSeparatorPos + 1);
27
+ }
28
+
29
+ // returns the path information
30
+ return {
31
+ path: sPath,
32
+ model: sModelName
33
+ };
34
+ };
35
+ });
@@ -12,7 +12,7 @@ sap.ui.define([], function() {
12
12
  *
13
13
  * @class Utility class for asyncHints
14
14
  * @author SAP SE
15
- * @version 1.93.3
15
+ * @version 1.96.2
16
16
  *
17
17
  * @private
18
18
  * @ui5-restricted sap.ushell
@@ -4,11 +4,10 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define([
7
- "sap/ui/core/util/MockServer",
8
7
  "sap/ui/thirdparty/jquery",
9
8
  "sap/base/util/isEmptyObject",
10
9
  "jquery.sap.sjax"
11
- ], function(MockServer, jQuery, isEmptyObject /*, jQuerySapSjax*/) {
10
+ ], function(jQuery, isEmptyObject /*, jQuerySapSjax*/) {
12
11
  "use strict";
13
12
  return {
14
13
 
@@ -69,6 +68,7 @@ sap.ui.define([
69
68
  }
70
69
  }
71
70
  };
71
+ var MockServer = sap.ui.require("sap/ui/core/util/MockServer");
72
72
  if (oAnnotations && oAnnotations.EntityContainer) {
73
73
  var oEntitySetsAnnotations = oAnnotations.EntityContainer[Object.keys(oAnnotations.EntityContainer)[0]];
74
74
  //iterate over entitysets annotations
@@ -161,6 +161,7 @@ sap.ui.define([
161
161
  */
162
162
  _prepareDraftMetadata: function(mEntitySets) {
163
163
  var that = this;
164
+ var MockServer = sap.ui.require("sap/ui/core/util/MockServer");
164
165
  this._oDraftMetadata.draftNodes = [];
165
166
  this._oDraftMetadata.draftRootKey = mEntitySets[this._oDraftMetadata.draftRootName].keys.filter(function(x) {
166
167
  return that._calcSemanticKeys(that._oDraftMetadata.draftRootName, mEntitySets).indexOf(x) < 0;
@@ -401,6 +402,7 @@ sap.ui.define([
401
402
 
402
403
  setRequests: function(aRequests) {
403
404
  var that = this;
405
+ var MockServer = sap.ui.require("sap/ui/core/util/MockServer");
404
406
  aRequests.push({
405
407
  method: "POST",
406
408
  path: new RegExp(that._oDraftMetadata.draftRootActivationName),
@@ -610,20 +612,21 @@ sap.ui.define([
610
612
  },
611
613
 
612
614
  _generateMockdata: function(mEntitySets, sBaseUrl) {
613
-
615
+ var MockServer = sap.ui.require("sap/ui/core/util/MockServer");
614
616
  MockServer.prototype._generateMockdata.apply(this, [mEntitySets, sBaseUrl]);
615
617
 
616
618
  this._handleDraftArtifacts(mEntitySets);
617
619
  },
618
620
 
619
621
  _loadMockdata: function(mEntitySets, sBaseUrl) {
620
-
622
+ var MockServer = sap.ui.require("sap/ui/core/util/MockServer");
621
623
  MockServer.prototype._loadMockdata.apply(this, [mEntitySets, sBaseUrl]);
622
624
 
623
625
  this._handleDraftArtifacts(mEntitySets);
624
626
  },
625
627
 
626
628
  _resolveNavigation: function(sEntitySetName, oFromRecord, sNavProp, oEntry) {
629
+ var MockServer = sap.ui.require("sap/ui/core/util/MockServer");
627
630
  var aEntries = MockServer.prototype._resolveNavigation.apply(this, [sEntitySetName, oFromRecord, sNavProp, oEntry]);
628
631
  if (sNavProp === this._oConstants.SIBLINGENTITY_NAVIGATION) {
629
632
  if (oEntry && oEntry.IsActiveEntity) {
@@ -644,12 +647,14 @@ sap.ui.define([
644
647
  },
645
648
 
646
649
  _findEntitySets: function(oMetadata) {
650
+ var MockServer = sap.ui.require("sap/ui/core/util/MockServer");
647
651
  var mEntitySets = MockServer.prototype._findEntitySets.apply(this, [oMetadata]);
648
652
  this._prepareDraftMetadata(mEntitySets);
649
653
  return mEntitySets;
650
654
  },
651
655
 
652
656
  getEntitySetData: function(sEntitySet) {
657
+ var MockServer = sap.ui.require("sap/ui/core/util/MockServer");
653
658
  var aEntitySet = MockServer.prototype.getEntitySetData.apply(this, [sEntitySet]);
654
659
  var fnGetParameter = function() {
655
660
  return aEntitySet;
@@ -141,7 +141,7 @@ sap.ui.define([
141
141
  * @extends sap.ui.core.Control
142
142
  *
143
143
  * @author SAP SE
144
- * @version 1.93.3
144
+ * @version 1.96.2
145
145
  * @since 1.22.0
146
146
  *
147
147
  * @public