@openui5/sap.ui.core 1.138.0 → 1.140.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/README.md +1 -1
- package/REUSE.toml +8 -1
- package/THIRDPARTY.txt +72 -66
- package/package.json +2 -2
- package/src/jquery.sap.global.js +1 -1
- package/src/jquery.sap.mobile.js +0 -8
- 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 +22 -1
- package/src/sap/base/i18n/LanguageFallback.js +18 -2
- package/src/sap/base/i18n/LanguageTag.js +11 -5
- package/src/sap/base/i18n/Localization.js +36 -9
- package/src/sap/base/i18n/ResourceBundle.js +59 -35
- package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
- package/src/sap/base/security/URLListValidator.js +7 -3
- 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/ui/Device.js +3 -3
- package/src/sap/ui/Global.js +3 -3
- package/src/sap/ui/base/BindingInfo.js +6 -1
- package/src/sap/ui/base/BindingParser.js +1 -1
- package/src/sap/ui/base/DataType.js +27 -2
- 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 +49 -12
- 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/OwnStatics.js +49 -0
- package/src/sap/ui/core/.library +8 -3
- package/src/sap/ui/core/BlockLayerUtils.js +2 -2
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/Component.js +11 -9
- package/src/sap/ui/core/ComponentContainer.js +13 -3
- 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 -11
- 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 +10 -4
- 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 +10 -8
- 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 +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/Lib.js +54 -132
- 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 +1 -1
- 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/Theming.js +145 -76
- 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 +6 -2
- 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 +1 -1
- package/src/sap/ui/core/date/UI5Date.js +1 -1
- 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/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/FormatUtils.js +1 -1
- package/src/sap/ui/core/format/NumberFormat.js +44 -20
- 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/i18n/interaction_ar.xml +1 -1
- package/src/sap/ui/core/interaction/KeyboardInteractionDisplay.js +64 -37
- package/src/sap/ui/core/library.js +3 -3
- 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/MessageParser.js +1 -1
- package/src/sap/ui/core/message/MessageProcessor.js +1 -1
- package/src/sap/ui/core/messagebundle.properties +58 -28
- package/src/sap/ui/core/messagebundle_ar.properties +26 -11
- package/src/sap/ui/core/messagebundle_bg.properties +21 -6
- package/src/sap/ui/core/messagebundle_ca.properties +24 -9
- package/src/sap/ui/core/messagebundle_cnr.properties +25 -10
- package/src/sap/ui/core/messagebundle_cs.properties +24 -9
- package/src/sap/ui/core/messagebundle_cy.properties +24 -9
- package/src/sap/ui/core/messagebundle_da.properties +21 -6
- package/src/sap/ui/core/messagebundle_de.properties +16 -1
- package/src/sap/ui/core/messagebundle_el.properties +26 -11
- package/src/sap/ui/core/messagebundle_en.properties +24 -9
- package/src/sap/ui/core/messagebundle_en_GB.properties +24 -9
- package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +24 -9
- package/src/sap/ui/core/messagebundle_es.properties +21 -6
- package/src/sap/ui/core/messagebundle_es_MX.properties +24 -9
- package/src/sap/ui/core/messagebundle_et.properties +31 -16
- package/src/sap/ui/core/messagebundle_fi.properties +22 -7
- package/src/sap/ui/core/messagebundle_fr.properties +22 -7
- package/src/sap/ui/core/messagebundle_fr_CA.properties +20 -5
- package/src/sap/ui/core/messagebundle_hi.properties +24 -9
- package/src/sap/ui/core/messagebundle_hr.properties +20 -5
- package/src/sap/ui/core/messagebundle_hu.properties +23 -8
- package/src/sap/ui/core/messagebundle_id.properties +20 -5
- package/src/sap/ui/core/messagebundle_it.properties +23 -8
- package/src/sap/ui/core/messagebundle_iw.properties +21 -6
- package/src/sap/ui/core/messagebundle_ja.properties +19 -4
- package/src/sap/ui/core/messagebundle_kk.properties +25 -10
- package/src/sap/ui/core/messagebundle_ko.properties +26 -11
- package/src/sap/ui/core/messagebundle_lt.properties +20 -5
- package/src/sap/ui/core/messagebundle_lv.properties +22 -7
- package/src/sap/ui/core/messagebundle_mk.properties +25 -10
- package/src/sap/ui/core/messagebundle_ms.properties +24 -9
- package/src/sap/ui/core/messagebundle_nl.properties +22 -7
- package/src/sap/ui/core/messagebundle_no.properties +22 -7
- package/src/sap/ui/core/messagebundle_pl.properties +19 -4
- package/src/sap/ui/core/messagebundle_pt.properties +18 -3
- package/src/sap/ui/core/messagebundle_pt_PT.properties +18 -3
- package/src/sap/ui/core/messagebundle_ro.properties +24 -9
- package/src/sap/ui/core/messagebundle_ru.properties +19 -4
- package/src/sap/ui/core/messagebundle_sh.properties +25 -10
- package/src/sap/ui/core/messagebundle_sk.properties +24 -9
- package/src/sap/ui/core/messagebundle_sl.properties +20 -5
- package/src/sap/ui/core/messagebundle_sr.properties +25 -10
- package/src/sap/ui/core/messagebundle_sv.properties +23 -8
- package/src/sap/ui/core/messagebundle_th.properties +20 -5
- package/src/sap/ui/core/messagebundle_tr.properties +20 -5
- package/src/sap/ui/core/messagebundle_uk.properties +22 -7
- package/src/sap/ui/core/messagebundle_vi.properties +26 -11
- package/src/sap/ui/core/messagebundle_zh_CN.properties +24 -9
- package/src/sap/ui/core/messagebundle_zh_TW.properties +26 -11
- package/src/sap/ui/core/mvc/Controller.js +5 -3
- package/src/sap/ui/core/mvc/HTMLView.js +6 -2
- package/src/sap/ui/core/mvc/JSONView.js +6 -2
- package/src/sap/ui/core/mvc/JSView.js +6 -3
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/View.js +63 -20
- package/src/sap/ui/core/mvc/XMLView.js +6 -2
- package/src/sap/ui/core/mvc/_ViewFactory.js +8 -4
- package/src/sap/ui/core/plugin/DeclarativeSupport.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/routing/Route.js +1 -1
- package/src/sap/ui/core/routing/Router.js +19 -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/base.less +6 -6
- package/src/sap/ui/core/themes/base/shared.less +4 -1
- package/src/sap/ui/core/themes/base/skeleton.less +3 -3
- package/src/sap/ui/core/theming/Parameters.js +717 -755
- package/src/sap/ui/core/theming/ThemeHelper.js +0 -77
- package/src/sap/ui/core/theming/ThemeManager.js +535 -526
- 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/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 +93 -45
- package/src/sap/ui/core/webc/WebComponentMetadata.js +40 -6
- 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/dom/findTabbable.js +1 -1
- package/src/sap/ui/dom/includeStylesheet.js +4 -1
- package/src/sap/ui/model/ClientModel.js +2 -2
- 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/Filter.js +55 -35
- package/src/sap/ui/model/FilterOperator.js +79 -9
- package/src/sap/ui/model/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +7 -7
- 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/json/JSONModel.js +1 -1
- package/src/sap/ui/model/json/JSONPropertyBinding.js +14 -2
- package/src/sap/ui/model/json/TypedJSONContext.js +16 -0
- package/src/sap/ui/model/json/TypedJSONModel.js +16 -0
- 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 +1 -1
- package/src/sap/ui/model/odata/ODataMetadata.js +4 -4
- package/src/sap/ui/model/odata/ODataModel.js +3 -3
- package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +9 -8
- 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 +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 +17 -11
- package/src/sap/ui/model/odata/v2/ODataContextBinding.js +2 -2
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +2 -2
- package/src/sap/ui/model/odata/v2/ODataModel.js +44 -61
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +82 -60
- package/src/sap/ui/model/odata/v4/Context.js +19 -15
- package/src/sap/ui/model/odata/v4/ODataBinding.js +2 -2
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +4 -4
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +26 -14
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +38 -23
- package/src/sap/ui/model/odata/v4/ODataModel.js +2 -2
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +34 -7
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataUtils.js +2 -2
- package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +78 -26
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +10 -7
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +32 -27
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +50 -32
- package/src/sap/ui/model/odata/v4/lib/_MinMaxHelper.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +19 -9
- 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 +19 -5
- package/src/sap/ui/model/xml/XMLModel.js +1 -1
- package/src/sap/ui/qunit/utils/ControlIterator.js +1 -2
- package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
- package/src/sap/ui/test/TestUtils.js +27 -15
- package/src/sap/ui/test/generic/GenericTestCollection.js +11 -1
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/test/generic/Utils.js +6 -6
- package/src/sap/ui/test/opaQunit.js +3 -0
- package/src/sap/ui/thirdparty/jquery.js +1 -1
- package/src/sap/ui/thirdparty/qunit-2.js +4 -1
- package/src/sap/ui/util/Mobile.js +0 -9
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/ui5loader-autoconfig.js +49 -42
- package/src/ui5loader.js +1 -1
- package/ui5.yaml +0 -1
- package/src/sap/ui/base/_runWithOwner.js +0 -43
- package/src/sap/ui/core/plugin/LessSupport.js +0 -542
|
@@ -177,7 +177,7 @@ sap.ui.define([
|
|
|
177
177
|
* Enable/disable automatic refresh after change operations
|
|
178
178
|
* @param {boolean} [mParameters.sequentializeRequests=false]
|
|
179
179
|
* Whether to sequentialize all requests, needed in case the service cannot handle parallel
|
|
180
|
-
* requests. <b>Deprecated
|
|
180
|
+
* requests. <b>Deprecated as of version 1.128.0</b>, the concept has been discarded.
|
|
181
181
|
* @param {string} [mParameters.serviceUrl]
|
|
182
182
|
* Base URI of the service to request data from; this property is mandatory when the first
|
|
183
183
|
* method parameter <code>serviceUrl</code> is omitted, but ignored otherwise
|
|
@@ -198,16 +198,16 @@ sap.ui.define([
|
|
|
198
198
|
* If set to <code>true</code>, the user credentials are included in a cross-origin request. <b>Note:</b> This
|
|
199
199
|
* only works if all requests are asynchronous.
|
|
200
200
|
* @param {string} [mParameters.password]
|
|
201
|
-
* <b>Deprecated</b> for security reasons. Use strong server side authentication instead.
|
|
201
|
+
* <b>Deprecated as of version 1.75.0</b> for security reasons. Use strong server side authentication instead.
|
|
202
202
|
* Password for the service.
|
|
203
203
|
* @param {boolean} [mParameters.skipMetadataAnnotationParsing]
|
|
204
|
-
* <b>Deprecated</b> This parameter does not prevent creation of annotations from the
|
|
205
|
-
* document in this model's metamodel.
|
|
204
|
+
* <b>Deprecated as of version 1.112.0</b> This parameter does not prevent creation of annotations from the
|
|
205
|
+
* metadata document in this model's metamodel.
|
|
206
206
|
* Whether to skip the automated loading of annotations from the metadata document. Loading
|
|
207
207
|
* annotations from metadata does not have any effects (except the lost performance by
|
|
208
208
|
* invoking the parser) if there are no annotations inside the metadata document
|
|
209
209
|
* @param {string} [mParameters.user]
|
|
210
|
-
* <b>Deprecated</b> for security reasons. Use strong server side authentication instead.
|
|
210
|
+
* <b>Deprecated as of version 1.75.0</b> for security reasons. Use strong server side authentication instead.
|
|
211
211
|
* UserID for the service.
|
|
212
212
|
*
|
|
213
213
|
* @class
|
|
@@ -219,7 +219,7 @@ sap.ui.define([
|
|
|
219
219
|
* This model is not prepared to be inherited from.
|
|
220
220
|
*
|
|
221
221
|
* @author SAP SE
|
|
222
|
-
* @version 1.
|
|
222
|
+
* @version 1.140.0
|
|
223
223
|
*
|
|
224
224
|
* @public
|
|
225
225
|
* @alias sap.ui.model.odata.v2.ODataModel
|
|
@@ -325,7 +325,7 @@ sap.ui.define([
|
|
|
325
325
|
this.sWarmupUrl = sWarmupUrl;
|
|
326
326
|
this.bWarmup = !!sWarmupUrl;
|
|
327
327
|
this.mSupportedBindingModes = {"OneWay": true, "OneTime": true, "TwoWay":true};
|
|
328
|
-
this.mUnsupportedFilterOperators = {
|
|
328
|
+
this.mUnsupportedFilterOperators = {All: true, Any: true, NotAll: true, NotAny: true};
|
|
329
329
|
this.sDefaultBindingMode = sDefaultBindingMode || BindingMode.OneWay;
|
|
330
330
|
this.bIsMessageScopeSupported = false;
|
|
331
331
|
this.iPendingDeferredRequests = 0;
|
|
@@ -467,7 +467,8 @@ sap.ui.define([
|
|
|
467
467
|
headers: this.mCustomHeaders,
|
|
468
468
|
combineEvents: true,
|
|
469
469
|
cacheKey: this._getAnnotationCacheKey(this.sMetadataUrl),
|
|
470
|
-
useCache: this.bUseCache
|
|
470
|
+
useCache: this.bUseCache,
|
|
471
|
+
withCredentials: this.bWithCredentials
|
|
471
472
|
});
|
|
472
473
|
if (!this.bDisableSoftStateHeader) {
|
|
473
474
|
delete this.mCustomHeaders["sap-contextid-accept"];
|
|
@@ -2103,10 +2104,10 @@ sap.ui.define([
|
|
|
2103
2104
|
* {@link topic:6c47b2b39db9404582994070ec3d57a2#loio62149734b5c24507868e722fe87a75db
|
|
2104
2105
|
* Optimizing Dependent Bindings}.
|
|
2105
2106
|
* @param {string} [mParameters.batchGroupId]
|
|
2106
|
-
* <b>Deprecated</b>, use <code>groupId</code> instead. Sets the batch group id to be used
|
|
2107
|
-
* requests originating from the binding.
|
|
2107
|
+
* <b>Deprecated as of version 1.31.0</b>, use <code>groupId</code> instead. Sets the batch group id to be used
|
|
2108
|
+
* for requests originating from the binding.
|
|
2108
2109
|
* @param {int} [mParameters.threshold]
|
|
2109
|
-
* Deprecated
|
|
2110
|
+
* <b>Deprecated as of version 1.102.0</b>, as {@link sap.ui.model.odata.OperationMode.Auto} is deprecated;
|
|
2110
2111
|
* the threshold that defines how many entries should be fetched at least by the binding if
|
|
2111
2112
|
* <code>operationMode</code> is set to <code>Auto</code>.
|
|
2112
2113
|
* @throws {Error} If one of the filters uses an operator that is not supported by the underlying model
|
|
@@ -2136,33 +2137,22 @@ sap.ui.define([
|
|
|
2136
2137
|
* single initial OData request.
|
|
2137
2138
|
*
|
|
2138
2139
|
* For services without the <code>hierarchy-node-descendant-count-for</code> annotation, the
|
|
2139
|
-
* <code>numberOfExpandedLevels</code> property is not supported and deprecated.
|
|
2140
|
+
* <code>numberOfExpandedLevels</code> property is not supported and deprecated since 1.44.5.
|
|
2141
|
+
*
|
|
2142
|
+
* The OData service must always return node collections which are sufficient to create a valid hierarchy on the
|
|
2143
|
+
* client. This means that for each node in the response all parent nodes up to the hierarchy root must also
|
|
2144
|
+
* be contained in the response. Note that this rule applies independent of any filters set for the binding.
|
|
2145
|
+
*
|
|
2146
|
+
* You must not define filters on tree annotation properties for this binding as this interferes with hierarchy
|
|
2147
|
+
* filters defined by the binding itself.
|
|
2140
2148
|
*
|
|
2141
|
-
* <h3>Operation Modes</h3>
|
|
2149
|
+
* <h3>Notes On Operation Modes</h3>
|
|
2142
2150
|
* For a full definition and explanation of all OData binding operation modes, see
|
|
2143
2151
|
* {@link sap.ui.model.odata.OperationMode}.
|
|
2144
2152
|
*
|
|
2145
|
-
* <h4>OperationMode.Server</h4>
|
|
2146
|
-
* Filtering on the <code>ODataTreeBinding</code> is only supported with filters of type
|
|
2147
|
-
* {@link sap.ui.model.FilterType.Application}. Be aware that this applies
|
|
2148
|
-
* only to filters which do not prevent the creation of a hierarchy. So filtering on a property
|
|
2149
|
-
* (e.g. a "Customer") is fine, as long as the application ensures that the responses from the
|
|
2150
|
-
* back end are sufficient to create a valid hierarchy on the client. Subsequent paging requests
|
|
2151
|
-
* for sibling and child nodes must also return responses, since the filters are sent with every
|
|
2152
|
-
* request. Using control-defined filters (see {@link sap.ui.model.FilterType.Control}) via the
|
|
2153
|
-
* {@link #filter} function is not supported for the operation mode <code>Server</code>.
|
|
2154
|
-
*
|
|
2155
|
-
* <h4>OperationMode.Client and OperationMode.Auto</h4>
|
|
2156
|
-
* The ODataTreeBinding supports control-defined filters only in operation modes
|
|
2157
|
-
* <code>Client</code> and <code>Auto</code>. With these operation modes, the filters and
|
|
2158
|
-
* sorters are applied on the client, like for the
|
|
2159
|
-
* {@link sap.ui.model.odata.v2.ODataListBinding}.
|
|
2160
|
-
*
|
|
2161
2153
|
* The operation modes <code>Client</code> and <code>Auto</code> are only supported for services
|
|
2162
2154
|
* which expose the hierarchy annotations mentioned above, but do <b>not</b> expose the
|
|
2163
|
-
* <code>hierarchy-node-descendant-count-for</code> annotation.
|
|
2164
|
-
* annotations including the <code>hierarchy-node-descendant-count-for</code> annotation, do
|
|
2165
|
-
* <b>not</b> support the operation modes <code>Client</code> and <code>Auto</code>.
|
|
2155
|
+
* <code>hierarchy-node-descendant-count-for</code> annotation.
|
|
2166
2156
|
* <b>Note:</b> {@link sap.ui.model.odata.OperationMode.Auto} is deprecated since 1.102.0.
|
|
2167
2157
|
*
|
|
2168
2158
|
* <b>Note:</b> OData tree bindings do neither support
|
|
@@ -2203,8 +2193,8 @@ sap.ui.define([
|
|
|
2203
2193
|
* the referenced property has to be an integer type
|
|
2204
2194
|
* @param {number} [mParameters.numberOfExpandedLevels=0]
|
|
2205
2195
|
* The number of levels that are auto-expanded initially. Setting this property might lead to
|
|
2206
|
-
* multiple back-end requests. The auto-expand feature is <b>deprecated
|
|
2207
|
-
* the <code>hierarchy-node-descendant-count-for</code> annotation</b>
|
|
2196
|
+
* multiple back-end requests. The auto-expand feature is <b>deprecated as of Version 1.44.5
|
|
2197
|
+
* for services without the <code>hierarchy-node-descendant-count-for</code> annotation</b>
|
|
2208
2198
|
* @param {number} [mParameters.rootLevel=0]
|
|
2209
2199
|
* The level of the topmost tree nodes
|
|
2210
2200
|
* @param {string} [mParameters.groupId]
|
|
@@ -2214,22 +2204,15 @@ sap.ui.define([
|
|
|
2214
2204
|
* specified. {@link sap.ui.model.odata.OperationMode.Auto OperationMode.Auto} is only
|
|
2215
2205
|
* supported for services which expose the hierarchy annotations, yet do <b>NOT</b> expose the
|
|
2216
2206
|
* <code>hierarchy-node-descendant-count-for</code> annotation.
|
|
2217
|
-
* <b>Note:</b> {@link sap.ui.model.odata.OperationMode.Auto} is deprecated since 1.102.0.
|
|
2218
2207
|
* @param {number} [mParameters.threshold]
|
|
2219
2208
|
* Deprecated since 1.102.0, as {@link sap.ui.model.odata.OperationMode.Auto} is deprecated;
|
|
2220
2209
|
* the threshold that defines how many entries should be fetched at least by the binding if
|
|
2221
2210
|
* <code>operationMode</code> is set to <code>Auto</code>
|
|
2222
2211
|
* @param {boolean} [mParameters.useServersideApplicationFilters]
|
|
2223
|
-
*
|
|
2224
|
-
* whether <code>$filter</code> statements should be used for the <code>$count</code> /
|
|
2212
|
+
* Whether <code>$filter</code> statements should be used for the <code>$count</code> /
|
|
2225
2213
|
* <code>$inlinecount</code> requests and for the data request if the operation mode is
|
|
2226
|
-
* {@link sap.ui.model.odata.OperationMode.Auto OperationMode.Auto}
|
|
2227
|
-
*
|
|
2228
|
-
* a complete tree hierarchy, including all inner nodes. To construct the hierarchy on the
|
|
2229
|
-
* client, it is mandatory that all filter matches include their complete parent chain up to
|
|
2230
|
-
* the root level. If {@link sap.ui.model.odata.OperationMode.Client OperationMode.Client} is
|
|
2231
|
-
* used, the complete collection without filters is requested; filters are applied on the
|
|
2232
|
-
* client side.
|
|
2214
|
+
* {@link sap.ui.model.odata.OperationMode.Auto OperationMode.Auto} or
|
|
2215
|
+
* {@link sap.ui.model.odata.OperationMode.Client OperationMode.Client}
|
|
2233
2216
|
* @param {any} [mParameters.treeState]
|
|
2234
2217
|
* A tree state handle can be given to the <code>ODataTreeBinding</code> when two conditions
|
|
2235
2218
|
* are met: <ul>
|
|
@@ -2252,14 +2235,14 @@ sap.ui.define([
|
|
|
2252
2235
|
* <code>preliminaryContext</code> given on construction of the binding's model, see
|
|
2253
2236
|
* {@link sap.ui.model.odata.v2.ODataModel}
|
|
2254
2237
|
* @param {string} [mParameters.batchGroupId]
|
|
2255
|
-
* <b>Deprecated</b>, use <code>groupId</code> instead. Sets the batch group id to be used
|
|
2238
|
+
* <b>Deprecated as of version 1.31.0</b>, use <code>groupId</code> instead. Sets the batch group id to be used
|
|
2256
2239
|
* for requests originating from this binding
|
|
2257
2240
|
* @param {object} [mParameters.navigation]
|
|
2258
2241
|
* A map describing the navigation properties between entity sets, which is used for
|
|
2259
2242
|
* constructing and paging the tree. Keys in this object are entity names, whereas the values
|
|
2260
2243
|
* name the navigation properties.
|
|
2261
2244
|
*
|
|
2262
|
-
* <b>Deprecated
|
|
2245
|
+
* <b>Deprecated as of version 1.44</b> The use of navigation properties to build up the hierarchy
|
|
2263
2246
|
* structure is deprecated. It is recommended to use the hierarchy annotations mentioned above
|
|
2264
2247
|
* instead.
|
|
2265
2248
|
* @param {sap.ui.model.Sorter[]|sap.ui.model.Sorter} [vSorters=[]]
|
|
@@ -2784,8 +2767,8 @@ sap.ui.define([
|
|
|
2784
2767
|
* see {@link topic:6c47b2b39db9404582994070ec3d57a2#loio62149734b5c24507868e722fe87a75db
|
|
2785
2768
|
* Optimizing Dependent Bindings}.
|
|
2786
2769
|
* @param {string} [mParameters.batchGroupId]
|
|
2787
|
-
* <b>Deprecated</b>, use <code>groupId</code> instead. Sets the batch group id to be used
|
|
2788
|
-
* requests originating from the binding.
|
|
2770
|
+
* <b>Deprecated as of version 1.31.0</b>, use <code>groupId</code> instead. Sets the batch group id to be used
|
|
2771
|
+
* for requests originating from the binding.
|
|
2789
2772
|
* @returns {sap.ui.model.odata.v2.ODataContextBinding} The new context binding
|
|
2790
2773
|
* @see sap.ui.model.Model.prototype.bindContext
|
|
2791
2774
|
* @public
|
|
@@ -2966,8 +2949,8 @@ sap.ui.define([
|
|
|
2966
2949
|
* @param {string} sPath Path/name of the property
|
|
2967
2950
|
* @param {object} [oContext] Context if available to access the property value
|
|
2968
2951
|
* @param {boolean} [bIncludeExpandEntries=false]
|
|
2969
|
-
* Deprecated
|
|
2970
|
-
* Whether entities for navigation properties of this property which have been read via
|
|
2952
|
+
* <b>Deprecated as of version 1.41.0</b>, use {@link #getObject} function with 'select' and 'expand' parameters
|
|
2953
|
+
* instead. Whether entities for navigation properties of this property which have been read via
|
|
2971
2954
|
* <code>$expand</code> are part of the return value.
|
|
2972
2955
|
* @returns {any} Value of the property
|
|
2973
2956
|
* @throws {Error}
|
|
@@ -5305,7 +5288,7 @@ sap.ui.define([
|
|
|
5305
5288
|
* sure that the request is completed before the data is processed any further.
|
|
5306
5289
|
* @param {Object<string,string>} [mParameters.urlParameters] A map containing the parameters that will be passed as query strings
|
|
5307
5290
|
* @param {Object<string,string>} [mParameters.headers] A map of headers for this request
|
|
5308
|
-
* @param {string} [mParameters.batchGroupId] Deprecated
|
|
5291
|
+
* @param {string} [mParameters.batchGroupId] <b>Deprecated as of version 1.31.0</b>, use <code>groupId</code> instead
|
|
5309
5292
|
* @param {string} [mParameters.groupId] ID of a request group; requests belonging to the same group will be bundled in one batch request
|
|
5310
5293
|
* @param {string} [mParameters.changeSetId] ID of the <code>ChangeSet</code> that this request should belong to
|
|
5311
5294
|
* @param {boolean} [mParameters.refreshAfterChange] Since 1.46; defines whether to update all bindings after submitting this change operation.
|
|
@@ -5390,7 +5373,7 @@ sap.ui.define([
|
|
|
5390
5373
|
* <code>true</code>.
|
|
5391
5374
|
* @param {Object<string,string>} [mParameters.urlParameters] A map containing the parameters that will be passed as query strings
|
|
5392
5375
|
* @param {Object<string,string>} [mParameters.headers] A map of headers for this request
|
|
5393
|
-
* @param {string} [mParameters.batchGroupId] Deprecated
|
|
5376
|
+
* @param {string} [mParameters.batchGroupId] <b>Deprecated as of version 1.31.0</b>, use <code>groupId</code> instead
|
|
5394
5377
|
* @param {string} [mParameters.groupId] ID of a request group; requests belonging to the same group will be bundled in one batch request
|
|
5395
5378
|
* @param {string} [mParameters.changeSetId] ID of the <code>ChangeSet</code> that this request should belong to
|
|
5396
5379
|
* @param {boolean} [mParameters.refreshAfterChange] Since 1.46; defines whether to update all bindings after submitting this change operation.
|
|
@@ -5478,7 +5461,7 @@ sap.ui.define([
|
|
|
5478
5461
|
* @param {Object<string,string>} [mParameters.headers]
|
|
5479
5462
|
* A map of headers for this request
|
|
5480
5463
|
* @param {string} [mParameters.batchGroupId]
|
|
5481
|
-
* Deprecated
|
|
5464
|
+
* <b>Deprecated as of version 1.31.0</b>, use <code>groupId</code> instead
|
|
5482
5465
|
* @param {string} [mParameters.groupId]
|
|
5483
5466
|
* ID of a request group; requests belonging to the same group will be bundled in one batch
|
|
5484
5467
|
* request
|
|
@@ -5660,7 +5643,7 @@ sap.ui.define([
|
|
|
5660
5643
|
* Maps the function import parameter name as specified in the function import's metadata to
|
|
5661
5644
|
* its value; the value is formatted based on the parameter's type as specified in the metadata
|
|
5662
5645
|
* @param {string} [mParameters.batchGroupId]
|
|
5663
|
-
* <b>Deprecated
|
|
5646
|
+
* <b>Deprecated as of version 1.31.0</b>, use <code>groupId</code> instead
|
|
5664
5647
|
*
|
|
5665
5648
|
* @return {object}
|
|
5666
5649
|
* An object which has a <code>contextCreated</code> function that returns a
|
|
@@ -5959,7 +5942,7 @@ sap.ui.define([
|
|
|
5959
5942
|
* failed. The handler can have the parameter: <code>oError</code> which contains additional error information.
|
|
5960
5943
|
* If the <code>GET</code> request has been aborted, the error has an <code>aborted</code> flag set to
|
|
5961
5944
|
* <code>true</code>.
|
|
5962
|
-
* @param {string} [mParameters.batchGroupId] Deprecated
|
|
5945
|
+
* @param {string} [mParameters.batchGroupId] <b>Deprecated as of version 1.31.0</b>, use <code>groupId</code> instead
|
|
5963
5946
|
* @param {string} [mParameters.groupId] ID of a request group; requests belonging to the same group will be bundled in one batch request
|
|
5964
5947
|
* @param {boolean} [mParameters.updateAggregatedMessages]
|
|
5965
5948
|
* Whether messages for child entities belonging to the same business object as the requested
|
|
@@ -6394,9 +6377,9 @@ sap.ui.define([
|
|
|
6394
6377
|
* If all contained requests have been aborted, the error has an <code>aborted</code> flag set to
|
|
6395
6378
|
* <code>true</code>.
|
|
6396
6379
|
* @param {string} [mParameters.batchGroupId]
|
|
6397
|
-
* <b>Deprecated</b>, use <code>groupId</code> instead
|
|
6380
|
+
* <b>Deprecated as of version 1.31.0</b>, use <code>groupId</code> instead
|
|
6398
6381
|
* @param {boolean} [mParameters.merge]
|
|
6399
|
-
* <b>Deprecated
|
|
6382
|
+
* <b>Deprecated as of version 1.38.0</b>, use the <code>defaultUpdateMethod</code> constructor parameter instead.
|
|
6400
6383
|
* If unset, the update method is determined from the <code>defaultUpdateMethod</code> constructor parameter.
|
|
6401
6384
|
* If <code>true</code>, <code>sap.ui.model.odata.UpdateMethod.MERGE</code> is used for update operations;
|
|
6402
6385
|
* if set to <code>false</code>, <code>sap.ui.model.odata.UpdateMethod.PUT</code> is used.
|
|
@@ -6430,10 +6413,10 @@ sap.ui.define([
|
|
|
6430
6413
|
* @param {function} [mParameters.success]
|
|
6431
6414
|
* A callback function which is called when the request has been successful
|
|
6432
6415
|
* @param {string} [mParameters.batchGroupId]
|
|
6433
|
-
* <b>Deprecated</b>, use <code>groupId</code> instead
|
|
6416
|
+
* <b>Deprecated as of version 1.31.0</b>, use <code>groupId</code> instead
|
|
6434
6417
|
* @param {boolean} [mParameters.merge]
|
|
6435
|
-
* <b>Deprecated
|
|
6436
|
-
* <code>sap.ui.model.odata.UpdateMethod.MERGE</code> is used
|
|
6418
|
+
* <b>Deprecated as of version 1.38.0</b>, use the <code>defaultUpdateMethod</code> constructor parameter instead.
|
|
6419
|
+
* Whether the update method <code>sap.ui.model.odata.UpdateMethod.MERGE</code> is used
|
|
6437
6420
|
* @returns {object}
|
|
6438
6421
|
* An object which has an <code>abort</code> function
|
|
6439
6422
|
* @throws {Error}
|
|
@@ -7342,7 +7325,7 @@ sap.ui.define([
|
|
|
7342
7325
|
* @param {object} mParameters
|
|
7343
7326
|
* A map of the following parameters:
|
|
7344
7327
|
* @param {string} [mParameters.batchGroupId]
|
|
7345
|
-
* Deprecated
|
|
7328
|
+
* <b>Deprecated as of version 1.31.0</b>, use <code>groupId</code> instead
|
|
7346
7329
|
* @param {string} [mParameters.changeSetId]
|
|
7347
7330
|
* The ID of the <code>ChangeSet</code> that this request should belong to
|
|
7348
7331
|
* @param {sap.ui.model.Context} [mParameters.context]
|
|
@@ -28,6 +28,8 @@ sap.ui.define([
|
|
|
28
28
|
CountMode, ODataUtils, OperationMode) {
|
|
29
29
|
"use strict";
|
|
30
30
|
|
|
31
|
+
const sClassName = "sap.ui.model.odata.v2.ODataTreeBinding";
|
|
32
|
+
|
|
31
33
|
/**
|
|
32
34
|
* Do <strong>NOT</strong> call this private constructor, but rather use
|
|
33
35
|
* {@link sap.ui.model.odata.v2.ODataModel#bindTree} instead!
|
|
@@ -75,10 +77,10 @@ sap.ui.define([
|
|
|
75
77
|
* the threshold that defines how many entries should be fetched at least by the binding if
|
|
76
78
|
* <code>operationMode</code> is set to <code>Auto</code>
|
|
77
79
|
* @param {boolean} [mParameters.useServersideApplicationFilters]
|
|
78
|
-
*
|
|
79
|
-
* whether <code>$filter</code> statements should be used for the <code>$count</code> /
|
|
80
|
+
* Whether <code>$filter</code> statements should be used for the <code>$count</code> /
|
|
80
81
|
* <code>$inlinecount</code> requests and for the data request if the operation mode is
|
|
81
|
-
* {@link sap.ui.model.odata.OperationMode.Auto OperationMode.Auto}
|
|
82
|
+
* {@link sap.ui.model.odata.OperationMode.Auto OperationMode.Auto} or
|
|
83
|
+
* {@link sap.ui.model.odata.OperationMode.Client OperationMode.Client}
|
|
82
84
|
* @param {any} [mParameters.treeState]
|
|
83
85
|
* A tree state handle
|
|
84
86
|
* @param {sap.ui.model.odata.CountMode} [mParameters.countMode]
|
|
@@ -86,9 +88,9 @@ sap.ui.define([
|
|
|
86
88
|
* @param {boolean} [mParameters.usePreliminaryContext]
|
|
87
89
|
* Whether a preliminary context is used
|
|
88
90
|
* @param {string} [mParameters.batchGroupId]
|
|
89
|
-
* <b>Deprecated</b>, use <code>groupId</code> instead
|
|
91
|
+
* <b>Deprecated as of version 1.31.0</b>, use <code>groupId</code> instead
|
|
90
92
|
* @param {object} [mParameters.navigation]
|
|
91
|
-
* <b>Deprecated
|
|
93
|
+
* <b>Deprecated as of version 1.44</b>. A map describing the navigation properties between entity
|
|
92
94
|
* sets, which is used for constructing and paging the tree
|
|
93
95
|
* @param {sap.ui.model.Sorter[]|sap.ui.model.Sorter} [vSorters=[]]
|
|
94
96
|
* The sorters used initially; call {@link #sort} to replace them
|
|
@@ -103,7 +105,7 @@ sap.ui.define([
|
|
|
103
105
|
* @extends sap.ui.model.TreeBinding
|
|
104
106
|
* @hideconstructor
|
|
105
107
|
* @public
|
|
106
|
-
* @version 1.
|
|
108
|
+
* @version 1.140.0
|
|
107
109
|
*/
|
|
108
110
|
var ODataTreeBinding = TreeBinding.extend("sap.ui.model.odata.v2.ODataTreeBinding", /** @lends sap.ui.model.odata.v2.ODataTreeBinding.prototype */ {
|
|
109
111
|
|
|
@@ -130,17 +132,6 @@ sap.ui.define([
|
|
|
130
132
|
|
|
131
133
|
this.mNormalizeCache = {};
|
|
132
134
|
|
|
133
|
-
vFilters = vFilters || [];
|
|
134
|
-
// The ODataTreeBinding expects there to be only an array in this.aApplicationFilters later on.
|
|
135
|
-
// Wrap the given application filters inside an array if necessary
|
|
136
|
-
if (vFilters instanceof Filter) {
|
|
137
|
-
vFilters = [vFilters];
|
|
138
|
-
}
|
|
139
|
-
if (vFilters.length > 1) {
|
|
140
|
-
vFilters = [FilterProcessor.groupFilters(vFilters)];
|
|
141
|
-
}
|
|
142
|
-
this.aApplicationFilters = vFilters;
|
|
143
|
-
|
|
144
135
|
// check filter integrity
|
|
145
136
|
this.oModel.checkFilter(this.aApplicationFilters);
|
|
146
137
|
|
|
@@ -1407,11 +1398,7 @@ sap.ui.define([
|
|
|
1407
1398
|
delete that.mRequestHandles[sRequestKey];
|
|
1408
1399
|
that.bNeedsUpdate = true;
|
|
1409
1400
|
|
|
1410
|
-
|
|
1411
|
-
if ((that.aApplicationFilters && that.aApplicationFilters.length > 0) ||
|
|
1412
|
-
(that.aFilters && that.aFilters.length > 0)) {
|
|
1413
|
-
that._applyFilter();
|
|
1414
|
-
}
|
|
1401
|
+
that._applyFilter();
|
|
1415
1402
|
|
|
1416
1403
|
// apply clientside sorters
|
|
1417
1404
|
if (that.aSorters && that.aSorters.length > 0) {
|
|
@@ -1674,14 +1661,6 @@ sap.ui.define([
|
|
|
1674
1661
|
// check filter integrity
|
|
1675
1662
|
this.oModel.checkFilter(aFilters);
|
|
1676
1663
|
|
|
1677
|
-
// check if filtering is supported for the current binding configuration
|
|
1678
|
-
if (sFilterType == FilterType.Control && (!this.bClientOperation || this.sOperationMode == OperationMode.Server)) {
|
|
1679
|
-
Log.warning("Filtering with ControlFilters is ONLY possible if the ODataTreeBinding is running in OperationMode.Client or " +
|
|
1680
|
-
"OperationMode.Auto, in case the given threshold is lower than the total number of tree nodes.");
|
|
1681
|
-
|
|
1682
|
-
return this;
|
|
1683
|
-
}
|
|
1684
|
-
|
|
1685
1664
|
// empty filters
|
|
1686
1665
|
if (!aFilters) {
|
|
1687
1666
|
aFilters = [];
|
|
@@ -1701,13 +1680,11 @@ sap.ui.define([
|
|
|
1701
1680
|
this.aApplicationFilters = aFilters;
|
|
1702
1681
|
}
|
|
1703
1682
|
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
// in client/auto mode: Always apply control filter.
|
|
1707
|
-
// Clientside Application filters are only applied if "bUseServersideApplicationFilters" is set to false (default), otherwise
|
|
1708
|
-
// the application filters will be applied on the backend.
|
|
1709
|
-
if (this.bClientOperation && (sFilterType === FilterType.Control || (sFilterType === FilterType.Application && !this.bUseServersideApplicationFilters))) {
|
|
1683
|
+
this._checkFilterForTreeProperties();
|
|
1710
1684
|
|
|
1685
|
+
if (!this.bInitial) {
|
|
1686
|
+
if (this.bClientOperation
|
|
1687
|
+
&& (sFilterType === FilterType.Control || !this.bUseServersideApplicationFilters)) {
|
|
1711
1688
|
if (this.oAllKeys) {
|
|
1712
1689
|
this.oKeys = deepExtend({}, this.oAllKeys);
|
|
1713
1690
|
this.oLengths = deepExtend({}, this.oAllLengths);
|
|
@@ -1742,13 +1719,12 @@ sap.ui.define([
|
|
|
1742
1719
|
*/
|
|
1743
1720
|
ODataTreeBinding.prototype._applyFilter = function () {
|
|
1744
1721
|
var that = this;
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
oCombinedFilter = FilterProcessor.combineFilters(this.aFilters, this.aApplicationFilters);
|
|
1722
|
+
const aClientApplicationFilters = this.bUseServersideApplicationFilters
|
|
1723
|
+
? undefined
|
|
1724
|
+
: this.aApplicationFilters;
|
|
1725
|
+
const oCombinedFilter = FilterProcessor.combineFilters(this.aFilters, aClientApplicationFilters);
|
|
1726
|
+
if (!oCombinedFilter) {
|
|
1727
|
+
return;
|
|
1752
1728
|
}
|
|
1753
1729
|
|
|
1754
1730
|
// filter function for recursive filtering,
|
|
@@ -1777,6 +1753,46 @@ sap.ui.define([
|
|
|
1777
1753
|
}
|
|
1778
1754
|
};
|
|
1779
1755
|
|
|
1756
|
+
/**
|
|
1757
|
+
* Returns the combination of the binding's application and control filters as a single multi-filter object.
|
|
1758
|
+
*
|
|
1759
|
+
* @returns {sap.ui.model.Filter|undefined} The combined filters as multi-filter or <code>undefined</code> if
|
|
1760
|
+
* the binding has neither application nor control filters.
|
|
1761
|
+
*
|
|
1762
|
+
* @private
|
|
1763
|
+
*/
|
|
1764
|
+
ODataTreeBinding.prototype.getCombinedFilter = function () {
|
|
1765
|
+
return FilterProcessor.combineFilters(this.aFilters, this.aApplicationFilters);
|
|
1766
|
+
};
|
|
1767
|
+
|
|
1768
|
+
/**
|
|
1769
|
+
* Checks if the binding's application and control filters refer to one of the tree annotation properties and log
|
|
1770
|
+
* an error in this case.
|
|
1771
|
+
*
|
|
1772
|
+
* @private
|
|
1773
|
+
*/
|
|
1774
|
+
ODataTreeBinding.prototype._checkFilterForTreeProperties = function () {
|
|
1775
|
+
if (!this.oTreeProperties) {
|
|
1776
|
+
return;
|
|
1777
|
+
}
|
|
1778
|
+
|
|
1779
|
+
const aTreePropertyPaths = Object.values(this.oTreeProperties);
|
|
1780
|
+
const checkSingleFilter = (oFilter) => {
|
|
1781
|
+
if (oFilter.aFilters?.length) { // multi-filter
|
|
1782
|
+
oFilter.aFilters.forEach((oMultiFilterPart) => {
|
|
1783
|
+
checkSingleFilter(oMultiFilterPart);
|
|
1784
|
+
});
|
|
1785
|
+
} else if (aTreePropertyPaths.includes(oFilter.sPath)) {
|
|
1786
|
+
Log.error("Filter for tree annotation property '" + oFilter.sPath + "' is not allowed", undefined,
|
|
1787
|
+
sClassName);
|
|
1788
|
+
}
|
|
1789
|
+
};
|
|
1790
|
+
const oCombinedFilter = this.getCombinedFilter();
|
|
1791
|
+
if (oCombinedFilter) {
|
|
1792
|
+
checkSingleFilter(oCombinedFilter);
|
|
1793
|
+
}
|
|
1794
|
+
};
|
|
1795
|
+
|
|
1780
1796
|
/*
|
|
1781
1797
|
* @private
|
|
1782
1798
|
*/
|
|
@@ -2169,6 +2185,7 @@ sap.ui.define([
|
|
|
2169
2185
|
ODataTreeBinding.prototype._initialize = function (fnFireEvent) {
|
|
2170
2186
|
this.bInitial = false;
|
|
2171
2187
|
this.bHasTreeAnnotations = this._hasTreeAnnotations();
|
|
2188
|
+
this._checkFilterForTreeProperties();
|
|
2172
2189
|
this.oEntityType = this._getEntityType();
|
|
2173
2190
|
this._processSelectParameters();
|
|
2174
2191
|
this._applyAdapter(fnFireEvent);
|
|
@@ -2562,24 +2579,27 @@ sap.ui.define([
|
|
|
2562
2579
|
};
|
|
2563
2580
|
|
|
2564
2581
|
/**
|
|
2565
|
-
* Creates
|
|
2566
|
-
*
|
|
2567
|
-
*
|
|
2582
|
+
* Creates the OData filter string for the binding's application and control filters considering client mode and
|
|
2583
|
+
* bUseServersideApplicationFilters.
|
|
2584
|
+
*
|
|
2585
|
+
* @returns {string} the created OData filter string
|
|
2568
2586
|
*
|
|
2569
2587
|
* @private
|
|
2570
2588
|
*/
|
|
2571
2589
|
ODataTreeBinding.prototype.getFilterParams = function() {
|
|
2572
|
-
|
|
2573
|
-
|
|
2574
|
-
|
|
2575
|
-
|
|
2576
|
-
|
|
2577
|
-
|
|
2578
|
-
|
|
2579
|
-
|
|
2580
|
-
|
|
2581
|
-
|
|
2582
|
-
|
|
2590
|
+
const aServerApplicationFilters = this.bUseServersideApplicationFilters
|
|
2591
|
+
? this.aApplicationFilters
|
|
2592
|
+
: undefined;
|
|
2593
|
+
const oCombinedFilter = this.bClientOperation
|
|
2594
|
+
? FilterProcessor.combineFilters(undefined, aServerApplicationFilters)
|
|
2595
|
+
: FilterProcessor.combineFilters(this.aFilters, this.aApplicationFilters);
|
|
2596
|
+
|
|
2597
|
+
this.sFilterParams = "";
|
|
2598
|
+
if (oCombinedFilter) {
|
|
2599
|
+
const sFilterParams = ODataUtils._createFilterParams(
|
|
2600
|
+
oCombinedFilter, this.oModel.oMetadata, this.oEntityType);
|
|
2601
|
+
// Add a bracket around filter params, as they will be combined with tree specific filters
|
|
2602
|
+
this.sFilterParams = sFilterParams && `(${sFilterParams})`;
|
|
2583
2603
|
}
|
|
2584
2604
|
|
|
2585
2605
|
return this.sFilterParams;
|
|
@@ -2596,9 +2616,11 @@ sap.ui.define([
|
|
|
2596
2616
|
* @ui5-restricted sap.ui.table, sap.ui.export
|
|
2597
2617
|
*/
|
|
2598
2618
|
ODataTreeBinding.prototype.getFilterInfo = function (bIncludeOrigin) {
|
|
2599
|
-
|
|
2600
|
-
|
|
2601
|
-
|
|
2619
|
+
const oCombinedFilter = this.getCombinedFilter();
|
|
2620
|
+
if (oCombinedFilter) {
|
|
2621
|
+
return oCombinedFilter.getAST(bIncludeOrigin);
|
|
2622
|
+
}
|
|
2623
|
+
return null;
|
|
2602
2624
|
};
|
|
2603
2625
|
|
|
2604
2626
|
/**
|
|
@@ -42,7 +42,7 @@ sap.ui.define([
|
|
|
42
42
|
* @hideconstructor
|
|
43
43
|
* @public
|
|
44
44
|
* @since 1.39.0
|
|
45
|
-
* @version 1.
|
|
45
|
+
* @version 1.140.0
|
|
46
46
|
*/
|
|
47
47
|
Context = BaseContext.extend("sap.ui.model.odata.v4.Context", {
|
|
48
48
|
constructor : constructor
|
|
@@ -641,20 +641,24 @@ sap.ui.define([
|
|
|
641
641
|
*
|
|
642
642
|
* @param {boolean} bSelected
|
|
643
643
|
* Whether this context is to be selected
|
|
644
|
-
* @param {boolean} [
|
|
645
|
-
* Whether the client-side annotation "@$ui5.context.isSelected" should not be updated
|
|
644
|
+
* @param {boolean} [bSilent]
|
|
645
|
+
* Whether the client-side annotation "@$ui5.context.isSelected" should not be updated and
|
|
646
|
+
* the binding should not be informed via
|
|
647
|
+
* {@link sap.ui.model.odata.v4.ODataListBinding#onKeepAliveChanged}
|
|
646
648
|
* @returns {boolean}
|
|
647
649
|
* Whether the selection state of this context has changed
|
|
648
650
|
*
|
|
649
651
|
* @private
|
|
650
652
|
* @see #setSelected
|
|
651
653
|
*/
|
|
652
|
-
Context.prototype.doSetSelected = function (bSelected,
|
|
654
|
+
Context.prototype.doSetSelected = function (bSelected, bSilent) {
|
|
653
655
|
if (this.bSelected === bSelected) {
|
|
654
656
|
return false;
|
|
655
657
|
}
|
|
656
658
|
this.bSelected = bSelected;
|
|
657
|
-
|
|
659
|
+
if (!bSilent) {
|
|
660
|
+
this.oBinding.onKeepAliveChanged(this); // selected contexts are effectively kept alive
|
|
661
|
+
}
|
|
658
662
|
const oHeaderContext = this.oBinding.getHeaderContext();
|
|
659
663
|
if (oHeaderContext === this) {
|
|
660
664
|
if (!bSelected) {
|
|
@@ -666,7 +670,7 @@ sap.ui.define([
|
|
|
666
670
|
}
|
|
667
671
|
|
|
668
672
|
// Note: data binding may cause #setSelected to be called redundantly!
|
|
669
|
-
if (!
|
|
673
|
+
if (!bSilent) {
|
|
670
674
|
this.withCache((oCache, sPath) => {
|
|
671
675
|
if (this.oBinding) {
|
|
672
676
|
oCache.setProperty("@$ui5.context.isSelected", bSelected, sPath);
|
|
@@ -1023,9 +1027,9 @@ sap.ui.define([
|
|
|
1023
1027
|
/**
|
|
1024
1028
|
* Returns the value for the given path relative to this context. The function allows access to
|
|
1025
1029
|
* the complete data the context points to (if <code>sPath</code> is "") or any part thereof.
|
|
1026
|
-
* The data is a JSON structure as described in
|
|
1027
|
-
* "https://docs.oasis-open.org/odata/odata-json-format/v4.0/
|
|
1028
|
-
*
|
|
1030
|
+
* The data is a JSON structure as described in
|
|
1031
|
+
* <a href="https://docs.oasis-open.org/odata/odata-json-format/v4.0/">
|
|
1032
|
+
* "OData JSON Format Version 4.0"</a>.
|
|
1029
1033
|
* Note that the function clones the result. Modify values via
|
|
1030
1034
|
* {@link sap.ui.model.odata.v4.ODataPropertyBinding#setValue}.
|
|
1031
1035
|
*
|
|
@@ -1182,9 +1186,9 @@ sap.ui.define([
|
|
|
1182
1186
|
/**
|
|
1183
1187
|
* Returns the value for the given path. The function allows access to the complete data the
|
|
1184
1188
|
* context points to (if <code>sPath</code> is "") or any part thereof. The data is a JSON
|
|
1185
|
-
* structure as described in
|
|
1186
|
-
* "https://docs.oasis-open.org/odata/odata-json-format/v4.0/
|
|
1187
|
-
*
|
|
1189
|
+
* structure as described in
|
|
1190
|
+
* <a href="https://docs.oasis-open.org/odata/odata-json-format/v4.0/">
|
|
1191
|
+
* "OData JSON Format Version 4.0"</a>.
|
|
1188
1192
|
* Note that the function returns the cache instance. Do not modify the result, use
|
|
1189
1193
|
* {@link sap.ui.model.odata.v4.ODataPropertyBinding#setValue} instead.
|
|
1190
1194
|
*
|
|
@@ -1699,9 +1703,9 @@ sap.ui.define([
|
|
|
1699
1703
|
/**
|
|
1700
1704
|
* Returns a promise on the value for the given path relative to this context. The function
|
|
1701
1705
|
* allows access to the complete data the context points to (if <code>sPath</code> is "") or
|
|
1702
|
-
* any part thereof. The data is a JSON structure as described in
|
|
1703
|
-
* "https://docs.oasis-open.org/odata/odata-json-format/v4.0/
|
|
1704
|
-
*
|
|
1706
|
+
* any part thereof. The data is a JSON structure as described in
|
|
1707
|
+
* <a href="https://docs.oasis-open.org/odata/odata-json-format/v4.0/">
|
|
1708
|
+
* "OData JSON Format Version 4.0"</a>.
|
|
1705
1709
|
* Note that the function clones the result. Modify values via {@link #setProperty}.
|
|
1706
1710
|
*
|
|
1707
1711
|
* The header context of a list binding only delivers <code>$count</code> and
|
|
@@ -361,7 +361,7 @@ sap.ui.define([
|
|
|
361
361
|
if (this.bRelative) { // quasi-absolute or relative binding
|
|
362
362
|
// mCacheByResourcePath has to be reset if parameters are changing
|
|
363
363
|
oCache = this.mCacheByResourcePath && this.mCacheByResourcePath[sResourcePath];
|
|
364
|
-
iGeneration = oContext.getGeneration
|
|
364
|
+
iGeneration = oContext.getGeneration?.() ?? 0;
|
|
365
365
|
if (oCache && oCache.$generation >= iGeneration) {
|
|
366
366
|
oCache.setActive(true);
|
|
367
367
|
} else {
|
|
@@ -430,7 +430,7 @@ sap.ui.define([
|
|
|
430
430
|
* @param {string} sResourcePath
|
|
431
431
|
* The resource path, for example "EMPLOYEES"
|
|
432
432
|
* @param {object} mQueryOptions
|
|
433
|
-
*
|
|
433
|
+
* A map of key-value pairs representing the query string (requires "copy on write"!)
|
|
434
434
|
* @param {sap.ui.model.Context} [oContext]
|
|
435
435
|
* The context instance to be used, must be <code>undefined</code> for absolute bindings
|
|
436
436
|
* @param {string} [sDeepResourcePath=sResourcePath]
|
|
@@ -74,7 +74,7 @@ sap.ui.define([
|
|
|
74
74
|
* @mixes sap.ui.model.odata.v4.ODataParentBinding
|
|
75
75
|
* @public
|
|
76
76
|
* @since 1.37.0
|
|
77
|
-
* @version 1.
|
|
77
|
+
* @version 1.140.0
|
|
78
78
|
*
|
|
79
79
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getGroupId as #getGroupId
|
|
80
80
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getRootBinding as #getRootBinding
|
|
@@ -1683,9 +1683,9 @@ sap.ui.define([
|
|
|
1683
1683
|
/**
|
|
1684
1684
|
* Returns a promise on the value for the given path relative to this binding. The function
|
|
1685
1685
|
* allows access to the complete data the binding points to (if <code>sPath</code> is "") or
|
|
1686
|
-
* any part thereof. The data is a JSON structure as described in
|
|
1687
|
-
* "https://docs.oasis-open.org/odata/odata-json-format/v4.0/
|
|
1688
|
-
*
|
|
1686
|
+
* any part thereof. The data is a JSON structure as described in
|
|
1687
|
+
* <a href="https://docs.oasis-open.org/odata/odata-json-format/v4.0/">
|
|
1688
|
+
* "OData JSON Format Version 4.0"</a>.
|
|
1689
1689
|
* Note that the function clones the result. Modify values via
|
|
1690
1690
|
* {@link sap.ui.model.odata.v4.Context#setProperty}.
|
|
1691
1691
|
*
|