@openui5/sap.ui.core 1.124.2 → 1.126.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 (734) hide show
  1. package/.eslintrc.json +4 -1
  2. package/.reuse/dep5 +9 -4
  3. package/THIRDPARTY.txt +13 -6
  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 +1 -1
  8. package/src/jquery.sap.script.js +1 -1
  9. package/src/jquery.sap.storage.js +3 -3
  10. package/src/sap/base/Event.js +1 -1
  11. package/src/sap/base/Eventing.js +1 -1
  12. package/src/sap/base/Log.js +0 -16
  13. package/src/sap/base/config.js +1 -1
  14. package/src/sap/base/i18n/LanguageTag.js +1 -1
  15. package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
  16. package/src/sap/base/util/ObjectPath.js +6 -6
  17. package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
  18. package/src/sap/base/util/restricted/_castArray.js +1 -1
  19. package/src/sap/base/util/restricted/_compact.js +1 -1
  20. package/src/sap/base/util/restricted/_curry.js +1 -1
  21. package/src/sap/base/util/restricted/_debounce.js +1 -1
  22. package/src/sap/base/util/restricted/_difference.js +1 -1
  23. package/src/sap/base/util/restricted/_differenceBy.js +1 -1
  24. package/src/sap/base/util/restricted/_differenceWith.js +1 -1
  25. package/src/sap/base/util/restricted/_flatMap.js +1 -1
  26. package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
  27. package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
  28. package/src/sap/base/util/restricted/_flatten.js +1 -1
  29. package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
  30. package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
  31. package/src/sap/base/util/restricted/_intersection.js +1 -1
  32. package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
  33. package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
  34. package/src/sap/base/util/restricted/_isEqual.js +1 -1
  35. package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
  36. package/src/sap/base/util/restricted/_isNil.js +1 -1
  37. package/src/sap/base/util/restricted/_max.js +1 -1
  38. package/src/sap/base/util/restricted/_merge.js +1 -1
  39. package/src/sap/base/util/restricted/_mergeWith.js +1 -1
  40. package/src/sap/base/util/restricted/_min.js +1 -1
  41. package/src/sap/base/util/restricted/_omit.js +1 -1
  42. package/src/sap/base/util/restricted/_pick.js +1 -1
  43. package/src/sap/base/util/restricted/_pickBy.js +1 -1
  44. package/src/sap/base/util/restricted/_throttle.js +1 -1
  45. package/src/sap/base/util/restricted/_toArray.js +1 -1
  46. package/src/sap/base/util/restricted/_union.js +1 -1
  47. package/src/sap/base/util/restricted/_unionBy.js +1 -1
  48. package/src/sap/base/util/restricted/_unionWith.js +1 -1
  49. package/src/sap/base/util/restricted/_uniq.js +1 -1
  50. package/src/sap/base/util/restricted/_uniqBy.js +1 -1
  51. package/src/sap/base/util/restricted/_uniqWith.js +1 -1
  52. package/src/sap/base/util/restricted/_without.js +1 -1
  53. package/src/sap/base/util/restricted/_xor.js +1 -1
  54. package/src/sap/base/util/restricted/_xorBy.js +1 -1
  55. package/src/sap/base/util/restricted/_xorWith.js +1 -1
  56. package/src/sap/base/util/restricted/_zipObject.js +1 -1
  57. package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
  58. package/src/sap/ui/Device.js +35 -10
  59. package/src/sap/ui/Global.js +6 -6
  60. package/src/sap/ui/base/Event.js +1 -1
  61. package/src/sap/ui/base/EventProvider.js +1 -1
  62. package/src/sap/ui/base/Interface.js +1 -1
  63. package/src/sap/ui/base/ManagedObject.js +16 -1
  64. package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
  65. package/src/sap/ui/base/Metadata.js +1 -1
  66. package/src/sap/ui/base/Object.js +1 -1
  67. package/src/sap/ui/base/ObjectPool.js +1 -1
  68. package/src/sap/ui/core/.library +3 -3
  69. package/src/sap/ui/core/BusyIndicator.js +1 -1
  70. package/src/sap/ui/core/Component.js +22 -5
  71. package/src/sap/ui/core/ComponentContainer.js +1 -1
  72. package/src/sap/ui/core/ComponentMetadata.js +1 -1
  73. package/src/sap/ui/core/ComponentSupport.js +1 -1
  74. package/src/sap/ui/core/Configuration.js +1 -1
  75. package/src/sap/ui/core/Control.js +1 -1
  76. package/src/sap/ui/core/Core.js +31 -29
  77. package/src/sap/ui/core/CustomData.js +1 -1
  78. package/src/sap/ui/core/DeclarativeSupport.js +1 -1
  79. package/src/sap/ui/core/Element.js +1 -1
  80. package/src/sap/ui/core/ElementMetadata.js +4 -3
  81. package/src/sap/ui/core/EnabledPropagator.js +1 -1
  82. package/src/sap/ui/core/EventBus.js +1 -1
  83. package/src/sap/ui/core/ExtensionPoint.js +23 -9
  84. package/src/sap/ui/core/Fragment.js +15 -1
  85. package/src/sap/ui/core/HTML.js +1 -1
  86. package/src/sap/ui/core/History.js +1 -1
  87. package/src/sap/ui/core/Icon.js +84 -50
  88. package/src/sap/ui/core/IndicationColorSupport.js +1 -1
  89. package/src/sap/ui/core/IntervalTrigger.js +1 -1
  90. package/src/sap/ui/core/InvisibleMessage.js +1 -1
  91. package/src/sap/ui/core/InvisibleRenderer.js +1 -1
  92. package/src/sap/ui/core/InvisibleText.js +1 -1
  93. package/src/sap/ui/core/Item.js +1 -1
  94. package/src/sap/ui/core/LabelEnablement.js +66 -1
  95. package/src/sap/ui/core/LayoutData.js +1 -1
  96. package/src/sap/ui/core/Lib.js +2 -2
  97. package/src/sap/ui/core/ListItem.js +1 -1
  98. package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
  99. package/src/sap/ui/core/Locale.js +1 -1
  100. package/src/sap/ui/core/LocaleData.js +148 -102
  101. package/src/sap/ui/core/Manifest.js +1 -1
  102. package/src/sap/ui/core/Message.js +1 -1
  103. package/src/sap/ui/core/RenderManager.js +1 -1
  104. package/src/sap/ui/core/Renderer.js +1 -1
  105. package/src/sap/ui/core/ResizeHandler.js +1 -1
  106. package/src/sap/ui/core/ScrollBar.js +1 -1
  107. package/src/sap/ui/core/SeparatorItem.js +1 -1
  108. package/src/sap/ui/core/Title.js +1 -1
  109. package/src/sap/ui/core/TooltipBase.js +1 -1
  110. package/src/sap/ui/core/UIArea.js +2 -2
  111. package/src/sap/ui/core/UIComponent.js +23 -16
  112. package/src/sap/ui/core/UIComponentMetadata.js +1 -1
  113. package/src/sap/ui/core/ValueStateSupport.js +1 -1
  114. package/src/sap/ui/core/VariantLayoutData.js +1 -1
  115. package/src/sap/ui/core/XMLComposite.js +1 -1
  116. package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
  117. package/src/sap/ui/core/XMLTemplateProcessor.js +110 -74
  118. package/src/sap/ui/core/boot.js +1 -6
  119. package/src/sap/ui/core/cldr/zh_TW.json +20 -20
  120. package/src/sap/ui/core/date/UI5Date.js +1 -1
  121. package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
  122. package/src/sap/ui/core/delegate/ScrollEnablement.js +2 -2
  123. package/src/sap/ui/core/dnd/DragAndDrop.js +180 -33
  124. package/src/sap/ui/core/dnd/DragDropBase.js +13 -2
  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 +6 -3
  128. package/src/sap/ui/core/fieldhelp/FieldHelp.js +389 -0
  129. package/src/sap/ui/core/fieldhelp/FieldHelpUtil.js +62 -0
  130. package/src/sap/ui/core/format/FormatUtils.js +1 -1
  131. package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
  132. package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
  133. package/src/sap/ui/core/hyphenation/Hyphenation.js +2 -1
  134. package/src/sap/ui/core/library.js +49 -9
  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 +1 -1
  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/mvc/Controller.js +77 -77
  141. package/src/sap/ui/core/mvc/HTMLView.js +1 -1
  142. package/src/sap/ui/core/mvc/JSONView.js +1 -1
  143. package/src/sap/ui/core/mvc/JSView.js +1 -1
  144. package/src/sap/ui/core/mvc/TemplateView.js +1 -1
  145. package/src/sap/ui/core/mvc/View.js +10 -2
  146. package/src/sap/ui/core/mvc/XMLProcessingMode.js +4 -1
  147. package/src/sap/ui/core/mvc/XMLView.js +33 -5
  148. package/src/sap/ui/core/mvc/XMLViewRenderer.js +40 -7
  149. package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
  150. package/src/sap/ui/core/plugin/LessSupport.js +1 -1
  151. package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
  152. package/src/sap/ui/core/postmessage/Bus.js +1 -1
  153. package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
  154. package/src/sap/ui/core/routing/async/TargetCache.js +12 -1
  155. package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
  156. package/src/sap/ui/core/search/SearchProvider.js +1 -1
  157. package/src/sap/ui/core/service/Service.js +1 -1
  158. package/src/sap/ui/core/service/ServiceFactory.js +1 -1
  159. package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
  160. package/src/sap/ui/core/support/Plugin.js +1 -1
  161. package/src/sap/ui/core/support/Support.js +1 -1
  162. package/src/sap/ui/core/support/bootstrapFallback.js +1 -1
  163. package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
  164. package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
  165. package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
  166. package/src/sap/ui/core/support/plugins/Performance.js +1 -1
  167. package/src/sap/ui/core/support/plugins/Selector.js +1 -1
  168. package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
  169. package/src/sap/ui/core/support/plugins/Trace.js +1 -1
  170. package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
  171. package/src/sap/ui/core/themes/sap_hcb/base_BlindLayer.less +37 -0
  172. package/src/sap/ui/core/themes/sap_hcb/base_BrowserScrollbar.less +36 -0
  173. package/src/sap/ui/core/themes/sap_hcb/base_BusyIndicator.less +19 -0
  174. package/src/sap/ui/core/themes/sap_hcb/base_CommandShortcutHints.less +20 -0
  175. package/src/sap/ui/core/themes/sap_hcb/base_DragAndDrop.less +76 -0
  176. package/src/sap/ui/core/themes/sap_hcb/base_Icon.less +144 -0
  177. package/src/sap/ui/core/themes/sap_hcb/base_LocalBusyIndicator.less +292 -0
  178. package/src/sap/ui/core/themes/sap_hcb/base_SAP-icons.less +10 -0
  179. package/src/sap/ui/core/themes/sap_hcb/base_ScrollBar.less +20 -0
  180. package/src/sap/ui/core/themes/sap_hcb/base_Shadow.less +3 -0
  181. package/src/sap/ui/core/themes/sap_hcb/base_TechnicalInfo.less +157 -0
  182. package/src/sap/ui/core/themes/sap_hcb/base_View.less +12 -0
  183. package/src/sap/ui/core/themes/sap_hcb/base_media.less +36 -0
  184. package/src/sap/ui/core/themes/sap_hcb/base_parameterClasses.less +83 -0
  185. package/src/sap/ui/core/themes/sap_hcb/base_shared.less +340 -0
  186. package/src/sap/ui/core/themes/sap_hcb/library.source.less +27 -1
  187. package/src/sap/ui/core/theming/Parameters.js +66 -6
  188. package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
  189. package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
  190. package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
  191. package/src/sap/ui/core/tmpl/Template.js +1 -1
  192. package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
  193. package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
  194. package/src/sap/ui/core/util/Export.js +1 -1
  195. package/src/sap/ui/core/util/ExportCell.js +1 -1
  196. package/src/sap/ui/core/util/ExportColumn.js +1 -1
  197. package/src/sap/ui/core/util/ExportRow.js +1 -1
  198. package/src/sap/ui/core/util/ExportType.js +1 -1
  199. package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
  200. package/src/sap/ui/core/util/File.js +1 -1
  201. package/src/sap/ui/core/util/LibraryInfo.js +1 -1
  202. package/src/sap/ui/core/util/MockServer.js +1 -1
  203. package/src/sap/ui/core/util/PasteHelper.js +1 -1
  204. package/src/sap/ui/core/util/XMLPreprocessor.js +14 -15
  205. package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
  206. package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
  207. package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
  208. package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
  209. package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
  210. package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
  211. package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
  212. package/src/sap/ui/core/webc/WebComponent.js +1 -1
  213. package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
  214. package/src/sap/ui/core/ws/ReadyState.js +1 -1
  215. package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
  216. package/src/sap/ui/core/ws/WebSocket.js +1 -1
  217. package/src/sap/ui/debug/ControlTree.js +1 -1
  218. package/src/sap/ui/debug/DebugEnv.js +1 -1
  219. package/src/sap/ui/debug/PropertyList.js +1 -1
  220. package/src/sap/ui/dom/jquery/control.js +6 -3
  221. package/src/sap/ui/model/Binding.js +38 -0
  222. package/src/sap/ui/model/ClientModel.js +1 -1
  223. package/src/sap/ui/model/CompositeDataState.js +1 -1
  224. package/src/sap/ui/model/CompositeType.js +1 -1
  225. package/src/sap/ui/model/DataState.js +1 -1
  226. package/src/sap/ui/model/ManagedObjectBindingSupport.js +5 -0
  227. package/src/sap/ui/model/MetaModel.js +1 -1
  228. package/src/sap/ui/model/Model.js +1 -1
  229. package/src/sap/ui/model/SelectionModel.js +1 -1
  230. package/src/sap/ui/model/SimpleType.js +1 -1
  231. package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
  232. package/src/sap/ui/model/Type.js +1 -1
  233. package/src/sap/ui/model/analytics/AnalyticalBinding.js +8 -12
  234. package/src/sap/ui/model/base/ManagedObjectModel.js +12 -2
  235. package/src/sap/ui/model/json/JSONModel.js +6 -5
  236. package/src/sap/ui/model/message/MessageModel.js +1 -1
  237. package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
  238. package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
  239. package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
  240. package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
  241. package/src/sap/ui/model/odata/ODataModel.js +1 -1
  242. package/src/sap/ui/model/odata/ODataUtils.js +22 -14
  243. package/src/sap/ui/model/odata/type/Boolean.js +1 -1
  244. package/src/sap/ui/model/odata/type/Byte.js +1 -1
  245. package/src/sap/ui/model/odata/type/Currency.js +1 -1
  246. package/src/sap/ui/model/odata/type/Date.js +1 -1
  247. package/src/sap/ui/model/odata/type/DateTime.js +1 -1
  248. package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
  249. package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
  250. package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
  251. package/src/sap/ui/model/odata/type/Decimal.js +1 -1
  252. package/src/sap/ui/model/odata/type/Double.js +1 -1
  253. package/src/sap/ui/model/odata/type/Guid.js +1 -1
  254. package/src/sap/ui/model/odata/type/Int.js +1 -1
  255. package/src/sap/ui/model/odata/type/Int16.js +1 -1
  256. package/src/sap/ui/model/odata/type/Int32.js +1 -1
  257. package/src/sap/ui/model/odata/type/Int64.js +1 -1
  258. package/src/sap/ui/model/odata/type/ODataType.js +1 -1
  259. package/src/sap/ui/model/odata/type/Raw.js +1 -1
  260. package/src/sap/ui/model/odata/type/SByte.js +1 -1
  261. package/src/sap/ui/model/odata/type/Single.js +1 -1
  262. package/src/sap/ui/model/odata/type/Stream.js +1 -1
  263. package/src/sap/ui/model/odata/type/String.js +1 -1
  264. package/src/sap/ui/model/odata/type/Time.js +1 -1
  265. package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
  266. package/src/sap/ui/model/odata/type/Unit.js +1 -1
  267. package/src/sap/ui/model/odata/v2/Context.js +1 -1
  268. package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
  269. package/src/sap/ui/model/odata/v2/ODataModel.js +50 -6
  270. package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
  271. package/src/sap/ui/model/odata/v4/Context.js +127 -46
  272. package/src/sap/ui/model/odata/v4/ODataBinding.js +20 -20
  273. package/src/sap/ui/model/odata/v4/ODataContextBinding.js +72 -73
  274. package/src/sap/ui/model/odata/v4/ODataListBinding.js +406 -250
  275. package/src/sap/ui/model/odata/v4/ODataMetaModel.js +49 -47
  276. package/src/sap/ui/model/odata/v4/ODataModel.js +271 -217
  277. package/src/sap/ui/model/odata/v4/ODataParentBinding.js +205 -205
  278. package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +11 -10
  279. package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +232 -61
  280. package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +53 -9
  281. package/src/sap/ui/model/odata/v4/lib/_Cache.js +53 -59
  282. package/src/sap/ui/model/odata/v4/lib/_Helper.js +140 -80
  283. package/src/sap/ui/model/odata/v4/lib/_Parser.js +3 -3
  284. package/src/sap/ui/model/odata/v4/lib/_Requestor.js +98 -90
  285. package/src/sap/ui/model/odata/v4/lib/_TreeState.js +1 -1
  286. package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +22 -22
  287. package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +63 -63
  288. package/src/sap/ui/model/resource/ResourceModel.js +7 -2
  289. package/src/sap/ui/model/type/Boolean.js +1 -1
  290. package/src/sap/ui/model/type/Currency.js +1 -1
  291. package/src/sap/ui/model/type/Date.js +1 -1
  292. package/src/sap/ui/model/type/DateInterval.js +1 -1
  293. package/src/sap/ui/model/type/DateTime.js +1 -1
  294. package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
  295. package/src/sap/ui/model/type/FileSize.js +1 -1
  296. package/src/sap/ui/model/type/Float.js +1 -1
  297. package/src/sap/ui/model/type/Integer.js +1 -1
  298. package/src/sap/ui/model/type/String.js +1 -1
  299. package/src/sap/ui/model/type/Time.js +1 -1
  300. package/src/sap/ui/model/type/TimeInterval.js +1 -1
  301. package/src/sap/ui/model/type/Unit.js +1 -1
  302. package/src/sap/ui/model/xml/XMLModel.js +1 -1
  303. package/src/sap/ui/performance/trace/FESR.js +1 -1
  304. package/src/sap/ui/qunit/qunit-coverage-istanbul.js +1 -1
  305. package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
  306. package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
  307. package/src/sap/ui/test/OpaPlugin.js +36 -12
  308. package/src/sap/ui/test/generic/TestBase.js +1 -1
  309. package/src/sap/ui/test/starter/_utils.js +18 -3
  310. package/src/sap/ui/util/Storage.js +1 -1
  311. package/src/ui5loader-autoconfig.js +0 -25
  312. package/test/sap/ui/core/BindableResponseHeaders.html +5 -6
  313. package/test/sap/ui/core/ComponentCleanup.html +46 -46
  314. package/test/sap/ui/core/ComponentManifestFirst.html +26 -20
  315. package/test/sap/ui/core/ContextMenuSupport.html +9 -10
  316. package/test/sap/ui/core/DesigntimeOverview.html +1 -1
  317. package/test/sap/ui/core/EventBroadcaster.html +2 -2
  318. package/test/sap/ui/core/FieldGroup.html +70 -61
  319. package/test/sap/ui/core/GenericEventBinding.html +26 -23
  320. package/test/sap/ui/core/HTMLControl.html +46 -38
  321. package/test/sap/ui/core/HTMLSanitizer.html +70 -45
  322. package/test/sap/ui/core/IntervalTrigger.html +22 -21
  323. package/test/sap/ui/core/InvisibleControls.html +72 -72
  324. package/test/sap/ui/core/InvisibleText.html +2 -2
  325. package/test/sap/ui/core/LRUPersistentCache.html +19 -18
  326. package/test/sap/ui/core/LabelEnablement.html +18 -29
  327. package/test/sap/ui/core/Localization.html +40 -65
  328. package/test/sap/ui/core/Localization_HeapUsage.html +11 -12
  329. package/test/sap/ui/core/ManagedObjectModel.html +6 -7
  330. package/test/sap/ui/core/ODataAnnotationsPerformance.html +592 -602
  331. package/test/sap/ui/core/ODataV2CanonicalRequests.html +16 -13
  332. package/test/sap/ui/core/ODataV2Messages.html +15 -12
  333. package/test/sap/ui/core/ODataV2MessagesPerf.html +156 -132
  334. package/test/sap/ui/core/Popup.html +18 -14
  335. package/test/sap/ui/core/PopupWithUserSelection.html +4 -4
  336. package/test/sap/ui/core/StashedControlSupport.html +1 -1
  337. package/test/sap/ui/core/ThemeParameters.html +32 -20
  338. package/test/sap/ui/core/ValidateURL.html +109 -75
  339. package/test/sap/ui/core/demokit/sample/Messaging/ODataBackendMessagesComp/ui5.yaml +1 -1
  340. package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyAppInAFrame/iStartMyAppInAFrame.html +2 -1
  341. package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyAppInAFrame/iStartMyAppInAFrame.js +2 -12
  342. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Component.js +1 -4
  343. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Detail.controller.js +0 -1
  344. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Main.controller.js +0 -1
  345. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Opa.qunit.html +0 -1
  346. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/extension/Component.js +1 -5
  347. package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/manifest.json +2 -10
  348. package/test/sap/ui/core/demokit/sample/ViewTemplate/tiny/Component.js +4 -1
  349. package/test/sap/ui/core/demokit/sample/ViewTemplate/tiny/manifest.json +37 -0
  350. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Component.js +5 -1
  351. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/manifest.json +42 -0
  352. package/test/sap/ui/core/demokit/sample/ViewTemplate/valuelist/Component.js +6 -3
  353. package/test/sap/ui/core/demokit/sample/ViewTemplate/valuelist/Main.view.xml +4 -1
  354. package/test/sap/ui/core/demokit/sample/ViewTemplate/valuelist/manifest.json +49 -0
  355. package/test/sap/ui/core/demokit/sample/common/Controller.js +2 -2
  356. package/test/sap/ui/core/demokit/sample/common/ValueHelp.js +2 -2
  357. package/test/sap/ui/core/demokit/sample/matcher/BindingPath/ui5.yaml +1 -1
  358. package/test/sap/ui/core/demokit/sample/matcher/Descendant/ui5.yaml +1 -1
  359. package/test/sap/ui/core/demokit/sample/matcher/I18NText/ui5.yaml +1 -1
  360. package/test/sap/ui/core/demokit/sample/matcher/LabelFor/ui5.yaml +1 -1
  361. package/test/sap/ui/core/demokit/sample/odata/types/v2/DateTime/Component.js +1 -0
  362. package/test/sap/ui/core/demokit/sample/odata/types/v2/DateTime/manifest.json +1 -2
  363. package/test/sap/ui/core/demokit/sample/odata/types/v2/DateTimeOffset/Component.js +1 -0
  364. package/test/sap/ui/core/demokit/sample/odata/types/v2/DateTimeOffset/manifest.json +1 -2
  365. package/test/sap/ui/core/demokit/sample/odata/types/v2/Time/Component.js +1 -0
  366. package/test/sap/ui/core/demokit/sample/odata/types/v2/Time/manifest.json +1 -2
  367. package/test/sap/ui/core/demokit/sample/odata/types/v4/Date/Component.js +1 -0
  368. package/test/sap/ui/core/demokit/sample/odata/types/v4/Date/manifest.json +1 -2
  369. package/test/sap/ui/core/demokit/sample/odata/types/v4/DateTimeOffset/Component.js +1 -0
  370. package/test/sap/ui/core/demokit/sample/odata/types/v4/DateTimeOffset/manifest.json +1 -2
  371. package/test/sap/ui/core/demokit/sample/odata/types/v4/TimeOfDay/Component.js +1 -0
  372. package/test/sap/ui/core/demokit/sample/odata/types/v4/TimeOfDay/manifest.json +1 -2
  373. package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Component.js +1 -0
  374. package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.controller.js +35 -31
  375. package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/manifest.json +1 -10
  376. package/test/sap/ui/core/demokit/sample/odata/v4/ConsumeV2Service/Component.js +1 -0
  377. package/test/sap/ui/core/demokit/sample/odata/v4/ConsumeV2Service/manifest.json +2 -11
  378. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/Component.js +1 -0
  379. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/DataAggregation.controller.js +71 -68
  380. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/Opa.qunit.html +0 -1
  381. package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/manifest.json +3 -11
  382. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Component.js +1 -0
  383. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.html +0 -1
  384. package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/manifest.json +7 -16
  385. package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Component.js +1 -0
  386. package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Main.controller.js +3 -3
  387. package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Opa.qunit.html +0 -1
  388. package/test/sap/ui/core/demokit/sample/odata/v4/Draft/manifest.json +1 -10
  389. package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/Component.js +1 -0
  390. package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/FieldGroups.view.xml +0 -1
  391. package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/Opa.qunit.html +0 -1
  392. package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/manifest.json +3 -11
  393. package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/Component.js +1 -0
  394. package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.controller.js +46 -43
  395. package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.view.xml +12 -10
  396. package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/manifest.json +3 -11
  397. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Component.js +1 -0
  398. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Main.controller.js +21 -18
  399. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Opa.qunit.html +0 -1
  400. package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/manifest.json +4 -7
  401. package/test/sap/ui/core/demokit/sample/odata/v4/GridTable/Component.js +1 -0
  402. package/test/sap/ui/core/demokit/sample/odata/v4/GridTable/SandboxModel.js +6 -6
  403. package/test/sap/ui/core/demokit/sample/odata/v4/GridTable/manifest.json +1 -10
  404. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Component.js +1 -0
  405. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.controller.js +130 -38
  406. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.view.xml +35 -43
  407. package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/manifest.json +1 -10
  408. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Component.js +1 -0
  409. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Main.controller.js +25 -22
  410. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.OptimisticBatch.qunit.html +0 -1
  411. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.OptimisticBatch.qunit.js +5 -4
  412. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.qunit.html +0 -1
  413. package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/manifest.json +3 -7
  414. package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Component.js +1 -0
  415. package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Opa.qunit.html +0 -1
  416. package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/manifest.json +3 -11
  417. package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Component.js +1 -0
  418. package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Opa.qunit.html +0 -1
  419. package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/manifest.json +2 -10
  420. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Component.js +1 -0
  421. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.controller.js +60 -57
  422. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.html +0 -1
  423. package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/manifest.json +4 -6
  424. package/test/sap/ui/core/demokit/sample/odata/v4/MusicArtists/Component.js +1 -0
  425. package/test/sap/ui/core/demokit/sample/odata/v4/MusicArtists/manifest.json +3 -11
  426. package/test/sap/ui/core/demokit/sample/odata/v4/Products/Component.js +1 -0
  427. package/test/sap/ui/core/demokit/sample/odata/v4/Products/Main.view.xml +0 -1
  428. package/test/sap/ui/core/demokit/sample/odata/v4/Products/Opa.qunit.html +0 -1
  429. package/test/sap/ui/core/demokit/sample/odata/v4/Products/manifest.json +3 -10
  430. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/Component.js +1 -0
  431. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/Opa.qunit.html +0 -1
  432. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +194 -90
  433. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +102 -58
  434. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +135 -39
  435. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/data/metadata.xml +14 -0
  436. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/manifest.json +1 -10
  437. package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/pages/Main.js +4 -3
  438. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/Component.js +1 -0
  439. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/Opa.qunit.html +0 -1
  440. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/manifest.json +2 -11
  441. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/Component.js +1 -0
  442. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/Opa.qunit.html +0 -1
  443. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/manifest.json +2 -11
  444. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Component.js +19 -2
  445. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Opa.qunit.html +0 -1
  446. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/manifest.json +3 -10
  447. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/CreateRelative.js +1 -8
  448. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/Component.js +1 -0
  449. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/Main.controller.js +1 -2
  450. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/Opa.qunit.html +0 -1
  451. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/manifest.json +6 -5
  452. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Component.js +1 -0
  453. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Opa.qunit.html +0 -1
  454. package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/manifest.json +2 -10
  455. package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Component.js +1 -0
  456. package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Opa.qunit.html +0 -1
  457. package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/manifest.json +3 -10
  458. package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/Opa.qunit.html +0 -1
  459. package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/manifest.json +3 -11
  460. package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +1 -1
  461. package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +1 -1
  462. package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +1 -1
  463. package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +1 -1
  464. package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +1 -1
  465. package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +1 -1
  466. package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +1 -1
  467. package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +1 -1
  468. package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +1 -1
  469. package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +1 -1
  470. package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +1 -1
  471. package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +1 -1
  472. package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +1 -1
  473. package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +1 -1
  474. package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +1 -1
  475. package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +1 -1
  476. package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +1 -1
  477. package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +1 -1
  478. package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +1 -1
  479. package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +1 -1
  480. package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +1 -1
  481. package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +1 -1
  482. package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +1 -1
  483. package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +1 -1
  484. package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +1 -1
  485. package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +1 -1
  486. package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +1 -1
  487. package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +1 -1
  488. package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +1 -1
  489. package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +1 -1
  490. package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +1 -1
  491. package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +1 -1
  492. package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +1 -1
  493. package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +1 -1
  494. package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +1 -1
  495. package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +1 -1
  496. package/test/sap/ui/core/demokit/tutorial/odatav4/01/Component.js +1 -0
  497. package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +1 -1
  498. package/test/sap/ui/core/demokit/tutorial/odatav4/01/webapp/Component.js +1 -0
  499. package/test/sap/ui/core/demokit/tutorial/odatav4/01/webapp/index.html +0 -1
  500. package/test/sap/ui/core/demokit/tutorial/odatav4/01/webapp/localService/mockserver.js +4 -4
  501. package/test/sap/ui/core/demokit/tutorial/odatav4/01/webapp/manifest.json +2 -13
  502. package/test/sap/ui/core/demokit/tutorial/odatav4/02/Component.js +1 -0
  503. package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +1 -1
  504. package/test/sap/ui/core/demokit/tutorial/odatav4/02/webapp/Component.js +1 -0
  505. package/test/sap/ui/core/demokit/tutorial/odatav4/02/webapp/index.html +0 -1
  506. package/test/sap/ui/core/demokit/tutorial/odatav4/02/webapp/localService/mockserver.js +4 -4
  507. package/test/sap/ui/core/demokit/tutorial/odatav4/02/webapp/manifest.json +2 -13
  508. package/test/sap/ui/core/demokit/tutorial/odatav4/03/Component.js +1 -0
  509. package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +1 -1
  510. package/test/sap/ui/core/demokit/tutorial/odatav4/03/webapp/Component.js +1 -0
  511. package/test/sap/ui/core/demokit/tutorial/odatav4/03/webapp/index.html +0 -1
  512. package/test/sap/ui/core/demokit/tutorial/odatav4/03/webapp/localService/mockserver.js +4 -4
  513. package/test/sap/ui/core/demokit/tutorial/odatav4/03/webapp/manifest.json +2 -13
  514. package/test/sap/ui/core/demokit/tutorial/odatav4/04/Component.js +1 -0
  515. package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +1 -1
  516. package/test/sap/ui/core/demokit/tutorial/odatav4/04/webapp/Component.js +1 -0
  517. package/test/sap/ui/core/demokit/tutorial/odatav4/04/webapp/index.html +0 -1
  518. package/test/sap/ui/core/demokit/tutorial/odatav4/04/webapp/localService/mockserver.js +4 -4
  519. package/test/sap/ui/core/demokit/tutorial/odatav4/04/webapp/manifest.json +2 -13
  520. package/test/sap/ui/core/demokit/tutorial/odatav4/05/Component.js +1 -0
  521. package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +1 -1
  522. package/test/sap/ui/core/demokit/tutorial/odatav4/05/webapp/Component.js +1 -0
  523. package/test/sap/ui/core/demokit/tutorial/odatav4/05/webapp/index.html +0 -1
  524. package/test/sap/ui/core/demokit/tutorial/odatav4/05/webapp/localService/mockserver.js +4 -4
  525. package/test/sap/ui/core/demokit/tutorial/odatav4/05/webapp/manifest.json +2 -13
  526. package/test/sap/ui/core/demokit/tutorial/odatav4/06/Component.js +1 -0
  527. package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +1 -1
  528. package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/Component.js +1 -0
  529. package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/index.html +0 -1
  530. package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/localService/mockserver.js +4 -4
  531. package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/manifest.json +2 -13
  532. package/test/sap/ui/core/demokit/tutorial/odatav4/07/Component.js +1 -0
  533. package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +1 -1
  534. package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/Component.js +1 -0
  535. package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/index.html +0 -1
  536. package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/localService/mockserver.js +4 -4
  537. package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/manifest.json +2 -13
  538. package/test/sap/ui/core/demokit/tutorial/odatav4/08/Component.js +1 -0
  539. package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +1 -1
  540. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/Component.js +1 -0
  541. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/index.html +0 -1
  542. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/localService/mockserver.js +4 -4
  543. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/manifest.json +2 -13
  544. package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/test/integration/opaTests.qunit.html +0 -1
  545. package/test/sap/ui/core/demokit/tutorial/odatav4/09/Component.js +1 -0
  546. package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +1 -1
  547. package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/Component.js +1 -0
  548. package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/index.html +0 -1
  549. package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/localService/mockserver.js +4 -4
  550. package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/manifest.json +2 -11
  551. package/test/sap/ui/core/demokit/tutorial/odatav4/10/Component.js +1 -0
  552. package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +1 -1
  553. package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/Component.js +1 -0
  554. package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/index.html +0 -1
  555. package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/localService/mockserver.js +4 -4
  556. package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/manifest.json +2 -11
  557. package/test/sap/ui/core/demokit/tutorial/odatav4/11/Component.js +1 -0
  558. package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +1 -1
  559. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/Component.js +1 -0
  560. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/index.html +0 -1
  561. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/localService/mockserver.js +4 -4
  562. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/manifest.json +2 -11
  563. package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/test/integration/opaTests.qunit.html +0 -1
  564. package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +1 -1
  565. package/test/sap/ui/core/getComputedStyle.html +2 -1
  566. package/test/sap/ui/core/getComputedStyleFF.html +1 -1
  567. package/test/sap/ui/core/internal/samples/client/MusicCollection/Component.js +5 -8
  568. package/test/sap/ui/core/internal/samples/client/MusicCollection/Main.controller.js +6 -2
  569. package/test/sap/ui/core/internal/samples/client/MusicCollection/Main.view.xml +7 -3
  570. package/test/sap/ui/core/internal/samples/client/MusicCollection/index.html +1 -3
  571. package/test/sap/ui/core/internal/samples/client/MusicCollection/manifest.json +1 -13
  572. package/test/sap/ui/core/internal/samples/odata/twoFields/Component.js +3 -45
  573. package/test/sap/ui/core/internal/samples/odata/twoFields/Main.controller.js +37 -1
  574. package/test/sap/ui/core/internal/samples/odata/twoFields/Main.view.xml +5 -5
  575. package/test/sap/ui/core/internal/samples/odata/twoFields/Opa.qunit.html +1 -3
  576. package/test/sap/ui/core/internal/samples/odata/twoFields/index.html +1 -3
  577. package/test/sap/ui/core/internal/samples/odata/twoFields/manifest.json +1 -11
  578. package/test/sap/ui/core/internal/samples/odata/v2/Products/Component.js +3 -22
  579. package/test/sap/ui/core/internal/samples/odata/v2/Products/Main.controller.js +16 -22
  580. package/test/sap/ui/core/internal/samples/odata/v2/Products/Main.view.xml +3 -2
  581. package/test/sap/ui/core/internal/samples/odata/v2/Products/SandboxModel.js +1 -1
  582. package/test/sap/ui/core/internal/samples/odata/v2/Products/index.html +1 -3
  583. package/test/sap/ui/core/internal/samples/odata/v2/Products/manifest.json +2 -13
  584. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Component.js +1 -0
  585. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.controller.js +49 -41
  586. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.view.xml +6 -4
  587. package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/manifest.json +3 -12
  588. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Component.js +1 -0
  589. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Main.controller.js +2 -2
  590. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Main.view.xml +7 -6
  591. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/index.html +1 -3
  592. package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/manifest.json +1 -11
  593. package/test/sap/ui/core/qunit/CommandExecution.qunit.js +96 -92
  594. package/test/sap/ui/core/qunit/Fragment.qunit.js +20 -20
  595. package/test/sap/ui/core/qunit/Fragment_legacyAPIs.qunit.js +4 -4
  596. package/test/sap/ui/core/qunit/Icon.qunit.js +217 -1
  597. package/test/sap/ui/core/qunit/ManagedObjectModel.qunit.js +24 -0
  598. package/test/sap/ui/core/qunit/RenderManager.qunit.js +18 -5
  599. package/test/sap/ui/core/qunit/ScrollBar.qunit.js +15 -18
  600. package/test/sap/ui/core/qunit/ThemeParameters.qunit.js +80 -0
  601. package/test/sap/ui/core/qunit/ThemeParameters_legacyAPIs.qunit.js +1 -0
  602. package/test/sap/ui/core/qunit/analytics/AnalyticalBinding.qunit.js +6 -14
  603. package/test/sap/ui/core/qunit/app/testsuite.app.qunit.js +2 -1
  604. package/test/sap/ui/core/qunit/base/Config.qunit.js +117 -114
  605. package/test/sap/ui/core/qunit/base/Config_bootstrap.qunit.html +3 -3
  606. package/test/sap/ui/core/qunit/base/Config_bootstrap.qunit.js +98 -95
  607. package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +20 -45
  608. package/test/sap/ui/core/qunit/base/Config_global.qunit.html +2 -2
  609. package/test/sap/ui/core/qunit/base/Config_meta.qunit.html +2 -2
  610. package/test/sap/ui/core/qunit/base/Config_noUrl.qunit.html +2 -2
  611. package/test/sap/ui/core/qunit/base/Config_noUrl.qunit.js +17 -16
  612. package/test/sap/ui/core/qunit/base/Config_url.qunit.html +2 -2
  613. package/test/sap/ui/core/qunit/bootstrap/BootstrapMainModule.beforeBootstrap.js +6 -0
  614. package/test/sap/ui/core/qunit/bootstrap/BootstrapMainModule.qunit.js +4 -4
  615. package/test/sap/ui/core/qunit/bootstrap/BootstrapMinimal.qunit.js +30 -10
  616. package/test/sap/ui/core/qunit/bootstrap/testsuite.bootstrap.qunit.js +5 -1
  617. package/test/sap/ui/core/qunit/component/Customizing.qunit.js +2 -2
  618. package/test/sap/ui/core/qunit/component/Customizing_async.qunit.js +36 -1
  619. package/test/sap/ui/core/qunit/component/ExtensionPoint.qunit.js +475 -290
  620. package/test/sap/ui/core/qunit/component/Models.qunit.js +0 -70
  621. package/test/sap/ui/core/qunit/component/Models_unavoidablySync.qunit.js +86 -0
  622. package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +86 -1
  623. package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/EP_In_Product_Table_Cell_Found.fragment.xml +5 -0
  624. package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/EP_In_Product_Table_Column.fragment.xml +5 -0
  625. package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/EPinNestedView.view.xml +51 -0
  626. package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/ExtensionPointProvider.js +27 -4
  627. package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/Main.view.xml +5 -0
  628. package/test/sap/ui/core/qunit/component/testdata/customizing/sap/Main.view.xml +0 -1
  629. package/test/sap/ui/core/qunit/component/testdata/customizing/sap/Sub2.view.xml +1 -3
  630. package/test/sap/ui/core/qunit/dnd/DragAndDrop.qunit.js +231 -5
  631. package/test/sap/ui/core/qunit/dnd/DropInfo.qunit.js +14 -2
  632. package/test/sap/ui/core/qunit/fieldhelp/FieldHelp.qunit.js +1146 -0
  633. package/test/sap/ui/core/qunit/fieldhelp/FieldHelpUtil.qunit.js +55 -0
  634. package/test/sap/ui/core/qunit/fieldhelp/testsuite.fieldhelp.qunit.html +12 -0
  635. package/test/sap/ui/core/qunit/fieldhelp/testsuite.fieldhelp.qunit.js +50 -0
  636. package/test/sap/ui/core/qunit/generic/ControlRenderer.qunit.js +4 -1
  637. package/test/sap/ui/core/qunit/generic/legacy/ControlRenderer.qunit.js +4 -0
  638. package/test/sap/ui/core/qunit/internal/1RingModels.qunit.html +1 -1
  639. package/test/sap/ui/core/qunit/internal/1RingModels.qunit.js +6 -0
  640. package/test/sap/ui/core/qunit/internal/testsuite.feature-odata-v4.qunit.js +1 -1
  641. package/test/sap/ui/core/qunit/jquery-mobile-custom.beforeBootstrap.js +11 -0
  642. package/test/sap/ui/core/qunit/jquery-mobile-custom.qunit.js +3 -3
  643. package/test/sap/ui/core/qunit/loader/amd/base_tag/_launchTest.js +2 -4
  644. package/test/sap/ui/core/qunit/loader/amd/config_paths/_launchTest.js +2 -4
  645. package/test/sap/ui/core/qunit/loader/amd/config_paths_relative/_launchTest.js +2 -4
  646. package/test/sap/ui/core/qunit/loader/amdAPIs.qunit.js +3 -0
  647. package/test/sap/ui/core/qunit/loader/asyncMode.qunit.js +2 -6
  648. package/test/sap/ui/core/qunit/loader/config.qunit.js +41 -2
  649. package/test/sap/ui/core/qunit/model/Binding.qunit.js +13 -0
  650. package/test/sap/ui/core/qunit/mvc/Controller.qunit.js +2 -2
  651. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorAsync.qunit.js +8 -6
  652. package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +7 -7
  653. package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +131 -22
  654. package/test/sap/ui/core/qunit/mvc/testdata/Async.view.xml +1 -2
  655. package/test/sap/ui/core/qunit/mvc/testdata/asyncHooks.view.xml +1 -3
  656. package/test/sap/ui/core/qunit/mvc/testdata/cache.view.xml +1 -1
  657. package/test/sap/ui/core/qunit/mvc/testdata/legacy/test.view.xml +32 -0
  658. package/test/sap/ui/core/qunit/mvc/testdata/test.view.xml +2 -15
  659. package/test/sap/ui/core/qunit/mvc/testsuite.mvc.qunit.js +9 -4
  660. package/test/sap/ui/core/qunit/odata/ODataUtils.qunit.js +5 -12
  661. package/test/sap/ui/core/qunit/odata/type/testsuite.odata.types.qunit.js +1 -0
  662. package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +285 -12
  663. package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +55 -6
  664. package/test/sap/ui/core/qunit/odata/v2/data/ZUI5_GWSAMPLE_BASIC.metadata.xml +18 -0
  665. package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +118 -61
  666. package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +17 -17
  667. package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +559 -74
  668. package/test/sap/ui/core/qunit/odata/v4/ODataMetaModel.qunit.js +42 -42
  669. package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +2695 -97
  670. package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +125 -12
  671. package/test/sap/ui/core/qunit/odata/v4/ODataModel.realOData.qunit.js +7 -6
  672. package/test/sap/ui/core/qunit/odata/v4/ODataPropertyBinding.qunit.js +12 -13
  673. package/test/sap/ui/core/qunit/odata/v4/_AnnotationHelperExpression.qunit.js +3 -3
  674. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +796 -110
  675. package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +102 -2
  676. package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +48 -57
  677. package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +141 -33
  678. package/test/sap/ui/core/qunit/odata/v4/lib/_MetadataRequestor.qunit.js +2 -2
  679. package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +175 -69
  680. package/test/sap/ui/core/qunit/odata/v4/lib/_V2Requestor.qunit.js +3 -3
  681. package/test/sap/ui/core/qunit/odata/v4/testsuite.odatav4.qunit.js +1 -1
  682. package/test/sap/ui/core/qunit/resource/ResourceBinding.qunit.js +17 -14
  683. package/test/sap/ui/core/qunit/routing/async/Views.qunit.js +3 -0
  684. package/test/sap/ui/core/qunit/rule/testsuite.rule.qunit.js +6 -1
  685. package/test/sap/ui/core/qunit/test/starter/find/main.js +6 -4
  686. package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib4/themes/sap_horizon_hcb/library.css +2 -0
  687. package/test/sap/ui/core/qunit/testdata/routing/HistoryIFrame.html +2 -1
  688. package/test/sap/ui/core/qunit/testsuite.qunit.js +1 -0
  689. package/test/sap/ui/core/qunit/testsuites/testsuite.browser.runtime.qunit.js +5 -1
  690. package/test/sap/ui/core/qunit/testsuites/testsuite.theming.qunit.js +4 -1
  691. package/test/sap/ui/core/qunit/ui/Device.qunit.js +92 -25
  692. package/test/sap/ui/core/qunit/ui5classes/ManagedObjectMetadata.qunit.js +3 -0
  693. package/test/sap/ui/core/qunit/util/LabelEnablement.qunit.js +47 -1
  694. package/test/sap/ui/core/qunit/util/XMLPreprocessor.qunit.js +20 -20
  695. package/test/sap/ui/core/relnotes/changes-1.124.json +1 -66
  696. package/test/sap/ui/core/relnotes/changes-1.125.json +32 -0
  697. package/test/sap/ui/core/relnotes/changes-1.126.json +47 -0
  698. package/test/sap/ui/core/samples/ResponsiveDemo.html +97 -103
  699. package/test/sap/ui/core/samples/databinding/UnitTable/ui5.yaml +1 -1
  700. package/test/sap/ui/core/samples/draganddrop/DragAndDrop.html +2 -2
  701. package/test/sap/ui/core/samples/mvc/Product.html +1 -7
  702. package/test/sap/ui/core/samples/mvc/ViewPreprocessor.html +20 -12
  703. package/test/sap/ui/core/samples/mvc/XMLView.html +77 -24
  704. package/test/sap/ui/core/samples/mvc/XMLViewAsync.html +13 -19
  705. package/test/sap/ui/core/samples/mvc/controller/Async.controller.js +0 -1
  706. package/test/sap/ui/core/samples/mvc/controller/Product.controller.js +0 -1
  707. package/test/sap/ui/core/samples/mvc/views/Async.view.xml +16 -57
  708. package/test/sap/ui/core/samples/mvc/views/Dummy.fragment.xml +2 -2
  709. package/test/sap/ui/core/samples/mvc/views/Dummy.view.xml +2 -2
  710. package/test/sap/ui/core/samples/mvc/views/Product.view.xml +16 -57
  711. package/test/sap/ui/core/util/PasteHelper.html +148 -147
  712. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/firstItem-contextMenu.ref.lnk +1 -1
  713. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/initial.ref.lnk +1 -1
  714. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/lastItem-contextMenu.ref.lnk +1 -1
  715. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/leftDownBtn-contextMenu.ref.lnk +1 -1
  716. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/myButtonSample-contextMenu.ref.lnk +1 -1
  717. package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/rightDownBtn-contextMenu.ref.lnk +1 -1
  718. package/test/testsuite/js/settings.js +5 -4
  719. package/test/testsuite/styles/main.css +5 -0
  720. package/test/sap/ui/core/ResourceRoots.html +0 -28
  721. package/test/sap/ui/core/demokit/sample/ViewTemplate/tiny/component.json +0 -17
  722. package/test/sap/ui/core/demokit/sample/ViewTemplate/types/component.json +0 -18
  723. package/test/sap/ui/core/demokit/sample/ViewTemplate/valuelist/component.json +0 -30
  724. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/AutoExpand.view.xml +0 -52
  725. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/Component.js +0 -30
  726. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/Sandbox.js +0 -51
  727. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/data/Items_L0_top5.json +0 -32
  728. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/data/Items_L1_A_skip8.json +0 -138
  729. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/data/Items_L1_B.json +0 -17
  730. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/data/Items_L1_C.json +0 -17
  731. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/data/Items_L1_top8.json +0 -93
  732. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/data/metadata.xml +0 -2322
  733. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/i18n/i18n.properties +0 -3
  734. package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/manifest.json +0 -69
@@ -7,19 +7,29 @@
7
7
  xmlns:rm="sap.ui.table.rowmodes">
8
8
 
9
9
  <Table id="table" ariaLabelledBy="title"
10
- rows="{path : '/EMPLOYEES',
11
- parameters : {$count : false, $orderby : 'AGE', $$patchWithoutSideEffects : true},
12
- suspended : true}"
10
+ rows="{
11
+ path : '/EMPLOYEES',
12
+ parameters : {
13
+ $count : false,
14
+ $filter : 'STATUS ne \'Out\'',
15
+ $orderby : 'AGE',
16
+ $$patchWithoutSideEffects : true
17
+ },
18
+ suspended : true
19
+ }"
13
20
  selectionMode="None">
14
21
  <extension>
15
22
  <m:Toolbar design="Transparent" class="sapMTBHeader-CTX">
16
23
  <m:Title id="title" level="H1" text="Organizational Chart"/>
17
24
  <m:ToolbarSpacer/>
18
25
  <m:Button icon="sap-icon://create" press=".onCreateRoot" tooltip="Create New Root"/>
26
+ <m:Button icon="sap-icon://hide" press=".onCreateRoot($event, true)"
27
+ tooltip="Create New Root (filtered out)"/>
19
28
  <m:Button icon="sap-icon://synchronize" id="synchronize" press="onSynchronize"
20
- tooltip="Synchronize"/>
21
- <m:Button icon="sap-icon://refresh" press="onRefresh"
22
- tooltip="Refresh, while keeping tree state"/>
29
+ tooltip="Side Effect"/>
30
+ <m:Button icon="sap-icon://response" press="onRefresh" tooltip="Refresh"/>
31
+ <m:Button icon="sap-icon://refresh" press="onRefresh($event, true)"
32
+ tooltip="Refresh (keeping tree state)"/>
23
33
  </m:Toolbar>
24
34
  </extension>
25
35
  <rowMode>
@@ -31,7 +41,7 @@
31
41
  <m:Text text="{= %{@$ui5.node.level} }" wrapping="false"/>
32
42
  </template>
33
43
  </Column>
34
- <Column width="4em">
44
+ <Column width="3.14em">
35
45
  <template>
36
46
  <m:Button enabled="{= %{@$ui5.node.isExpanded} !== undefined}"
37
47
  icon="{= %{@$ui5.node.isExpanded} === true
@@ -70,34 +80,53 @@
70
80
  <m:Text text="{AGE}" wrapping="false"/>
71
81
  </template>
72
82
  </Column>
73
- <Column width="4em">
74
- <template>
75
- <m:Button enabled="{= %{@$ui5.node.isExpanded} !== false}" icon="sap-icon://create"
76
- id="create" press=".onCreate" tooltip="Create New Child"/>
77
- </template>
78
- </Column>
79
- <Column width="4em">
80
- <template>
81
- <m:Button icon="sap-icon://move" id="move" press=".onMove" tooltip="Move"/>
82
- </template>
83
- </Column>
84
- <Column width="4em">
85
- <template>
86
- <m:Button id="delete" icon="sap-icon://delete" press=".onDelete" tooltip="Delete"/>
87
- </template>
88
- </Column>
89
- <Column width="4em">
90
- <template>
91
- <m:Button enabled="{= %{@$ui5.node.level} > 1}" icon="sap-icon://back-to-top"
92
- press=".onMakeRoot" tooltip="Make Root"/>
83
+ <Column>
84
+ <m:Label text="Filtered Out"/>
85
+ <template>
86
+ <m:CheckBox editable="false" selected="{= %{STATUS} === 'Out'}"/>
87
+ </template>
88
+ </Column>
89
+ <Column width="27em">
90
+ <template>
91
+ <m:FlexBox justifyContent="SpaceBetween">
92
+ <m:Button enabled="{= %{STATUS} !== 'Out' &amp;&amp; %{@$ui5.node.isExpanded} !== false}"
93
+ icon="sap-icon://create" id="create" press=".onCreate"
94
+ tooltip="Create New Child"/>
95
+ <m:Button enabled="{= %{STATUS} !== 'Out' &amp;&amp; %{@$ui5.node.isExpanded} !== false}"
96
+ icon="sap-icon://hide" press=".onCreate($event, true)"
97
+ tooltip="Create New Hidden Child"/>
98
+ <m:Button enabled="{= %{STATUS} !== 'Out'}" icon="sap-icon://up"
99
+ press=".onMoveUp" tooltip="Move Up"/>
100
+ <m:Button enabled="{= %{STATUS} !== 'Out'}" icon="sap-icon://down"
101
+ press=".onMoveDown" tooltip="Move Down"/>
102
+ <m:Button enabled="{= %{STATUS} !== 'Out'}" icon="sap-icon://move"
103
+ press=".onMove" tooltip="Move To Parent..."/>
104
+ <m:Button enabled="{= %{STATUS} !== 'Out'}" icon="sap-icon://map"
105
+ press=".onMove($event, false, '?')" tooltip="Move Just Before Sibling..."/>
106
+ <m:Button enabled="{= %{STATUS} !== 'Out'}" icon="sap-icon://arrow-bottom"
107
+ press=".onMove($event, false, null)" tooltip="Move As Last Child Of..."/>
108
+ <m:Button enabled="{= %{STATUS} !== 'Out' &amp;&amp; %{@$ui5.node.level} > 1}"
109
+ icon="sap-icon://back-to-top" press=".onMakeRoot" tooltip="Make Root"/>
110
+ <m:Button enabled="{= %{STATUS} !== 'Out'}" icon="sap-icon://pull-down"
111
+ press=".onMakeRoot($event, null)" tooltip="Make Last Root"/>
112
+ <m:Button enabled="{= %{STATUS} !== 'Out'}" icon="sap-icon://delete"
113
+ press=".onDelete" tooltip="Delete"/>
114
+ </m:FlexBox>
93
115
  </template>
94
116
  </Column>
95
117
  </Table>
96
118
 
97
119
  <TreeTable id="treeTable" ariaLabelledBy="treeTitle"
98
- rows="{path : '/EMPLOYEES',
99
- parameters : {$count : false, $orderby : 'AGE', $$patchWithoutSideEffects : true},
100
- suspended : true}"
120
+ rows="{
121
+ path : '/EMPLOYEES',
122
+ parameters : {
123
+ $count : false,
124
+ $filter : 'STATUS ne \'Out\'',
125
+ $orderby : 'AGE',
126
+ $$patchWithoutSideEffects : true
127
+ },
128
+ suspended : true
129
+ }"
101
130
  selectionMode="None">
102
131
  <extension>
103
132
  <m:Toolbar design="Transparent" class="sapMTBHeader-CTX">
@@ -105,10 +134,13 @@
105
134
  <m:ToolbarSpacer/>
106
135
  <m:Button icon="sap-icon://create" press=".onCreateRootInTreeTable"
107
136
  tooltip="Create New Root"/>
137
+ <m:Button icon="sap-icon://hide" press=".onCreateRootInTreeTable($event, true)"
138
+ tooltip="Create New Root (filtered out)"/>
108
139
  <m:Button icon="sap-icon://synchronize" id="synchronizeTreeTable"
109
- press="onSynchronizeTreeTable" tooltip="SynchronizeTreeTable"/>
110
- <m:Button icon="sap-icon://refresh" press="onRefreshTreeTable"
111
- tooltip="Refresh, while keeping tree state"/>
140
+ press="onSynchronizeTreeTable" tooltip="Side effect"/>
141
+ <m:Button icon="sap-icon://response" press="onRefreshTreeTable" tooltip="Refresh"/>
142
+ <m:Button icon="sap-icon://refresh" press="onRefreshTreeTable($event, true)"
143
+ tooltip="Refresh (keeping tree state)"/>
112
144
  </m:Toolbar>
113
145
  </extension>
114
146
  <rowMode>
@@ -144,28 +176,38 @@
144
176
  <m:Text text="{AGE}" wrapping="false"/>
145
177
  </template>
146
178
  </Column>
147
- <Column width="4em">
148
- <template>
149
- <m:Button enabled="{= %{@$ui5.node.isExpanded} !== false}" icon="sap-icon://create"
150
- id="createInTreeTable" press=".onCreate" tooltip="Create New Child"/>
151
- </template>
152
- </Column>
153
- <Column width="4em">
154
- <template>
155
- <m:Button icon="sap-icon://move" id="moveInTreeTable" press=".onMoveInTreeTable"
156
- tooltip="Move"/>
157
- </template>
158
- </Column>
159
- <Column width="4em">
160
- <template>
161
- <m:Button id="deleteInTreeTable" icon="sap-icon://delete" press=".onDelete"
162
- tooltip="Delete"/>
163
- </template>
164
- </Column>
165
- <Column width="4em">
166
- <template>
167
- <m:Button enabled="{= %{@$ui5.node.level} > 1}" icon="sap-icon://back-to-top"
168
- press=".onMakeRoot" tooltip="Make Root"/>
179
+ <Column>
180
+ <m:Label text="Filtered Out"/>
181
+ <template>
182
+ <m:CheckBox editable="false" selected="{= %{STATUS} === 'Out'}"/>
183
+ </template>
184
+ </Column>
185
+ <Column width="27em">
186
+ <template>
187
+ <m:FlexBox justifyContent="SpaceBetween">
188
+ <m:Button enabled="{= %{STATUS} !== 'Out' &amp;&amp; %{@$ui5.node.isExpanded} !== false}"
189
+ icon="sap-icon://create" id="createInTreeTable" press=".onCreate"
190
+ tooltip="Create New Child"/>
191
+ <m:Button enabled="{= %{STATUS} !== 'Out' &amp;&amp; %{@$ui5.node.isExpanded} !== false}"
192
+ icon="sap-icon://hide" press=".onCreate($event, true)"
193
+ tooltip="Create New Child (filtered out)"/>
194
+ <m:Button enabled="{= %{STATUS} !== 'Out'}" icon="sap-icon://up"
195
+ press=".onMoveUp" tooltip="Move Up"/>
196
+ <m:Button enabled="{= %{STATUS} !== 'Out'}" icon="sap-icon://down"
197
+ press=".onMoveDown" tooltip="Move Down"/>
198
+ <m:Button enabled="{= %{STATUS} !== 'Out'}" icon="sap-icon://move"
199
+ press=".onMove($event, true)" tooltip="Move To Parent..."/>
200
+ <m:Button enabled="{= %{STATUS} !== 'Out'}" icon="sap-icon://map"
201
+ press=".onMove($event, true, '?')" tooltip="Move Just Before Sibling..."/>
202
+ <m:Button enabled="{= %{STATUS} !== 'Out'}" icon="sap-icon://arrow-bottom"
203
+ press=".onMove($event, true, null)" tooltip="Move As Last Child Of..."/>
204
+ <m:Button enabled="{= %{STATUS} !== 'Out' &amp;&amp; %{@$ui5.node.level} > 1}"
205
+ icon="sap-icon://back-to-top" press=".onMakeRoot" tooltip="Make Root"/>
206
+ <m:Button enabled="{= %{STATUS} !== 'Out'}" icon="sap-icon://pull-down"
207
+ press=".onMakeRoot($event, null)" tooltip="Make Last Root"/>
208
+ <m:Button enabled="{= %{STATUS} !== 'Out'}" icon="sap-icon://delete"
209
+ press=".onDelete" tooltip="Delete"/>
210
+ </m:FlexBox>
169
211
  </template>
170
212
  </Column>
171
213
  </TreeTable>
@@ -180,8 +222,10 @@
180
222
 
181
223
  <m:FormattedText htmlText="&lt;em>Available URL parameters:&lt;/em>
182
224
  &lt;ul>
183
- &lt;li> &lt;code>expandTo&lt;/code> Either * for 'expand all' or a number; default 3
225
+ &lt;li> &lt;code>createInPlace&lt;/code> Either set or unset; default unset
226
+ &lt;li> &lt;code>expandTo&lt;/code> Either * for &lt;em>expand all&lt;/em> or a number; default 3
227
+ &lt;li> &lt;code>firstVisibleRow&lt;/code> A number; default 0
228
+ &lt;li> &lt;code>threshold&lt;/code> A number; default 0
184
229
  &lt;li> &lt;code>visibleRowCount&lt;/code> A number; default 5
185
- &lt;li> &lt;code>TreeTable&lt;/code> 'Y' for yes, 'N' for no; default both tables
186
- &lt;li> &lt;code>threshold&lt;/code> A number; default 0"/>
230
+ &lt;li> &lt;code>TreeTable&lt;/code> Y for yes, N for no; default is both tables"/>
187
231
  </mvc:View>
@@ -33,6 +33,9 @@ sap.ui.define([
33
33
  }, {
34
34
  regExp : /^POST \/sap\/opu\/odata4\/IWBEP\/TEA\/default\/IWBEP\/TEA_BUSI\/0001\/EMPLOYEES$/,
35
35
  response : {buildResponse : buildPostResponse}
36
+ }, {
37
+ regExp : /^POST \/sap\/opu\/odata4\/IWBEP\/TEA\/default\/IWBEP\/TEA_BUSI\/0001\/EMPLOYEES\('([^']*)'\)\/com\.sap\.gateway\.default\.iwbep\.tea_busi\.v0001\.__FAKE__AcChangeNextSibling$/,
38
+ response : {buildResponse : buildChangeNextSiblingResponse}
36
39
  }],
37
40
  sSourceBase : "sap/ui/core/sample/odata/v4/RecursiveHierarchy/data"
38
41
  });
@@ -165,9 +168,9 @@ sap.ui.define([
165
168
  Name : "Omega"
166
169
  }];
167
170
 
168
- let aAllNodes; // in preorder
169
- let mChildrenByParentId; // no entry for leaves!
170
- let mNodeById;
171
+ let aAllNodes; // in preorder, does not contain nodes that are filtered out
172
+ let mChildrenByParentId; // no entry for leaves! Does not contain nodes that are filtered out
173
+ let mNodeById; // contains all nodes incl. those filtered out
171
174
  let iRevision;
172
175
  let mRevisionOfAgeById;
173
176
 
@@ -183,6 +186,7 @@ sap.ui.define([
183
186
  mRevisionOfAgeById = {};
184
187
 
185
188
  aAllNodes.forEach((oNode) => {
189
+ oNode.STATUS = "";
186
190
  // oNode.DescendantCount = 0; // @see computeDescendantCount
187
191
  oNode.DistanceFromRoot = oNode.ID === "0"
188
192
  ? 0
@@ -234,6 +238,51 @@ sap.ui.define([
234
238
  }
235
239
  }
236
240
 
241
+ /**
242
+ * Builds a response for any POST request on the "ChangeNextSibling" action.
243
+ *
244
+ * @param {string[]} aMatches - The matches against the RegExp
245
+ * @param {object} _oResponse - Response object to fill
246
+ * @param {object} oRequest - Request object to get POST body from
247
+ */
248
+ function buildChangeNextSiblingResponse(aMatches, _oResponse, oRequest) {
249
+ const oNode = mNodeById[aMatches[1]];
250
+ const sParentId = oNode.MANAGER_ID;
251
+
252
+ // {"NextSibling" : {"ID" : "1"}}
253
+ const oBody = JSON.parse(oRequest.requestBody);
254
+ if (oBody.NextSibling === null) { // node becomes *last*
255
+ if (sParentId) { // make last child
256
+ const aChildren = mChildrenByParentId[sParentId];
257
+ if (aChildren.length > 1) {
258
+ aChildren.splice(aChildren.indexOf(oNode), 1);
259
+ aChildren.push(oNode);
260
+ const aSpliced
261
+ = aAllNodes.splice(aAllNodes.indexOf(oNode), oNode.DescendantCount + 1);
262
+ aAllNodes.splice(aAllNodes.indexOf(aChildren.at(-2)) + 1, 0, ...aSpliced);
263
+ } // else: no change
264
+ } else { // make last root
265
+ const aSpliced
266
+ = aAllNodes.splice(aAllNodes.indexOf(oNode), oNode.DescendantCount + 1);
267
+ aAllNodes.push(...aSpliced);
268
+ }
269
+ } else { // next sibling is specified
270
+ const oNextSibling = mNodeById[oBody.NextSibling.ID];
271
+ if (oNextSibling.MANAGER_ID !== sParentId) {
272
+ throw new Error("Parent mismatch");
273
+ }
274
+ if (sParentId) { // move child inside mChildrenByParentId[...]
275
+ const aChildren = mChildrenByParentId[sParentId];
276
+ aChildren.splice(aChildren.indexOf(oNode), 1);
277
+ aChildren.splice(aChildren.indexOf(oNextSibling), 0, oNode);
278
+ }
279
+ // move root (or child inside aAllNodes)
280
+ const aSpliced = aAllNodes.splice(aAllNodes.indexOf(oNode), oNode.DescendantCount + 1);
281
+ aAllNodes.splice(aAllNodes.indexOf(oNextSibling), 0, ...aSpliced);
282
+ }
283
+ // no response required
284
+ }
285
+
237
286
  /**
238
287
  * Builds a response for any DELETE request on a specific "EMPLOYEE" instance.
239
288
  *
@@ -260,8 +309,12 @@ sap.ui.define([
260
309
  if (oNode.MANAGER_ID) {
261
310
  const aChildren = mChildrenByParentId[oNode.MANAGER_ID];
262
311
  aChildren.splice(aChildren.indexOf(oNode), 1);
312
+ if (!aChildren.length) {
313
+ delete mChildrenByParentId[oNode.MANAGER_ID];
314
+ }
263
315
  adjustDescendantCount(oNode.MANAGER_ID, -(oNode.DescendantCount + 1));
264
316
  }
317
+ // no response required
265
318
  }
266
319
 
267
320
  /**
@@ -291,36 +344,63 @@ sap.ui.define([
291
344
  : Infinity;
292
345
  let aRows = topLevels(iLevels - 1, getExpandLevels()); // Note: already cloned
293
346
  if ("$filter" in mQueryOptions) {
294
- // ID%20eq%20'1'
295
- const aIDs = mQueryOptions.$filter.split("%20or%20")
296
- .map((sID_Predicate) => sID_Predicate.split("%20eq%20")[1].slice(1, -1));
297
- if (aIDs.length !== 1) {
298
- throw new Error("Unexpected ID filter length");
299
- }
300
- aRows = aRows.filter((oNode, i) => {
301
- if (oNode.ID === aIDs[0]) {
347
+ if (mQueryOptions.$filter.includes("LimitedRank")) {
348
+ // e.g. LimitedRank lt 5 and DistanceFromRoot lt 2
349
+ // e.g. LimitedRank gt 4 and DistanceFromRoot lt 2
350
+ const aFilterMatches = mQueryOptions.$filter.match(
351
+ /LimitedRank%20(gt|lt)%20(\d+)%20and%20DistanceFromRoot%20lt%20(\d+)/);
352
+ const bGreater = aFilterMatches[1] === "gt";
353
+ const iLimitedRank = parseInt(aFilterMatches[2]);
354
+ const iDistanceFromRoot = parseInt(aFilterMatches[3]);
355
+ aRows = aRows.filter((oNode, i) => {
302
356
  oNode.LimitedRank = "" + i; // Edm.Int64
303
- return true;
357
+ return (bGreater ? i > iLimitedRank : i < iLimitedRank)
358
+ && oNode.DistanceFromRoot < iDistanceFromRoot;
359
+ });
360
+ if (mQueryOptions.$orderby === "LimitedRank%20desc") {
361
+ aRows = aRows.reverse();
304
362
  }
305
- return false;
306
- });
363
+ } else { // ID%20eq%20'1'
364
+ const aIDs = mQueryOptions.$filter.split("%20or%20").map(
365
+ (sID_Predicate) => sID_Predicate.split("%20eq%20")[1].slice(1, -1));
366
+ aRows = aRows.filter((oNode, i) => {
367
+ oNode.LimitedRank = "" + i; // Edm.Int64
368
+ return aIDs.includes(oNode.ID);
369
+ });
370
+ }
307
371
  }
308
372
  selectCountSkipTop(aRows, mQueryOptions, oResponse);
309
373
  return;
310
374
  }
311
- // "EMPLOYEES?$apply=descendants($root/EMPLOYEES,OrgChart,ID"
312
- // + ",filter(ID%20eq%20'" + sParentId + "'),1)/orderby(AGE)"
313
- const sParentId = mQueryOptions.$apply.match(/,filter\(ID%20eq%20'([^']*)'\)/)[1];
314
- let aChildren = mChildrenByParentId[sParentId];
315
- if ("$filter" in mQueryOptions) {
316
- // not%20(ID%20eq%20'5.1.10'%20or%20ID%20eq%20'5.1.11')
317
- const aIDs = mQueryOptions.$filter
318
- .slice("not%20(".length, -")".length)
319
- .split("%20or%20")
320
- .map((sID_Predicate) => sID_Predicate.split("%20eq%20")[1].slice(1, -1));
321
- aChildren = aChildren.filter((oChild) => !aIDs.includes(oChild.ID));
375
+
376
+ if (mQueryOptions.$apply.includes("descendants")) {
377
+ // "EMPLOYEES?$apply=ancestors($root/EMPLOYEES,OrgChart,ID
378
+ // + ",filter(STATUS%20ne%20'Out'),keep%20start)"
379
+ // + "/descendants($root/EMPLOYEES,OrgChart,ID,filter(ID%20eq%20'" + sParentId
380
+ // + "'),1)/orderby(AGE)"
381
+ const sParentId = mQueryOptions.$apply.match(/,filter\(ID%20eq%20'([^']*)'\)/)[1];
382
+ let aChildren = mChildrenByParentId[sParentId];
383
+ if ("$filter" in mQueryOptions) {
384
+ const bNot = mQueryOptions.$filter.startsWith("not%20(");
385
+ if (bNot) {
386
+ // not%20(ID%20eq%20'5.1.10'%20or%20ID%20eq%20'5.1.11')
387
+ mQueryOptions.$filter
388
+ = mQueryOptions.$filter.slice("not%20(".length, -")".length);
389
+ }
390
+ const aIDs = mQueryOptions.$filter
391
+ .split("%20or%20")
392
+ .map((sID_Predicate) => sID_Predicate.split("%20eq%20")[1].slice(1, -1));
393
+ aChildren = aChildren.filter((oChild) => aIDs.includes(oChild.ID) !== bNot);
394
+ }
395
+ selectCountSkipTop(aChildren, mQueryOptions, oResponse);
396
+ return;
322
397
  }
323
- selectCountSkipTop(aChildren, mQueryOptions, oResponse);
398
+
399
+ // "$orderby=AGE&$select=ID,MANAGER_ID,Name,AGE"
400
+ // + "&$apply=ancestors($root/EMPLOYEES,OrgChart,ID,filter(ID%20eq%20'3'),1)"
401
+ const sChildId = mQueryOptions.$apply.match(/,filter\(ID%20eq%20'([^']*)'\)/)[1];
402
+ const sParentId = mNodeById[sChildId].MANAGER_ID;
403
+ selectCountSkipTop([mNodeById[sParentId]], mQueryOptions, oResponse);
324
404
  return;
325
405
  }
326
406
 
@@ -496,13 +576,14 @@ sap.ui.define([
496
576
  function isChildID(sChildID, sParentId) {
497
577
  return sChildID !== sParentId
498
578
  && (sParentId === "0"
499
- ? !sChildID.includes(".")
579
+ ? /^\d+$/.test(sChildID) // Note: letters denote other roots!
500
580
  : sChildID.startsWith(sParentId)
501
581
  && !sChildID.slice(sParentId.length + 1).includes("."));
502
582
  }
503
583
 
504
584
  // {"EMPLOYEE_2_MANAGER@odata.bind" : "EMPLOYEES('0')"}
505
585
  const oBody = JSON.parse(oRequest.requestBody);
586
+ const bFilteredOut = oBody.STATUS === "Out";
506
587
  const sParentId = oBody["EMPLOYEE_2_MANAGER@odata.bind"]
507
588
  ?.slice("EMPLOYEES('".length, -"')".length);
508
589
  const oParent = mNodeById[sParentId];
@@ -517,7 +598,8 @@ sap.ui.define([
517
598
  DistanceFromRoot : oParent ? oParent.DistanceFromRoot + 1 : 0,
518
599
  DrillState : "leaf",
519
600
  MANAGER_ID : sParentId ?? null,
520
- DescendantCount : 0
601
+ DescendantCount : 0,
602
+ STATUS : bFilteredOut ? "Out" : ""
521
603
  };
522
604
 
523
605
  if (sParentId) {
@@ -526,12 +608,11 @@ sap.ui.define([
526
608
  oNewChild.AGE = mChildrenByParentId[sParentId][0].AGE - 1;
527
609
  } else { // parent not a leaf anymore
528
610
  oParent.DrillState = "collapsed"; // @see #reset
529
- mChildrenByParentId[sParentId] = [];
530
611
  oNewChild.AGE = oParent.AGE - 1;
531
612
  }
532
613
 
533
614
  // use "largest" child ID which is hierarchical to parent
534
- const sLastChildID = aAllNodes
615
+ const sLastChildID = Object.values(mNodeById)
535
616
  .filter((oChild) => isChildID(oChild.ID, sParentId))
536
617
  .sort(compareByID)
537
618
  .at(-1)?.ID;
@@ -543,24 +624,37 @@ sap.ui.define([
543
624
  oNewChild.ID = sParentId + "." + (parseLastSegment(sLastChildID) + 1);
544
625
  }
545
626
  } else { // new root
546
- const iRootCount = aAllNodes.filter((oNode) => oNode.MANAGER_ID === null).length;
627
+ const iRootCount = Object.values(mNodeById)
628
+ .filter((oNode) => oNode.MANAGER_ID === null)
629
+ .length;
547
630
  oNewChild.AGE = 60 + iRootCount;
548
- oNewChild.ID = "0ABCDEFGHIJKLMNOPQRSTUVWXYZ"[iRootCount];
631
+ oNewChild.ID = "0ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"[iRootCount];
549
632
  }
550
633
 
551
634
  if (oNewChild.ID in mNodeById) {
552
635
  throw new Error("Illegal state: duplicate node ID " + oNewChild.ID);
553
636
  }
554
- aAllNodes.push(oNewChild); //TODO not good enough once we need "refresh"
555
637
  mNodeById[oNewChild.ID] = oNewChild;
556
638
  mRevisionOfAgeById[oNewChild.ID] = 0;
557
- if (sParentId) {
558
- // Note: server's insert position must not affect UI (until refresh!)
559
- mChildrenByParentId[sParentId].push(oNewChild);
560
- adjustDescendantCount(sParentId, +1);
639
+ if (!bFilteredOut) {
640
+ if (sParentId) {
641
+ // Note: server's insert position must not affect UI (until refresh!)
642
+ mChildrenByParentId[sParentId] ??= [];
643
+ mChildrenByParentId[sParentId].push(oNewChild);
644
+ adjustDescendantCount(sParentId, +1);
645
+ aAllNodes.splice(aAllNodes.indexOf(oParent) + oParent.DescendantCount, 0,
646
+ oNewChild);
647
+ } else {
648
+ aAllNodes.push(oNewChild);
649
+ }
561
650
  }
562
651
 
563
- oResponse.message = JSON.stringify(SandboxModel.update([oNewChild])[0]);
652
+ const oCopy = SandboxModel.update([oNewChild])[0];
653
+ // RAP would not respond w/ DescendantCount,DistanceFromRoot,DrillState!
654
+ delete oCopy.DescendantCount;
655
+ delete oCopy.DistanceFromRoot;
656
+ delete oCopy.DrillState;
657
+ oResponse.message = JSON.stringify(oCopy);
564
658
  }
565
659
 
566
660
  /**
@@ -593,7 +687,9 @@ sap.ui.define([
593
687
  function select(oNode) {
594
688
  const oResult = {};
595
689
  for (const sSelect of aSelect) {
596
- oResult[sSelect] = oNode[sSelect];
690
+ oResult[sSelect] = sSelect === "DescendantCount" || sSelect === "DistanceFromRoot"
691
+ ? "" + oNode[sSelect] // Edm.Int64
692
+ : oNode[sSelect];
597
693
  }
598
694
  return oResult;
599
695
  }
@@ -143,6 +143,9 @@
143
143
  <ComplexType Name="__CT__FAKE__Message">
144
144
  <Property Name="__FAKE__Messages" Type="Collection(SAP__self.__FAKE__Message)" Nullable="false" />
145
145
  </ComplexType>
146
+ <ComplexType Name="__FAKE__NextSiblingWorker">
147
+ <Property Name="ID" Type="Edm.String" Nullable="false" MaxLength="4"/>
148
+ </ComplexType>
146
149
  <Action Name="AcChangeManagerOfDepartment" IsBound="true">
147
150
  <Parameter Name="DEPARTMENT" Type="com.sap.gateway.default.iwbep.tea_busi.v0001.Department"
148
151
  Nullable="false"/>
@@ -205,6 +208,10 @@
205
208
  <Parameter Name="Message" Type="Edm.String"/>
206
209
  <ReturnType Type="com.sap.gateway.default.iwbep.tea_busi.v0001.MANAGER"/>
207
210
  </Action>
211
+ <Action Name="__FAKE__AcChangeNextSibling" IsBound="true">
212
+ <Parameter Name="_it" Type="com.sap.gateway.default.iwbep.tea_busi.v0001.Worker" Nullable="false"/>
213
+ <Parameter Name="NextSibling" Type="com.sap.gateway.default.iwbep.tea_busi.v0001.__FAKE__NextSiblingWorker" Nullable="true"/>
214
+ </Action>
208
215
  <Function Name="FuGetEmployeeAges">
209
216
  <ReturnType Type="Collection(Edm.Int16)" Nullable="false"/>
210
217
  </Function>
@@ -406,6 +413,13 @@
406
413
  <PropertyValue Property="LimitedDescendantCount" Path="DescendantCount"/>
407
414
  </Record>
408
415
  </Annotation>
416
+ <Annotation Qualifier="OrgChart" Term="com.sap.vocabularies.Hierarchy.v1.RecursiveHierarchyActions">
417
+ <Record>
418
+ <PropertyValue Property="ChangeNextSiblingAction"
419
+ String="com.sap.gateway.default.iwbep.tea_busi.v0001.__FAKE__AcChangeNextSibling"/>
420
+ <!-- PropertyValue Property="CopyAction" String="T.B.D."/ -->
421
+ </Record>
422
+ </Annotation>
409
423
  </Annotations>
410
424
  </Schema>
411
425
  </edmx:DataServices>
@@ -20,11 +20,6 @@
20
20
  "type" : "application"
21
21
  },
22
22
  "sap.ui" : {
23
- "deviceTypes" : {
24
- "desktop" : true,
25
- "phone" : true,
26
- "tablet" : true
27
- },
28
23
  "technology" : "UI5"
29
24
  },
30
25
  "sap.ui5" : {
@@ -40,13 +35,10 @@
40
35
  ]
41
36
  }
42
37
  },
43
- "contentDensities" : {
44
- "compact" : true,
45
- "cozy" : true
46
- },
47
38
  "dependencies" : {
48
39
  "libs" : {
49
40
  "sap.m" : {},
41
+ "sap.ui.core" : {},
50
42
  "sap.ui.table" : {}
51
43
  },
52
44
  "minUI5Version" : "1.105"
@@ -66,7 +58,6 @@
66
58
  }
67
59
  },
68
60
  "rootView" : {
69
- "async" : true,
70
61
  "type" : "XML",
71
62
  "viewName" : "sap.ui.core.sample.odata.v4.RecursiveHierarchy.RecursiveHierarchy"
72
63
  }
@@ -31,9 +31,10 @@ sap.ui.define([
31
31
  aCells = aRows[iRowIndex].getCells();
32
32
  if (oExpected === null) {
33
33
  aCells.forEach(function (oCell, i) {
34
- // Note: don't care about invisible icon in 2nd column here
35
- strictEqual(oCell.getText ? oCell.getText() : oCell.getValue(), "",
36
- "Row " + iRowIndex + ", cell " + i + " is empty");
34
+ if (oCell.getText || oCell.getValue) {
35
+ strictEqual(oCell.getText?.() ?? oCell.getValue(), "",
36
+ "Row " + iRowIndex + ", cell " + i + " is empty");
37
+ } // else: don't care about invisible icon in 2nd column here (or button column)
37
38
  });
38
39
  return;
39
40
  }
@@ -14,6 +14,7 @@ sap.ui.define([
14
14
 
15
15
  return UIComponent.extend("sap.ui.core.sample.odata.v4.SalesOrderTP100_V2.Component", {
16
16
  metadata : {
17
+ interfaces : ["sap.ui.core.IAsyncContentCreation"],
17
18
  manifest : "json"
18
19
  }
19
20
  });
@@ -10,7 +10,6 @@
10
10
  <script id="sap-ui-bootstrap" src="resources/sap-ui-core.js"
11
11
  data-sap-ui-async="true"
12
12
  data-sap-ui-compatversion="edge"
13
- data-sap-ui-libs="sap.m"
14
13
  data-sap-ui-resourceroots='{"sap.ui.core.sample":"test-resources/sap/ui/core/demokit/sample"}'>
15
14
  </script>
16
15
 
@@ -22,11 +22,6 @@
22
22
  },
23
23
  "sap.ui" : {
24
24
  "_version" : "1.1.0",
25
- "deviceTypes" : {
26
- "desktop" : true,
27
- "phone" : true,
28
- "tablet" : true
29
- },
30
25
  "technology" : "UI5"
31
26
  },
32
27
  "sap.ui5" : {
@@ -44,14 +39,11 @@
44
39
  ]
45
40
  }
46
41
  },
47
- "contentDensities" : {
48
- "compact" : true,
49
- "cozy" : true
50
- },
51
42
  "dependencies" : {
52
43
  "minUI5Version" : "1.51",
53
44
  "libs" : {
54
- "sap.m" : {}
45
+ "sap.m" : {},
46
+ "sap.ui.core" : {}
55
47
  }
56
48
  },
57
49
  "handleValidation" : true,
@@ -70,7 +62,6 @@
70
62
  }
71
63
  },
72
64
  "rootView" : {
73
- "async" : true,
74
65
  "type" : "XML",
75
66
  "viewName" : "sap.ui.core.sample.odata.v4.SalesOrderTP100_V2.Main"
76
67
  }
@@ -13,6 +13,7 @@ sap.ui.define([
13
13
 
14
14
  return UIComponent.extend("sap.ui.core.sample.odata.v4.SalesOrderTP100_V4.Component", {
15
15
  metadata : {
16
+ interfaces : ["sap.ui.core.IAsyncContentCreation"],
16
17
  manifest : "json"
17
18
  }
18
19
  });
@@ -10,7 +10,6 @@
10
10
  <script id="sap-ui-bootstrap" src="resources/sap-ui-core.js"
11
11
  data-sap-ui-async="true"
12
12
  data-sap-ui-compatversion="edge"
13
- data-sap-ui-libs="sap.m"
14
13
  data-sap-ui-resourceroots='{"sap.ui.core.sample":"test-resources/sap/ui/core/demokit/sample"}'>
15
14
  </script>
16
15