@openui5/sap.ui.core 1.119.0 → 1.120.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.
- package/THIRDPARTY.txt +6 -6
- package/package.json +1 -1
- package/src/jquery.sap.global.js +40 -111
- package/src/jquery.sap.properties.js +7 -1
- package/src/jquery.sap.resources.js +1 -1
- package/src/jquery.sap.script.js +5 -3
- package/src/jquery.sap.storage.js +6 -3
- package/src/sap/base/Event.js +32 -78
- package/src/sap/base/Eventing.js +114 -271
- package/src/sap/base/Log.js +21 -1
- package/src/sap/base/config.js +14 -9
- package/src/sap/base/i18n/Formatting.js +378 -250
- package/src/sap/base/i18n/LanguageTag.js +64 -66
- package/src/sap/base/i18n/Localization.js +124 -85
- package/src/sap/base/i18n/ResourceBundle.js +1 -1
- package/src/sap/base/i18n/date/CalendarType.js +2 -2
- package/src/sap/base/i18n/date/CalendarWeekNumbering.js +2 -2
- package/src/sap/base/i18n/date/TimezoneUtils.js +43 -6
- package/src/sap/base/util/LoaderExtensions.js +8 -2
- package/src/sap/base/util/mixedFetch.js +1 -0
- package/src/sap/base/util/resolveReference.js +31 -13
- package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
- package/src/sap/base/util/restricted/_castArray.js +1 -1
- package/src/sap/base/util/restricted/_compact.js +1 -1
- package/src/sap/base/util/restricted/_curry.js +1 -1
- package/src/sap/base/util/restricted/_debounce.js +1 -1
- package/src/sap/base/util/restricted/_difference.js +1 -1
- package/src/sap/base/util/restricted/_differenceBy.js +1 -1
- package/src/sap/base/util/restricted/_differenceWith.js +1 -1
- package/src/sap/base/util/restricted/_flatMap.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
- package/src/sap/base/util/restricted/_flatten.js +1 -1
- package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
- package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
- package/src/sap/base/util/restricted/_intersection.js +1 -1
- package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
- package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
- package/src/sap/base/util/restricted/_isEqual.js +1 -1
- package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
- package/src/sap/base/util/restricted/_isNil.js +1 -1
- package/src/sap/base/util/restricted/_max.js +1 -1
- package/src/sap/base/util/restricted/_merge.js +1 -1
- package/src/sap/base/util/restricted/_mergeWith.js +1 -1
- package/src/sap/base/util/restricted/_min.js +1 -1
- package/src/sap/base/util/restricted/_omit.js +1 -1
- package/src/sap/base/util/restricted/_pick.js +1 -1
- package/src/sap/base/util/restricted/_pickBy.js +1 -1
- package/src/sap/base/util/restricted/_throttle.js +1 -1
- package/src/sap/base/util/restricted/_toArray.js +1 -1
- package/src/sap/base/util/restricted/_union.js +1 -1
- package/src/sap/base/util/restricted/_unionBy.js +1 -1
- package/src/sap/base/util/restricted/_unionWith.js +1 -1
- package/src/sap/base/util/restricted/_uniq.js +1 -1
- package/src/sap/base/util/restricted/_uniqBy.js +1 -1
- package/src/sap/base/util/restricted/_uniqWith.js +1 -1
- package/src/sap/base/util/restricted/_without.js +1 -1
- package/src/sap/base/util/restricted/_xor.js +1 -1
- package/src/sap/base/util/restricted/_xorBy.js +1 -1
- package/src/sap/base/util/restricted/_xorWith.js +1 -1
- package/src/sap/base/util/restricted/_zipObject.js +1 -1
- package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
- package/src/sap/base/util/syncFetch.js +1 -0
- package/src/sap/ui/Device.js +3 -3
- package/src/sap/ui/Global.js +6 -7
- package/src/sap/ui/base/BindingInfo.js +3 -3
- package/src/sap/ui/base/BindingParser.js +5 -2
- package/src/sap/ui/base/DataType.js +57 -1
- package/src/sap/ui/base/DesignTime.js +69 -0
- package/src/sap/ui/base/Event.js +2 -2
- package/src/sap/ui/base/EventProvider.js +1 -1
- package/src/sap/ui/base/ExpressionParser.js +25 -4
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +102 -29
- package/src/sap/ui/base/ManagedObjectMetadata.js +29 -31
- package/src/sap/ui/base/ManagedObjectObserver.js +1 -0
- package/src/sap/ui/base/Metadata.js +3 -3
- package/src/sap/ui/base/Object.js +19 -1
- package/src/sap/ui/base/ObjectPool.js +1 -1
- package/src/sap/ui/core/.library +3 -3
- package/src/sap/ui/core/AnimationMode.js +2 -2
- package/src/sap/ui/core/AppCacheBuster.js +30 -18
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/CalendarType.js +6 -0
- package/src/sap/ui/core/Component.js +150 -80
- package/src/sap/ui/core/ComponentContainer.js +4 -3
- package/src/sap/ui/core/ComponentMetadata.js +3 -4
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/Configuration.js +390 -706
- package/src/sap/ui/core/Control.js +1 -1
- package/src/sap/ui/core/ControlBehavior.js +37 -28
- package/src/sap/ui/core/Core.js +327 -151
- package/src/sap/ui/core/CustomData.js +1 -1
- package/src/sap/ui/core/DeclarativeSupport.js +3 -1
- package/src/sap/ui/core/Element.js +18 -8
- package/src/sap/ui/core/ElementMetadata.js +1 -1
- package/src/sap/ui/core/EnabledPropagator.js +3 -2
- package/src/sap/ui/core/EventBus.js +1 -1
- package/src/sap/ui/core/Fragment.js +1 -1
- package/src/sap/ui/core/HTML.js +1 -1
- package/src/sap/ui/core/History.js +1 -1
- package/src/sap/ui/core/Icon.js +1 -1
- package/src/sap/ui/core/IndicationColorSupport.js +13 -1
- package/src/sap/ui/core/IntervalTrigger.js +1 -1
- package/src/sap/ui/core/InvisibleMessage.js +2 -3
- package/src/sap/ui/core/InvisibleRenderer.js +1 -1
- package/src/sap/ui/core/InvisibleText.js +17 -1
- package/src/sap/ui/core/Item.js +1 -1
- package/src/sap/ui/core/LabelEnablement.js +8 -1
- package/src/sap/ui/core/LayoutData.js +1 -1
- package/src/sap/ui/core/Lib.js +195 -29
- package/src/sap/ui/core/ListItem.js +1 -1
- package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
- package/src/sap/ui/core/Locale.js +1 -1
- package/src/sap/ui/core/LocaleData.js +118 -32
- package/src/sap/ui/core/Manifest.js +4 -2
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/Placeholder.js +18 -0
- package/src/sap/ui/core/Popup.js +5 -0
- package/src/sap/ui/core/RenderManager.js +21 -17
- package/src/sap/ui/core/Renderer.js +1 -1
- package/src/sap/ui/core/Rendering.js +51 -47
- package/src/sap/ui/core/ResizeHandler.js +2 -2
- package/src/sap/ui/core/ScrollBar.js +1 -1
- package/src/sap/ui/core/SeparatorItem.js +1 -1
- package/src/sap/ui/core/Shortcut.js +5 -3
- package/src/sap/ui/core/Supportability.js +146 -0
- package/src/sap/ui/core/Theming.js +130 -88
- package/src/sap/ui/core/Title.js +1 -1
- package/src/sap/ui/core/TooltipBase.js +4 -3
- package/src/sap/ui/core/UIArea.js +1 -4
- package/src/sap/ui/core/UIComponent.js +38 -12
- package/src/sap/ui/core/UIComponentMetadata.js +1 -1
- package/src/sap/ui/core/ValueStateSupport.js +1 -1
- package/src/sap/ui/core/VariantLayoutData.js +1 -1
- package/src/sap/ui/core/XMLComposite.js +1 -1
- package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
- package/src/sap/ui/core/XMLTemplateProcessor.js +3 -3
- package/src/sap/ui/core/_IconRegistry.js +13 -6
- package/src/sap/ui/core/cldr/ar.json +143 -137
- package/src/sap/ui/core/cldr/ar_EG.json +143 -137
- package/src/sap/ui/core/cldr/ar_SA.json +143 -137
- package/src/sap/ui/core/cldr/bg.json +423 -423
- package/src/sap/ui/core/cldr/ca.json +541 -494
- package/src/sap/ui/core/cldr/cs.json +475 -364
- package/src/sap/ui/core/cldr/cy.json +656 -477
- package/src/sap/ui/core/cldr/da.json +334 -275
- package/src/sap/ui/core/cldr/de.json +388 -291
- package/src/sap/ui/core/cldr/de_AT.json +388 -291
- package/src/sap/ui/core/cldr/de_CH.json +394 -297
- package/src/sap/ui/core/cldr/el.json +169 -166
- package/src/sap/ui/core/cldr/el_CY.json +169 -166
- package/src/sap/ui/core/cldr/en.json +558 -521
- package/src/sap/ui/core/cldr/en_AU.json +558 -520
- package/src/sap/ui/core/cldr/en_GB.json +476 -439
- package/src/sap/ui/core/cldr/en_HK.json +520 -482
- package/src/sap/ui/core/cldr/en_IE.json +486 -448
- package/src/sap/ui/core/cldr/en_IN.json +466 -428
- package/src/sap/ui/core/cldr/en_NZ.json +506 -468
- package/src/sap/ui/core/cldr/en_PG.json +506 -468
- package/src/sap/ui/core/cldr/en_SG.json +506 -468
- package/src/sap/ui/core/cldr/en_ZA.json +486 -448
- package/src/sap/ui/core/cldr/es.json +473 -468
- package/src/sap/ui/core/cldr/es_AR.json +445 -440
- package/src/sap/ui/core/cldr/es_BO.json +479 -474
- package/src/sap/ui/core/cldr/es_CL.json +469 -464
- package/src/sap/ui/core/cldr/es_CO.json +387 -381
- package/src/sap/ui/core/cldr/es_MX.json +502 -497
- package/src/sap/ui/core/cldr/es_PE.json +455 -450
- package/src/sap/ui/core/cldr/es_UY.json +479 -474
- package/src/sap/ui/core/cldr/es_VE.json +499 -494
- package/src/sap/ui/core/cldr/et.json +378 -320
- package/src/sap/ui/core/cldr/fa.json +104 -104
- package/src/sap/ui/core/cldr/fi.json +401 -315
- package/src/sap/ui/core/cldr/fr.json +391 -385
- package/src/sap/ui/core/cldr/fr_BE.json +391 -385
- package/src/sap/ui/core/cldr/fr_CA.json +499 -493
- package/src/sap/ui/core/cldr/fr_CH.json +334 -328
- package/src/sap/ui/core/cldr/fr_LU.json +391 -385
- package/src/sap/ui/core/cldr/he.json +291 -159
- package/src/sap/ui/core/cldr/hi.json +157 -128
- package/src/sap/ui/core/cldr/hr.json +514 -461
- package/src/sap/ui/core/cldr/hu.json +287 -257
- package/src/sap/ui/core/cldr/id.json +463 -416
- package/src/sap/ui/core/cldr/it.json +468 -413
- package/src/sap/ui/core/cldr/it_CH.json +468 -413
- package/src/sap/ui/core/cldr/ja.json +98 -61
- package/src/sap/ui/core/cldr/kk.json +631 -571
- package/src/sap/ui/core/cldr/ko.json +79 -71
- package/src/sap/ui/core/cldr/lt.json +361 -270
- package/src/sap/ui/core/cldr/lv.json +234 -242
- package/src/sap/ui/core/cldr/ms.json +463 -408
- package/src/sap/ui/core/cldr/nb.json +176 -143
- package/src/sap/ui/core/cldr/nl.json +463 -393
- package/src/sap/ui/core/cldr/nl_BE.json +463 -393
- package/src/sap/ui/core/cldr/pl.json +633 -344
- package/src/sap/ui/core/cldr/pt.json +447 -336
- package/src/sap/ui/core/cldr/pt_PT.json +488 -449
- package/src/sap/ui/core/cldr/ro.json +477 -383
- package/src/sap/ui/core/cldr/ru.json +367 -332
- package/src/sap/ui/core/cldr/ru_UA.json +361 -326
- package/src/sap/ui/core/cldr/sk.json +502 -537
- package/src/sap/ui/core/cldr/sl.json +168 -161
- package/src/sap/ui/core/cldr/sr.json +276 -225
- package/src/sap/ui/core/cldr/sr_Latn.json +972 -907
- package/src/sap/ui/core/cldr/sv.json +420 -346
- package/src/sap/ui/core/cldr/th.json +117 -94
- package/src/sap/ui/core/cldr/tr.json +413 -359
- package/src/sap/ui/core/cldr/uk.json +395 -368
- package/src/sap/ui/core/cldr/vi.json +392 -379
- package/src/sap/ui/core/cldr/zh_CN.json +91 -33
- package/src/sap/ui/core/cldr/zh_HK.json +90 -32
- package/src/sap/ui/core/cldr/zh_SG.json +90 -32
- package/src/sap/ui/core/cldr/zh_TW.json +75 -51
- package/src/sap/ui/core/date/CalendarWeekNumbering.js +6 -0
- package/src/sap/ui/core/date/UI5Date.js +1 -1
- package/src/sap/ui/core/date/_Calendars.js +5 -2
- package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
- package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
- package/src/sap/ui/core/dnd/DragAndDrop.js +3 -2
- package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
- package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
- package/src/sap/ui/core/dnd/DragInfo.js +1 -1
- package/src/sap/ui/core/dnd/DropInfo.js +1 -1
- package/src/sap/ui/core/format/DateFormat.js +33 -21
- package/src/sap/ui/core/format/NumberFormat.js +3 -2
- package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
- package/src/sap/ui/core/getCompatibilityVersion.js +2 -2
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +128 -8
- package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
- package/src/sap/ui/core/message/Message.js +2 -2
- package/src/sap/ui/core/message/MessageManager.js +1 -1
- package/src/sap/ui/core/message/MessageParser.js +1 -1
- package/src/sap/ui/core/message/MessageProcessor.js +1 -1
- package/src/sap/ui/core/message/MessageType.js +2 -1
- package/src/sap/ui/core/messagebundle.properties +24 -0
- package/src/sap/ui/core/messagebundle_ar.properties +15 -3
- package/src/sap/ui/core/messagebundle_bg.properties +14 -2
- package/src/sap/ui/core/messagebundle_ca.properties +13 -1
- package/src/sap/ui/core/messagebundle_cs.properties +15 -3
- package/src/sap/ui/core/messagebundle_cy.properties +16 -4
- package/src/sap/ui/core/messagebundle_da.properties +15 -3
- package/src/sap/ui/core/messagebundle_de.properties +15 -3
- package/src/sap/ui/core/messagebundle_el.properties +16 -4
- package/src/sap/ui/core/messagebundle_en.properties +12 -0
- package/src/sap/ui/core/messagebundle_en_GB.properties +16 -4
- package/src/sap/ui/core/messagebundle_es.properties +15 -3
- package/src/sap/ui/core/messagebundle_es_MX.properties +15 -3
- package/src/sap/ui/core/messagebundle_et.properties +15 -3
- package/src/sap/ui/core/messagebundle_fi.properties +15 -3
- package/src/sap/ui/core/messagebundle_fr.properties +15 -3
- package/src/sap/ui/core/messagebundle_fr_CA.properties +14 -2
- package/src/sap/ui/core/messagebundle_hi.properties +16 -4
- package/src/sap/ui/core/messagebundle_hr.properties +14 -2
- package/src/sap/ui/core/messagebundle_hu.properties +16 -4
- package/src/sap/ui/core/messagebundle_id.properties +15 -3
- package/src/sap/ui/core/messagebundle_it.properties +17 -5
- package/src/sap/ui/core/messagebundle_iw.properties +15 -3
- package/src/sap/ui/core/messagebundle_ja.properties +25 -13
- package/src/sap/ui/core/messagebundle_kk.properties +15 -3
- package/src/sap/ui/core/messagebundle_ko.properties +14 -2
- package/src/sap/ui/core/messagebundle_lt.properties +15 -3
- package/src/sap/ui/core/messagebundle_lv.properties +15 -3
- package/src/sap/ui/core/messagebundle_mk.properties +352 -0
- package/src/sap/ui/core/messagebundle_ms.properties +15 -3
- package/src/sap/ui/core/messagebundle_nl.properties +15 -3
- package/src/sap/ui/core/messagebundle_no.properties +14 -2
- package/src/sap/ui/core/messagebundle_pl.properties +15 -3
- package/src/sap/ui/core/messagebundle_pt.properties +15 -3
- package/src/sap/ui/core/messagebundle_pt_PT.properties +14 -2
- package/src/sap/ui/core/messagebundle_ro.properties +15 -3
- package/src/sap/ui/core/messagebundle_ru.properties +15 -3
- package/src/sap/ui/core/messagebundle_sh.properties +43 -31
- package/src/sap/ui/core/messagebundle_sk.properties +16 -4
- package/src/sap/ui/core/messagebundle_sl.properties +15 -3
- package/src/sap/ui/core/messagebundle_sv.properties +22 -10
- package/src/sap/ui/core/messagebundle_th.properties +15 -3
- package/src/sap/ui/core/messagebundle_tr.properties +15 -3
- package/src/sap/ui/core/messagebundle_uk.properties +18 -6
- package/src/sap/ui/core/messagebundle_vi.properties +18 -6
- package/src/sap/ui/core/messagebundle_zh_CN.properties +15 -3
- package/src/sap/ui/core/messagebundle_zh_TW.properties +15 -3
- package/src/sap/ui/core/mvc/Controller.js +22 -16
- package/src/sap/ui/core/mvc/EventHandlerResolver.js +5 -15
- package/src/sap/ui/core/mvc/HTMLView.js +2 -2
- package/src/sap/ui/core/mvc/JSONView.js +4 -1
- package/src/sap/ui/core/mvc/JSONViewRenderer.js +1 -0
- package/src/sap/ui/core/mvc/JSView.js +1 -1
- package/src/sap/ui/core/mvc/OverrideExecution.js +4 -4
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/View.js +24 -14
- package/src/sap/ui/core/mvc/ViewType.js +2 -0
- package/src/sap/ui/core/mvc/XMLView.js +1 -1
- package/src/sap/ui/core/plugin/DeclarativeSupport.js +2 -1
- package/src/sap/ui/core/plugin/LessSupport.js +3 -1
- package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
- package/src/sap/ui/core/postmessage/Bus.js +1 -1
- package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
- package/src/sap/ui/core/routing/Router.js +2 -4
- package/src/sap/ui/core/routing/Target.js +1 -3
- package/src/sap/ui/core/routing/Targets.js +2 -3
- package/src/sap/ui/core/routing/Views.js +2 -3
- package/src/sap/ui/core/routing/async/Target.js +1 -1
- package/src/sap/ui/core/rules/Config.support.js +11 -17
- package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
- package/src/sap/ui/core/search/SearchProvider.js +1 -1
- package/src/sap/ui/core/service/Service.js +1 -1
- package/src/sap/ui/core/service/ServiceFactory.js +1 -1
- package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
- package/src/sap/ui/core/support/Hotkeys.js +5 -3
- package/src/sap/ui/core/support/Plugin.js +1 -1
- package/src/sap/ui/core/support/RuleEngineOpaExtension.js +1 -3
- package/src/sap/ui/core/support/Support.js +3 -5
- package/src/sap/ui/core/support/ToolsAPI.js +15 -11
- package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
- package/src/sap/ui/core/support/plugins/Interaction.js +4 -4
- package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
- package/src/sap/ui/core/support/plugins/Performance.js +1 -1
- package/src/sap/ui/core/support/plugins/Selector.js +7 -5
- package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
- package/src/sap/ui/core/support/plugins/Trace.js +1 -1
- package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
- package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +3 -1
- package/src/sap/ui/core/syncStyleClass.js +2 -2
- package/src/sap/ui/core/themes/base/fonts/SAP-icons.ttf +0 -0
- package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
- package/src/sap/ui/core/themes/base/global.less +9 -9
- package/src/sap/ui/core/theming/Parameters.js +18 -19
- package/src/sap/ui/core/theming/ThemeManager.js +23 -4
- package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
- package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
- package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
- package/src/sap/ui/core/tmpl/Template.js +1 -1
- package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
- package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
- package/src/sap/ui/core/util/Export.js +1 -1
- package/src/sap/ui/core/util/ExportCell.js +1 -1
- package/src/sap/ui/core/util/ExportColumn.js +1 -1
- package/src/sap/ui/core/util/ExportRow.js +1 -1
- package/src/sap/ui/core/util/ExportType.js +1 -1
- package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
- package/src/sap/ui/core/util/File.js +1 -1
- package/src/sap/ui/core/util/LibraryInfo.js +1 -1
- package/src/sap/ui/core/util/MockServer.js +1 -1
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/XMLPreprocessor.js +3 -0
- package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
- package/src/sap/ui/core/util/serializer/ViewSerializer.js +4 -4
- package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
- package/src/sap/ui/core/webc/WebComponent.js +1 -1
- package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
- package/src/sap/ui/core/ws/ReadyState.js +1 -1
- package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
- package/src/sap/ui/core/ws/WebSocket.js +1 -1
- package/src/sap/ui/debug/ControlTree.js +1 -1
- package/src/sap/ui/debug/DebugEnv.js +29 -7
- package/src/sap/ui/debug/PropertyList.js +1 -1
- package/src/sap/ui/model/ClientListBinding.js +3 -1
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/ClientTreeBinding.js +3 -1
- package/src/sap/ui/model/CompositeDataState.js +1 -1
- package/src/sap/ui/model/CompositeType.js +1 -1
- package/src/sap/ui/model/DataState.js +2 -2
- package/src/sap/ui/model/Filter.js +39 -1
- package/src/sap/ui/model/FilterProcessor.js +12 -2
- package/src/sap/ui/model/ListBinding.js +5 -0
- package/src/sap/ui/model/ManagedObjectBindingSupport.js +4 -4
- package/src/sap/ui/model/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +5 -1
- package/src/sap/ui/model/SelectionModel.js +1 -1
- package/src/sap/ui/model/SimpleType.js +1 -1
- package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
- package/src/sap/ui/model/TreeBinding.js +3 -0
- package/src/sap/ui/model/Type.js +1 -1
- package/src/sap/ui/model/analytics/AnalyticalBinding.js +3 -1
- package/src/sap/ui/model/json/JSONListBinding.js +3 -1
- package/src/sap/ui/model/json/JSONModel.js +1 -1
- package/src/sap/ui/model/json/JSONTreeBinding.js +3 -2
- package/src/sap/ui/model/message/MessageListBinding.js +3 -0
- package/src/sap/ui/model/message/MessageModel.js +1 -1
- package/src/sap/ui/model/odata/AnnotationHelper.js +9 -3
- package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/ODataListBinding.js +3 -0
- package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
- package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
- package/src/sap/ui/model/odata/ODataModel.js +9 -5
- package/src/sap/ui/model/odata/ODataPropertyBinding.js +1 -2
- package/src/sap/ui/model/odata/ODataTreeBinding.js +2 -0
- package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +9 -14
- package/src/sap/ui/model/odata/type/Boolean.js +1 -1
- package/src/sap/ui/model/odata/type/Byte.js +1 -1
- package/src/sap/ui/model/odata/type/Currency.js +1 -1
- package/src/sap/ui/model/odata/type/Date.js +1 -1
- package/src/sap/ui/model/odata/type/DateTime.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
- package/src/sap/ui/model/odata/type/Decimal.js +1 -1
- package/src/sap/ui/model/odata/type/Double.js +1 -1
- package/src/sap/ui/model/odata/type/Guid.js +1 -1
- package/src/sap/ui/model/odata/type/Int.js +1 -1
- package/src/sap/ui/model/odata/type/Int16.js +1 -1
- package/src/sap/ui/model/odata/type/Int32.js +1 -1
- package/src/sap/ui/model/odata/type/Int64.js +1 -1
- package/src/sap/ui/model/odata/type/ODataType.js +1 -1
- package/src/sap/ui/model/odata/type/Raw.js +1 -1
- package/src/sap/ui/model/odata/type/SByte.js +1 -1
- package/src/sap/ui/model/odata/type/Single.js +1 -1
- package/src/sap/ui/model/odata/type/Stream.js +1 -1
- package/src/sap/ui/model/odata/type/String.js +1 -1
- package/src/sap/ui/model/odata/type/Time.js +1 -1
- package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
- package/src/sap/ui/model/odata/type/Unit.js +1 -1
- package/src/sap/ui/model/odata/v2/Context.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +35 -13
- package/src/sap/ui/model/odata/v2/ODataModel.js +21 -8
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +33 -2
- package/src/sap/ui/model/odata/v4/Context.js +81 -7
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +217 -75
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataModel.js +6 -6
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +406 -199
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +12 -7
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +53 -30
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +6 -4
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +6 -6
- package/src/sap/ui/model/resource/ResourceModel.js +5 -6
- package/src/sap/ui/model/type/Boolean.js +1 -1
- package/src/sap/ui/model/type/Currency.js +1 -1
- package/src/sap/ui/model/type/Date.js +1 -1
- package/src/sap/ui/model/type/DateInterval.js +1 -1
- package/src/sap/ui/model/type/DateTime.js +1 -1
- package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
- package/src/sap/ui/model/type/FileSize.js +1 -1
- package/src/sap/ui/model/type/Float.js +1 -1
- package/src/sap/ui/model/type/Integer.js +1 -1
- package/src/sap/ui/model/type/String.js +1 -1
- package/src/sap/ui/model/type/Time.js +1 -1
- package/src/sap/ui/model/type/TimeInterval.js +1 -1
- package/src/sap/ui/model/type/Unit.js +1 -1
- package/src/sap/ui/model/xml/XMLListBinding.js +3 -0
- package/src/sap/ui/model/xml/XMLModel.js +1 -1
- package/src/sap/ui/model/xml/XMLTreeBinding.js +3 -0
- package/src/sap/ui/performance/BeaconRequest.js +2 -2
- package/src/sap/ui/qunit/QUnitUtils.js +64 -45
- package/src/sap/ui/qunit/qunit-coverage.js +6 -0
- package/src/sap/ui/qunit/utils/ControlIterator.js +31 -1
- package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
- package/src/sap/ui/security/Security.js +128 -0
- package/src/sap/ui/test/BlanketReporter.js +2 -3
- package/src/sap/ui/test/BlanketReporterUI.view.xml +1 -1
- package/src/sap/ui/test/BranchTracking.js +2 -3
- package/src/sap/ui/test/ModuleTracking.js +48 -20
- package/src/sap/ui/test/OpaExtension.js +3 -3
- package/src/sap/ui/test/OpaPlugin.js +16 -6
- package/src/sap/ui/test/TestUtils.js +7 -4
- package/src/sap/ui/test/_BrowserLogCollector.js +1 -0
- package/src/sap/ui/test/_ControlFinder.js +3 -2
- package/src/sap/ui/test/_LogCollector.js +1 -0
- package/src/sap/ui/test/_UsageReport.js +115 -114
- package/src/sap/ui/test/actions/EnterText.js +20 -2
- package/src/sap/ui/test/autowaiter/WaiterBase.js +1 -0
- package/src/sap/ui/test/autowaiter/_moduleWaiter.js +1 -2
- package/src/sap/ui/test/autowaiter/_timeoutWaiter.js +1 -1
- package/src/sap/ui/test/generic/GenericTestCollection.js +5 -0
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/test/generic/Utils.js +1 -1
- package/src/sap/ui/test/matchers/LabelFor.js +2 -12
- package/src/sap/ui/test/matchers/Matcher.js +1 -1
- package/src/sap/ui/test/pipelines/PipelineFactory.js +1 -0
- package/src/sap/ui/test/selectors/_Selector.js +1 -1
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/ui5loader-autoconfig.js +84 -11
- package/test/sap/ui/core/demokit/sample/RoutingNestedComponent/localService/mockserver.js +3 -4
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/ChartAnnotation.fragment.xml +7 -7
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Component.js +2 -3
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Detail.view.xml +12 -13
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Facets.fragment.xml +4 -4
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Field.fragment.xml +8 -8
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/FormFacet.fragment.xml +3 -5
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/LabeledField.fragment.xml +3 -3
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Table.fragment.xml +10 -10
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/TableFacet.fragment.xml +3 -3
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/extension/HeaderInfo.fragment.xml +1 -1
- package/test/sap/ui/core/demokit/sample/ViewTemplate/tiny/Field.fragment.xml +2 -2
- package/test/sap/ui/core/demokit/sample/ViewTemplate/tiny/Template.view.xml +19 -21
- package/test/sap/ui/core/demokit/sample/ViewTemplate/types/TemplateV4.view.xml +2 -2
- package/test/sap/ui/core/demokit/sample/ViewTemplate/valuelist/Component.js +2 -3
- package/test/sap/ui/core/demokit/sample/common/SandboxModelHelper.js +2 -3
- package/test/sap/ui/core/demokit/sample/common/ValueHelp.js +2 -3
- package/test/sap/ui/core/demokit/sample/common/pages/Any.js +7 -8
- package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.controller.js +15 -6
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/DataAggregation.controller.js +2 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.controller.js +3 -4
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.controller.js +39 -16
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.view.xml +18 -21
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/data/all.json +509 -395
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/data/metadata.xml +586 -422
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/manifest.json +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Main.controller.js +2 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Facets.fragment.xml +22 -23
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/FormattedText.fragment.xml +2 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Main.view.xml +7 -7
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.controller.js +0 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +54 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +34 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +156 -23
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Main.view.xml +3 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Facets.fragment.xml +22 -23
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/FormattedText.fragment.xml +2 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Main.view.xml +5 -5
- package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Main.controller.js +2 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +2 -2
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +2 -2
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Component.js +2 -3
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.view.xml +1 -1
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/SandboxModel.js +2 -3
- package/test/sap/ui/core/qunit/CompositeBinding.qunit.js +18 -0
- package/test/sap/ui/core/qunit/ControlRenderer.qunit.js +4 -3
- package/test/sap/ui/core/qunit/Core.qunit.js +5 -14
- package/test/sap/ui/core/qunit/Core_libraryPreloadFiles.qunit.js +4 -4
- package/test/sap/ui/core/qunit/Core_libraryPreloadFiles_unavoidablyUsingEval.qunit.js +6 -6
- package/test/sap/ui/core/qunit/Core_unavoidablyUsingEval.qunit.js +31 -30
- package/test/sap/ui/core/qunit/DataState.qunit.js +7 -4
- package/test/sap/ui/core/qunit/DuplicateIds.qunit.js +3 -0
- package/test/sap/ui/core/qunit/DuplicateIds_noError.qunit.js +4 -0
- package/test/sap/ui/core/qunit/Element_metadata_renderer.qunit.js +6 -0
- package/test/sap/ui/core/qunit/ExpressionParser.qunit.js +144 -85
- package/test/sap/ui/core/qunit/HTML.qunit.js +87 -84
- package/test/sap/ui/core/qunit/InvisibleText.qunit.js +22 -1
- package/test/sap/ui/core/qunit/LRUPersistentCache.qunit.js +4 -4
- package/test/sap/ui/core/qunit/Lib.qunit.js +22 -1
- package/test/sap/ui/core/qunit/ListBinding.qunit.js +14 -1
- package/test/sap/ui/core/qunit/ManagedObject.qunit.js +5 -2
- package/test/sap/ui/core/qunit/ManagedObjectMetadata.qunit.js +41 -40
- package/test/sap/ui/core/qunit/ManagedObjectModel.qunit.js +2 -1
- package/test/sap/ui/core/qunit/{ManagedObject_noBoot.qunit.js → ManagedObject_BindingParser.qunit.js} +10 -9
- package/test/sap/ui/core/qunit/Object.qunit.js +36 -0
- package/test/sap/ui/core/qunit/RenderManager.qunit.js +86 -94
- package/test/sap/ui/core/qunit/ShortcutHints.qunit.js +11 -97
- package/test/sap/ui/core/qunit/StaticBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/UIArea.qunit.js +34 -35
- package/test/sap/ui/core/qunit/analytics/AnalyticalTreeBindingAdapter.qunit.js +3 -0
- package/test/sap/ui/core/qunit/analytics/ODataModelAdapter.qunit.js +3 -0
- package/test/sap/ui/core/qunit/analytics/odata4analytics.qunit.js +3 -0
- package/test/sap/ui/core/qunit/app/DesignMode_controllerDeactivated.qunit.js +5 -6
- package/test/sap/ui/core/qunit/app/DesignMode_suppressedDeactivation.qunit.js +5 -6
- package/test/sap/ui/core/qunit/app/MessageListBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/app/_createDesignModeTests_legacyAPIs.qunit.js +8 -10
- package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +2 -2
- package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.js +30 -30
- package/test/sap/ui/core/qunit/base/i18n/ResourceBundle.qunit.js +123 -10
- package/test/sap/ui/core/qunit/base/util/resolveReference.qunit.js +9 -0
- package/test/sap/ui/core/qunit/base/util/testdata/MyModule.js +5 -0
- package/test/sap/ui/core/qunit/bootstrap/BootstrapCustomBootTaskPreloadCss.beforeBootstrap.qunit.js +4 -2
- package/test/sap/ui/core/qunit/bootstrap/BootstrapMinimal.qunit.html +1 -0
- package/test/sap/ui/core/qunit/bootstrap/BootstrapPreload.qunit.js +9 -10
- package/test/sap/ui/core/qunit/bootstrap/BootstrapPreload_legacyAPIs.qunit.js +0 -2
- package/test/sap/ui/core/qunit/bootstrap/BootstrapWithinBody.qunit.html +2 -1
- package/test/sap/ui/core/qunit/bootstrap/BootstrapWithinHead.qunit.html +2 -1
- package/test/sap/ui/core/qunit/bootstrap/Configuration.qunit.js +122 -266
- package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibConfigured.qunit.html +22 -0
- package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibConfigured.qunit.js +22 -0
- package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibLoaded.qunit.html +22 -0
- package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibLoaded.qunit.js +16 -0
- package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibNotLoaded.qunit.html +22 -0
- package/test/sap/ui/core/qunit/bootstrap/ConfigurationFlexibility_LibNotLoaded.qunit.js +14 -0
- package/test/sap/ui/core/qunit/bootstrap/ControlBehavior.qunit.js +110 -0
- package/test/sap/ui/core/qunit/bootstrap/PreloadCfg.qunit.js +4 -3
- package/test/sap/ui/core/qunit/bootstrap/ResourceRoot_ResourcesURL_Standard.qunit.html +1 -1
- package/test/sap/ui/core/qunit/bootstrap/ThemeVersion.beforeBootstrap.qunit.js +2 -3
- package/test/sap/ui/core/qunit/bootstrap/_checkCoreAndLibraryBooted.qunit.js +39 -34
- package/test/sap/ui/core/qunit/bootstrap/_checkCoreAndLibraryBooted_legacyAPIs.qunit.js +5 -1
- package/test/sap/ui/core/qunit/bootstrap/testsuite.bootstrap.qunit.js +51 -15
- package/test/sap/ui/core/qunit/compat_legacyAPIs/jquery-compat.qunit.html +23 -0
- package/test/sap/ui/core/qunit/compat_legacyAPIs/jquery-compat.qunit.js +1 -1
- package/test/sap/ui/core/qunit/compat_legacyAPIs/jquery.sap.stubs.qunit.js +16 -20
- package/test/sap/ui/core/qunit/compat_legacyAPIs/testsuite.compat.qunit.js +1 -4
- package/test/sap/ui/core/qunit/component/Component.qunit.js +74 -4
- package/test/sap/ui/core/qunit/component/Models.qunit.js +3 -1
- package/test/sap/ui/core/qunit/component/Preloading.qunit.js +8 -12
- package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +8 -2
- package/test/sap/ui/core/qunit/component/testdata/routerPreloading/Component.js +23 -0
- package/test/sap/ui/core/qunit/component/testdata/routerPreloading/Main.view.xml +8 -0
- package/test/sap/ui/core/qunit/component/testdata/routerPreloading/manifest.json +34 -0
- package/test/sap/ui/core/qunit/component/testdata/targetsPreloading/Component.js +23 -0
- package/test/sap/ui/core/qunit/component/testdata/targetsPreloading/Main.view.xml +8 -0
- package/test/sap/ui/core/qunit/component/testdata/targetsPreloading/manifest.json +28 -0
- package/test/sap/ui/core/qunit/date/_Calendars.qunit.js +52 -0
- package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaks.qunit.js +18 -0
- package/test/sap/ui/core/qunit/generic/legacy/ControlMemoryLeaksUsingIterator.qunit.js +3 -4
- package/test/sap/ui/core/qunit/generic/legacy/DuplicateIdCheck.qunit.js +18 -0
- package/test/sap/ui/core/qunit/generic/legacy/SettersContextReturn.qunit.js +15 -0
- package/test/sap/ui/core/qunit/generic/testsuite.generic.qunit.js +21 -0
- package/test/sap/ui/core/qunit/gherkin/fixture/testHarnessAmbiguous.js +2 -3
- package/test/sap/ui/core/qunit/gherkin/fixture/testHarnessDuplicate.js +2 -3
- package/test/sap/ui/core/qunit/gherkin/fixture/testHarnessFailing.js +2 -3
- package/test/sap/ui/core/qunit/gherkin/opa5TestHarness.qunit.html +16 -0
- package/test/sap/ui/core/qunit/gherkin/opa5TestHarness.qunit.js +1 -1
- package/test/sap/ui/core/qunit/gherkin/qUnitTestHarness.qunit.html +16 -0
- package/test/sap/ui/core/qunit/gherkin/qUnitTestHarness.qunit.js +1 -1
- package/test/sap/ui/core/qunit/gherkin/testsuite.gherkin.qunit.js +3 -2
- package/test/sap/ui/core/qunit/i18n/Buddhist.qunit.js +3 -0
- package/test/sap/ui/core/qunit/i18n/GenericLocaleData.qunit.js +217 -114
- package/test/sap/ui/core/qunit/i18n/Islamic.qunit.js +3 -0
- package/test/sap/ui/core/qunit/i18n/Japanese.qunit.js +3 -0
- package/test/sap/ui/core/qunit/i18n/LocaleData.qunit.js +341 -7
- package/test/sap/ui/core/qunit/i18n/Persian.qunit.js +3 -0
- package/test/sap/ui/core/qunit/i18n/UniversalDate.qunit.js +3 -0
- package/test/sap/ui/core/qunit/i18n/UniversalDateUtils.qunit.js +10 -1
- package/test/sap/ui/core/qunit/i18n/helper/_timezones.js +17 -11
- package/test/sap/ui/core/qunit/i18n/testsuite.i18n.qunit.js +7 -1
- package/test/sap/ui/core/qunit/internal/1Ring.qunit.html +5 -1
- package/test/sap/ui/core/qunit/internal/1RingModels.qunit.html +2 -2
- package/test/sap/ui/core/qunit/internal/1RingModels.qunit.js +1 -0
- package/test/sap/ui/core/qunit/internal/AnnotationParser.qunit.html +1 -2
- package/test/sap/ui/core/qunit/internal/ODataV4.qunit.html +6 -1
- package/test/sap/ui/core/qunit/internal/testsuite.feature-odata-v4.qunit.js +2 -1
- package/test/sap/ui/core/qunit/jquery.sap.global-config.qunit.html +24 -0
- package/test/sap/ui/core/qunit/jquery.sap.global-config.qunit.js +12 -6
- package/test/sap/ui/core/qunit/jquery.sap.global-config_beforeBootstrap.qunit.js +1 -1
- package/test/sap/ui/core/qunit/json/JSONListBinding.qunit.js +30 -0
- package/test/sap/ui/core/qunit/loader/exposeAsAMDLoader.qunit.html +1 -0
- package/test/sap/ui/core/qunit/model/Binding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/ClientListBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/ClientPropertyBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/ClientTreeBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/ClientTreeBindingAdapter.qunit.js +6 -0
- package/test/sap/ui/core/qunit/model/CompositeDataState.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/Context.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/ContextBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/Filter.qunit.js +49 -0
- package/test/sap/ui/core/qunit/model/FilterProcessor.qunit.js +40 -1
- package/test/sap/ui/core/qunit/model/ListBinding.qunit.js +23 -5
- package/test/sap/ui/core/qunit/model/Model.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/PropertyBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/Sorter.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/TreeBinding.qunit.js +43 -3
- package/test/sap/ui/core/qunit/model/TreeBindingAdapter.qunit.js +3 -0
- package/test/sap/ui/core/qunit/mvc/Controller.qunit.js +107 -93
- package/test/sap/ui/core/qunit/mvc/View.qunit.js +3 -0
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessor.qunit.js +17 -14
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorAsync.qunit.js +23 -12
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +29 -82
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML_unavoidablySync.qunit.js +123 -0
- package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions.qunit.js +4 -0
- package/test/sap/ui/core/qunit/mvc/extensions/Controllerextensions_legacy.qunit.js +4 -0
- package/test/sap/ui/core/qunit/mvc/testsuite.mvc.qunit.js +16 -0
- package/test/sap/ui/core/qunit/mvc/viewprocessing/ViewProcessing.qunit.js +408 -419
- package/test/sap/ui/core/qunit/odata/AnnotationHelper.qunit.js +6 -4
- package/test/sap/ui/core/qunit/odata/ODataAnnotations.qunit.js +16 -0
- package/test/sap/ui/core/qunit/odata/ODataMetaModel.qunit.js +8 -1
- package/test/sap/ui/core/qunit/odata/ODataUtils.qunit.js +5 -1
- package/test/sap/ui/core/qunit/odata/type/DateTimeBase.qunit.js +4 -4
- package/test/sap/ui/core/qunit/odata/type/DateTimeWithTimezone.qunit.js +6 -6
- package/test/sap/ui/core/qunit/odata/type/Time.qunit.js +3 -4
- package/test/sap/ui/core/qunit/odata/type/TimeOfDay.qunit.js +4 -4
- package/test/sap/ui/core/qunit/odata/v2/ODataListBindingNoFakeService.qunit.js +36 -13
- package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +952 -292
- package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +6 -4
- package/test/sap/ui/core/qunit/odata/v2/ODataPropertyBindingNoFakeService.qunit.js +6 -7
- package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingFlatNoFakeService.qunit.js +215 -1
- package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingNoFakeService.qunit.js +194 -3
- package/test/sap/ui/core/qunit/odata/v2/V2ODataModelDataState.qunit.js +3 -2
- package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +69 -2
- package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +601 -99
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +1859 -407
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +7 -5
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.realOData.qunit.js +4 -4
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +909 -422
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +21 -6
- package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +104 -33
- package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +8 -0
- package/test/sap/ui/core/qunit/odata/v4/lib/_MetadataRequestor.qunit.js +4 -4
- package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +9 -9
- package/test/sap/ui/core/qunit/odata/v4/lib/_V2MetadataConverter.qunit.js +3 -3
- package/test/sap/ui/core/qunit/odata/v4/lib/_V4MetadataConverter.qunit.js +3 -3
- package/test/sap/ui/core/qunit/opa/OpaPlugin.qunit.js +16 -0
- package/test/sap/ui/core/qunit/opa/_LogCollector.qunit.js +17 -9
- package/test/sap/ui/core/qunit/opa/actions/EnterText.qunit.js +51 -3
- package/test/sap/ui/core/qunit/opa/autowaiter/_cssAnimationWaiter.js +3 -3
- package/test/sap/ui/core/qunit/opa/autowaiter/_cssTransitionWaiter.js +3 -3
- package/test/sap/ui/core/qunit/opa/autowaiter/_jsAnimationWaiter.js +3 -3
- package/test/sap/ui/core/qunit/opa/autowaiter/_timeoutWaiter.js +11 -0
- package/test/sap/ui/core/qunit/opa/fixture/miniUI5Site.js +14 -8
- package/test/sap/ui/core/qunit/opa/fixture/uncaughtError.js +18 -12
- package/test/sap/ui/core/qunit/performance/BeaconRequest.qunit.js +18 -2
- package/test/sap/ui/core/qunit/resource/ResourceBinding.qunit.js +1 -0
- package/test/sap/ui/core/qunit/resource/ResourceModel.qunit.js +5 -4
- package/test/sap/ui/core/qunit/routing/async/Target.qunit.js +20 -18
- package/test/sap/ui/core/qunit/routing/async/Targets.qunit.js +1 -4
- package/test/sap/ui/core/qunit/routing/fixture/routingConfig/Component.js +2 -25
- package/test/sap/ui/core/qunit/routing/fixture/routingConfig/manifest.json +28 -0
- package/test/sap/ui/core/qunit/rule/misc/silentEventBus.qunit.js +1 -2
- package/test/sap/ui/core/qunit/testdata/libraries/scenario11/lib1/library.js +11 -0
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib1/library-preload.js +3 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib1/library.js +3 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib2/library-preload.js +3 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib2/library.js +3 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib3/library-preload.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib3/library.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib5/library-preload.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib5/library.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib6/library-preload.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib6/library.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib8/library-preload.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/scenario14/lib8/library.js +2 -1
- package/test/sap/ui/core/qunit/testdata/libraries/terminologies/integration/lib/library-preload.js +1 -1
- package/test/sap/ui/core/qunit/testdata/shortcutHints/Component.js +9 -0
- package/test/sap/ui/core/qunit/testdata/shortcutHints/RootView.controller.js +8 -0
- package/test/sap/ui/core/qunit/testdata/shortcutHints/RootView.view.xml +16 -0
- package/test/sap/ui/core/qunit/testdata/shortcutHints/lib/MyControl.js +27 -0
- package/test/sap/ui/core/qunit/testdata/shortcutHints/manifest.json +26 -0
- package/test/sap/ui/core/qunit/testdata/uilib-custom-theme-fallback/library.js +4 -5
- package/test/sap/ui/core/qunit/testdata/uilib-failing-css-import/library.js +5 -6
- package/test/sap/ui/core/qunit/testdata/xml-require/view/XMLTemplateProcessorAsync_require_expression.controller.js +2 -1
- package/test/sap/ui/core/qunit/testdata/xml-require/view/XMLTemplateProcessorAsync_require_expression.view.xml +18 -1
- package/test/sap/ui/core/qunit/testsuite.core.framework.qunit.js +3 -0
- package/test/sap/ui/core/qunit/testsuites/testsuite.control.framework.qunit.js +0 -4
- package/test/sap/ui/core/qunit/testsuites/testsuite.foundation.enablement.qunit.js +6 -1
- package/test/sap/ui/core/qunit/testsuites/testsuite.managed.object.qunit.js +4 -1
- package/test/sap/ui/core/qunit/testsuites/testsuite.modular.core.qunit.js +1 -1
- package/test/sap/ui/core/qunit/testsuites/testsuite.security.qunit.js +3 -9
- package/test/sap/ui/core/qunit/types/DataType.qunit.js +14 -3
- package/test/sap/ui/core/qunit/types/Date.qunit.js +3 -0
- package/test/sap/ui/core/qunit/types/DateFormat.qunit.js +391 -147
- package/test/sap/ui/core/qunit/types/DateFormatTimezones.qunit.js +32 -29
- package/test/sap/ui/core/qunit/types/DateInterval.qunit.js +7 -4
- package/test/sap/ui/core/qunit/types/FileSizeFormat.qunit.js +5 -1
- package/test/sap/ui/core/qunit/types/ListFormat.qunit.js +3 -0
- package/test/sap/ui/core/qunit/types/NumberFormat.qunit.js +4 -3
- package/test/sap/ui/core/qunit/types/NumberFormatCurrencies.qunit.js +5 -4
- package/test/sap/ui/core/qunit/types/NumberFormatCurrenciesTrailing.qunit.js +4 -3
- package/test/sap/ui/core/qunit/types/SimpleType.qunit.js +3 -0
- package/test/sap/ui/core/qunit/types/TimezoneUtil.qunit.js +23 -0
- package/test/sap/ui/core/qunit/types/Types.qunit.js +44 -10
- package/test/sap/ui/core/qunit/types/testsuite.types.qunit.js +3 -0
- package/test/sap/ui/core/qunit/util/InvisibleMessage.qunit.js +4 -4
- package/test/sap/ui/core/qunit/util/XMLPreprocessor.qunit.js +592 -83
- package/test/sap/ui/core/qunit/util/beforeBootstrap/jQuery.sap.FrameOptions-allowlist.js +7 -0
- package/test/sap/ui/core/qunit/util/beforeBootstrap/jQuery.sap.FrameOptions-frameOptions.js +7 -0
- package/test/sap/ui/core/qunit/{bootstrap/CfgFromGlobalObject.qunit.html → util/jQuery.sap.FrameOptions-meta-tag-override-mode.qunit.html} +7 -11
- package/test/sap/ui/core/qunit/util/jQuery.sap.FrameOptions-meta-tag-override-mode.qunit.js +3 -4
- package/test/sap/ui/core/qunit/util/jQuery.sap.FrameOptions-meta-tag-override-service.qunit.html +26 -0
- package/test/sap/ui/core/qunit/util/jQuery.sap.FrameOptions-meta-tag-override-service.qunit.js +3 -4
- package/test/sap/ui/core/qunit/{bootstrap/CfgDefaults.qunit.html → util/jQuery.sap.FrameOptions-meta-tag.qunit.html} +5 -8
- package/test/sap/ui/core/qunit/util/jQuery.sap.FrameOptions-meta-tag.qunit.js +3 -4
- package/test/sap/ui/core/qunit/util/jQuery.sap.Version.qunit.js +10 -10
- package/test/sap/ui/core/qunit/util/jquery.sap.logger.qunit.html +18 -0
- package/test/sap/ui/core/qunit/util/jquery.sap.resources.qunit.js +1 -1
- package/test/sap/ui/core/qunit/util/testsuite.util.qunit.js +1 -3
- package/test/sap/ui/core/qunit/xml/XMLListBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/xml/XMLModel.qunit.js +3 -0
- package/test/sap/ui/core/qunit/xml/XMLPropertyBinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/xml/XMLTreeBinding.qunit.js +3 -0
- package/test/sap/ui/core/relnotes/changes-1.119.json +1 -12
- package/test/sap/ui/core/relnotes/changes-1.120.json +360 -0
- package/test/sap/ui/core/terminologies/App.controller.js +2 -3
- package/test/sap/ui/core/terminologies/main.js +2 -3
- package/test/sap/ui/test/qunit/TestUtils.qunit.js +3 -3
- package/src/sap/ui/core/ConfigTest.js +0 -17
- package/src/sap/ui/core/_ConfigurationProvider.js +0 -187
- package/test/sap/ui/core/ComponentExtensibility_CustomizingDisabled.html +0 -57
- package/test/sap/ui/core/qunit/bootstrap/CfgDefaults.qunit.js +0 -71
- package/test/sap/ui/core/qunit/bootstrap/CfgFromConfigAttribute.qunit.html +0 -29
- package/test/sap/ui/core/qunit/bootstrap/CfgFromConfigAttribute.qunit.js +0 -40
- package/test/sap/ui/core/qunit/bootstrap/CfgFromGlobalObject.beforeBootstrap.qunit.js +0 -20
- package/test/sap/ui/core/qunit/bootstrap/CfgFromGlobalObject.qunit.js +0 -40
- package/test/sap/ui/core/qunit/bootstrap/CfgFromTagAttributes.qunit.html +0 -42
- package/test/sap/ui/core/qunit/bootstrap/CfgFromTagAttributes.qunit.js +0 -49
- package/test/sap/ui/core/qunit/util/BusyIndicatorNoCore.qunit.js +0 -96
- package/test/sap/ui/core/qunit/util/beforeBootstrap/jQuery.sap.FrameOptions-meta-tag.js +0 -10
- package/test/sap/ui/core/samples/mvc/JSONView.html +0 -65
|
@@ -57,7 +57,7 @@ sap.ui.define([
|
|
|
57
57
|
* @mixes sap.ui.model.odata.v4.ODataParentBinding
|
|
58
58
|
* @public
|
|
59
59
|
* @since 1.37.0
|
|
60
|
-
* @version 1.
|
|
60
|
+
* @version 1.120.0
|
|
61
61
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getGroupId as #getGroupId
|
|
62
62
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getRootBinding as #getRootBinding
|
|
63
63
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getUpdateGroupId as #getUpdateGroupId
|
|
@@ -683,7 +683,9 @@ sap.ui.define([
|
|
|
683
683
|
|
|
684
684
|
if (iCount > 0) {
|
|
685
685
|
aContexts.splice(iModelIndex + 1, iCount).forEach(function (oContext) {
|
|
686
|
-
|
|
686
|
+
if (!oContext.created()) {
|
|
687
|
+
that.mPreviousContextsByPath[oContext.getPath()] = oContext;
|
|
688
|
+
} // else: created (even persisted) is kept inside "context" annotation
|
|
687
689
|
});
|
|
688
690
|
for (i = iModelIndex + 1; i < aContexts.length; i += 1) {
|
|
689
691
|
if (aContexts[i]) {
|
|
@@ -772,10 +774,11 @@ sap.ui.define([
|
|
|
772
774
|
*
|
|
773
775
|
* Creating a new child beneath an existing and visible parent node (which must either be a leaf
|
|
774
776
|
* or expanded, but not collapsed) is supported (@experimental as of version 1.117.0) in case of
|
|
775
|
-
* a recursive hierarchy (see {@link #setAggregation}). The parent node must be identified via
|
|
776
|
-
* {@link sap.ui.model.odata.v4.Context} instance given as
|
|
777
|
-
* <code>oInitialData["@$ui5.node.parent"]</code
|
|
778
|
-
*
|
|
777
|
+
* a recursive hierarchy (see {@link #setAggregation}). The parent node must be identified via
|
|
778
|
+
* an {@link sap.ui.model.odata.v4.Context} instance given as
|
|
779
|
+
* <code>oInitialData["@$ui5.node.parent"]</code> (which is immediately removed from the new
|
|
780
|
+
* child's data). It can be <code>null</code> or absent when creating a new root node
|
|
781
|
+
* (@experimental as of version 1.120.0). <code>bSkipRefresh</code> must be set, but both
|
|
779
782
|
* <code>bAtEnd</code> and <code>bInactive</code> must not be set. No other creation or
|
|
780
783
|
* {@link sap.ui.model.odata.v4.Context#move move} must be pending, and no other modification
|
|
781
784
|
* (including collapse of some ancestor node) must happen while this creation is pending!
|
|
@@ -840,14 +843,13 @@ sap.ui.define([
|
|
|
840
843
|
*/
|
|
841
844
|
ODataListBinding.prototype.create = function (oInitialData, bSkipRefresh, bAtEnd, bInactive) {
|
|
842
845
|
var oAggregation = this.mParameters.$$aggregation,
|
|
843
|
-
iChildIndex,
|
|
846
|
+
iChildIndex, // used only in case of recursive hierarchy
|
|
844
847
|
oContext,
|
|
845
848
|
oCreatePathPromise = this.fetchResourcePath(),
|
|
846
849
|
oCreatePromise,
|
|
847
850
|
oEntityData,
|
|
848
851
|
sGroupId = this.getUpdateGroupId(),
|
|
849
852
|
oGroupLock,
|
|
850
|
-
oParentContext,
|
|
851
853
|
sResolvedPath = this.getResolvedPath(),
|
|
852
854
|
sTransientPredicate = "($uid=" + _Helper.uid() + ")",
|
|
853
855
|
sTransientPath = sResolvedPath + sTransientPredicate,
|
|
@@ -893,24 +895,25 @@ sap.ui.define([
|
|
|
893
895
|
// remove any property starting with "@$ui5."
|
|
894
896
|
oEntityData = _Helper.publicClone(oInitialData, true) || {};
|
|
895
897
|
if (oAggregation) {
|
|
896
|
-
if (oAggregation.expandTo > 1) {
|
|
897
|
-
throw new Error("Unsupported $$aggregation.expandTo: " + oAggregation.expandTo);
|
|
898
|
-
}
|
|
899
898
|
if (!bSkipRefresh) {
|
|
900
899
|
throw new Error("Missing bSkipRefresh");
|
|
901
900
|
}
|
|
902
901
|
if (arguments.length > 2) {
|
|
903
902
|
throw new Error("Only the parameters oInitialData and bSkipRefresh are supported");
|
|
904
903
|
}
|
|
905
|
-
oParentContext = oInitialData["@$ui5.node.parent"];
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
904
|
+
const oParentContext = oInitialData?.["@$ui5.node.parent"];
|
|
905
|
+
if (oParentContext) {
|
|
906
|
+
iChildIndex = this.aContexts.indexOf(oParentContext) + 1;
|
|
907
|
+
if (iChildIndex <= 0) {
|
|
908
|
+
throw new Error("Invalid parent context: " + oParentContext);
|
|
909
|
+
}
|
|
910
|
+
if (oParentContext.isExpanded() === false) {
|
|
911
|
+
throw new Error("Unsupported collapsed parent: " + oParentContext);
|
|
912
|
+
}
|
|
913
|
+
oEntityData["@$ui5.node.parent"] = oParentContext.getCanonicalPath().slice(1);
|
|
914
|
+
} else {
|
|
915
|
+
iChildIndex = 0;
|
|
912
916
|
}
|
|
913
|
-
oEntityData["@$ui5.node.parent"] = oParentContext.getCanonicalPath().slice(1);
|
|
914
917
|
} else {
|
|
915
918
|
this.iCreatedContexts += 1;
|
|
916
919
|
}
|
|
@@ -970,8 +973,7 @@ sap.ui.define([
|
|
|
970
973
|
});
|
|
971
974
|
|
|
972
975
|
oContext = Context.create(this.oModel, this, sTransientPath,
|
|
973
|
-
|
|
974
|
-
oCreatePromise, bInactive);
|
|
976
|
+
iChildIndex ?? -this.iCreatedContexts, oCreatePromise, bInactive);
|
|
975
977
|
if (this.isTransient()) {
|
|
976
978
|
oContext.created().catch(this.oModel.getReporter());
|
|
977
979
|
}
|
|
@@ -983,7 +985,7 @@ sap.ui.define([
|
|
|
983
985
|
} // else: context already destroyed
|
|
984
986
|
});
|
|
985
987
|
|
|
986
|
-
if (
|
|
988
|
+
if (iChildIndex !== undefined) {
|
|
987
989
|
this.aContexts.splice(iChildIndex, 0, oContext);
|
|
988
990
|
for (i = this.aContexts.length - 1; i > iChildIndex; i -= 1) {
|
|
989
991
|
if (this.aContexts[i]) {
|
|
@@ -1069,6 +1071,10 @@ sap.ui.define([
|
|
|
1069
1071
|
delete this.mPreviousContextsByPath[sContextPath];
|
|
1070
1072
|
oContext.iIndex = i$skipIndex;
|
|
1071
1073
|
oContext.checkUpdate();
|
|
1074
|
+
} else if (_Helper.hasPrivateAnnotation(aResults[i], "context")) {
|
|
1075
|
+
// created persisted contexts can be restored from their data, for example in
|
|
1076
|
+
// case of Recursive Hierarchy maintenance
|
|
1077
|
+
oContext = _Helper.getPrivateAnnotation(aResults[i], "context");
|
|
1072
1078
|
} else {
|
|
1073
1079
|
oContext = Context.create(oModel, this, sContextPath, i$skipIndex);
|
|
1074
1080
|
}
|
|
@@ -1112,14 +1118,8 @@ sap.ui.define([
|
|
|
1112
1118
|
var bReset = false,
|
|
1113
1119
|
that = this;
|
|
1114
1120
|
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
if (oAggregation.expandTo > 1) {
|
|
1118
|
-
throw new Error("Unsupported $$aggregation.expandTo: " + oAggregation.expandTo);
|
|
1119
|
-
}
|
|
1120
|
-
if (oContext.iIndex === undefined) {
|
|
1121
|
-
throw new Error("Unsupported kept-alive context: " + oContext);
|
|
1122
|
-
}
|
|
1121
|
+
if (this.mParameters.$$aggregation && oContext.iIndex === undefined) {
|
|
1122
|
+
throw new Error("Unsupported kept-alive context: " + oContext);
|
|
1123
1123
|
}
|
|
1124
1124
|
if (oContext.isDeleted()) {
|
|
1125
1125
|
return oContext.oDeletePromise; // do not delete twice
|
|
@@ -1127,7 +1127,7 @@ sap.ui.define([
|
|
|
1127
1127
|
|
|
1128
1128
|
const bExpanded = oContext.isExpanded();
|
|
1129
1129
|
if (bExpanded) {
|
|
1130
|
-
this.collapse(oContext);
|
|
1130
|
+
this.collapse(oContext, /*bSilent*/true);
|
|
1131
1131
|
}
|
|
1132
1132
|
|
|
1133
1133
|
// When deleting a context with negative index, iCreatedContexts et al. must be adjusted.
|
|
@@ -1210,7 +1210,8 @@ sap.ui.define([
|
|
|
1210
1210
|
that.reset(ChangeReason.Change);
|
|
1211
1211
|
} else {
|
|
1212
1212
|
if (bExpanded) {
|
|
1213
|
-
|
|
1213
|
+
// runs synchronously because it was expanded before
|
|
1214
|
+
that.expand(oContext, /*bSilent*/true).unwrap();
|
|
1214
1215
|
}
|
|
1215
1216
|
that._fireChange({reason : ChangeReason.Add});
|
|
1216
1217
|
}
|
|
@@ -1475,6 +1476,8 @@ sap.ui.define([
|
|
|
1475
1476
|
*
|
|
1476
1477
|
* @param {sap.ui.model.odata.v4.Context} oContext
|
|
1477
1478
|
* The context corresponding to the group node
|
|
1479
|
+
* @param {boolean} [bSilent]
|
|
1480
|
+
* Whether no ("change") events should be fired
|
|
1478
1481
|
* @returns {sap.ui.base.SyncPromise}
|
|
1479
1482
|
* A promise that is resolved when the expand is successful and rejected when it fails
|
|
1480
1483
|
* @throws {Error}
|
|
@@ -1483,45 +1486,29 @@ sap.ui.define([
|
|
|
1483
1486
|
* @private
|
|
1484
1487
|
* @see #collapse
|
|
1485
1488
|
*/
|
|
1486
|
-
ODataListBinding.prototype.expand = function (oContext) {
|
|
1487
|
-
var bDataRequested = false,
|
|
1488
|
-
that = this;
|
|
1489
|
-
|
|
1489
|
+
ODataListBinding.prototype.expand = function (oContext, bSilent) {
|
|
1490
1490
|
this.checkSuspended();
|
|
1491
|
+
let bDataRequested = false;
|
|
1491
1492
|
|
|
1492
1493
|
return this.oCache.expand(this.lockGroup(),
|
|
1493
1494
|
_Helper.getRelativePath(oContext.getPath(), this.oHeaderContext.getPath()),
|
|
1494
|
-
|
|
1495
|
+
/*fnDataRequested*/ () => {
|
|
1495
1496
|
bDataRequested = true;
|
|
1496
|
-
|
|
1497
|
+
this.fireDataRequested();
|
|
1497
1498
|
}
|
|
1498
|
-
).then(
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
if (iCount > 0) {
|
|
1505
|
-
iModelIndex = oContext.getModelIndex(); // already destroyed if !iCount
|
|
1506
|
-
for (i = aContexts.length - 1; i > iModelIndex; i -= 1) {
|
|
1507
|
-
oMovingContext = aContexts[i];
|
|
1508
|
-
if (oMovingContext) {
|
|
1509
|
-
oMovingContext.iIndex += iCount;
|
|
1510
|
-
aContexts[i + iCount] = oMovingContext;
|
|
1511
|
-
delete aContexts[i]; // Note: iCount > 0
|
|
1512
|
-
}
|
|
1513
|
-
// else: nothing to do because !(i in aContexts) and aContexts[i + iCount]
|
|
1514
|
-
// has been deleted before (loop works backwards)
|
|
1499
|
+
).then((iCount) => {
|
|
1500
|
+
if (iCount) {
|
|
1501
|
+
this.insertGap(oContext.getModelIndex(), iCount);
|
|
1502
|
+
if (!bSilent) {
|
|
1503
|
+
this._fireChange({reason : ChangeReason.Change});
|
|
1515
1504
|
}
|
|
1516
|
-
|
|
1517
|
-
that._fireChange({reason : ChangeReason.Change});
|
|
1518
|
-
} // else: collapse before expand has finished
|
|
1505
|
+
} // else: collapse before expand has finished, oContext already destroyed
|
|
1519
1506
|
if (bDataRequested) {
|
|
1520
|
-
|
|
1507
|
+
this.fireDataReceived({});
|
|
1521
1508
|
}
|
|
1522
|
-
},
|
|
1509
|
+
}, (oError) => {
|
|
1523
1510
|
if (bDataRequested) {
|
|
1524
|
-
|
|
1511
|
+
this.fireDataReceived({error : oError});
|
|
1525
1512
|
}
|
|
1526
1513
|
|
|
1527
1514
|
throw oError;
|
|
@@ -2835,6 +2822,42 @@ sap.ui.define([
|
|
|
2835
2822
|
return aOrderbyOptions.join(",");
|
|
2836
2823
|
};
|
|
2837
2824
|
|
|
2825
|
+
/**
|
|
2826
|
+
* Returns the parent node of a given child node (in case of a recursive hierarchy, see
|
|
2827
|
+
* {@link sap.ui.model.odata.v4.ODataListBinding#setAggregation}, where
|
|
2828
|
+
* <code>oAggregation.expandTo</code> must be equal to one).
|
|
2829
|
+
*
|
|
2830
|
+
* @param {sap.ui.model.odata.v4.Context} oNode
|
|
2831
|
+
* Some node which could have a parent
|
|
2832
|
+
* @returns {sap.ui.model.odata.v4.Context|null}
|
|
2833
|
+
* The parent node, or <code>null</code> if the given node is a root node and thus has no
|
|
2834
|
+
* parent
|
|
2835
|
+
* @throws {Error} If
|
|
2836
|
+
* <ul>
|
|
2837
|
+
* <li> the given node is not part of a recursive hierarchy,
|
|
2838
|
+
* <li> <code>oAggregation.expandTo</code> is greater than one.
|
|
2839
|
+
* </ul>
|
|
2840
|
+
*
|
|
2841
|
+
* @private
|
|
2842
|
+
* @see #requestParent
|
|
2843
|
+
*/
|
|
2844
|
+
ODataListBinding.prototype.getParent = function (oNode) {
|
|
2845
|
+
const oAggregation = this.mParameters.$$aggregation;
|
|
2846
|
+
|
|
2847
|
+
if (!oAggregation || !oAggregation.hierarchyQualifier) {
|
|
2848
|
+
throw new Error("Missing recursive hierarchy");
|
|
2849
|
+
}
|
|
2850
|
+
if (oAggregation.expandTo > 1) {
|
|
2851
|
+
throw new Error("Unsupported $$aggregation.expandTo: " + oAggregation.expandTo);
|
|
2852
|
+
}
|
|
2853
|
+
if (this.aContexts[oNode.iIndex] !== oNode) {
|
|
2854
|
+
throw new Error("Not currently part of a recursive hierarchy: " + oNode);
|
|
2855
|
+
}
|
|
2856
|
+
const iParentIndex = this.oCache.getParentIndex(oNode.iIndex);
|
|
2857
|
+
|
|
2858
|
+
return iParentIndex < 0 ? null : this.aContexts[iParentIndex];
|
|
2859
|
+
};
|
|
2860
|
+
|
|
2838
2861
|
/**
|
|
2839
2862
|
* Returns the query options of the binding.
|
|
2840
2863
|
*
|
|
@@ -2960,6 +2983,55 @@ sap.ui.define([
|
|
|
2960
2983
|
}
|
|
2961
2984
|
};
|
|
2962
2985
|
|
|
2986
|
+
/**
|
|
2987
|
+
* Inserts a new gap into <code>this.aContexts</code> just after the given index and with the
|
|
2988
|
+
* given positive length.
|
|
2989
|
+
*
|
|
2990
|
+
* @param {number} iPreviousIndex - Last index just before the new gap
|
|
2991
|
+
* @param {number} iLength - Positive length of the new gap
|
|
2992
|
+
*
|
|
2993
|
+
* @private
|
|
2994
|
+
*/
|
|
2995
|
+
ODataListBinding.prototype.insertGap = function (iPreviousIndex, iLength) {
|
|
2996
|
+
const aContexts = this.aContexts;
|
|
2997
|
+
for (let i = aContexts.length - 1; i > iPreviousIndex; i -= 1) {
|
|
2998
|
+
const oMovingContext = aContexts[i];
|
|
2999
|
+
if (oMovingContext) {
|
|
3000
|
+
oMovingContext.iIndex += iLength;
|
|
3001
|
+
aContexts[i + iLength] = oMovingContext;
|
|
3002
|
+
delete aContexts[i]; // Note: iLength > 0
|
|
3003
|
+
}
|
|
3004
|
+
// else: nothing to do because !(i in aContexts) and aContexts[i + iLength]
|
|
3005
|
+
// has been deleted before (loop works backwards)
|
|
3006
|
+
}
|
|
3007
|
+
this.iMaxLength += iLength;
|
|
3008
|
+
};
|
|
3009
|
+
|
|
3010
|
+
/**
|
|
3011
|
+
* Tells whether the first given node is an ancestor of (or the same as) the second given node
|
|
3012
|
+
* (in case of a recursive hierarchy).
|
|
3013
|
+
*
|
|
3014
|
+
* @param {sap.ui.model.odata.v4.Context} oAncestor - Some node which may be an ancestor
|
|
3015
|
+
* @param {sap.ui.model.odata.v4.Context} oDescendant - Some node which may be a descendant
|
|
3016
|
+
* @returns {boolean} Whether the assumed ancestor relation holds
|
|
3017
|
+
* @throws {Error} If either context does not represent a node in a recursive hierarchy
|
|
3018
|
+
* according to its current expansion state
|
|
3019
|
+
*
|
|
3020
|
+
* @private
|
|
3021
|
+
*/
|
|
3022
|
+
ODataListBinding.prototype.isAncestorOf = function (oAncestor, oDescendant) {
|
|
3023
|
+
if (!this.mParameters.$$aggregation || !this.mParameters.$$aggregation.hierarchyQualifier) {
|
|
3024
|
+
throw new Error("Missing recursive hierarchy");
|
|
3025
|
+
}
|
|
3026
|
+
[oAncestor, oDescendant].forEach((oNode) => {
|
|
3027
|
+
if (this.aContexts[oNode.iIndex] !== oNode) {
|
|
3028
|
+
throw new Error("Not currently part of a recursive hierarchy: " + oNode);
|
|
3029
|
+
}
|
|
3030
|
+
});
|
|
3031
|
+
|
|
3032
|
+
return this.oCache.isAncestorOf(oAncestor.iIndex, oDescendant.iIndex);
|
|
3033
|
+
};
|
|
3034
|
+
|
|
2963
3035
|
/**
|
|
2964
3036
|
* Returns whether the overall position of created entries is at the end of the list; this is
|
|
2965
3037
|
* determined by the first call to {@link #create}.
|
|
@@ -3035,12 +3107,7 @@ sap.ui.define([
|
|
|
3035
3107
|
*/
|
|
3036
3108
|
ODataListBinding.prototype.keepOnlyVisibleContexts = function () {
|
|
3037
3109
|
var aCreatedContexts = this.aContexts.slice(0, this.iCreatedContexts),
|
|
3038
|
-
aContexts = aCreatedContexts.
|
|
3039
|
-
// cannot request side effects for transient contexts
|
|
3040
|
-
// Note: do not use #isTransient because #created() may not be resolved yet,
|
|
3041
|
-
// although already persisted (timing issue, see caller)
|
|
3042
|
-
return !oContext.getProperty("@$ui5.context.isTransient");
|
|
3043
|
-
}).concat(
|
|
3110
|
+
aContexts = aCreatedContexts.concat(
|
|
3044
3111
|
this.getCurrentContexts().filter(function (oContext) {
|
|
3045
3112
|
// avoid duplicates for created contexts
|
|
3046
3113
|
// Note: avoid #created or #isTransient because there may be created contexts
|
|
@@ -3050,6 +3117,19 @@ sap.ui.define([
|
|
|
3050
3117
|
),
|
|
3051
3118
|
that = this;
|
|
3052
3119
|
|
|
3120
|
+
/**
|
|
3121
|
+
* Keeps and requests created contexts, destroys others.
|
|
3122
|
+
*
|
|
3123
|
+
* @param {sap.ui.model.odata.v4.Context} oContext0 - A context, maybe created
|
|
3124
|
+
*/
|
|
3125
|
+
function keepOrDestroy(oContext0) {
|
|
3126
|
+
if (oContext0.created()) { // e.g. Recursive Hierarchy maintenance
|
|
3127
|
+
aContexts.push(oContext0);
|
|
3128
|
+
} else {
|
|
3129
|
+
that.destroyLater(oContext0);
|
|
3130
|
+
}
|
|
3131
|
+
}
|
|
3132
|
+
|
|
3053
3133
|
// add kept-alive contexts outside collection
|
|
3054
3134
|
Object.keys(this.mPreviousContextsByPath).forEach(function (sPath) {
|
|
3055
3135
|
var oContext = that.mPreviousContextsByPath[sPath];
|
|
@@ -3063,18 +3143,25 @@ sap.ui.define([
|
|
|
3063
3143
|
this.aContexts.slice(this.iCreatedContexts, this.iCurrentBegin)
|
|
3064
3144
|
.forEach(function (oContext0, i) {
|
|
3065
3145
|
delete that.aContexts[that.iCreatedContexts + i];
|
|
3066
|
-
|
|
3146
|
+
keepOrDestroy(oContext0);
|
|
3067
3147
|
});
|
|
3068
3148
|
if (this.aContexts.length > this.iCurrentEnd && this.iCurrentEnd >= this.iCreatedContexts) {
|
|
3069
|
-
this.aContexts.slice(this.iCurrentEnd).forEach(
|
|
3149
|
+
this.aContexts.slice(this.iCurrentEnd).forEach(keepOrDestroy);
|
|
3070
3150
|
this.aContexts.length = this.iCurrentEnd;
|
|
3071
3151
|
}
|
|
3072
3152
|
|
|
3073
|
-
return aContexts
|
|
3153
|
+
return aContexts.filter(function (oContext) {
|
|
3154
|
+
// cannot request side effects for transient contexts
|
|
3155
|
+
// Note: do not use #isTransient because #created() may not be resolved yet,
|
|
3156
|
+
// although already persisted (timing issue, see caller)
|
|
3157
|
+
return !oContext.getProperty("@$ui5.context.isTransient");
|
|
3158
|
+
});
|
|
3074
3159
|
};
|
|
3075
3160
|
|
|
3076
3161
|
/**
|
|
3077
|
-
* Moves the given (child) node to the given parent.
|
|
3162
|
+
* Moves the given (child) node to the given parent. An expanded (child) node is silently
|
|
3163
|
+
* collapsed before and expanded after the move. A collapsed parent is automatically expanded;
|
|
3164
|
+
* so is a leaf. The (child) node is added as the parent's 1st child (created persisted).
|
|
3078
3165
|
*
|
|
3079
3166
|
* @param {sap.ui.model.odata.v4.Context} oChildContext - The (child) node to be moved
|
|
3080
3167
|
* @param {sap.ui.model.odata.v4.Context} oParentContext - The new parent's context
|
|
@@ -3108,7 +3195,12 @@ sap.ui.define([
|
|
|
3108
3195
|
const sParentPath = oParentContext.getCanonicalPath().slice(1); // before #lockGroup!
|
|
3109
3196
|
const oGroupLock = this.lockGroup(this.getUpdateGroupId(), true, true);
|
|
3110
3197
|
|
|
3111
|
-
return this.oCache.move(oGroupLock, sChildPath, sParentPath).then(() => {
|
|
3198
|
+
return this.oCache.move(oGroupLock, sChildPath, sParentPath).then((iCount) => {
|
|
3199
|
+
if (iCount > 1) {
|
|
3200
|
+
iCount -= 1; // skip oChildContext which is treated below
|
|
3201
|
+
this.insertGap(oParentContext.getModelIndex(), iCount);
|
|
3202
|
+
}
|
|
3203
|
+
|
|
3112
3204
|
const iChildIndex = this.aContexts.indexOf(oChildContext);
|
|
3113
3205
|
const iParentIndex = this.aContexts.indexOf(oParentContext); // Note: !== iChildIndex
|
|
3114
3206
|
if (iChildIndex < iParentIndex) {
|
|
@@ -3124,10 +3216,15 @@ sap.ui.define([
|
|
|
3124
3216
|
oChildContext.setCreatedPersisted();
|
|
3125
3217
|
}
|
|
3126
3218
|
if (bExpanded) {
|
|
3127
|
-
this.expand(oChildContext); // guaranteed to
|
|
3219
|
+
this.expand(oChildContext).unwrap(); // guaranteed to be sync! incl. _fireChange
|
|
3128
3220
|
} else {
|
|
3129
3221
|
this._fireChange({reason : ChangeReason.Change});
|
|
3130
3222
|
}
|
|
3223
|
+
}, (oError) => {
|
|
3224
|
+
if (bExpanded) {
|
|
3225
|
+
this.expand(oChildContext, /*bSilent*/true).unwrap(); // guaranteed to be sync!
|
|
3226
|
+
}
|
|
3227
|
+
throw oError;
|
|
3131
3228
|
});
|
|
3132
3229
|
};
|
|
3133
3230
|
|
|
@@ -3214,7 +3311,7 @@ sap.ui.define([
|
|
|
3214
3311
|
if (!this.oModel.bAutoExpandSelect) {
|
|
3215
3312
|
// No deep create possible, but it must not create its own cache. It remains empty and
|
|
3216
3313
|
// silent until the parent binding created the entity. Then it creates a cache (in
|
|
3217
|
-
// #adjustPredicate) and requests from the
|
|
3314
|
+
// #adjustPredicate) and requests from the back end.
|
|
3218
3315
|
return true;
|
|
3219
3316
|
}
|
|
3220
3317
|
|
|
@@ -3733,6 +3830,50 @@ sap.ui.define([
|
|
|
3733
3830
|
});
|
|
3734
3831
|
};
|
|
3735
3832
|
|
|
3833
|
+
/**
|
|
3834
|
+
* Requests the parent node of a given child node (in case of a recursive hierarchy, see
|
|
3835
|
+
* {@link sap.ui.model.odata.v4.ODataListBinding#setAggregation}, where
|
|
3836
|
+
* <code>oAggregation.expandTo</code> must be equal to one).
|
|
3837
|
+
*
|
|
3838
|
+
* @param {sap.ui.model.odata.v4.Context} oNode
|
|
3839
|
+
* Some node which could have a parent
|
|
3840
|
+
* @returns {Promise<sap.ui.model.odata.v4.Context|null>} A promise which:
|
|
3841
|
+
* <ul>
|
|
3842
|
+
* <li> Resolves if successful with either the parent node or <code>null</code> for a root
|
|
3843
|
+
* node that has no parent</li>
|
|
3844
|
+
* <li> Rejects with an <code>Error</code> instance otherwise</li>
|
|
3845
|
+
* </ul>
|
|
3846
|
+
* @throws {Error} If
|
|
3847
|
+
* <ul>
|
|
3848
|
+
* <li> the given node is not part of a recursive hierarchy,
|
|
3849
|
+
* <li> <code>oAggregation.expandTo</code> is greater than one.
|
|
3850
|
+
* </ul>
|
|
3851
|
+
*
|
|
3852
|
+
* @private
|
|
3853
|
+
* @see #getParent
|
|
3854
|
+
*/
|
|
3855
|
+
ODataListBinding.prototype.requestParent = function (oNode) {
|
|
3856
|
+
const oAggregation = this.mParameters.$$aggregation;
|
|
3857
|
+
|
|
3858
|
+
if (!oAggregation || !oAggregation.hierarchyQualifier) {
|
|
3859
|
+
throw new Error("Missing recursive hierarchy");
|
|
3860
|
+
}
|
|
3861
|
+
if (oAggregation.expandTo > 1) {
|
|
3862
|
+
throw new Error("Unsupported $$aggregation.expandTo: " + oAggregation.expandTo);
|
|
3863
|
+
}
|
|
3864
|
+
if (this.aContexts[oNode.iIndex] !== oNode) {
|
|
3865
|
+
throw new Error("Not currently part of a recursive hierarchy: " + oNode);
|
|
3866
|
+
}
|
|
3867
|
+
|
|
3868
|
+
const iParentIndex = this.oCache.getParentIndex(oNode.iIndex);
|
|
3869
|
+
if (iParentIndex < 0) {
|
|
3870
|
+
return Promise.resolve(null);
|
|
3871
|
+
}
|
|
3872
|
+
return this.requestContexts(iParentIndex, 1).then(function (aResult) {
|
|
3873
|
+
return aResult[0];
|
|
3874
|
+
});
|
|
3875
|
+
};
|
|
3876
|
+
|
|
3736
3877
|
/**
|
|
3737
3878
|
* @override
|
|
3738
3879
|
* @see sap.ui.model.odata.v4.ODataParentBinding#requestSideEffects
|
|
@@ -4036,7 +4177,8 @@ sap.ui.define([
|
|
|
4036
4177
|
* {@link sap.ui.model.odata.v4.Context#expand} (@experimental as of version 1.105.0;
|
|
4037
4178
|
* available for read-only hierarchies since 1.117.0), supported only if a
|
|
4038
4179
|
* <code>hierarchyQualifier</code> is given. Root nodes are on the first level. By default,
|
|
4039
|
-
* only root nodes are available; they are not yet expanded.
|
|
4180
|
+
* only root nodes are available; they are not yet expanded. Since 1.120.0,
|
|
4181
|
+
* <code>Number.MAX_SAFE_INTEGER</code> can be used to expand all levels.
|
|
4040
4182
|
* @param {boolean} [oAggregation.grandTotalAtBottomOnly]
|
|
4041
4183
|
* Tells whether the grand totals for aggregatable properties are displayed at the bottom only
|
|
4042
4184
|
* (since 1.86.0); <code>true</code> for bottom only, <code>false</code> for top and bottom,
|
|
@@ -39,6 +39,7 @@ sap.ui.define([
|
|
|
39
39
|
"sap/ui/core/library",
|
|
40
40
|
"sap/ui/core/Messaging",
|
|
41
41
|
"sap/ui/core/Rendering",
|
|
42
|
+
"sap/ui/core/Supportability",
|
|
42
43
|
"sap/ui/core/cache/CacheManager",
|
|
43
44
|
"sap/ui/core/message/Message",
|
|
44
45
|
"sap/ui/model/BindingMode",
|
|
@@ -48,8 +49,8 @@ sap.ui.define([
|
|
|
48
49
|
"sap/ui/thirdparty/URI"
|
|
49
50
|
], function (ODataContextBinding, ODataListBinding, ODataMetaModel, ODataPropertyBinding,
|
|
50
51
|
SubmitMode, _GroupLock, _Helper, _MetadataRequestor, _Parser, _Requestor, assert, Log,
|
|
51
|
-
SyncPromise, Configuration, coreLibrary, Messaging, Rendering,
|
|
52
|
-
BindingMode, BaseContext, Model, OperationMode, URI) {
|
|
52
|
+
SyncPromise, Configuration, coreLibrary, Messaging, Rendering, Supportability,
|
|
53
|
+
CacheManager, Message, BindingMode, BaseContext, Model, OperationMode, URI) {
|
|
53
54
|
"use strict";
|
|
54
55
|
|
|
55
56
|
var sClassName = "sap.ui.model.odata.v4.ODataModel",
|
|
@@ -184,8 +185,7 @@ sap.ui.define([
|
|
|
184
185
|
* <code>undefined</code>, '$auto', '$direct' or an application group ID.
|
|
185
186
|
* @param {boolean} [mParameters.withCredentials]
|
|
186
187
|
* Whether the XMLHttpRequest is called with <code>withCredentials</code>, so that user
|
|
187
|
-
* credentials are included in cross-origin requests by the browser (
|
|
188
|
-
* Version 1.117.0)
|
|
188
|
+
* credentials are included in cross-origin requests by the browser (since 1.120.0)
|
|
189
189
|
* @throws {Error} If an unsupported synchronization mode is given, if the given service
|
|
190
190
|
* root URL does not end with a forward slash, if an unsupported parameter is given, if
|
|
191
191
|
* OData system query options or parameter aliases are specified as parameters, if an
|
|
@@ -234,7 +234,7 @@ sap.ui.define([
|
|
|
234
234
|
* @extends sap.ui.model.Model
|
|
235
235
|
* @public
|
|
236
236
|
* @since 1.37.0
|
|
237
|
-
* @version 1.
|
|
237
|
+
* @version 1.120.0
|
|
238
238
|
*/
|
|
239
239
|
ODataModel = Model.extend("sap.ui.model.odata.v4.ODataModel",
|
|
240
240
|
/** @lends sap.ui.model.odata.v4.ODataModel.prototype */{
|
|
@@ -303,7 +303,7 @@ sap.ui.define([
|
|
|
303
303
|
mUriParameters = this.buildQueryOptions(oUri.query(true), false, true);
|
|
304
304
|
// BEWARE: these are shared across all bindings!
|
|
305
305
|
this.mUriParameters = mUriParameters;
|
|
306
|
-
if (
|
|
306
|
+
if (Supportability.isStatisticsEnabled()) {
|
|
307
307
|
// Note: this way, "sap-statistics" is not sent within $batch
|
|
308
308
|
mUriParameters = Object.assign({"sap-statistics" : true}, mUriParameters);
|
|
309
309
|
}
|
|
@@ -42,7 +42,7 @@ sap.ui.define([
|
|
|
42
42
|
* @mixes sap.ui.model.odata.v4.ODataBinding
|
|
43
43
|
* @public
|
|
44
44
|
* @since 1.37.0
|
|
45
|
-
* @version 1.
|
|
45
|
+
* @version 1.120.0
|
|
46
46
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getGroupId as #getGroupId
|
|
47
47
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getRootBinding as #getRootBinding
|
|
48
48
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getUpdateGroupId as #getUpdateGroupId
|