@openui5/sap.ui.core 1.94.0 → 1.97.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 (417) hide show
  1. package/.eslintrc.json +15 -4
  2. package/.reuse/dep5 +12 -12
  3. package/THIRDPARTY.txt +21 -17
  4. package/package.json +1 -1
  5. package/src/jquery.sap.global.js +1 -1
  6. package/src/jquery.sap.properties.js +1 -1
  7. package/src/jquery.sap.resources.js +2 -2
  8. package/src/jquery.sap.script.js +1 -1
  9. package/src/jquery.sap.storage.js +3 -3
  10. package/src/sap/base/i18n/ResourceBundle.js +6 -2
  11. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  12. package/src/sap/base/util/restricted/_castArray.js +1 -1
  13. package/src/sap/base/util/restricted/_compact.js +1 -1
  14. package/src/sap/base/util/restricted/_curry.js +1 -1
  15. package/src/sap/base/util/restricted/_debounce.js +1 -1
  16. package/src/sap/base/util/restricted/_difference.js +1 -1
  17. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  18. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  19. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  20. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  21. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  22. package/src/sap/base/util/restricted/_flatten.js +1 -1
  23. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  24. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  25. package/src/sap/base/util/restricted/_intersection.js +1 -1
  26. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  27. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  28. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  29. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  30. package/src/sap/base/util/restricted/_isNil.js +1 -1
  31. package/src/sap/base/util/restricted/_max.js +1 -1
  32. package/src/sap/base/util/restricted/_merge.js +1 -1
  33. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  34. package/src/sap/base/util/restricted/_min.js +1 -1
  35. package/src/sap/base/util/restricted/_omit.js +1 -1
  36. package/src/sap/base/util/restricted/_pick.js +1 -1
  37. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  38. package/src/sap/base/util/restricted/_throttle.js +1 -1
  39. package/src/sap/base/util/restricted/_toArray.js +1 -1
  40. package/src/sap/base/util/restricted/_union.js +1 -1
  41. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  42. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  43. package/src/sap/base/util/restricted/_uniq.js +1 -1
  44. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  45. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  46. package/src/sap/base/util/restricted/_without.js +1 -1
  47. package/src/sap/base/util/restricted/_xor.js +1 -1
  48. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  49. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  50. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  51. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  52. package/src/sap/ui/Device.js +15 -11
  53. package/src/sap/ui/Global.js +13 -17
  54. package/src/sap/ui/base/DataType.js +14 -8
  55. package/src/sap/ui/base/Event.js +1 -1
  56. package/src/sap/ui/base/EventProvider.js +1 -1
  57. package/src/sap/ui/base/Interface.js +1 -1
  58. package/src/sap/ui/base/ManagedObject.js +13 -8
  59. package/src/sap/ui/base/ManagedObjectMetadata.js +2 -2
  60. package/src/sap/ui/base/Metadata.js +1 -3
  61. package/src/sap/ui/base/Object.js +1 -1
  62. package/src/sap/ui/base/ObjectPool.js +1 -1
  63. package/src/sap/ui/core/.library +6 -32
  64. package/src/sap/ui/core/AppCacheBuster.js +8 -8
  65. package/src/sap/ui/core/BusyIndicator.js +1 -1
  66. package/src/sap/ui/core/Component.js +303 -135
  67. package/src/sap/ui/core/ComponentContainer.js +11 -7
  68. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  69. package/src/sap/ui/core/ComponentSupport.js +1 -1
  70. package/src/sap/ui/core/Configuration.js +67 -31
  71. package/src/sap/ui/core/Control.js +2 -2
  72. package/src/sap/ui/core/Core.js +79 -15
  73. package/src/sap/ui/core/CustomData.js +1 -1
  74. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  75. package/src/sap/ui/core/Element.js +2 -6
  76. package/src/sap/ui/core/ElementMetadata.js +1 -1
  77. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  78. package/src/sap/ui/core/EventBus.js +1 -1
  79. package/src/sap/ui/core/ExtensionPoint.js +6 -13
  80. package/src/sap/ui/core/Fragment.js +30 -32
  81. package/src/sap/ui/core/HTML.js +3 -3
  82. package/src/sap/ui/core/History.js +1 -1
  83. package/src/sap/ui/core/Icon.js +7 -8
  84. package/src/sap/ui/core/IconPool.js +26 -1097
  85. package/src/sap/ui/core/IconRenderer.js +6 -6
  86. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  87. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  88. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  89. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  90. package/src/sap/ui/core/InvisibleText.js +1 -1
  91. package/src/sap/ui/core/Item.js +1 -1
  92. package/src/sap/ui/core/LabelEnablement.js +1 -1
  93. package/src/sap/ui/core/LayoutData.js +1 -1
  94. package/src/sap/ui/core/ListItem.js +1 -1
  95. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  96. package/src/sap/ui/core/Locale.js +26 -4
  97. package/src/sap/ui/core/LocaleData.js +3 -3
  98. package/src/sap/ui/core/Manifest.js +2 -60
  99. package/src/sap/ui/core/Message.js +1 -1
  100. package/src/sap/ui/core/Patcher.js +27 -3
  101. package/src/sap/ui/core/Placeholder.js +4 -4
  102. package/src/sap/ui/core/RenderManager.js +38 -8
  103. package/src/sap/ui/core/Renderer.js +13 -3
  104. package/src/sap/ui/core/ResizeHandler.js +1 -1
  105. package/src/sap/ui/core/ScrollBar.js +4 -3
  106. package/src/sap/ui/core/SeparatorItem.js +1 -1
  107. package/src/sap/ui/core/ShortcutHintsMixin.js +14 -7
  108. package/src/sap/ui/core/ThemeCheck.js +2 -2
  109. package/src/sap/ui/core/Title.js +1 -1
  110. package/src/sap/ui/core/TooltipBase.js +1 -1
  111. package/src/sap/ui/core/UIArea.js +3 -3
  112. package/src/sap/ui/core/UIComponent.js +19 -11
  113. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  114. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  115. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  116. package/src/sap/ui/core/XMLComposite.js +2 -2
  117. package/src/sap/ui/core/XMLCompositeMetadata.js +2 -2
  118. package/src/sap/ui/core/XMLTemplateProcessor.js +132 -43
  119. package/src/sap/ui/core/_IconRegistry.js +1148 -0
  120. package/src/sap/ui/core/cache/LRUPersistentCache.js +4 -2
  121. package/src/sap/ui/core/date/UniversalDateUtils.js +33 -0
  122. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  123. package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
  124. package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
  125. package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
  126. package/src/sap/ui/core/dnd/DragInfo.js +1 -1
  127. package/src/sap/ui/core/dnd/DropInfo.js +1 -1
  128. package/src/sap/ui/core/format/NumberFormat.js +16 -1
  129. package/src/sap/ui/core/hyphenation/Hyphenation.js +61 -80
  130. package/src/sap/ui/core/library.js +5 -5
  131. package/src/sap/ui/core/message/ControlMessageProcessor.js +5 -5
  132. package/src/sap/ui/core/message/Message.js +1 -1
  133. package/src/sap/ui/core/message/MessageManager.js +13 -15
  134. package/src/sap/ui/core/message/MessageParser.js +1 -1
  135. package/src/sap/ui/core/message/MessageProcessor.js +22 -12
  136. package/src/sap/ui/core/messagebundle_de.properties +1 -1
  137. package/src/sap/ui/core/messagebundle_fr.properties +8 -8
  138. package/src/sap/ui/core/messagebundle_it.properties +1 -1
  139. package/src/sap/ui/core/messagebundle_pl.properties +1 -1
  140. package/src/sap/ui/core/messagebundle_ru.properties +21 -21
  141. package/src/sap/ui/core/messagebundle_th.properties +2 -2
  142. package/src/sap/ui/core/mvc/Controller.js +5 -5
  143. package/src/sap/ui/core/mvc/ControllerExtensionProvider.js +30 -32
  144. package/src/sap/ui/core/mvc/ControllerMetadata.js +18 -18
  145. package/src/sap/ui/core/mvc/HTMLView.js +2 -2
  146. package/src/sap/ui/core/mvc/JSONView.js +2 -2
  147. package/src/sap/ui/core/mvc/JSView.js +2 -2
  148. package/src/sap/ui/core/mvc/TemplateView.js +2 -2
  149. package/src/sap/ui/core/mvc/View.js +58 -85
  150. package/src/sap/ui/core/mvc/XMLView.js +2 -2
  151. package/src/sap/ui/core/mvc/XMLViewRenderer.js +17 -20
  152. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  153. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  154. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  155. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  156. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  157. package/src/sap/ui/core/routing/Route.js +10 -1
  158. package/src/sap/ui/core/routing/Router.js +16 -6
  159. package/src/sap/ui/core/routing/Targets.js +26 -0
  160. package/src/sap/ui/core/routing/async/Route.js +6 -3
  161. package/src/sap/ui/core/routing/async/Target.js +28 -4
  162. package/src/sap/ui/core/routing/sync/Target.js +15 -0
  163. package/src/sap/ui/core/rules/Misc.support.js +51 -1
  164. package/src/sap/ui/core/rules/Rendering.support.js +1 -4
  165. package/src/sap/ui/core/rules/View.support.js +14 -46
  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/Plugin.js +2 -2
  172. package/src/sap/ui/core/support/RuleEngineOpaExtension.js +0 -1
  173. package/src/sap/ui/core/support/Support.js +1 -1
  174. package/src/sap/ui/core/support/controls/TreeViewer.js +1 -1
  175. package/src/sap/ui/core/support/plugins/ControlTree.js +37 -43
  176. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  177. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  178. package/src/sap/ui/core/support/plugins/Performance.js +1 -2
  179. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  180. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  181. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  182. package/src/sap/ui/core/support/plugins/ViewInfo.js +2 -2
  183. package/src/sap/ui/core/support/support.css +2 -8
  184. package/src/sap/ui/core/support/techinfo/TechnicalInfo.fragment.xml +1 -0
  185. package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +150 -73
  186. package/src/sap/ui/core/support/trace/E2eTraceLib.js +3 -3
  187. package/src/sap/ui/core/themes/base/Icon.less +9 -0
  188. package/src/sap/ui/core/themes/base/SAP-icons.css +2 -0
  189. package/src/sap/ui/core/themes/base/SAP-icons.less +10 -0
  190. package/src/sap/ui/core/themes/base/base.less +543 -390
  191. package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
  192. package/src/sap/ui/core/themes/base/global.less +38 -0
  193. package/src/sap/ui/core/themes/base/library.source.less +1 -2
  194. package/src/sap/ui/core/themes/sap_hcb/global.less +34 -0
  195. package/src/sap/ui/core/theming/Parameters.js +21 -0
  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 +1 -1
  200. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  201. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  202. package/src/sap/ui/core/util/Export.js +1 -1
  203. package/src/sap/ui/core/util/ExportCell.js +1 -1
  204. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  205. package/src/sap/ui/core/util/ExportRow.js +1 -1
  206. package/src/sap/ui/core/util/ExportType.js +1 -1
  207. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  208. package/src/sap/ui/core/util/File.js +1 -1
  209. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  210. package/src/sap/ui/core/util/MockServer.js +2 -2
  211. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  212. package/src/sap/ui/core/util/XMLPreprocessor.js +11 -12
  213. package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +10 -12
  214. package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +6 -3
  215. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  216. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  217. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  218. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  219. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  220. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  221. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  222. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  223. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  224. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  225. package/src/sap/ui/debug/ControlTree.js +1 -1
  226. package/src/sap/ui/debug/DebugEnv.js +1 -1
  227. package/src/sap/ui/debug/Highlighter.js +8 -2
  228. package/src/sap/ui/debug/PropertyList.js +1 -1
  229. package/src/sap/ui/model/Binding.js +174 -118
  230. package/src/sap/ui/model/ChangeReason.js +1 -1
  231. package/src/sap/ui/model/ClientContextBinding.js +1 -1
  232. package/src/sap/ui/model/ClientListBinding.js +8 -3
  233. package/src/sap/ui/model/ClientModel.js +9 -8
  234. package/src/sap/ui/model/ClientPropertyBinding.js +4 -2
  235. package/src/sap/ui/model/ClientTreeBinding.js +15 -9
  236. package/src/sap/ui/model/ClientTreeBindingAdapter.js +28 -23
  237. package/src/sap/ui/model/CompositeBinding.js +98 -77
  238. package/src/sap/ui/model/CompositeDataState.js +2 -2
  239. package/src/sap/ui/model/CompositeType.js +2 -2
  240. package/src/sap/ui/model/Context.js +4 -2
  241. package/src/sap/ui/model/ContextBinding.js +6 -14
  242. package/src/sap/ui/model/DataState.js +2 -2
  243. package/src/sap/ui/model/Filter.js +255 -53
  244. package/src/sap/ui/model/FilterOperator.js +1 -1
  245. package/src/sap/ui/model/FilterProcessor.js +27 -17
  246. package/src/sap/ui/model/FilterType.js +1 -1
  247. package/src/sap/ui/model/ListBinding.js +200 -118
  248. package/src/sap/ui/model/MetaModel.js +4 -9
  249. package/src/sap/ui/model/Model.js +349 -303
  250. package/src/sap/ui/model/PropertyBinding.js +92 -58
  251. package/src/sap/ui/model/SelectionModel.js +2 -2
  252. package/src/sap/ui/model/SimpleType.js +2 -2
  253. package/src/sap/ui/model/Sorter.js +1 -1
  254. package/src/sap/ui/model/SorterProcessor.js +1 -1
  255. package/src/sap/ui/model/StaticBinding.js +1 -1
  256. package/src/sap/ui/model/TreeAutoExpandMode.js +2 -2
  257. package/src/sap/ui/model/TreeBinding.js +1 -1
  258. package/src/sap/ui/model/TreeBindingAdapter.js +249 -100
  259. package/src/sap/ui/model/TreeBindingCompatibilityAdapter.js +16 -9
  260. package/src/sap/ui/model/TreeBindingUtils.js +3 -0
  261. package/src/sap/ui/model/Type.js +1 -1
  262. package/src/sap/ui/model/analytics/AnalyticalBinding.js +20 -10
  263. package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +17 -19
  264. package/src/sap/ui/model/analytics/AnalyticalVersionInfo.js +1 -1
  265. package/src/sap/ui/model/analytics/BatchResponseCollector.js +1 -1
  266. package/src/sap/ui/model/analytics/ODataModelAdapter.js +1 -1
  267. package/src/sap/ui/model/analytics/odata4analytics.js +3 -2
  268. package/src/sap/ui/model/base/ManagedObjectModel.js +4 -0
  269. package/src/sap/ui/model/json/JSONListBinding.js +8 -5
  270. package/src/sap/ui/model/json/JSONModel.js +29 -20
  271. package/src/sap/ui/model/json/JSONPropertyBinding.js +5 -4
  272. package/src/sap/ui/model/json/JSONTreeBinding.js +1 -1
  273. package/src/sap/ui/model/message/MessageListBinding.js +6 -3
  274. package/src/sap/ui/model/message/MessageModel.js +25 -17
  275. package/src/sap/ui/model/message/MessagePropertyBinding.js +3 -3
  276. package/src/sap/ui/model/odata/AnnotationHelper.js +3 -3
  277. package/src/sap/ui/model/odata/AnnotationParser.js +5 -3
  278. package/src/sap/ui/model/odata/CountMode.js +1 -1
  279. package/src/sap/ui/model/odata/Filter.js +1 -1
  280. package/src/sap/ui/model/odata/ODataAnnotations.js +2 -2
  281. package/src/sap/ui/model/odata/ODataContextBinding.js +1 -1
  282. package/src/sap/ui/model/odata/ODataListBinding.js +62 -39
  283. package/src/sap/ui/model/odata/ODataMessageParser.js +3 -3
  284. package/src/sap/ui/model/odata/ODataMetaModel.js +6 -4
  285. package/src/sap/ui/model/odata/ODataMetadata.js +137 -86
  286. package/src/sap/ui/model/odata/ODataModel.js +443 -216
  287. package/src/sap/ui/model/odata/ODataPropertyBinding.js +8 -6
  288. package/src/sap/ui/model/odata/ODataTreeBinding.js +65 -33
  289. package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +28 -18
  290. package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +442 -262
  291. package/src/sap/ui/model/odata/ODataUtils.js +36 -19
  292. package/src/sap/ui/model/odata/OperationMode.js +1 -1
  293. package/src/sap/ui/model/odata/_AnnotationHelperBasics.js +2 -1
  294. package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +11 -9
  295. package/src/sap/ui/model/odata/_ODataMetaModelUtils.js +6 -4
  296. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  297. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  298. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  299. package/src/sap/ui/model/odata/type/Date.js +1 -1
  300. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  301. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  302. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  303. package/src/sap/ui/model/odata/type/Decimal.js +5 -1
  304. package/src/sap/ui/model/odata/type/Double.js +1 -1
  305. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  306. package/src/sap/ui/model/odata/type/Int.js +1 -1
  307. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  308. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  309. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  310. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  311. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  312. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  313. package/src/sap/ui/model/odata/type/Single.js +1 -1
  314. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  315. package/src/sap/ui/model/odata/type/String.js +1 -1
  316. package/src/sap/ui/model/odata/type/Time.js +1 -1
  317. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  318. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  319. package/src/sap/ui/model/odata/type/UnitMixin.js +0 -1
  320. package/src/sap/ui/model/odata/v2/Context.js +98 -17
  321. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +2 -2
  322. package/src/sap/ui/model/odata/v2/ODataContextBinding.js +1 -1
  323. package/src/sap/ui/model/odata/v2/ODataListBinding.js +416 -132
  324. package/src/sap/ui/model/odata/v2/ODataModel.js +465 -250
  325. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +191 -109
  326. package/src/sap/ui/model/odata/v2/_CreatedContextsCache.js +179 -0
  327. package/src/sap/ui/model/odata/v4/Context.js +48 -7
  328. package/src/sap/ui/model/odata/v4/ODataBinding.js +60 -30
  329. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +177 -53
  330. package/src/sap/ui/model/odata/v4/ODataListBinding.js +304 -91
  331. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +32 -20
  332. package/src/sap/ui/model/odata/v4/ODataModel.js +29 -15
  333. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +83 -51
  334. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +13 -9
  335. package/src/sap/ui/model/odata/v4/lib/_Cache.js +115 -19
  336. package/src/sap/ui/model/odata/v4/lib/_Helper.js +35 -5
  337. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +50 -5
  338. package/src/sap/ui/model/resource/ResourceModel.js +6 -2
  339. package/src/sap/ui/model/resource/ResourcePropertyBinding.js +1 -1
  340. package/src/sap/ui/model/type/Boolean.js +2 -2
  341. package/src/sap/ui/model/type/Currency.js +2 -2
  342. package/src/sap/ui/model/type/Date.js +9 -3
  343. package/src/sap/ui/model/type/DateInterval.js +4 -2
  344. package/src/sap/ui/model/type/DateTime.js +2 -2
  345. package/src/sap/ui/model/type/DateTimeInterval.js +2 -2
  346. package/src/sap/ui/model/type/FileSize.js +4 -2
  347. package/src/sap/ui/model/type/Float.js +4 -2
  348. package/src/sap/ui/model/type/Integer.js +4 -2
  349. package/src/sap/ui/model/type/String.js +2 -2
  350. package/src/sap/ui/model/type/Time.js +2 -2
  351. package/src/sap/ui/model/type/TimeInterval.js +2 -2
  352. package/src/sap/ui/model/type/Unit.js +14 -7
  353. package/src/sap/ui/model/xml/XMLListBinding.js +15 -9
  354. package/src/sap/ui/model/xml/XMLModel.js +74 -45
  355. package/src/sap/ui/model/xml/XMLPropertyBinding.js +5 -5
  356. package/src/sap/ui/model/xml/XMLTreeBinding.js +5 -4
  357. package/src/sap/ui/performance/trace/Interaction.js +30 -15
  358. package/src/sap/ui/qunit/QUnitUtils.js +3 -2
  359. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  360. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +9 -11
  361. package/src/sap/ui/test/TestUtils.js +11 -4
  362. package/src/sap/ui/test/actions/Action.js +9 -2
  363. package/src/sap/ui/test/actions/Press.js +28 -1
  364. package/src/sap/ui/test/generic/_EnforceSemanticRendering.js +111 -0
  365. package/src/sap/ui/test/matchers/I18NText.js +29 -11
  366. package/src/sap/ui/test/opaQunit.js +5 -0
  367. package/src/sap/ui/thirdparty/IPv6.js +2 -2
  368. package/src/sap/ui/thirdparty/SecondLevelDomains.js +2 -2
  369. package/src/sap/ui/thirdparty/URI.js +14 -5
  370. package/src/sap/ui/thirdparty/URITemplate.js +2 -2
  371. package/src/sap/ui/thirdparty/hyphenopoly/Hyphenopoly.js +1196 -0
  372. package/src/sap/ui/thirdparty/hyphenopoly/Hyphenopoly_Loader.js +797 -0
  373. package/src/sap/ui/thirdparty/hyphenopoly/hyphenEngine.asm.js +108 -127
  374. package/src/sap/ui/thirdparty/hyphenopoly/hyphenEngine.wasm +0 -0
  375. package/src/sap/ui/thirdparty/hyphenopoly/patterns/bg.hpb +0 -0
  376. package/src/sap/ui/thirdparty/hyphenopoly/patterns/ca.hpb +0 -0
  377. package/src/sap/ui/thirdparty/hyphenopoly/patterns/da.hpb +0 -0
  378. package/src/sap/ui/thirdparty/hyphenopoly/patterns/de.hpb +0 -0
  379. package/src/sap/ui/thirdparty/hyphenopoly/patterns/el-monoton.hpb +0 -0
  380. package/src/sap/ui/thirdparty/hyphenopoly/patterns/en-us.hpb +0 -0
  381. package/src/sap/ui/thirdparty/hyphenopoly/patterns/es.hpb +0 -0
  382. package/src/sap/ui/thirdparty/hyphenopoly/patterns/et.hpb +0 -0
  383. package/src/sap/ui/thirdparty/hyphenopoly/patterns/fi.hpb +0 -0
  384. package/src/sap/ui/thirdparty/hyphenopoly/patterns/fr.hpb +0 -0
  385. package/src/sap/ui/thirdparty/hyphenopoly/patterns/hi.hpb +0 -0
  386. package/src/sap/ui/thirdparty/hyphenopoly/patterns/hr.hpb +0 -0
  387. package/src/sap/ui/thirdparty/hyphenopoly/patterns/hu.hpb +0 -0
  388. package/src/sap/ui/thirdparty/hyphenopoly/patterns/it.hpb +0 -0
  389. package/src/sap/ui/thirdparty/hyphenopoly/patterns/lt.hpb +0 -0
  390. package/src/sap/ui/thirdparty/hyphenopoly/patterns/nb-no.hpb +0 -0
  391. package/src/sap/ui/thirdparty/hyphenopoly/patterns/nl.hpb +0 -0
  392. package/src/sap/ui/thirdparty/hyphenopoly/patterns/pt.hpb +0 -0
  393. package/src/sap/ui/thirdparty/hyphenopoly/patterns/ru.hpb +0 -0
  394. package/src/sap/ui/thirdparty/hyphenopoly/patterns/sl.hpb +0 -0
  395. package/src/sap/ui/thirdparty/hyphenopoly/patterns/sv.hpb +0 -0
  396. package/src/sap/ui/thirdparty/hyphenopoly/patterns/th.hpb +0 -0
  397. package/src/sap/ui/thirdparty/hyphenopoly/patterns/tr.hpb +0 -0
  398. package/src/sap/ui/thirdparty/hyphenopoly/patterns/uk.hpb +0 -0
  399. package/src/sap/ui/thirdparty/jquery.js +9 -1
  400. package/src/sap/ui/thirdparty/qunit-2.js +1 -1
  401. package/src/sap/ui/thirdparty/qunit.js +1 -1
  402. package/src/sap/ui/util/Mobile.js +30 -59
  403. package/src/sap/ui/util/Storage.js +1 -1
  404. package/src/sap/ui/util/isCrossOriginURL.js +16 -6
  405. package/src/ui5loader.js +6 -6
  406. package/ui5.yaml +248 -2
  407. package/src/sap/ui/core/CustomizingConfiguration.js +0 -272
  408. package/src/sap/ui/core/support/plugins/MessageTest.js +0 -96
  409. package/src/sap/ui/thirdparty/baseuri.js +0 -1
  410. package/src/sap/ui/thirdparty/es6-object-assign.js +0 -1
  411. package/src/sap/ui/thirdparty/es6-promise.js +0 -1
  412. package/src/sap/ui/thirdparty/es6-shim-nopromise.js +0 -1
  413. package/src/sap/ui/thirdparty/es6-string-methods.js +0 -1
  414. package/src/sap/ui/thirdparty/flexie.js +0 -1
  415. package/src/sap/ui/thirdparty/hyphenopoly/hyphenopoly.bundle.js +0 -860
  416. package/src/sap/ui/thirdparty/unorm.js +0 -1
  417. package/src/sap/ui/thirdparty/unormdata.js +0 -1
@@ -8,21 +8,31 @@ sap.ui.define([], function() {
8
8
  "use strict";
9
9
 
10
10
  /**
11
- * If the given URL is cross-origin, checks whether its origin is different from
12
- * the origin of the current document.
11
+ * Checks whether the given URL is cross-origin, compared to the origin of
12
+ * the current page (<code>window.location</code>).
13
+ *
14
+ * <b>Note</b>: for opaque origins ('null'), the check is quite conservative
15
+ * and always reports a cross-origin URL, although the real origins might be
16
+ * the same. The serialized representation of origins does not allow a more
17
+ * accurate check.
18
+ *
19
+ * @see https://html.spec.whatwg.org/multipage/origin.html#origin
13
20
  *
14
21
  * @param {sap.ui.core.URI} sHref The URL to check
15
22
  * @returns {boolean} Whether the URL is a cross-origin URL
16
23
  * @private
17
- * @ui5-restricted
24
+ * @ui5-restricted sap.ui.model.odata.v2.ODataModel,sap.ushell
18
25
  * @alias module:sap/ui/util/isCrossOriginURL
19
26
  * @since 1.84
20
27
  */
21
28
  function isCrossOriginURL(sHref) {
22
- var oURL = new URL(sHref, document.baseURI),
23
- sOrigin = window.location.origin || new URL(document.baseURI);
29
+ var oURL = new URL(sHref, document.baseURI);
24
30
 
25
- return oURL.origin !== sOrigin;
31
+ return (
32
+ oURL.origin === 'null'
33
+ || window.location.origin === 'null'
34
+ || oURL.origin !== window.location.origin
35
+ );
26
36
  }
27
37
 
28
38
  return isCrossOriginURL;
package/src/ui5loader.js CHANGED
@@ -212,8 +212,8 @@
212
212
  * A map of URL prefixes keyed by the corresponding module name prefix.
213
213
  *
214
214
  * Note that the empty prefix ('') will always match and thus serves as a fallback.
215
- * @type {Object.<string,{url:string,absoluteUrl:string}>}
216
- * @see jQuery.sap.registerModulePath
215
+ * See {@link sap.ui.loader.config}, option <code>paths</code>.
216
+ * @type {Object.<string,{url:string,absoluteUrl:string}>}.
217
217
  * @private
218
218
  */
219
219
  var mUrlPrefixes = Object.create(null);
@@ -3122,10 +3122,10 @@
3122
3122
  * While a module is executing, a value of <code>undefined</code> will be returned in case it is required again during
3123
3123
  * that period of time (e.g. in case of cyclic dependencies).
3124
3124
  *
3125
- * <b>Note:</b> Applications are strongly encouraged to use this method only when synchronous loading is unavoidable.
3126
- * Any code that uses this method won't benefit from future performance improvements that require asynchronous
3127
- * module loading (e.g. HTTP/2). And such code never can comply with stronger content security policies (CSPs)
3128
- * that forbid 'eval'.
3125
+ * <b>Note:</b> the scope of this method is limited to the sap.ui.core library. Callers are strongly encouraged to use
3126
+ * this method only when synchronous loading is unavoidable. Any code that uses this method won't benefit from future
3127
+ * performance improvements that require asynchronous module loading (e.g. HTTP/2). And such code never can comply with
3128
+ * a content security policies (CSP) that forbids 'eval'.
3129
3129
  *
3130
3130
  * @param {string} sModuleName Module name in requireJS syntax
3131
3131
  * @returns {any} value of the loaded module or undefined
package/ui5.yaml CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- specVersion: "1.1"
2
+ specVersion: "2.4"
3
3
  type: library
4
4
  metadata:
5
5
  name: sap.ui.core
@@ -7,11 +7,257 @@ metadata:
7
7
  OpenUI5
8
8
  * (c) Copyright 2009-${currentYear} SAP SE or an SAP affiliate company.
9
9
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
10
+ resources:
11
+ configuration:
12
+ propertiesFileSourceEncoding: ISO-8859-1
10
13
  builder:
14
+ bundles:
15
+ - bundleDefinition:
16
+ name: jquery-sap.js
17
+ sections:
18
+ - mode: provided
19
+ filters:
20
+ - jquery-ui-core.js
21
+ - jquery-ui-datepicker.js
22
+ - jquery-ui-position.js
23
+ - sap/ui/thirdparty/jquery.js
24
+ - sap/ui/thirdparty/jquery/
25
+ - sap/ui/thirdparty/jqueryui/
26
+ - mode: raw
27
+ filters:
28
+ - ui5loader-autoconfig.js
29
+ declareRawModules: false
30
+ resolve: true
31
+ sort: true
32
+ - mode: preload
33
+ name: jquery-sap-preload
34
+ filters:
35
+ - jquery.sap.dom.js
36
+ - jquery.sap.events.js
37
+ - jquery.sap.global.js
38
+ - jquery.sap.keycodes.js
39
+ - jquery.sap.mobile.js
40
+ - jquery.sap.properties.js
41
+ - jquery.sap.resources.js
42
+ - jquery.sap.script.js
43
+ - jquery.sap.sjax.js
44
+ - jquery.sap.encoder.js
45
+ - jquery.sap.strings.js
46
+ - jquery.sap.xml.js
47
+ resolve: false
48
+ - mode: require
49
+ filters:
50
+ - jquery.sap.dom.js
51
+ - jquery.sap.events.js
52
+ - jquery.sap.global.js
53
+ - jquery.sap.keycodes.js
54
+ - jquery.sap.mobile.js
55
+ - jquery.sap.properties.js
56
+ - jquery.sap.resources.js
57
+ - jquery.sap.script.js
58
+ - jquery.sap.sjax.js
59
+ - jquery.sap.encoder.js
60
+ - jquery.sap.strings.js
61
+ - jquery.sap.xml.js
62
+ bundleOptions:
63
+ optimize: true
64
+ usePredefineCalls: true
65
+ - bundleDefinition:
66
+ name: sap-ui-core.js
67
+ sections:
68
+ - mode: raw
69
+ filters:
70
+ - ui5loader-autoconfig.js
71
+ declareRawModules: false
72
+ resolve: true
73
+ sort: true
74
+ - mode: preload
75
+ name: sap-ui-core-preload
76
+ filters:
77
+ - sap/ui/core/Core.js
78
+ resolve: true
79
+ - mode: require
80
+ filters:
81
+ - sap/ui/core/Core.js
82
+ bundleOptions:
83
+ optimize: true
84
+ usePredefineCalls: true
85
+ decorateBootstrapModule: true
86
+ addTryCatchRestartWrapper: true
87
+ - bundleDefinition:
88
+ name: sap-ui-core-dbg.js
89
+ sections:
90
+ - mode: raw
91
+ filters:
92
+ - ui5loader-autoconfig.js
93
+ declareRawModules: false
94
+ resolve: true
95
+ sort: true
96
+ - mode: require
97
+ filters:
98
+ - sap/ui/core/Core.js
99
+ bundleOptions:
100
+ optimize: false
101
+ usePredefineCalls: true
102
+ - bundleDefinition:
103
+ name: sap-ui-core-nojQuery.js
104
+ sections:
105
+ - mode: provided
106
+ filters:
107
+ - jquery-ui-core.js
108
+ - jquery-ui-datepicker.js
109
+ - jquery-ui-position.js
110
+ - sap/ui/thirdparty/jquery.js
111
+ - sap/ui/thirdparty/jquery/
112
+ - sap/ui/thirdparty/jqueryui/
113
+ - mode: raw
114
+ filters:
115
+ - ui5loader-autoconfig.js
116
+ declareRawModules: false
117
+ resolve: true
118
+ sort: true
119
+ - mode: preload
120
+ name: sap-ui-core-preload
121
+ filters:
122
+ - sap/ui/core/Core.js
123
+ resolve: true
124
+ - mode: require
125
+ filters:
126
+ - sap/ui/core/Core.js
127
+ bundleOptions:
128
+ optimize: true
129
+ usePredefineCalls: true
130
+ decorateBootstrapModule: true
131
+ addTryCatchRestartWrapper: true
132
+ - bundleDefinition:
133
+ name: sap-ui-core-nojQuery-dbg.js
134
+ sections:
135
+ - mode: provided
136
+ filters:
137
+ - jquery-ui-core.js
138
+ - jquery-ui-datepicker.js
139
+ - jquery-ui-position.js
140
+ - sap/ui/thirdparty/jquery.js
141
+ - sap/ui/thirdparty/jquery/
142
+ - sap/ui/thirdparty/jqueryui/
143
+ - mode: raw
144
+ filters:
145
+ - ui5loader-autoconfig.js
146
+ declareRawModules: false
147
+ resolve: true
148
+ sort: true
149
+ - mode: require
150
+ filters:
151
+ - sap/ui/core/Core.js
152
+ bundleOptions:
153
+ optimize: false
154
+ usePredefineCalls: true
155
+ - bundleDefinition:
156
+ name: sap-ui-core-lean.js
157
+ sections:
158
+ - mode: raw
159
+ filters:
160
+ - ui5loader-autoconfig.js
161
+ declareRawModules: false
162
+ resolve: true
163
+ sort: true
164
+ - mode: require
165
+ filters:
166
+ - sap/ui/core/Core.js
167
+ bundleOptions:
168
+ optimize: true
169
+ usePredefineCalls: true
170
+ - bundleDefinition:
171
+ name: sap-ui-debug.js
172
+ sections:
173
+ - mode: preload
174
+ name: sap-ui-debug-preload
175
+ filters:
176
+ - sap/ui/debug/DebugEnv.js
177
+ - sap/ui/debug/ControlTree.js
178
+ - sap/ui/debug/LogViewer.js
179
+ - sap/ui/debug/PropertyList.js
180
+ - sap/ui/debug/Highlighter.js
181
+ resolve: false
182
+ - mode: require
183
+ filters:
184
+ - sap/ui/debug/DebugEnv.js
185
+ bundleOptions:
186
+ optimize: true
187
+ usePredefineCalls: true
188
+ - bundleDefinition:
189
+ name: sap-ui-testenv.js
190
+ sections:
191
+ - mode: preload
192
+ name: sap-ui-debug-preload
193
+ filters:
194
+ - sap/ui/test/TestEnv.js
195
+ - sap/ui/test/ControlTree.js
196
+ - sap/ui/debug/Highlighter.js
197
+ - jquery.sap.strings
198
+ resolve: false
199
+ - mode: require
200
+ filters:
201
+ - sap/ui/test/TestEnv.js
202
+ bundleOptions:
203
+ optimize: true
204
+ usePredefineCalls: true
205
+ - bundleDefinition:
206
+ name: sap/ui/test/starter/runTest.js
207
+ sections:
208
+ - mode: raw
209
+ filters:
210
+ - sap/ui/test/starter/_configureLoader.js
211
+ declareRawModules: false
212
+ resolve: true
213
+ sort: true
214
+ - mode: raw
215
+ filters:
216
+ - ui5loader-autoconfig.js
217
+ declareRawModules: false
218
+ resolve: true
219
+ sort: true
220
+ - mode: preload
221
+ name: runTest-preload
222
+ filters:
223
+ - sap/ui/test/starter/_setupAndStart.js
224
+ - sap/ui/thirdparty/qunit*
225
+ - sap/ui/thirdparty/sinon*
226
+ - sap/ui/core/Core.js
227
+ resolve: true
228
+ - mode: require
229
+ filters:
230
+ - sap/ui/test/starter/_setupAndStart.js
231
+ bundleOptions:
232
+ optimize: true
233
+ usePredefineCalls: true
234
+ decorateBootstrapModule: true
235
+ addTryCatchRestartWrapper: true
236
+ - bundleDefinition:
237
+ name: sap/ui/test/starter/runTest-dbg.js
238
+ sections:
239
+ - mode: raw
240
+ filters:
241
+ - sap/ui/test/starter/_configureLoader.js
242
+ declareRawModules: false
243
+ resolve: true
244
+ sort: true
245
+ - mode: raw
246
+ filters:
247
+ - ui5loader-autoconfig.js
248
+ declareRawModules: false
249
+ resolve: true
250
+ sort: true
251
+ - mode: require
252
+ filters:
253
+ - sap/ui/test/starter/_setupAndStart.js
254
+ bundleOptions:
255
+ optimize: false
256
+ usePredefineCalls: true
11
257
  jsdoc:
12
258
  excludes:
13
259
  - "jquery-*"
14
260
  - "sap-ui-*"
15
261
  - "sap/ui/debug/**"
16
262
  - "sap/ui/qunit/**"
17
- - "sap/ui/thirdparty/**"
263
+ - "sap/ui/thirdparty/**"
@@ -1,272 +0,0 @@
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
-
7
- sap.ui.define([
8
- './Component',
9
- 'sap/base/Log',
10
- 'sap/base/util/extend',
11
- 'sap/base/util/ObjectPath',
12
- "sap/base/util/isEmptyObject",
13
- './Core' // provides sap.ui.getCore()
14
- ],
15
- function(Component, Log, extend, ObjectPath, isEmptyObject /*, Core */) {
16
- "use strict";
17
-
18
-
19
-
20
-
21
- // keys for configuration sections
22
- var CONFIG_VIEW_REPLACEMENTS = "sap.ui.viewReplacements",
23
- CONFIG_VIEW_EXTENSIONS = "sap.ui.viewExtensions",
24
- CONFIG_VIEW_MODIFICATIONS = "sap.ui.viewModifications",
25
- CONFIG_CONTROLLER_EXTENSIONS = "sap.ui.controllerExtensions",
26
- CONFIG_CONTROLLER_REPLACEMENTS = "sap.ui.controllerReplacements";
27
-
28
- // map of component configurations
29
- var mComponentConfigs = {};
30
-
31
- /**
32
- * Finds the config in the given type and use the check function to validate
33
- * if the correct entry has been found!
34
- * @param {string} sType Name of the config section
35
- * @param {string|sap.ui.base.ManagedObject} vObject Component ID or ManagedObject
36
- * @param {function} fnCheck Check function
37
- */
38
- function findConfig(sType, vObject, fnCheck) {
39
- var sComponentId = vObject && typeof vObject === "string" ? vObject : (vObject && Component.getOwnerIdFor(vObject));
40
- if (sComponentId) {
41
- // if a component name is given only the component customizing
42
- // configuration is checked - the customizing configuration is
43
- // merged in case of extending components - so the configuration
44
- // should be available properly
45
- var oComponent = Component.get(sComponentId);
46
- var sComponentName = oComponent && oComponent.getMetadata().getComponentName();
47
- // starting with manifest first we need to check the instance
48
- // specific configuration first and fallback to the general
49
- // customizing configuration of the component
50
- var oConfig = mComponentConfigs[sComponentName + "::" + sComponentId];
51
- if (oConfig && oConfig[sType] && fnCheck(oConfig[sType])) {
52
- return false;
53
- } else {
54
- oConfig = mComponentConfigs[sComponentName];
55
- if (oConfig && oConfig[sType] && fnCheck(oConfig[sType])) {
56
- return false;
57
- }
58
- }
59
- } else {
60
- // TODO: checking order of components?
61
- for (sComponentName in mComponentConfigs) {
62
- oConfig = mComponentConfigs[sComponentName];
63
- if (oConfig && oConfig[sType] && fnCheck(oConfig[sType])) {
64
- break;
65
- }
66
- }
67
- }
68
- }
69
-
70
- /**
71
- * The static object <code>CustomizingConfiguration</code> contains configuration
72
- * for view replacements, view extensions and custom properties. The configuration
73
- * will be added from component metadata objects once the component gets activated.
74
- * By deactivating the component the customizing configuration of the component
75
- * gets removed again.
76
- *
77
- * @author SAP SE
78
- * @version 1.94.0
79
- * @constructor
80
- * @private
81
- * @since 1.15.1
82
- * @alias sap.ui.core.CustomizingConfiguration
83
- */
84
- var CustomizingConfiguration = {
85
-
86
- /**
87
- * logging of customizing configuration
88
- * @private
89
- */
90
- log: function() {
91
- if (window.console) {
92
- window.console.log(mComponentConfigs);
93
- }
94
- },
95
-
96
- /**
97
- * Activates the Customizing of a component by registering the component
98
- * configuration in the central customizing configuration.
99
- * @param {string} sComponentName the name of the component
100
- * @private
101
- */
102
- activateForComponent: function(sComponentName) {
103
- Log.info("CustomizingConfiguration: activateForComponent('" + sComponentName + "')");
104
- var sFullComponentName = sComponentName + ".Component";
105
- sap.ui.requireSync(sFullComponentName.replace(/\./g, "/")); // legacy-relevant
106
- var oCustomizingConfig = ObjectPath.get(sFullComponentName).getMetadata().getCustomizing();
107
- mComponentConfigs[sComponentName] = oCustomizingConfig;
108
-
109
- Log.debug("CustomizingConfiguration: customizing configuration for component '" + sComponentName + "' loaded: " + JSON.stringify(oCustomizingConfig));
110
- },
111
-
112
- /**
113
- * Deactivates the Customizing of a component by removing the component
114
- * configuration in the central Customizing configuration.
115
- * @param {string} sComponentName Name of the component
116
- * @private
117
- */
118
- deactivateForComponent: function(sComponentName) {
119
- if (mComponentConfigs[sComponentName]) {
120
- Log.info("CustomizingConfiguration: deactivateForComponent('" + sComponentName + "')");
121
- delete mComponentConfigs[sComponentName];
122
- }
123
- },
124
-
125
- /**
126
- * Activates the Customizing of a component instance by registering the component
127
- * configuration in the central Customizing configuration.
128
- * @param {sap.ui.core.Component} oComponent the component instance
129
- * @private
130
- */
131
- activateForComponentInstance: function(oComponent) {
132
- Log.info("CustomizingConfiguration: activateForComponentInstance('" + oComponent.getId() + "')");
133
- var sComponentName = oComponent.getMetadata().getComponentName(),
134
- sKey = sComponentName + "::" + oComponent.getId(),
135
- oCustomizingConfig = oComponent.getManifest()["sap.ui5"] && oComponent.getManifest()["sap.ui5"]["extends"] && oComponent.getManifest()["sap.ui5"]["extends"]["extensions"];
136
- mComponentConfigs[sKey] = oCustomizingConfig;
137
-
138
- Log.debug("CustomizingConfiguration: customizing configuration for component '" + sKey + "' loaded: " + JSON.stringify(oCustomizingConfig));
139
- },
140
-
141
- /**
142
- * Deactivates the Customizing of a component instance by removing the component
143
- * configuration in the central Customizing configuration.
144
- * @param {sap.ui.core.Component} oComponent the component instance
145
- * @private
146
- */
147
- deactivateForComponentInstance: function(oComponent) {
148
- var sComponentName = oComponent.getMetadata().getComponentName(),
149
- sKey = sComponentName + "::" + oComponent.getId();
150
- if (mComponentConfigs[sKey]) {
151
- Log.info("CustomizingConfiguration: deactivateForComponent('" + sKey + "')");
152
- delete mComponentConfigs[sKey];
153
- }
154
- },
155
-
156
- /**
157
- * returns the configuration of the replacement View or undefined
158
- * @private
159
- */
160
- getViewReplacement: function(sViewName, vObject) {
161
- var oResultConfig;
162
- // TODO: checking order of components?
163
- findConfig(CONFIG_VIEW_REPLACEMENTS, vObject, function(oConfig) {
164
- oResultConfig = oConfig[sViewName];
165
- return !!oResultConfig;
166
- });
167
- return oResultConfig;
168
- },
169
-
170
- /**
171
- * returns the configuration of the given extension point or undefined
172
- * @private
173
- */
174
- getViewExtension: function(sViewName, sExtensionPointName, vObject) { // FIXME: currently ONE extension wins, but they should be somehow merged - but how to define the order?
175
- var oResultConfig;
176
- // TODO: checking order of components?
177
- findConfig(CONFIG_VIEW_EXTENSIONS, vObject, function(oConfig) {
178
- oResultConfig = oConfig[sViewName] && oConfig[sViewName][sExtensionPointName];
179
- return !!oResultConfig;
180
- });
181
- return oResultConfig;
182
- },
183
-
184
- /**
185
- * returns the configuration of the controller extensions for the given
186
- * controller name
187
- * @private
188
- */
189
- getControllerExtension: function(sControllerName, vObject) {
190
- var oResultConfig;
191
- findConfig(CONFIG_CONTROLLER_EXTENSIONS, vObject, function(oConfig) {
192
- oResultConfig = oConfig[sControllerName];
193
- return !!oResultConfig;
194
- });
195
- return oResultConfig;
196
- },
197
-
198
- /**
199
- * returns the configuration of the controller replacement for the given
200
- * controller name
201
- * @private
202
- */
203
- getControllerReplacement: function(sControllerName, vObject) {
204
- var oResultConfig;
205
- findConfig(CONFIG_CONTROLLER_REPLACEMENTS, vObject, function(oConfig) {
206
- oResultConfig = oConfig[sControllerName];
207
- return !!oResultConfig;
208
- });
209
- return oResultConfig;
210
- },
211
-
212
- /**
213
- * currently returns an object (or undefined) because we assume there is
214
- * only one property modified and only once
215
- * @private
216
- */
217
- getCustomProperties: function(sViewName, sControlId, vObject) { // TODO: Fragments and Views are mixed here
218
- var mSettings;
219
- // TODO: checking order of components?
220
- findConfig(CONFIG_VIEW_MODIFICATIONS, vObject, function(oConfig) {
221
- var oSettings = oConfig[sViewName] && oConfig[sViewName][sControlId];
222
- var oUsedSettings = {};
223
- var bValidConfigFound = false;
224
- var vValue, sName;
225
- if (oSettings) {
226
- for (sName in oSettings) {
227
- vValue = oSettings[sName];
228
- if (sName === "visible") {
229
- bValidConfigFound = true;
230
- oUsedSettings[sName] = vValue;
231
- Log.info("Customizing: custom value for property '" + sName + "' of control '" + sControlId + "' in View '" + sViewName + "' applied: " + vValue);
232
- } else {
233
- Log.warning("Customizing: custom value for property '" + sName + "' of control '" + sControlId + "' in View '" + sViewName + "' ignored: only the 'visible' property can be customized.");
234
- }
235
- }
236
- if (bValidConfigFound) { // initialize only when there is actually something to add
237
- mSettings = mSettings || {}; // merge with any previous calls to findConfig in case of multiple definition sections
238
- extend(mSettings, oUsedSettings); // FIXME: this currently overrides customizations from different components in random order
239
- }
240
- }
241
- });
242
- return mSettings;
243
- },
244
-
245
- hasCustomProperties: function(sViewName, vObject) {
246
- var mSettings = {};
247
- findConfig(CONFIG_VIEW_MODIFICATIONS, vObject, function(oConfig) {
248
- if (oConfig[sViewName]) {
249
- mSettings = oConfig[sViewName];
250
- }
251
- });
252
- return !isEmptyObject(mSettings);
253
- }
254
-
255
- };
256
-
257
- // when the customizing is disabled all the functions will be noop
258
- if (sap.ui.getCore().getConfiguration().getDisableCustomizing()) {
259
- Log.info("CustomizingConfiguration: disabling Customizing now");
260
- for (var sName in CustomizingConfiguration) {
261
- if (typeof CustomizingConfiguration[sName] === "function") {
262
- CustomizingConfiguration[sName] = function() {};
263
- }
264
- }
265
- }
266
-
267
-
268
-
269
-
270
- return CustomizingConfiguration;
271
-
272
- }, /* bExport= */ true);
@@ -1,96 +0,0 @@
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
-
7
- // Provides class sap.ui.core.support.plugins.MessageTest (Test plugin for support tool communication)
8
- sap.ui.define([
9
- '../Plugin',
10
- '../Support',
11
- "sap/base/security/encodeXML"
12
- ],
13
- function(Plugin, Support, encodeXML) {
14
- "use strict";
15
-
16
- /**
17
- * Creates an instance of sap.ui.core.support.plugins.MessageTest.
18
- * @class This class represents the plugin for the support tool functionality of UI5. This class is internal and all its functions must not be used by an application.
19
- *
20
- * This class is only for testing purposes for support tool communication.
21
- *
22
- * @extends sap.ui.core.support.Plugin
23
- * @version 1.94.0
24
- * @private
25
- * @alias sap.ui.core.support.plugins.MessageTest
26
- */
27
- var MessageTest = Plugin.extend("sap.ui.core.support.plugins.MessageTest", {
28
- constructor : function(oSupportStub) {
29
- Plugin.apply(this, ["sapUiSupportMessageTest", "Support Tool Communication Test", oSupportStub]);
30
-
31
- this._aEventIds = [this.getId() + "Msg", Support.EventType.SETUP, Support.EventType.TEAR_DOWN];
32
- this._bFirstTime = true;
33
- }
34
- });
35
-
36
- /**
37
- * Handler for sapUiSupportMessageTestMsg event
38
- *
39
- * @param {sap.ui.base.Event} oEvent the event
40
- * @private
41
- */
42
- MessageTest.prototype.onsapUiSupportMessageTestMsg = function(oEvent){
43
- this.$("Panel").removeClass("sapUiSupportHidden"); //Make panel visible with the first event
44
- report(this, this.getId() + "Msg", oEvent.getParameter("message"), true);
45
- };
46
-
47
-
48
- MessageTest.prototype.init = function(oSupportStub){
49
- Plugin.prototype.init.apply(this, arguments);
50
- var that = this;
51
-
52
- if (this._bFirstTime) {
53
- this._bFirstTime = false;
54
- this.$("Panel").addClass("sapUiSupportHidden"); //Initially hide panel
55
- }
56
-
57
- var rm = sap.ui.getCore().createRenderManager();
58
- rm.write("<div class='sapUiSupportToolbar'>");
59
- rm.write("<input type='text' id='" + this.getId() + "-input' class='sapUiSupportTxtFld'>");
60
- rm.write("<button id='" + this.getId() + "-send' class='sapUiSupportRoundedButton'>Send</button>");
61
- rm.write("</div><div class='sapUiSupportMessageCntnt'></div>");
62
- rm.flush(this.$().get(0));
63
- rm.destroy();
64
-
65
- this._fSendHandler = function(){
66
- var sVal = that.$("input").val();
67
- oSupportStub.sendEvent(that.getId() + "Msg", {"message": sVal});
68
- report(that, that.getId() + "Msg", sVal, false);
69
- };
70
-
71
- this.$("send").on("click", this._fSendHandler);
72
- report(this, Support.EventType.SETUP, "", true);
73
- };
74
-
75
-
76
- MessageTest.prototype.exit = function(oSupportStub){
77
- report(this, Support.EventType.TEAR_DOWN, "", true);
78
- if (this._fSendHandler) {
79
- this.$("send").off("click", this._fSendHandler);
80
- this._fSendHandler = null;
81
- }
82
- Plugin.prototype.exit.apply(this, arguments);
83
- };
84
-
85
-
86
- function report(oPlugin, sMessageId, sMessage, bReceive){
87
- jQuery(".sapUiSupportMessageCntnt", oPlugin.$()).append("<b style=\"color:" + (bReceive ? "green" : "blue") + ";\">Message '" + sMessageId + "' " + (bReceive ? "received" : "send") +
88
- (sMessage ? ":</b> " + encodeXML(sMessage) : "</b>") + "<br>");
89
- }
90
-
91
-
92
-
93
-
94
- return MessageTest;
95
-
96
- });