@openui5/sap.ui.core 1.132.1 → 1.134.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/.dtsgenrc +5 -0
- package/.eslintrc.json +4 -0
- package/.reuse/dep5 +2 -9
- package/LICENSES/LicenseRef-Unicode-3.0.txt +39 -0
- package/THIRDPARTY.txt +45 -78
- package/package.json +1 -1
- package/src/jquery.sap.global.js +1 -1
- package/src/jquery.sap.properties.js +1 -1
- package/src/jquery.sap.resources.js +1 -1
- package/src/jquery.sap.script.js +1 -1
- package/src/jquery.sap.storage.js +3 -3
- package/src/sap/base/Event.js +1 -1
- package/src/sap/base/Eventing.js +1 -1
- package/src/sap/base/config.js +1 -1
- package/src/sap/base/i18n/LanguageTag.js +1 -1
- package/src/sap/base/i18n/date/TimezoneUtils.js +159 -12
- package/src/sap/base/util/JSTokenizer.js +25 -18
- package/src/sap/base/util/LoaderExtensions.js +2 -8
- package/src/sap/base/util/mixedFetch.js +0 -1
- 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 +0 -1
- package/src/sap/ui/Device.js +3 -3
- package/src/sap/ui/Global.js +3 -3
- package/src/sap/ui/base/Event.js +1 -1
- package/src/sap/ui/base/EventProvider.js +1 -1
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +14 -11
- package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
- package/src/sap/ui/base/Metadata.js +1 -1
- package/src/sap/ui/base/Object.js +1 -1
- package/src/sap/ui/base/ObjectPool.js +1 -1
- package/src/sap/ui/base/SyncPromise.js +136 -25
- package/src/sap/ui/core/.library +5 -10
- package/src/sap/ui/core/AppCacheBuster.js +4 -9
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/Component.js +1 -1
- package/src/sap/ui/core/ComponentContainer.js +1 -1
- package/src/sap/ui/core/ComponentMetadata.js +1 -1
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/Configuration.js +1 -1
- package/src/sap/ui/core/Control.js +1 -1
- package/src/sap/ui/core/Core.js +2 -2
- package/src/sap/ui/core/CustomData.js +1 -1
- package/src/sap/ui/core/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/Element.js +3 -1
- package/src/sap/ui/core/ElementMetadata.js +1 -1
- package/src/sap/ui/core/EnabledPropagator.js +1 -1
- 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/IconPool.js +20 -3
- package/src/sap/ui/core/IndicationColorSupport.js +1 -1
- package/src/sap/ui/core/IntervalTrigger.js +1 -1
- package/src/sap/ui/core/InvisibleMessage.js +1 -1
- package/src/sap/ui/core/InvisibleRenderer.js +1 -1
- package/src/sap/ui/core/InvisibleText.js +1 -1
- package/src/sap/ui/core/Item.js +1 -1
- package/src/sap/ui/core/LabelEnablement.js +1 -1
- package/src/sap/ui/core/LayoutData.js +1 -1
- 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 +101 -79
- package/src/sap/ui/core/Manifest.js +1 -1
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/RenderManager.js +1 -1
- package/src/sap/ui/core/Renderer.js +1 -1
- package/src/sap/ui/core/ResizeHandler.js +1 -1
- package/src/sap/ui/core/ScrollBar.js +1 -1
- package/src/sap/ui/core/SeparatorItem.js +1 -1
- package/src/sap/ui/core/Title.js +1 -1
- package/src/sap/ui/core/TooltipBase.js +1 -1
- package/src/sap/ui/core/UIArea.js +1 -1
- package/src/sap/ui/core/UIComponent.js +1 -1
- 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 +22 -3
- package/src/sap/ui/core/_IconRegistry.js +2 -0
- package/src/sap/ui/core/boot/_bootConfig.js +134 -105
- package/src/sap/ui/core/cldr/Unicode-Data-Files-LICENSE.txt +36 -24
- package/src/sap/ui/core/cldr/ar.json +106 -98
- package/src/sap/ui/core/cldr/ar_EG.json +106 -98
- package/src/sap/ui/core/cldr/ar_SA.json +106 -98
- package/src/sap/ui/core/cldr/bg.json +44 -38
- package/src/sap/ui/core/cldr/ca.json +65 -65
- package/src/sap/ui/core/cldr/cnr.json +182 -170
- package/src/sap/ui/core/cldr/cs.json +39 -31
- package/src/sap/ui/core/cldr/cy.json +319 -233
- package/src/sap/ui/core/cldr/da.json +36 -32
- package/src/sap/ui/core/cldr/de.json +134 -135
- package/src/sap/ui/core/cldr/de_AT.json +134 -135
- package/src/sap/ui/core/cldr/de_CH.json +135 -136
- package/src/sap/ui/core/cldr/el.json +44 -37
- package/src/sap/ui/core/cldr/el_CY.json +44 -37
- package/src/sap/ui/core/cldr/en.json +91 -53
- package/src/sap/ui/core/cldr/en_AU.json +108 -70
- package/src/sap/ui/core/cldr/en_GB.json +123 -85
- package/src/sap/ui/core/cldr/en_HK.json +102 -64
- package/src/sap/ui/core/cldr/en_IE.json +102 -64
- package/src/sap/ui/core/cldr/en_IN.json +207 -67
- package/src/sap/ui/core/cldr/en_NZ.json +102 -64
- package/src/sap/ui/core/cldr/en_PG.json +102 -64
- package/src/sap/ui/core/cldr/en_SG.json +102 -64
- package/src/sap/ui/core/cldr/en_ZA.json +106 -66
- package/src/sap/ui/core/cldr/es.json +43 -39
- package/src/sap/ui/core/cldr/es_AR.json +92 -64
- package/src/sap/ui/core/cldr/es_BO.json +92 -64
- package/src/sap/ui/core/cldr/es_CL.json +92 -64
- package/src/sap/ui/core/cldr/es_CO.json +92 -64
- package/src/sap/ui/core/cldr/es_MX.json +131 -83
- package/src/sap/ui/core/cldr/es_PE.json +69 -41
- package/src/sap/ui/core/cldr/es_UY.json +93 -65
- package/src/sap/ui/core/cldr/es_VE.json +92 -64
- package/src/sap/ui/core/cldr/et.json +60 -59
- package/src/sap/ui/core/cldr/fa.json +122 -116
- package/src/sap/ui/core/cldr/fi.json +186 -82
- package/src/sap/ui/core/cldr/fr.json +57 -56
- package/src/sap/ui/core/cldr/fr_BE.json +56 -55
- package/src/sap/ui/core/cldr/fr_CA.json +139 -89
- package/src/sap/ui/core/cldr/fr_CH.json +47 -46
- package/src/sap/ui/core/cldr/fr_LU.json +57 -56
- package/src/sap/ui/core/cldr/he.json +458 -381
- package/src/sap/ui/core/cldr/hi.json +204 -170
- package/src/sap/ui/core/cldr/hr.json +64 -57
- package/src/sap/ui/core/cldr/hu.json +145 -148
- package/src/sap/ui/core/cldr/id.json +72 -62
- package/src/sap/ui/core/cldr/it.json +76 -75
- package/src/sap/ui/core/cldr/it_CH.json +76 -75
- package/src/sap/ui/core/cldr/ja.json +62 -44
- package/src/sap/ui/core/cldr/kk.json +171 -146
- package/src/sap/ui/core/cldr/ko.json +91 -73
- package/src/sap/ui/core/cldr/lt.json +134 -135
- package/src/sap/ui/core/cldr/lv.json +119 -111
- package/src/sap/ui/core/cldr/mk.json +316 -314
- package/src/sap/ui/core/cldr/ms.json +91 -75
- package/src/sap/ui/core/cldr/nb.json +37 -37
- package/src/sap/ui/core/cldr/nl.json +45 -48
- package/src/sap/ui/core/cldr/nl_BE.json +45 -48
- package/src/sap/ui/core/cldr/pl.json +47 -42
- package/src/sap/ui/core/cldr/pt.json +129 -124
- package/src/sap/ui/core/cldr/pt_PT.json +43 -38
- package/src/sap/ui/core/cldr/ro.json +42 -37
- package/src/sap/ui/core/cldr/ru.json +59 -51
- package/src/sap/ui/core/cldr/ru_UA.json +59 -51
- package/src/sap/ui/core/cldr/sk.json +55 -46
- package/src/sap/ui/core/cldr/sl.json +45 -31
- package/src/sap/ui/core/cldr/sr.json +189 -177
- package/src/sap/ui/core/cldr/sr_Latn.json +189 -177
- package/src/sap/ui/core/cldr/sv.json +42 -41
- package/src/sap/ui/core/cldr/th.json +104 -90
- package/src/sap/ui/core/cldr/tr.json +40 -39
- package/src/sap/ui/core/cldr/uk.json +143 -123
- package/src/sap/ui/core/cldr/vi.json +136 -133
- package/src/sap/ui/core/cldr/zh_CN.json +47 -41
- package/src/sap/ui/core/cldr/zh_HK.json +47 -41
- package/src/sap/ui/core/cldr/zh_SG.json +47 -41
- package/src/sap/ui/core/cldr/zh_TW.json +163 -160
- package/src/sap/ui/core/date/Buddhist.js +2 -2
- package/src/sap/ui/core/date/CalendarUtils.js +4 -4
- package/src/sap/ui/core/date/Gregorian.js +2 -2
- package/src/sap/ui/core/date/Islamic.js +2 -2
- package/src/sap/ui/core/date/Japanese.js +2 -2
- package/src/sap/ui/core/date/Persian.js +2 -2
- package/src/sap/ui/core/date/UI5Date.js +1 -1
- package/src/sap/ui/core/date/UniversalDate.js +12 -12
- package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
- package/src/sap/ui/core/delegate/ScrollEnablement.js +7 -5
- package/src/sap/ui/core/dnd/DragAndDrop.js +14 -7
- 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/fieldhelp/FieldHelp.js +355 -53
- package/src/sap/ui/core/fieldhelp/FieldHelpUtil.js +10 -8
- package/src/sap/ui/core/format/DateFormat.js +18 -16
- package/src/sap/ui/core/format/FormatUtils.js +1 -1
- package/src/sap/ui/core/format/NumberFormat.js +346 -364
- package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
- package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +36 -5
- package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
- package/src/sap/ui/core/message/Message.js +1 -1
- package/src/sap/ui/core/message/MessageManager.js +1 -1
- package/src/sap/ui/core/message/MessageMixin.js +12 -4
- 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/messagebundle_ko.properties +1 -1
- package/src/sap/ui/core/messagebundle_sv.properties +1 -1
- package/src/sap/ui/core/mvc/HTMLView.js +1 -1
- package/src/sap/ui/core/mvc/JSONView.js +1 -1
- package/src/sap/ui/core/mvc/JSView.js +1 -1
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/View.js +1 -1
- package/src/sap/ui/core/mvc/XMLView.js +1 -1
- package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/plugin/LessSupport.js +1 -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/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/Plugin.js +1 -1
- package/src/sap/ui/core/support/Support.js +1 -1
- package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
- package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
- 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 +1 -1
- 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/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/theming/Parameters.js +1 -6
- package/src/sap/ui/core/theming/ThemeManager.js +84 -33
- 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 +5 -2
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- 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 +1 -1
- 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 +1 -1
- package/src/sap/ui/debug/PropertyList.js +1 -1
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/ClientTreeBinding.js +5 -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 +1 -1
- package/src/sap/ui/model/ManagedObjectBindingSupport.js +21 -12
- package/src/sap/ui/model/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +1 -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/Type.js +1 -1
- package/src/sap/ui/model/analytics/AnalyticalBinding.js +1 -1
- package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +51 -13
- package/src/sap/ui/model/base/ManagedObjectModel.js +5 -2
- package/src/sap/ui/model/json/JSONModel.js +1 -1
- package/src/sap/ui/model/message/MessageModel.js +1 -1
- package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
- package/src/sap/ui/model/odata/ODataMetaModel.js +46 -14
- package/src/sap/ui/model/odata/ODataMetadata.js +2 -2
- package/src/sap/ui/model/odata/ODataModel.js +2 -2
- package/src/sap/ui/model/odata/ODataUtils.js +2 -2
- package/src/sap/ui/model/odata/UpdateMethod.js +18 -1
- package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +2 -2
- 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 +3 -3
- 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 +2 -2
- 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 +3 -3
- 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 +4 -3
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +2 -2
- package/src/sap/ui/model/odata/v2/ODataModel.js +63 -37
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/Context.js +52 -23
- package/src/sap/ui/model/odata/v4/ODataBinding.js +9 -6
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +5 -4
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +137 -56
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +19 -8
- package/src/sap/ui/model/odata/v4/ODataModel.js +54 -33
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +10 -3
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +3 -4
- package/src/sap/ui/model/odata/v4/ODataUtils.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +33 -9
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +13 -16
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +334 -139
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +20 -0
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +26 -4
- package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +1 -1
- package/src/sap/ui/model/resource/ResourceModel.js +1 -1
- 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/XMLModel.js +1 -1
- package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
- package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
- package/src/sap/ui/test/BranchTracking.js +1 -1
- package/src/sap/ui/test/TestUtils.js +82 -14
- package/src/sap/ui/test/actions/EnterText.js +2 -20
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/test/starter/_setupAndStart.js +12 -3
- package/src/sap/ui/test/starter/_utils.js +0 -1
- package/src/sap/ui/thirdparty/jquery-compat.js +1 -1
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/ui5loader.js +4 -1
- package/test/sap/ui/qunit/TestRunner.js +10 -11
- package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +0 -5
- package/LICENSES/Unicode-DFS-2015.txt +0 -51
|
@@ -93,7 +93,7 @@ sap.ui.define([
|
|
|
93
93
|
serviceUrl : true,
|
|
94
94
|
sharedRequests : true,
|
|
95
95
|
supportReferences : true,
|
|
96
|
-
/** @deprecated As of
|
|
96
|
+
/** @deprecated As of version 1.110.0 */
|
|
97
97
|
synchronizationMode : true,
|
|
98
98
|
updateGroupId : true,
|
|
99
99
|
withCredentials : true
|
|
@@ -240,7 +240,7 @@ sap.ui.define([
|
|
|
240
240
|
* @extends sap.ui.model.Model
|
|
241
241
|
* @public
|
|
242
242
|
* @since 1.37.0
|
|
243
|
-
* @version 1.
|
|
243
|
+
* @version 1.134.0
|
|
244
244
|
*/
|
|
245
245
|
ODataModel = Model.extend("sap.ui.model.odata.v4.ODataModel",
|
|
246
246
|
/** @lends sap.ui.model.odata.v4.ODataModel.prototype */{
|
|
@@ -278,7 +278,7 @@ sap.ui.define([
|
|
|
278
278
|
// do not pass any parameters to Model
|
|
279
279
|
Model.call(this);
|
|
280
280
|
|
|
281
|
-
/** @deprecated As of
|
|
281
|
+
/** @deprecated As of version 1.110.0 */
|
|
282
282
|
if ("synchronizationMode" in mParameters && mParameters.synchronizationMode !== "None") {
|
|
283
283
|
throw new Error("Synchronization mode must be 'None'");
|
|
284
284
|
}
|
|
@@ -774,8 +774,8 @@ sap.ui.define([
|
|
|
774
774
|
* @param {string|string[]} [mParameters.$select]
|
|
775
775
|
* A comma separated list or an array of items which determine the value for the
|
|
776
776
|
* "5.1.3 System Query Option $select". Since 1.75.0, when using the "autoExpandSelect" model
|
|
777
|
-
* parameter (see {@link
|
|
778
|
-
*
|
|
777
|
+
* parameter (see {@link #constructor}), paths with navigation properties can be included and
|
|
778
|
+
* will contribute to the "5.1.2 System Query Option $expand".
|
|
779
779
|
* @param {boolean} [mParameters.$$canonicalPath]
|
|
780
780
|
* Whether a binding relative to an {@link sap.ui.model.odata.v4.Context} uses the canonical
|
|
781
781
|
* path computed from its context's path for data service requests; only the value
|
|
@@ -783,7 +783,7 @@ sap.ui.define([
|
|
|
783
783
|
* @param {string} [mParameters.$$groupId]
|
|
784
784
|
* The group ID to be used for <b>read</b> requests initiated by this binding; if not
|
|
785
785
|
* specified, either the parent binding's group ID (if the binding is relative) or the
|
|
786
|
-
* model's group ID is used, see {@link
|
|
786
|
+
* model's group ID is used, see {@link #constructor}.
|
|
787
787
|
* Valid values are <code>undefined</code>, '$auto', '$auto.*', '$direct' or application group
|
|
788
788
|
* IDs as specified in {@link sap.ui.model.odata.v4.ODataModel}.
|
|
789
789
|
* @param {boolean} [mParameters.$$inheritExpandSelect]
|
|
@@ -802,8 +802,7 @@ sap.ui.define([
|
|
|
802
802
|
* @param {string} [mParameters.$$updateGroupId]
|
|
803
803
|
* The group ID to be used for <b>update</b> requests initiated by this binding;
|
|
804
804
|
* if not specified, either the parent binding's update group ID (if the binding is relative)
|
|
805
|
-
* or the model's update group ID is used, see
|
|
806
|
-
* {@link sap.ui.model.odata.v4.ODataModel#constructor}.
|
|
805
|
+
* or the model's update group ID is used, see {@link #constructor}.
|
|
807
806
|
* For valid values, see parameter "$$groupId".
|
|
808
807
|
* @returns {sap.ui.model.odata.v4.ODataContextBinding}
|
|
809
808
|
* The context binding
|
|
@@ -917,8 +916,8 @@ sap.ui.define([
|
|
|
917
916
|
* @param {string|string[]} [mParameters.$select]
|
|
918
917
|
* A comma separated list or an array of items which determine the value for the
|
|
919
918
|
* "5.1.3 System Query Option $select". Since 1.75.0, when using the "autoExpandSelect" model
|
|
920
|
-
* parameter (see {@link
|
|
921
|
-
*
|
|
919
|
+
* parameter (see {@link #constructor}), paths with navigation properties can be included and
|
|
920
|
+
* will contribute to the "5.1.2 System Query Option $expand".
|
|
922
921
|
* @param {object} [mParameters.$$aggregation]
|
|
923
922
|
* An object holding the information needed for data aggregation, see
|
|
924
923
|
* {@link sap.ui.model.odata.v4.ODataListBinding#setAggregation} for details.
|
|
@@ -940,7 +939,7 @@ sap.ui.define([
|
|
|
940
939
|
* @param {string} [mParameters.$$groupId]
|
|
941
940
|
* The group ID to be used for <b>read</b> requests initiated by this binding; if not
|
|
942
941
|
* specified, either the parent binding's group ID (if the binding is relative) or the
|
|
943
|
-
* model's group ID is used, see {@link
|
|
942
|
+
* model's group ID is used, see {@link #constructor}.
|
|
944
943
|
* Valid values are <code>undefined</code>, '$auto', '$auto.*', '$direct' or application group
|
|
945
944
|
* IDs as specified in {@link sap.ui.model.odata.v4.ODataModel}.
|
|
946
945
|
* @param {sap.ui.model.odata.OperationMode} [mParameters.$$operationMode]
|
|
@@ -964,13 +963,13 @@ sap.ui.define([
|
|
|
964
963
|
* the main list becoming available faster, while the separate properties are merged as soon
|
|
965
964
|
* as the data is received. Note that the separate properties must be single valued and part
|
|
966
965
|
* of the '$expand' system query option, either automatically via the "autoExpandSelect" model
|
|
967
|
-
* parameter (see {@link
|
|
968
|
-
*
|
|
966
|
+
* parameter (see {@link #constructor}) or manually. The <code>$$separate</code> parameter
|
|
967
|
+
* must not be combined with <code>$$aggregation</code>.
|
|
969
968
|
* @param {boolean} [mParameters.$$sharedRequest]
|
|
970
969
|
* Whether multiple bindings for the same resource path share the data, so that it is
|
|
971
970
|
* requested only once.
|
|
972
971
|
* This parameter can be inherited from the model's parameter "sharedRequests", see
|
|
973
|
-
* {@link
|
|
972
|
+
* {@link #constructor}. Supported since 1.80.0
|
|
974
973
|
* <b>Note:</b> These bindings are read-only, so they may be especially useful for value
|
|
975
974
|
* lists; state messages (since 1.108.0) and the following APIs are <b>not</b> allowed
|
|
976
975
|
* <ul>
|
|
@@ -1005,8 +1004,7 @@ sap.ui.define([
|
|
|
1005
1004
|
* @param {string} [mParameters.$$updateGroupId]
|
|
1006
1005
|
* The group ID to be used for <b>update</b> requests initiated by this binding;
|
|
1007
1006
|
* if not specified, either the parent binding's update group ID (if the binding is relative)
|
|
1008
|
-
* or the model's update group ID is used,
|
|
1009
|
-
* see {@link sap.ui.model.odata.v4.ODataModel#constructor}.
|
|
1007
|
+
* or the model's update group ID is used, see {@link #constructor}.
|
|
1010
1008
|
* For valid values, see parameter "$$groupId".
|
|
1011
1009
|
* @returns {sap.ui.model.odata.v4.ODataListBinding}
|
|
1012
1010
|
* The list binding
|
|
@@ -1081,7 +1079,7 @@ sap.ui.define([
|
|
|
1081
1079
|
* @param {string} [mParameters.$$groupId]
|
|
1082
1080
|
* The group ID to be used for <b>read</b> requests initiated by this binding; if not
|
|
1083
1081
|
* specified, either the parent binding's group ID (if the binding is relative) or the
|
|
1084
|
-
* model's group ID is used, see {@link
|
|
1082
|
+
* model's group ID is used, see {@link #constructor}.
|
|
1085
1083
|
* Valid values are <code>undefined</code>, '$auto', '$auto.*', '$direct' or application group
|
|
1086
1084
|
* IDs as specified in {@link sap.ui.model.odata.v4.ODataModel}.
|
|
1087
1085
|
* @param {boolean} [mParameters.$$ignoreMessages]
|
|
@@ -1842,7 +1840,7 @@ sap.ui.define([
|
|
|
1842
1840
|
* The group ID
|
|
1843
1841
|
*
|
|
1844
1842
|
* @public
|
|
1845
|
-
* @see
|
|
1843
|
+
* @see #constructor
|
|
1846
1844
|
* @since 1.41.0
|
|
1847
1845
|
*/
|
|
1848
1846
|
ODataModel.prototype.getGroupId = function () {
|
|
@@ -1861,7 +1859,7 @@ sap.ui.define([
|
|
|
1861
1859
|
* @throws {Error} If the name of the group property is not 'submit'
|
|
1862
1860
|
*
|
|
1863
1861
|
* @private
|
|
1864
|
-
* @see
|
|
1862
|
+
* @see #constructor
|
|
1865
1863
|
*/
|
|
1866
1864
|
ODataModel.prototype.getGroupProperty = function (sGroupId, sPropertyName) {
|
|
1867
1865
|
switch (sPropertyName) {
|
|
@@ -1883,16 +1881,16 @@ sap.ui.define([
|
|
|
1883
1881
|
/**
|
|
1884
1882
|
* Returns a map of HTTP headers used for data and metadata requests. While the "X-CSRF-Token"
|
|
1885
1883
|
* header is not used for metadata requests, it is still included here if available. The
|
|
1886
|
-
* "SAP-ContextId" header is only included if requested explicitly (
|
|
1884
|
+
* "SAP-ContextId" header is only included if requested explicitly (since 1.86.0).
|
|
1887
1885
|
*
|
|
1888
1886
|
* @param {boolean} [bIncludeContextId]
|
|
1889
|
-
* Whether to include the "SAP-ContextId" header (
|
|
1887
|
+
* Whether to include the "SAP-ContextId" header (since 1.86.0)
|
|
1890
1888
|
* @returns {Object<string>}
|
|
1891
1889
|
* The map of HTTP headers
|
|
1892
1890
|
*
|
|
1893
1891
|
* @public
|
|
1894
1892
|
* @see #changeHttpHeaders
|
|
1895
|
-
* @since 1.71
|
|
1893
|
+
* @since 1.71.0
|
|
1896
1894
|
*/
|
|
1897
1895
|
ODataModel.prototype.getHttpHeaders = function (bIncludeContextId) {
|
|
1898
1896
|
var mHeadersCopy = Object.assign({}, this.mHeaders);
|
|
@@ -2173,8 +2171,7 @@ sap.ui.define([
|
|
|
2173
2171
|
|
|
2174
2172
|
/**
|
|
2175
2173
|
* Returns this model's root URL of the service to request data from (as defined by the
|
|
2176
|
-
* "serviceUrl" model parameter, see {@link
|
|
2177
|
-
* without query options.
|
|
2174
|
+
* "serviceUrl" model parameter, see {@link #constructor}), without query options.
|
|
2178
2175
|
*
|
|
2179
2176
|
* @returns {string} The service URL
|
|
2180
2177
|
*
|
|
@@ -2192,7 +2189,7 @@ sap.ui.define([
|
|
|
2192
2189
|
* The update group ID
|
|
2193
2190
|
*
|
|
2194
2191
|
* @public
|
|
2195
|
-
* @see
|
|
2192
|
+
* @see #constructor
|
|
2196
2193
|
* @since 1.41.0
|
|
2197
2194
|
*/
|
|
2198
2195
|
ODataModel.prototype.getUpdateGroupId = function () {
|
|
@@ -2692,7 +2689,7 @@ sap.ui.define([
|
|
|
2692
2689
|
* in case of success, or rejected with an instance of <code>Error</code> in case of failure,
|
|
2693
2690
|
* e.g. when the given context does not point to an entity
|
|
2694
2691
|
*
|
|
2695
|
-
* @deprecated
|
|
2692
|
+
* @deprecated As of version 1.39.0
|
|
2696
2693
|
* Use {@link sap.ui.model.odata.v4.Context#requestCanonicalPath} instead.
|
|
2697
2694
|
* @public
|
|
2698
2695
|
* @since 1.37.0
|
|
@@ -2770,7 +2767,7 @@ sap.ui.define([
|
|
|
2770
2767
|
* given group ID are running.
|
|
2771
2768
|
*
|
|
2772
2769
|
* @public
|
|
2773
|
-
* @see
|
|
2770
|
+
* @see #constructor
|
|
2774
2771
|
* @see #hasPendingChanges
|
|
2775
2772
|
* @since 1.39.0
|
|
2776
2773
|
*/
|
|
@@ -2857,6 +2854,31 @@ sap.ui.define([
|
|
|
2857
2854
|
this.oAnnotationChangePromise = oAnnotationChangePromise;
|
|
2858
2855
|
};
|
|
2859
2856
|
|
|
2857
|
+
/**
|
|
2858
|
+
* Sets the "odata.continue-on-error" preference once for the <b>current</b> batch request
|
|
2859
|
+
* associated with the given group ID. This method can be called early on, when that batch queue
|
|
2860
|
+
* is still empty, or even synchronously after {@link #submitBatch} - just as long as the $batch
|
|
2861
|
+
* request is not already being sent to the server. It needs to be called again for future
|
|
2862
|
+
* batch requests with the same group ID.
|
|
2863
|
+
*
|
|
2864
|
+
* @param {string} sGroupId
|
|
2865
|
+
* A valid group ID as specified in {@link sap.ui.model.odata.v4.ODataModel}. Note that
|
|
2866
|
+
* '$auto' should be avoided to control exactly which requests are affected by this
|
|
2867
|
+
* preference. Using a {@link module:sap/base/util/uid UID} may be one way to achieve this,
|
|
2868
|
+
* but take care to replace dashes with underscores.
|
|
2869
|
+
* @throws {Error}
|
|
2870
|
+
* If the given group ID is not a valid group ID or has
|
|
2871
|
+
* {@link sap.ui.model.odata.v4.SubmitMode.Direct}
|
|
2872
|
+
*
|
|
2873
|
+
* @private
|
|
2874
|
+
* @since 1.134.0
|
|
2875
|
+
* @ui5-restricted sap.fe
|
|
2876
|
+
*/
|
|
2877
|
+
ODataModel.prototype.setContinueOnError = function (sGroupId) {
|
|
2878
|
+
this.checkBatchGroupId(sGroupId);
|
|
2879
|
+
this.oRequestor.setContinueOnError(sGroupId);
|
|
2880
|
+
};
|
|
2881
|
+
|
|
2860
2882
|
/**
|
|
2861
2883
|
* Sets a listener for HTTP responses which is called every time with the full set of headers
|
|
2862
2884
|
* received.
|
|
@@ -2923,7 +2945,7 @@ sap.ui.define([
|
|
|
2923
2945
|
* There are several preconditions on the usage of this API:
|
|
2924
2946
|
* <ul>
|
|
2925
2947
|
* <li> Optimistic batch handling requires the "earlyRequests" model parameter; see
|
|
2926
|
-
* {@link
|
|
2948
|
+
* {@link #constructor},
|
|
2927
2949
|
* <li> the setter has to be called before the first $batch request is sent,
|
|
2928
2950
|
* <li> the setter may only be called once for an OData model,
|
|
2929
2951
|
* <li> the callback has to return a boolean, or a <code>Promise</code> resolving with a
|
|
@@ -2979,9 +3001,8 @@ sap.ui.define([
|
|
|
2979
3001
|
* @param {function(Error):Promise<undefined>} fnRetryAfter
|
|
2980
3002
|
* A "Retry-After" handler
|
|
2981
3003
|
*
|
|
2982
|
-
* @
|
|
2983
|
-
* @
|
|
2984
|
-
* @since 1.129.0
|
|
3004
|
+
* @public
|
|
3005
|
+
* @since 1.134.0
|
|
2985
3006
|
*/
|
|
2986
3007
|
ODataModel.prototype.setRetryAfterHandler = function (fnRetryAfter) {
|
|
2987
3008
|
this.fnRetryAfter = fnRetryAfter;
|
|
@@ -3110,14 +3131,14 @@ sap.ui.define([
|
|
|
3110
3131
|
});
|
|
3111
3132
|
};
|
|
3112
3133
|
|
|
3113
|
-
/** @deprecated */
|
|
3134
|
+
/** @deprecated As of version 1.120.0 */
|
|
3114
3135
|
(() => {
|
|
3115
3136
|
const fnOriginalExtend = ODataModel.extend;
|
|
3116
3137
|
/**
|
|
3117
3138
|
* DO NOT EXTEND THIS CLASS.
|
|
3118
3139
|
*
|
|
3119
3140
|
* @returns {function} The created class / constructor function
|
|
3120
|
-
* @deprecated
|
|
3141
|
+
* @deprecated As of version 1.120.0
|
|
3121
3142
|
*/
|
|
3122
3143
|
ODataModel.extend = function () {
|
|
3123
3144
|
Log.error("[FUTURE FATAL] sap.ui.model.odata.v4.ODataModel must not be extended");
|
|
@@ -294,8 +294,9 @@ sap.ui.define([
|
|
|
294
294
|
* @throws {Error} If
|
|
295
295
|
* <ul>
|
|
296
296
|
* <li> there are pending changes that cannot be ignored,
|
|
297
|
-
* <li> the binding is
|
|
298
|
-
* {@link sap.ui.model.odata.v4.ODataListBinding#create deep create}
|
|
297
|
+
* <li> the binding is part of a
|
|
298
|
+
* {@link sap.ui.model.odata.v4.ODataListBinding#create deep create} because it is
|
|
299
|
+
* relative to a {@link sap.ui.model.odata.v4.Context#isTransient transient} context,
|
|
299
300
|
* <li> <code>mParameters</code> is missing, contains binding-specific or unsupported
|
|
300
301
|
* parameters, contains unsupported values, or contains the property "$expand" or
|
|
301
302
|
* "$select" when the model is in auto-$expand/$select mode.
|
|
@@ -599,6 +600,8 @@ sap.ui.define([
|
|
|
599
600
|
* @throws {Error}
|
|
600
601
|
* If the cache promise for this binding is not yet fulfilled, or if the cache is shared
|
|
601
602
|
*
|
|
603
|
+
* @abstract
|
|
604
|
+
* @function
|
|
602
605
|
* @name sap.ui.model.odata.v4.ODataParentBinding#delete
|
|
603
606
|
* @private
|
|
604
607
|
*/
|
|
@@ -642,7 +645,7 @@ sap.ui.define([
|
|
|
642
645
|
* Destroys the object. The object must not be used anymore after this function was called.
|
|
643
646
|
*
|
|
644
647
|
* @public
|
|
645
|
-
* @since 1.61
|
|
648
|
+
* @since 1.61.0
|
|
646
649
|
*/
|
|
647
650
|
ODataParentBinding.prototype.destroy = function () {
|
|
648
651
|
this.mAggregatedQueryOptions = undefined;
|
|
@@ -1020,6 +1023,7 @@ sap.ui.define([
|
|
|
1020
1023
|
* @returns {sap.ui.model.odata.v4.Context}
|
|
1021
1024
|
* A matching context or <code>undefined</code> if there is none
|
|
1022
1025
|
*
|
|
1026
|
+
* @abstract
|
|
1023
1027
|
* @function
|
|
1024
1028
|
* @name sap.ui.model.odata.v4.ODataParentBinding#findContextForCanonicalPath
|
|
1025
1029
|
* @private
|
|
@@ -1029,6 +1033,7 @@ sap.ui.define([
|
|
|
1029
1033
|
* Fire event 'patchCompleted' to attached listeners, if the last PATCH request is completed.
|
|
1030
1034
|
*
|
|
1031
1035
|
* @param {boolean} bSuccess Whether the current PATCH request has been processed successfully
|
|
1036
|
+
*
|
|
1032
1037
|
* @private
|
|
1033
1038
|
*/
|
|
1034
1039
|
ODataParentBinding.prototype.firePatchCompleted = function (bSuccess) {
|
|
@@ -1257,6 +1262,8 @@ sap.ui.define([
|
|
|
1257
1262
|
* @param {string} sName - The parameter's name
|
|
1258
1263
|
* @param {any} vOtherValue - The parameter's other value
|
|
1259
1264
|
* @returns {boolean} Whether the parameter is "unchanged"
|
|
1265
|
+
*
|
|
1266
|
+
* @private
|
|
1260
1267
|
*/
|
|
1261
1268
|
ODataParentBinding.prototype.isUnchangedParameter = function (sName, vOtherValue) {
|
|
1262
1269
|
return this.mParameters[sName] === vOtherValue;
|
|
@@ -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.134.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
|
|
@@ -136,8 +136,7 @@ sap.ui.define([
|
|
|
136
136
|
* when it gets a new type via {@link #setType}, or when the data state is reset via
|
|
137
137
|
* {@link sap.ui.model.odata.v4.ODataModel#resetChanges},
|
|
138
138
|
* {@link sap.ui.model.odata.v4.ODataContextBinding#resetChanges},
|
|
139
|
-
* {@link sap.ui.model.odata.v4.ODataListBinding#resetChanges} or
|
|
140
|
-
* {@link sap.ui.model.odata.v4.ODataPropertyBinding#resetChanges},
|
|
139
|
+
* {@link sap.ui.model.odata.v4.ODataListBinding#resetChanges} or {@link #resetChanges},
|
|
141
140
|
* <li> {@link sap.ui.model.ChangeReason.Refresh Refresh} when the binding is refreshed,
|
|
142
141
|
* <li> {@link sap.ui.model.ChangeReason.Context Context} when the parent context is
|
|
143
142
|
* changed.
|
|
@@ -560,7 +559,7 @@ sap.ui.define([
|
|
|
560
559
|
* determined, or rejected in case of an error
|
|
561
560
|
*
|
|
562
561
|
* @public
|
|
563
|
-
* @since 1.69
|
|
562
|
+
* @since 1.69.0
|
|
564
563
|
*/
|
|
565
564
|
ODataPropertyBinding.prototype.requestValue = function () {
|
|
566
565
|
var that = this;
|
|
@@ -251,7 +251,13 @@ sap.ui.define([
|
|
|
251
251
|
if (oKeptElement && oKeptElement !== oElement
|
|
252
252
|
&& !(oKeptElement instanceof SyncPromise)) {
|
|
253
253
|
if (!sHierarchyQualifier || aElements.includes(oKeptElement)) {
|
|
254
|
-
|
|
254
|
+
const sNewPredicate = oCache.fixDuplicatePredicate(oElement, sPredicate);
|
|
255
|
+
if (sNewPredicate) {
|
|
256
|
+
sPredicate = sNewPredicate;
|
|
257
|
+
oKeptElement = oElement; // leads to no-op for _Helper.updateNonExisting
|
|
258
|
+
} else {
|
|
259
|
+
throw new Error("Duplicate key predicate: " + sPredicate);
|
|
260
|
+
}
|
|
255
261
|
}
|
|
256
262
|
if (!oKeptElement["@odata.etag"]
|
|
257
263
|
|| oElement["@odata.etag"] === oKeptElement["@odata.etag"]) {
|
|
@@ -381,6 +387,8 @@ sap.ui.define([
|
|
|
381
387
|
* @param {sap.ui.model.odata.v4.lib._GroupLock} [oGroupLock]
|
|
382
388
|
* An unlocked lock for the group to associate the clean-up request with; this indicates
|
|
383
389
|
* whether to collapse the node and all its descendants
|
|
390
|
+
* @param {boolean} [bSilent]
|
|
391
|
+
* Whether no ("change") events should be fired
|
|
384
392
|
* @param {boolean} [bNested]
|
|
385
393
|
* Whether the "collapse all" was performed at an ancestor
|
|
386
394
|
* @returns {number}
|
|
@@ -389,10 +397,11 @@ sap.ui.define([
|
|
|
389
397
|
* @public
|
|
390
398
|
* @see #expand
|
|
391
399
|
*/
|
|
392
|
-
_AggregationCache.prototype.collapse = function (sGroupNodePath, oGroupLock, bNested) {
|
|
400
|
+
_AggregationCache.prototype.collapse = function (sGroupNodePath, oGroupLock, bSilent, bNested) {
|
|
393
401
|
const oGroupNode = this.getValue(sGroupNodePath);
|
|
394
402
|
const oCollapsed = _AggregationHelper.getCollapsedObject(oGroupNode);
|
|
395
|
-
_Helper.updateAll(this.mChangeListeners, sGroupNodePath, oGroupNode,
|
|
403
|
+
_Helper.updateAll(bSilent ? {} : this.mChangeListeners, sGroupNodePath, oGroupNode,
|
|
404
|
+
oCollapsed);
|
|
396
405
|
const bAll = !!oGroupLock;
|
|
397
406
|
this.oTreeState.collapse(oGroupNode, bAll, bNested);
|
|
398
407
|
|
|
@@ -415,7 +424,7 @@ sap.ui.define([
|
|
|
415
424
|
}
|
|
416
425
|
if (bAll && oElement["@$ui5.node.isExpanded"]) {
|
|
417
426
|
iRemaining -= this.collapse(
|
|
418
|
-
_Helper.getPrivateAnnotation(oElement, "predicate"), oGroupLock, true);
|
|
427
|
+
_Helper.getPrivateAnnotation(oElement, "predicate"), oGroupLock, bSilent, true);
|
|
419
428
|
}
|
|
420
429
|
// exceptions of selection are effectively kept alive (with recursive hierarchy)
|
|
421
430
|
if (!this.isSelectionDifferent(oElement)) {
|
|
@@ -703,6 +712,9 @@ sap.ui.define([
|
|
|
703
712
|
if (sParentFilter) {
|
|
704
713
|
oCache.$parentFilter = sParentFilter;
|
|
705
714
|
}
|
|
715
|
+
if (!oAggregation.hierarchyQualifier) {
|
|
716
|
+
oCache.fixDuplicatePredicate = _AggregationCache.fixDuplicatePredicate.bind(oCache);
|
|
717
|
+
}
|
|
706
718
|
|
|
707
719
|
return oCache;
|
|
708
720
|
};
|
|
@@ -2681,8 +2693,6 @@ sap.ui.define([
|
|
|
2681
2693
|
* error.
|
|
2682
2694
|
* @param {boolean} [bIsGrouped]
|
|
2683
2695
|
* Whether the list binding is grouped via its first sorter
|
|
2684
|
-
* @param {string[]} [aSeparateProperties]
|
|
2685
|
-
* An array of properties which are requested separately
|
|
2686
2696
|
* @returns {sap.ui.model.odata.v4.lib._Cache}
|
|
2687
2697
|
* The cache
|
|
2688
2698
|
* @throws {Error}
|
|
@@ -2697,8 +2707,7 @@ sap.ui.define([
|
|
|
2697
2707
|
* @public
|
|
2698
2708
|
*/
|
|
2699
2709
|
_AggregationCache.create = function (oRequestor, sResourcePath, sDeepResourcePath,
|
|
2700
|
-
mQueryOptions, oAggregation, bSortExpandSelect, bSharedRequest, bIsGrouped
|
|
2701
|
-
aSeparateProperties) {
|
|
2710
|
+
mQueryOptions, oAggregation, bSortExpandSelect, bSharedRequest, bIsGrouped) {
|
|
2702
2711
|
var bHasGrandTotal, bHasGroupLevels;
|
|
2703
2712
|
|
|
2704
2713
|
function checkExpandSelect() {
|
|
@@ -2768,7 +2777,22 @@ sap.ui.define([
|
|
|
2768
2777
|
}
|
|
2769
2778
|
|
|
2770
2779
|
return _Cache.create(oRequestor, sResourcePath, mQueryOptions, bSortExpandSelect,
|
|
2771
|
-
sDeepResourcePath, bSharedRequest
|
|
2780
|
+
sDeepResourcePath, bSharedRequest);
|
|
2781
|
+
};
|
|
2782
|
+
|
|
2783
|
+
// @override sap.ui.model.odata.v4.lib._Cache#fixDuplicatePredicate
|
|
2784
|
+
_AggregationCache.fixDuplicatePredicate = function (oElement, sPredicate) {
|
|
2785
|
+
if (sPredicate === "('')" || sPredicate.includes("=''")) {
|
|
2786
|
+
Log.warning("Duplicate key predicate: " + sPredicate, this.toString(),
|
|
2787
|
+
"sap.ui.model.odata.v4.lib._AggregationCache");
|
|
2788
|
+
const sNewPredicate = sPredicate.slice(0, -1) + ",$duplicate=" + _Helper.uid() + ")";
|
|
2789
|
+
_Helper.setPrivateAnnotation(oElement, "predicate", sNewPredicate);
|
|
2790
|
+
if (this.aElements.$byPredicate[sPredicate] === oElement) {
|
|
2791
|
+
delete this.aElements.$byPredicate[sPredicate];
|
|
2792
|
+
this.aElements.$byPredicate[sNewPredicate] = oElement;
|
|
2793
|
+
}
|
|
2794
|
+
return sNewPredicate;
|
|
2795
|
+
}
|
|
2772
2796
|
};
|
|
2773
2797
|
|
|
2774
2798
|
return _AggregationCache;
|
|
@@ -25,6 +25,7 @@ sap.ui.define([
|
|
|
25
25
|
with : "string"
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
|
+
/** @deprecated As of version 1.89.0 */
|
|
28
29
|
"grandTotal like 1.84" : "boolean",
|
|
29
30
|
grandTotalAtBottomOnly : "boolean",
|
|
30
31
|
group : {
|
|
@@ -882,15 +883,12 @@ sap.ui.define([
|
|
|
882
883
|
});
|
|
883
884
|
|
|
884
885
|
aGroups.forEach(function (sGroup) {
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
if (aAdditionally) {
|
|
888
|
-
aAdditionally.forEach(function (sAdditionally) {
|
|
886
|
+
oAggregation.group[sGroup].additionally
|
|
887
|
+
?.forEach(function (sAdditionally) {
|
|
889
888
|
aAllProperties.push(sAdditionally.includes("/")
|
|
890
889
|
? sAdditionally.split("/")
|
|
891
890
|
: sAdditionally);
|
|
892
891
|
});
|
|
893
|
-
}
|
|
894
892
|
});
|
|
895
893
|
|
|
896
894
|
return aAllProperties;
|
|
@@ -977,8 +975,7 @@ sap.ui.define([
|
|
|
977
975
|
*/
|
|
978
976
|
function isUsedFor(sName, sGroup) {
|
|
979
977
|
return sName === sGroup
|
|
980
|
-
|| oAggregation.group[sGroup].additionally
|
|
981
|
-
&& oAggregation.group[sGroup].additionally.includes(sName);
|
|
978
|
+
|| oAggregation.group[sGroup].additionally?.includes(sName);
|
|
982
979
|
}
|
|
983
980
|
|
|
984
981
|
if (sOrderby) {
|
|
@@ -1193,9 +1190,9 @@ sap.ui.define([
|
|
|
1193
1190
|
// returns true if the array contains a filter affected by the side effect path
|
|
1194
1191
|
function hasAffectedFilter(aFilters0) {
|
|
1195
1192
|
return aFilters0.some(function (oFilter) {
|
|
1196
|
-
return oFilter.
|
|
1197
|
-
? hasAffectedFilter(oFilter.
|
|
1198
|
-
: isAffected(oFilter.
|
|
1193
|
+
return oFilter.getFilters()
|
|
1194
|
+
? hasAffectedFilter(oFilter.getFilters())
|
|
1195
|
+
: isAffected(oFilter.getPath());
|
|
1199
1196
|
});
|
|
1200
1197
|
}
|
|
1201
1198
|
|
|
@@ -1333,9 +1330,9 @@ sap.ui.define([
|
|
|
1333
1330
|
* Whether the filter relates to an aggregate
|
|
1334
1331
|
*/
|
|
1335
1332
|
function isRelatedToAggregate(oFilter0) {
|
|
1336
|
-
return oFilter0.
|
|
1337
|
-
? oFilter0.
|
|
1338
|
-
: oFilter0.
|
|
1333
|
+
return oFilter0.getFilters()
|
|
1334
|
+
? oFilter0.getFilters().some(isRelatedToAggregate)
|
|
1335
|
+
: oFilter0.getPath() in oAggregation.aggregate;
|
|
1339
1336
|
}
|
|
1340
1337
|
|
|
1341
1338
|
/*
|
|
@@ -1360,9 +1357,9 @@ sap.ui.define([
|
|
|
1360
1357
|
* A filter
|
|
1361
1358
|
*/
|
|
1362
1359
|
function split(oFilter0) {
|
|
1363
|
-
if (oFilter0.
|
|
1364
|
-
oFilter0.
|
|
1365
|
-
} else if (oFilter0.
|
|
1360
|
+
if (oFilter0.getFilters() && oFilter0.isAnd()) {
|
|
1361
|
+
oFilter0.getFilters().forEach(split);
|
|
1362
|
+
} else if (oFilter0.getPath() && isRelatedToUnit(oFilter0.getPath())) {
|
|
1366
1363
|
aFiltersNoAggregate.push(oFilter0);
|
|
1367
1364
|
aFiltersNoThese.push(oFilter0); // avoid "$these/..." here
|
|
1368
1365
|
aFiltersOnAggregate.push(oFilter0);
|