@openui5/sap.ui.core 1.141.2 → 1.143.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 +22 -0
- package/README.md +2 -2
- package/REUSE.toml +39 -1
- package/THIRDPARTY.txt +36 -3
- 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 +1 -1
- package/src/sap/base/util/resolveReference.js +1 -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/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/Exception.js +9 -7
- package/src/sap/ui/base/ExpressionParser.js +8 -7
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +1 -1
- 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/core/.library +7 -7
- package/src/sap/ui/core/AppCacheBuster.js +21 -19
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/BusyIndicatorUtils.js +1 -1
- package/src/sap/ui/core/Component.js +52 -40
- 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 +6 -3
- 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 -5
- 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/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 +6 -4
- package/src/sap/ui/core/LayoutData.js +1 -1
- package/src/sap/ui/core/Lib.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 +1 -1
- package/src/sap/ui/core/Manifest.js +21 -20
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/Popup.js +13 -6
- package/src/sap/ui/core/RenderManager.js +13 -2
- 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/_UrlResolver.js +31 -29
- 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/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/interaction/KeyboardInteractionDisplay.js +21 -2
- package/src/sap/ui/core/library.js +11 -11
- 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 +2 -0
- package/src/sap/ui/core/messagebundle_ar.properties +1 -0
- package/src/sap/ui/core/messagebundle_bg.properties +1 -0
- package/src/sap/ui/core/messagebundle_ca.properties +1 -0
- package/src/sap/ui/core/messagebundle_cnr.properties +1 -0
- package/src/sap/ui/core/messagebundle_cs.properties +1 -0
- package/src/sap/ui/core/messagebundle_cy.properties +1 -0
- package/src/sap/ui/core/messagebundle_da.properties +1 -0
- package/src/sap/ui/core/messagebundle_de.properties +1 -0
- package/src/sap/ui/core/messagebundle_el.properties +1 -0
- package/src/sap/ui/core/messagebundle_en.properties +1 -0
- package/src/sap/ui/core/messagebundle_en_GB.properties +1 -0
- package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +1 -0
- package/src/sap/ui/core/messagebundle_es.properties +21 -20
- package/src/sap/ui/core/messagebundle_es_MX.properties +1 -0
- package/src/sap/ui/core/messagebundle_et.properties +3 -2
- package/src/sap/ui/core/messagebundle_fi.properties +2 -1
- package/src/sap/ui/core/messagebundle_fr.properties +1 -0
- package/src/sap/ui/core/messagebundle_fr_CA.properties +1 -0
- package/src/sap/ui/core/messagebundle_hi.properties +1 -0
- package/src/sap/ui/core/messagebundle_hr.properties +1 -0
- package/src/sap/ui/core/messagebundle_hu.properties +1 -0
- package/src/sap/ui/core/messagebundle_id.properties +3 -2
- package/src/sap/ui/core/messagebundle_it.properties +2 -1
- package/src/sap/ui/core/messagebundle_iw.properties +1 -0
- package/src/sap/ui/core/messagebundle_ja.properties +1 -0
- package/src/sap/ui/core/messagebundle_kk.properties +9 -8
- package/src/sap/ui/core/messagebundle_ko.properties +1 -0
- package/src/sap/ui/core/messagebundle_lt.properties +1 -0
- package/src/sap/ui/core/messagebundle_lv.properties +1 -0
- package/src/sap/ui/core/messagebundle_mk.properties +1 -0
- package/src/sap/ui/core/messagebundle_ms.properties +1 -0
- package/src/sap/ui/core/messagebundle_nl.properties +1 -0
- package/src/sap/ui/core/messagebundle_no.properties +1 -0
- package/src/sap/ui/core/messagebundle_pl.properties +1 -0
- package/src/sap/ui/core/messagebundle_pt.properties +1 -0
- package/src/sap/ui/core/messagebundle_pt_PT.properties +1 -0
- package/src/sap/ui/core/messagebundle_ro.properties +1 -0
- package/src/sap/ui/core/messagebundle_ru.properties +1 -0
- package/src/sap/ui/core/messagebundle_sh.properties +1 -0
- package/src/sap/ui/core/messagebundle_sk.properties +1 -0
- package/src/sap/ui/core/messagebundle_sl.properties +1 -0
- package/src/sap/ui/core/messagebundle_sr.properties +1 -0
- package/src/sap/ui/core/messagebundle_sv.properties +1 -0
- package/src/sap/ui/core/messagebundle_th.properties +2 -1
- package/src/sap/ui/core/messagebundle_tr.properties +1 -0
- package/src/sap/ui/core/messagebundle_uk.properties +2 -1
- package/src/sap/ui/core/messagebundle_vi.properties +1 -0
- package/src/sap/ui/core/messagebundle_zh_CN.properties +1 -0
- package/src/sap/ui/core/messagebundle_zh_TW.properties +1 -0
- 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/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/History.js +8 -4
- package/src/sap/ui/core/routing/Router.js +31 -33
- 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/BlindLayer.less +4 -9
- package/src/sap/ui/core/themes/base/BrowserScrollbar.less +1 -1
- package/src/sap/ui/core/themes/base/BusyIndicator.less +322 -1
- package/src/sap/ui/core/themes/base/CommandShortcutHints.less +9 -9
- package/src/sap/ui/core/themes/base/DragAndDrop.less +21 -20
- package/src/sap/ui/core/themes/base/Icon.less +36 -35
- package/src/sap/ui/core/themes/base/library.source.less +0 -3
- package/src/sap/ui/core/themes/base/parameterClasses.less +32 -20
- package/src/sap/ui/core/themes/base/shared.less +5 -0
- package/src/sap/ui/core/theming/Parameters.js +6 -12
- 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/_LocalizationHelper.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 +7 -11
- 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/events/FocusEventFix.js +36 -0
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/ClientTreeBinding.js +50 -7
- 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/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +52 -3
- 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/base/ManagedObjectModel.js +7 -4
- package/src/sap/ui/model/json/JSONModel.js +9 -4
- 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 +31 -64
- package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
- package/src/sap/ui/model/odata/ODataModel.js +1 -1
- package/src/sap/ui/model/odata/type/Boolean.js +8 -4
- package/src/sap/ui/model/odata/type/Byte.js +8 -4
- package/src/sap/ui/model/odata/type/Currency.js +1 -1
- package/src/sap/ui/model/odata/type/Date.js +2 -2
- package/src/sap/ui/model/odata/type/DateTime.js +2 -2
- package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeOffset.js +8 -4
- package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
- package/src/sap/ui/model/odata/type/Decimal.js +50 -18
- package/src/sap/ui/model/odata/type/Double.js +8 -4
- package/src/sap/ui/model/odata/type/Guid.js +8 -4
- package/src/sap/ui/model/odata/type/Int.js +9 -4
- package/src/sap/ui/model/odata/type/Int16.js +8 -4
- package/src/sap/ui/model/odata/type/Int32.js +8 -4
- package/src/sap/ui/model/odata/type/Int64.js +8 -4
- package/src/sap/ui/model/odata/type/ODataType.js +6 -7
- package/src/sap/ui/model/odata/type/Raw.js +1 -1
- package/src/sap/ui/model/odata/type/SByte.js +8 -4
- package/src/sap/ui/model/odata/type/Single.js +8 -4
- package/src/sap/ui/model/odata/type/Stream.js +2 -2
- package/src/sap/ui/model/odata/type/String.js +8 -4
- package/src/sap/ui/model/odata/type/Time.js +2 -2
- package/src/sap/ui/model/odata/type/TimeOfDay.js +2 -2
- package/src/sap/ui/model/odata/type/Unit.js +1 -1
- package/src/sap/ui/model/odata/v2/Context.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataModel.js +24 -16
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +20 -7
- package/src/sap/ui/model/odata/v4/AnnotationHelper.js +50 -50
- package/src/sap/ui/model/odata/v4/Context.js +44 -33
- package/src/sap/ui/model/odata/v4/ODataBinding.js +6 -3
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +6 -6
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +63 -23
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +37 -62
- package/src/sap/ui/model/odata/v4/ODataModel.js +58 -53
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +18 -13
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataUtils.js +6 -6
- package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +46 -46
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +21 -1
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +26 -27
- package/src/sap/ui/model/odata/v4/lib/_GroupLock.js +6 -7
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +52 -38
- package/src/sap/ui/model/odata/v4/lib/_MetadataConverter.js +2 -1
- package/src/sap/ui/model/odata/v4/lib/_MetadataRequestor.js +5 -5
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +105 -38
- package/src/sap/ui/model/odata/v4/lib/_V4MetadataConverter.js +10 -3
- package/src/sap/ui/model/odata/v4/ts.js +2 -2
- 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/model/xml/XMLTreeBinding.js +10 -0
- package/src/sap/ui/performance/Measurement.js +18 -24
- package/src/sap/ui/performance/trace/FESR.js +3 -2
- package/src/sap/ui/performance/trace/Interaction.js +35 -2
- package/src/sap/ui/performance/trace/_InteractionImpl.js +254 -166
- package/src/sap/ui/qunit/qunit-coverage.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/_BrowserLogCollector.js +1 -4
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/test/launchers/componentLauncher.js +3 -2
- package/src/sap/ui/test/launchers/iFrameLauncher.js +3 -1
- package/src/sap/ui/test/starter/_setupAndStart.js +3 -1
- package/src/sap/ui/test/starter/_utils.js +5 -59
- package/src/sap/ui/test/starter/config.js +555 -0
- package/src/sap/ui/thirdparty/caja-html-sanitizer.js +6 -0
- package/src/sap/ui/thirdparty/require.js +255 -162
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/sap/ui/util/_URL.js +158 -0
- package/src/ui5loader.js +3 -9
- package/src/sap/ui/core/themes/base/LocalBusyIndicator.less +0 -293
- package/src/sap/ui/core/themes/base/Shadow.less +0 -3
- package/src/sap/ui/core/themes/base/TechnicalInfo.less +0 -157
|
@@ -7,9 +7,6 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* Model and related classes like bindings for OData V4.
|
|
9
9
|
*
|
|
10
|
-
* <b>Note:</b> Smart controls (<code>sap.ui.comp</code> library) do not support the SAPUI5 OData V4
|
|
11
|
-
* model. Also controls such as {@link sap.ui.table.TreeTable} and
|
|
12
|
-
* {@link sap.ui.table.AnalyticalTable} are not supported together with the SAPUI5 OData V4 model.
|
|
13
10
|
* The interface for applications has been changed for easier and more efficient use of the model.
|
|
14
11
|
* For a summary of these changes, see
|
|
15
12
|
* {@link topic:abd4d7c7548d4c29ab8364d3904a6d74 Changes Compared to OData V2 Model}.
|
|
@@ -45,12 +42,11 @@ sap.ui.define([
|
|
|
45
42
|
"sap/ui/model/BindingMode",
|
|
46
43
|
"sap/ui/model/Context",
|
|
47
44
|
"sap/ui/model/Model",
|
|
48
|
-
"sap/ui/model/odata/OperationMode"
|
|
49
|
-
"sap/ui/thirdparty/URI"
|
|
45
|
+
"sap/ui/model/odata/OperationMode"
|
|
50
46
|
], function (ODataContextBinding, ODataListBinding, ODataMetaModel, ODataPropertyBinding,
|
|
51
47
|
SubmitMode, _GroupLock, _Helper, _MetadataRequestor, _Parser, _Requestor, assert, Log,
|
|
52
48
|
Localization, SyncPromise, Messaging, Rendering, Supportability, CacheManager,
|
|
53
|
-
Message, MessageType, BindingMode, BaseContext, Model, OperationMode
|
|
49
|
+
Message, MessageType, BindingMode, BaseContext, Model, OperationMode) {
|
|
54
50
|
"use strict";
|
|
55
51
|
|
|
56
52
|
/**
|
|
@@ -155,7 +151,9 @@ sap.ui.define([
|
|
|
155
151
|
* "sap-context-token" applies only to the service's root $metadata, but not to
|
|
156
152
|
* "cross-service references". Supported since 1.81.0
|
|
157
153
|
* @param {string} [mParameters.odataVersion="4.0"]
|
|
158
|
-
* The version of the OData service. Supported values are "2.0" and "4.
|
|
154
|
+
* The version of the OData service. Supported values are "2.0", "4.0", and "4.01".
|
|
155
|
+
* <b>Note:</b> "2.0" is deprecated since 1.143.0. We recommend migrating your service to
|
|
156
|
+
* OData V4.
|
|
159
157
|
* @param {sap.ui.model.odata.OperationMode} [mParameters.operationMode]
|
|
160
158
|
* The operation mode for filtering and sorting. Since 1.39.0, the operation mode
|
|
161
159
|
* {@link sap.ui.model.odata.OperationMode.Server} is supported. All other operation modes
|
|
@@ -167,8 +165,8 @@ sap.ui.define([
|
|
|
167
165
|
* forward slash according to OData V4 specification ABNF, rule "serviceRoot". You may
|
|
168
166
|
* append OData custom query options to the service root URL separated with a "?", for
|
|
169
167
|
* example "/MyService/?custom=foo". See specification <a href=
|
|
170
|
-
* "https://docs.oasis-open.org/odata/odata/v4.
|
|
171
|
-
* >"OData Version 4.
|
|
168
|
+
* "https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html#_Toc31361050"
|
|
169
|
+
* >"OData Version 4.01. Part 2: URL Conventions", "5.2 Custom Query Options"</a>. OData
|
|
172
170
|
* system query options and OData parameter aliases lead to an error.
|
|
173
171
|
* @param {boolean} [mParameters.sharedRequests]
|
|
174
172
|
* Whether all list bindings for the same resource path share their data, so that it is
|
|
@@ -209,9 +207,9 @@ sap.ui.define([
|
|
|
209
207
|
*
|
|
210
208
|
* Every resource path (relative to the service root URL, no query options) according to
|
|
211
209
|
* <a href=
|
|
212
|
-
* "https://docs.oasis-open.org/odata/odata/v4.
|
|
213
|
-
* >"4 Resource Path"</a> in specification "OData Version 4.
|
|
214
|
-
* a valid data binding path within this model if a leading slash is added; for example
|
|
210
|
+
* "https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html#_Toc31360928"
|
|
211
|
+
* >"4 Resource Path"</a> in specification "OData Version 4.01. Part 2: URL Conventions"
|
|
212
|
+
* is a valid data binding path within this model if a leading slash is added; for example
|
|
215
213
|
* "/" + "SalesOrderList('A%2FB%26C')" to access an entity instance with key "A/B&C". Note
|
|
216
214
|
* that appropriate URI encoding is necessary, see the example of
|
|
217
215
|
* {@link sap.ui.model.odata.v4.ODataUtils.formatLiteral}. "4.5.1 Addressing Actions"
|
|
@@ -242,7 +240,7 @@ sap.ui.define([
|
|
|
242
240
|
* @extends sap.ui.model.Model
|
|
243
241
|
* @public
|
|
244
242
|
* @since 1.37.0
|
|
245
|
-
* @version 1.
|
|
243
|
+
* @version 1.143.0
|
|
246
244
|
*/
|
|
247
245
|
ODataModel = Model.extend("sap.ui.model.odata.v4.ODataModel",
|
|
248
246
|
/** @lends sap.ui.model.odata.v4.ODataModel.prototype */{
|
|
@@ -273,8 +271,8 @@ sap.ui.define([
|
|
|
273
271
|
sParameter,
|
|
274
272
|
mQueryParams,
|
|
275
273
|
sServiceUrl,
|
|
276
|
-
oUri,
|
|
277
274
|
mUriParameters,
|
|
275
|
+
sUrlParameters,
|
|
278
276
|
that = this;
|
|
279
277
|
|
|
280
278
|
// do not pass any parameters to Model
|
|
@@ -286,7 +284,7 @@ sap.ui.define([
|
|
|
286
284
|
}
|
|
287
285
|
sODataVersion = mParameters.odataVersion || "4.0";
|
|
288
286
|
this.sODataVersion = sODataVersion;
|
|
289
|
-
if (sODataVersion !== "4.0" && sODataVersion !== "2.0") {
|
|
287
|
+
if (sODataVersion !== "4.01" && sODataVersion !== "4.0" && sODataVersion !== "2.0") {
|
|
290
288
|
throw new Error("Unsupported value for parameter odataVersion: " + sODataVersion);
|
|
291
289
|
}
|
|
292
290
|
for (sParameter in mParameters) {
|
|
@@ -298,8 +296,10 @@ sap.ui.define([
|
|
|
298
296
|
if (!sServiceUrl) {
|
|
299
297
|
throw new Error("Missing service root URL");
|
|
300
298
|
}
|
|
301
|
-
|
|
302
|
-
|
|
299
|
+
// we don't expect the sServiceUrl to contain a "#" hash part, because it is not relevant
|
|
300
|
+
// for OData requests
|
|
301
|
+
[sServiceUrl, sUrlParameters] = sServiceUrl.split("?");
|
|
302
|
+
if (sServiceUrl.at(-1) !== "/") {
|
|
303
303
|
throw new Error("Service root URL must end with '/'");
|
|
304
304
|
}
|
|
305
305
|
if (mParameters.operationMode && mParameters.operationMode !== OperationMode.Server) {
|
|
@@ -307,15 +307,16 @@ sap.ui.define([
|
|
|
307
307
|
+ mParameters.operationMode);
|
|
308
308
|
}
|
|
309
309
|
this.sOperationMode = mParameters.operationMode;
|
|
310
|
+
mUriParameters = _Helper.getUrlParameters(sUrlParameters);
|
|
310
311
|
// Note: strict checking for model's URI parameters, but "sap-*" is allowed
|
|
311
|
-
mUriParameters = this.buildQueryOptions(
|
|
312
|
+
mUriParameters = this.buildQueryOptions(mUriParameters, false, true);
|
|
312
313
|
// BEWARE: these are shared across all bindings!
|
|
313
314
|
this.mUriParameters = mUriParameters;
|
|
314
315
|
if (Supportability.isStatisticsEnabled()) {
|
|
315
316
|
// Note: this way, "sap-statistics" is not sent within $batch
|
|
316
317
|
mUriParameters = Object.assign({"sap-statistics" : true}, mUriParameters);
|
|
317
318
|
}
|
|
318
|
-
this.sServiceUrl =
|
|
319
|
+
this.sServiceUrl = sServiceUrl;
|
|
319
320
|
this.sGroupId = mParameters.groupId;
|
|
320
321
|
if (this.sGroupId === undefined) {
|
|
321
322
|
this.sGroupId = "$auto";
|
|
@@ -748,8 +749,8 @@ sap.ui.define([
|
|
|
748
749
|
* The context which is required as base for a relative path
|
|
749
750
|
* @param {object} [mParameters]
|
|
750
751
|
* Map of binding parameters which can be OData query options as specified in <a href=
|
|
751
|
-
* "https://docs.oasis-open.org/odata/odata/v4.
|
|
752
|
-
* >"OData Version 4.
|
|
752
|
+
* "https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html"
|
|
753
|
+
* >"OData Version 4.01. Part 2: URL Conventions"</a> or the binding-specific parameters as
|
|
753
754
|
* specified below.
|
|
754
755
|
* Note: The binding creates its own data service request if it is absolute or if it has any
|
|
755
756
|
* parameters or if it is relative and has a context created via
|
|
@@ -766,7 +767,7 @@ sap.ui.define([
|
|
|
766
767
|
* All other query options lead to an error.
|
|
767
768
|
* Query options specified for the binding overwrite model query options.
|
|
768
769
|
* @param {string|object} [mParameters.$expand]
|
|
769
|
-
* The value for the "5.1.
|
|
770
|
+
* The value for the "5.1.3 System Query Option $expand" or an object which determines that
|
|
770
771
|
* value. The object is a map from expand path to expand options, where the options are again
|
|
771
772
|
* maps of system query options, typically with string values. $count can also be given as a
|
|
772
773
|
* <code>boolean</code> value, $expand can recursively be given as a map, $levels can also be
|
|
@@ -775,9 +776,9 @@ sap.ui.define([
|
|
|
775
776
|
* <code>true</code>. See also {@link topic:1ab4f62de6ab467096a2a98b363a1373 Parameters}.
|
|
776
777
|
* @param {string|string[]} [mParameters.$select]
|
|
777
778
|
* A comma separated list or an array of items which determine the value for the
|
|
778
|
-
* "5.1.
|
|
779
|
+
* "5.1.4 System Query Option $select". Since 1.75.0, when using the "autoExpandSelect" model
|
|
779
780
|
* parameter (see {@link #constructor}), paths with navigation properties can be included and
|
|
780
|
-
* will contribute to the "5.1.
|
|
781
|
+
* will contribute to the "5.1.3 System Query Option $expand".
|
|
781
782
|
* @param {boolean} [mParameters.$$canonicalPath]
|
|
782
783
|
* Whether a binding relative to an {@link sap.ui.model.odata.v4.Context} uses the canonical
|
|
783
784
|
* path computed from its context's path for data service requests; only the value
|
|
@@ -874,8 +875,8 @@ sap.ui.define([
|
|
|
874
875
|
* Supported since 1.39.0.
|
|
875
876
|
* @param {object} [mParameters]
|
|
876
877
|
* Map of binding parameters which can be OData query options as specified in <a href=
|
|
877
|
-
* "https://docs.oasis-open.org/odata/odata/v4.
|
|
878
|
-
* >"OData Version 4.
|
|
878
|
+
* "https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html"
|
|
879
|
+
* >"OData Version 4.01. Part 2: URL Conventions"</a> or binding-specific parameters as
|
|
879
880
|
* specified below.
|
|
880
881
|
* Note: The binding creates its own data service request if it is absolute or if it has any
|
|
881
882
|
* parameters or if it is relative and has a context created via {@link #createBindingContext}
|
|
@@ -895,10 +896,10 @@ sap.ui.define([
|
|
|
895
896
|
* Extension for Data Aggregation Version 4.0</a>) as an alternative to
|
|
896
897
|
* <code>$$aggregation</code>
|
|
897
898
|
* @param {string|boolean} [mParameters.$count]
|
|
898
|
-
* The value for the "5.1.
|
|
899
|
+
* The value for the "5.1.7 System Query Option $count", useful for creation at the end and
|
|
899
900
|
* {@link sap.ui.model.odata.v4.ODataListBinding#getCount}
|
|
900
901
|
* @param {string|object} [mParameters.$expand]
|
|
901
|
-
* The value for the "5.1.
|
|
902
|
+
* The value for the "5.1.3 System Query Option $expand" or an object which determines that
|
|
902
903
|
* value. The object is a map from expand path to expand options, where the options are again
|
|
903
904
|
* maps of system query options, typically with string values. $count can also be given as a
|
|
904
905
|
* <code>boolean</code> value, $expand can recursively be given as a map, $levels can also be
|
|
@@ -906,20 +907,20 @@ sap.ui.define([
|
|
|
906
907
|
* without navigation paths). An empty map can also be given as <code>null</code> or
|
|
907
908
|
* <code>true</code>. See also {@link topic:1ab4f62de6ab467096a2a98b363a1373 Parameters}.
|
|
908
909
|
* @param {string} [mParameters.$filter]
|
|
909
|
-
* The value for the "5.1.
|
|
910
|
+
* The value for the "5.1.2 System Query Option $filter" used in addition to
|
|
910
911
|
* <code>vFilters</code>
|
|
911
912
|
* @param {string|number} [mParameters.$orderby]
|
|
912
|
-
* The value for the "5.1.
|
|
913
|
+
* The value for the "5.1.5 System Query Option $orderby" used in addition to
|
|
913
914
|
* <code>vSorters</code>
|
|
914
915
|
* @param {string} [mParameters.$search]
|
|
915
|
-
* The value for the "5.1.
|
|
916
|
+
* The value for the "5.1.8 System Query Option $search"; see also
|
|
916
917
|
* <code>oAggregation.search</code> at
|
|
917
918
|
* {@link sap.ui.model.odata.v4.ODataListBinding#setAggregation} and the note there!
|
|
918
919
|
* @param {string|string[]} [mParameters.$select]
|
|
919
920
|
* A comma separated list or an array of items which determine the value for the
|
|
920
|
-
* "5.1.
|
|
921
|
+
* "5.1.4 System Query Option $select". Since 1.75.0, when using the "autoExpandSelect" model
|
|
921
922
|
* parameter (see {@link #constructor}), paths with navigation properties can be included and
|
|
922
|
-
* will contribute to the "5.1.
|
|
923
|
+
* will contribute to the "5.1.3 System Query Option $expand".
|
|
923
924
|
* @param {object} [mParameters.$$aggregation]
|
|
924
925
|
* An object holding the information needed for data aggregation, see
|
|
925
926
|
* {@link sap.ui.model.odata.v4.ODataListBinding#setAggregation} for details.
|
|
@@ -967,10 +968,10 @@ sap.ui.define([
|
|
|
967
968
|
* An array of navigation property names which are omitted from the main list request (since
|
|
968
969
|
* 1.137.0). Instead, each of them is loaded in a separate request. This results in the main
|
|
969
970
|
* list becoming available faster, while the separate properties are merged as soon as the
|
|
970
|
-
* data is received. Note that the separate properties must be single valued
|
|
971
|
-
* '$expand' system query option, either automatically via the "autoExpandSelect"
|
|
972
|
-
* parameter (see {@link #constructor}) or manually. The
|
|
973
|
-
* must not be combined with <code>$$aggregation</code>.
|
|
971
|
+
* data is received. Note that the separate properties must be single valued. If they are not
|
|
972
|
+
* part of the '$expand' system query option, either automatically via the "autoExpandSelect"
|
|
973
|
+
* model parameter (see {@link #constructor}) or manually, they are ignored. The
|
|
974
|
+
* <code>$$separate</code> parameter must not be combined with <code>$$aggregation</code>.
|
|
974
975
|
* @param {boolean} [mParameters.$$sharedRequest]
|
|
975
976
|
* Whether multiple bindings for the same resource path share the data, so that it is
|
|
976
977
|
* requested only once.
|
|
@@ -1065,8 +1066,8 @@ sap.ui.define([
|
|
|
1065
1066
|
* The context which is required as base for a relative path
|
|
1066
1067
|
* @param {object} [mParameters]
|
|
1067
1068
|
* Map of binding parameters which can be OData query options as specified in <a href=
|
|
1068
|
-
* "https://docs.oasis-open.org/odata/odata/v4.
|
|
1069
|
-
* >"OData Version 4.
|
|
1069
|
+
* "https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html"
|
|
1070
|
+
* >"OData Version 4.01. Part 2: URL Conventions"</a> or the binding-specific parameters as
|
|
1070
1071
|
* specified below. The following OData query options are allowed:
|
|
1071
1072
|
* <ul>
|
|
1072
1073
|
* <li> All "5.2 Custom Query Options" except for those with a name starting with "sap-"
|
|
@@ -1085,10 +1086,10 @@ sap.ui.define([
|
|
|
1085
1086
|
* <a href="https://docs.oasis-open.org/odata/odata-data-aggregation-ext/v4.0/">OData
|
|
1086
1087
|
* Extension for Data Aggregation Version 4.0</a>), if the path ends with a "$count" segment
|
|
1087
1088
|
* @param {string} [mParameters.$filter]
|
|
1088
|
-
* The value for the "5.1.
|
|
1089
|
+
* The value for the "5.1.2 System Query Option $filter", if the path ends with a "$count"
|
|
1089
1090
|
* segment
|
|
1090
1091
|
* @param {string} [mParameters.$search]
|
|
1091
|
-
* The value for the "5.1.
|
|
1092
|
+
* The value for the "5.1.8 System Query Option $search", if the path ends with a "$count"
|
|
1092
1093
|
* segment
|
|
1093
1094
|
* @param {string} [mParameters.$$groupId]
|
|
1094
1095
|
* The group ID to be used for <b>read</b> requests initiated by this binding; if not
|
|
@@ -1243,10 +1244,13 @@ sap.ui.define([
|
|
|
1243
1244
|
if (mParameters) {
|
|
1244
1245
|
for (sParameterName in mParameters) {
|
|
1245
1246
|
if (a401DenyList.includes(sParameterName.toLowerCase())) {
|
|
1246
|
-
|
|
1247
|
-
+ "
|
|
1248
|
-
+ " https://sdk.openui5.org/topic/cda632b01c1e4a988ccecab759d19380"
|
|
1249
|
-
|
|
1247
|
+
const sMessage = "Custom query option " + sParameterName
|
|
1248
|
+
+ " not supported with OData 4.01, see"
|
|
1249
|
+
+ " https://sdk.openui5.org/topic/cda632b01c1e4a988ccecab759d19380";
|
|
1250
|
+
if (this.sODataVersion === "4.01") {
|
|
1251
|
+
throw new Error(sMessage);
|
|
1252
|
+
}
|
|
1253
|
+
Log.warning("[FUTURE FATAL] " + sMessage, undefined, sClassName);
|
|
1250
1254
|
}
|
|
1251
1255
|
if (sParameterName.startsWith("$$")) { // binding-specific parameter
|
|
1252
1256
|
delete mTransformedOptions[sParameterName];
|
|
@@ -1274,9 +1278,9 @@ sap.ui.define([
|
|
|
1274
1278
|
* and missing headers remain unchanged. The following headers must not be used:
|
|
1275
1279
|
* <ul>
|
|
1276
1280
|
* <li> OData V4 requests headers as specified in <a href=
|
|
1277
|
-
* "https://docs.oasis-open.org/odata/odata/v4.
|
|
1278
|
-
* >"8.1 Common Headers"</a> and "8.2 Request Headers" of the specification
|
|
1279
|
-
* 4.
|
|
1281
|
+
* "https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#_Toc31358857"
|
|
1282
|
+
* >"8.1 Common Headers"</a> and "8.2 Request Headers" of the specification
|
|
1283
|
+
* "OData Version 4.01. Part 1: Protocol"
|
|
1280
1284
|
* <li> OData V2 request headers as specified in "2.2.5 HTTP Header Fields" of the
|
|
1281
1285
|
* specification "OData Version 2 v10.1"
|
|
1282
1286
|
* <li> The headers "Content-Id" and "Content-Transfer-Encoding"
|
|
@@ -2695,11 +2699,12 @@ sap.ui.define([
|
|
|
2695
2699
|
/**
|
|
2696
2700
|
* Returns a promise for the "canonical path" of the entity for the given context.
|
|
2697
2701
|
* According to <a href=
|
|
2698
|
-
* "https://docs.oasis-open.org/odata/odata/v4.
|
|
2699
|
-
* >"4.3.1 Canonical URL"</a> of the specification
|
|
2700
|
-
* this is the "name of the entity set associated
|
|
2701
|
-
*
|
|
2702
|
-
* {@link sap.ui.core.Element#bindElement} to create an element
|
|
2702
|
+
* "https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html#_Toc31360932"
|
|
2703
|
+
* >"4.3.1 Canonical URL"</a> of the specification
|
|
2704
|
+
* "OData Version 4.01. Part 2: URL Conventions", this is the "name of the entity set associated
|
|
2705
|
+
* with the entity followed by the key predicate identifying the entity within the collection".
|
|
2706
|
+
* Use the canonical path in {@link sap.ui.core.Element#bindElement} to create an element
|
|
2707
|
+
* binding.
|
|
2703
2708
|
*
|
|
2704
2709
|
* @param {sap.ui.model.odata.v4.Context} oEntityContext
|
|
2705
2710
|
* A context in this model which must point to a non-contained OData entity
|
|
@@ -130,8 +130,8 @@ sap.ui.define([
|
|
|
130
130
|
*
|
|
131
131
|
* Note: * is an item in <code>$select</code> and <code>$expand</code> just as others, that is
|
|
132
132
|
* it must be part of the array of items and one must not ignore the other items if * is
|
|
133
|
-
* provided. See "5.1.
|
|
134
|
-
* specification "OData Version 4.
|
|
133
|
+
* provided. See "5.1.3 System Query Option $expand" and "5.1.4 System Query Option $select" in
|
|
134
|
+
* specification "OData Version 4.01. Part 2: URL Conventions".
|
|
135
135
|
*
|
|
136
136
|
* @param {object} mQueryOptions - The query options to be merged
|
|
137
137
|
* @param {string} sBaseMetaPath - This binding's meta path
|
|
@@ -731,11 +731,11 @@ sap.ui.define([
|
|
|
731
731
|
/**
|
|
732
732
|
* Binding specific code for suspend.
|
|
733
733
|
*
|
|
734
|
+
* @abstract
|
|
735
|
+
* @function
|
|
736
|
+
* @name sap.ui.model.odata.v4.ODataParentBinding#doSuspend
|
|
734
737
|
* @private
|
|
735
738
|
*/
|
|
736
|
-
ODataParentBinding.prototype.doSuspend = function () {
|
|
737
|
-
// nothing to do here
|
|
738
|
-
};
|
|
739
739
|
|
|
740
740
|
/**
|
|
741
741
|
* Determines whether a child binding with the given context and path can use
|
|
@@ -823,9 +823,15 @@ sap.ui.define([
|
|
|
823
823
|
|
|
824
824
|
if (bDependsOnOperation && !sResolvedChildPath.includes("/$Parameter/")
|
|
825
825
|
|| this.isRootBindingSuspended()
|
|
826
|
-
|| _Helper.isDataAggregation(this.mParameters)
|
|
827
|
-
|
|
828
|
-
|
|
826
|
+
|| _Helper.isDataAggregation(this.mParameters)
|
|
827
|
+
&& (oContext === this.getHeaderContext?.() || oContext.isAggregated()
|
|
828
|
+
|| this.mParameters.$$aggregation.aggregate[sChildPath]?.name)) {
|
|
829
|
+
// In general there is no need for auto-$expand/$select, if the given context is a
|
|
830
|
+
// header context. But exiting here always, if a header context is used, changes the
|
|
831
|
+
// timing.
|
|
832
|
+
// With data aggregation, no auto-$expand/$select is needed for a header context, a
|
|
833
|
+
// context referencing aggregated data, or a dynamic property, but the child may still
|
|
834
|
+
// use the parent's cache; in case of a single record auto-$expand/$select is used.
|
|
829
835
|
// Note: Operation bindings do not support auto-$expand/$select yet
|
|
830
836
|
return SyncPromise.resolve(sResolvedChildPath);
|
|
831
837
|
}
|
|
@@ -891,8 +897,7 @@ sap.ui.define([
|
|
|
891
897
|
mChildQueryOptions, bIsProperty);
|
|
892
898
|
}
|
|
893
899
|
|
|
894
|
-
if (oProperty?.["@$ui5.$count"]
|
|
895
|
-
&& oContext !== oContext.getBinding().getHeaderContext?.()
|
|
900
|
+
if (oProperty?.["@$ui5.$count"] && oContext !== that.getHeaderContext?.()
|
|
896
901
|
// avoid new $count handling in case of "manual" $expand
|
|
897
902
|
// Note: sChildPath.slice(0, -7) is the navigation property name
|
|
898
903
|
&& !mLocalQueryOptions.$expand?.[sChildPath.slice(0, -7)]) {
|
|
@@ -1361,9 +1366,9 @@ sap.ui.define([
|
|
|
1361
1366
|
* @param {string} sGroupId
|
|
1362
1367
|
* The group ID to be used for requesting side effects
|
|
1363
1368
|
* @param {string[]} aPaths
|
|
1364
|
-
* The "14.5
|
|
1365
|
-
* "14.
|
|
1366
|
-
* because they may have changed due to side effects of a previous update
|
|
1369
|
+
* The "14.4.1.5 Expression edm:NavigationPropertyPath" or
|
|
1370
|
+
* "14.4.1.6 Expression edm:PropertyPath" strings describing which properties need to be
|
|
1371
|
+
* loaded because they may have changed due to side effects of a previous update
|
|
1367
1372
|
* @param {sap.ui.model.odata.v4.Context} [oContext]
|
|
1368
1373
|
* The context for which to request side effects; if this parameter is missing or if it is the
|
|
1369
1374
|
* header context of a list binding, the whole binding is affected
|
|
@@ -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.143.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
|
|
@@ -14,7 +14,7 @@ sap.ui.define([
|
|
|
14
14
|
], function (CalendarType, DateFormat, BaseODataUtils, _Batch, _Helper) {
|
|
15
15
|
"use strict";
|
|
16
16
|
|
|
17
|
-
// see https://docs.oasis-open.org/odata/odata/v4.
|
|
17
|
+
// see https://docs.oasis-open.org/odata/odata/v4.01/os/abnf/
|
|
18
18
|
var oDateFormatter,
|
|
19
19
|
oDateTimeOffsetFormatter,
|
|
20
20
|
sDateValue = "\\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\\d|3[01])",
|
|
@@ -140,15 +140,15 @@ sap.ui.define([
|
|
|
140
140
|
*
|
|
141
141
|
* @param {any} vValue
|
|
142
142
|
* The value according to <a href=
|
|
143
|
-
* "https://docs.oasis-open.org/odata/odata-json-format/v4.
|
|
144
|
-
* >"OData JSON Format Version 4.
|
|
143
|
+
* "https://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_PrimitiveValue"
|
|
144
|
+
* >"OData JSON Format Version 4.01" section "7.1 Primitive Value"</a>
|
|
145
145
|
* @param {string} sType
|
|
146
146
|
* The OData primitive type, for example "Edm.String"
|
|
147
147
|
* @returns {string}
|
|
148
148
|
* The literal according to <a href=
|
|
149
|
-
* "https://docs.oasis-open.org/odata/odata/v4.
|
|
150
|
-
* >"OData Version 4.
|
|
151
|
-
* "5.1.1.
|
|
149
|
+
* "https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html#_Toc31361028"
|
|
150
|
+
* >"OData Version 4.01. Part 2: URL Conventions"</a> section
|
|
151
|
+
* "5.1.1.14.1 Primitive Literals"
|
|
152
152
|
* @throws {Error}
|
|
153
153
|
* If the value is undefined or the type is not supported
|
|
154
154
|
*
|
|
@@ -16,7 +16,7 @@ sap.ui.define([
|
|
|
16
16
|
], function (Basics, Log, BindingInfo, BindingParser, SyncPromise, Measurement) {
|
|
17
17
|
"use strict";
|
|
18
18
|
|
|
19
|
-
// see https://docs.oasis-open.org/odata/odata/v4.
|
|
19
|
+
// see https://docs.oasis-open.org/odata/odata/v4.01/os/abnf/
|
|
20
20
|
var sAnnotationHelper = "sap.ui.model.odata.v4.AnnotationHelper",
|
|
21
21
|
aPerformanceCategories = [sAnnotationHelper],
|
|
22
22
|
sPerformanceGetExpression = sAnnotationHelper + "/getExpression",
|
|
@@ -165,7 +165,7 @@ sap.ui.define([
|
|
|
165
165
|
},
|
|
166
166
|
|
|
167
167
|
/**
|
|
168
|
-
* Handling of "14.
|
|
168
|
+
* Handling of "14.4.4 Expression edm:Apply".
|
|
169
169
|
*
|
|
170
170
|
* @param {object} oPathValue
|
|
171
171
|
* path and value information pointing to the apply (see Expression object)
|
|
@@ -178,11 +178,11 @@ sap.ui.define([
|
|
|
178
178
|
var oFunction = Basics.descend(oPathValue, "$Function", "string");
|
|
179
179
|
|
|
180
180
|
switch (oFunction.value) {
|
|
181
|
-
case "odata.concat": // 14.
|
|
181
|
+
case "odata.concat": // 14.4.4.1 Function odata.concat
|
|
182
182
|
return Expression.concat(oParameters);
|
|
183
|
-
case "odata.fillUriTemplate": // 14.
|
|
183
|
+
case "odata.fillUriTemplate": // 14.4.4.2 Function odata.fillUriTemplate
|
|
184
184
|
return Expression.fillUriTemplate(oParameters);
|
|
185
|
-
case "odata.uriEncode": // 14.
|
|
185
|
+
case "odata.uriEncode": // 14.4.4.4 Function odata.uriEncode
|
|
186
186
|
return Expression.uriEncode(oParameters);
|
|
187
187
|
default:
|
|
188
188
|
return asyncError(oFunction, "unknown function: " + oFunction.value);
|
|
@@ -190,7 +190,7 @@ sap.ui.define([
|
|
|
190
190
|
},
|
|
191
191
|
|
|
192
192
|
/**
|
|
193
|
-
* Handling of "14.
|
|
193
|
+
* Handling of "14.4.6 Expression edm:Collection".
|
|
194
194
|
*
|
|
195
195
|
* @param {object} oPathValue
|
|
196
196
|
* path and value information pointing to the array (see Expression object)
|
|
@@ -221,7 +221,7 @@ sap.ui.define([
|
|
|
221
221
|
},
|
|
222
222
|
|
|
223
223
|
/**
|
|
224
|
-
* Handling of "14.
|
|
224
|
+
* Handling of "odata.concat" from "14.4.4.1 Canonical Functions".
|
|
225
225
|
*
|
|
226
226
|
* @param {object} oPathValue
|
|
227
227
|
* path and value information pointing to the parameter array (see Expression object)
|
|
@@ -270,7 +270,7 @@ sap.ui.define([
|
|
|
270
270
|
},
|
|
271
271
|
|
|
272
272
|
/**
|
|
273
|
-
* Handling of "14.
|
|
273
|
+
* Handling of "14.4.7 Expression edm:If".
|
|
274
274
|
*
|
|
275
275
|
* @param {object} oPathValue
|
|
276
276
|
* path and value information pointing to the parameter array (see Expression object).
|
|
@@ -278,8 +278,8 @@ sap.ui.define([
|
|
|
278
278
|
* Edm.Boolean. The second and third child elements are the expressions, which are
|
|
279
279
|
* evaluated conditionally.
|
|
280
280
|
* @param {boolean} [bInCollection]
|
|
281
|
-
* Whether "14.
|
|
282
|
-
* "14.
|
|
281
|
+
* Whether "14.4.7 Expression edm:If" appears as a direct child of
|
|
282
|
+
* "14.4.6 Expression edm:Collection" and thus needs no third child element ("else")
|
|
283
283
|
* @returns {sap.ui.base.SyncPromise<object>}
|
|
284
284
|
* a sync promise which resolves with the result object or is rejected with an error
|
|
285
285
|
*/
|
|
@@ -330,17 +330,17 @@ sap.ui.define([
|
|
|
330
330
|
},
|
|
331
331
|
|
|
332
332
|
/**
|
|
333
|
-
* Handling of "14.
|
|
333
|
+
* Handling of "14.3 Constant Expressions", i.e.
|
|
334
334
|
* <ul>
|
|
335
|
-
* <li> "14.
|
|
336
|
-
* <li> "14.
|
|
337
|
-
* <li> "14.
|
|
338
|
-
* <li> "14.
|
|
339
|
-
* <li> "14.
|
|
340
|
-
* <li> "14.
|
|
341
|
-
* <li> "14.
|
|
342
|
-
* <li> "14.
|
|
343
|
-
* <li> "14.
|
|
335
|
+
* <li> "14.3.2 Expression edm:Bool",
|
|
336
|
+
* <li> "14.3.3 Expression edm:Date",
|
|
337
|
+
* <li> "14.3.4 Expression edm:DateTimeOffset",
|
|
338
|
+
* <li> "14.3.5 Expression edm:Decimal",
|
|
339
|
+
* <li> "14.3.8 Expression edm:Float",
|
|
340
|
+
* <li> "14.3.9 Expression edm:Guid",
|
|
341
|
+
* <li> "14.3.10 Expression edm:Int",
|
|
342
|
+
* <li> "14.3.11 Expression edm:String",
|
|
343
|
+
* <li> "14.3.12 Expression edm:TimeOfDay".
|
|
344
344
|
* </ul>
|
|
345
345
|
*
|
|
346
346
|
* @param {object} oPathValue
|
|
@@ -378,7 +378,7 @@ sap.ui.define([
|
|
|
378
378
|
* path and value information pointing to the expression (see Expression object)
|
|
379
379
|
* @param {boolean} [bInCollection]
|
|
380
380
|
* Whether the current expression appears as a direct child of
|
|
381
|
-
* "14.
|
|
381
|
+
* "14.4.6 Expression edm:Collection"
|
|
382
382
|
* @returns {sap.ui.base.SyncPromise<object>}
|
|
383
383
|
* a sync promise which resolves with the result object or is rejected with an error
|
|
384
384
|
*/
|
|
@@ -397,7 +397,7 @@ sap.ui.define([
|
|
|
397
397
|
: "Float";
|
|
398
398
|
} else if (typeof oRawValue === "string") {
|
|
399
399
|
sType = "String";
|
|
400
|
-
} else if (Array.isArray(oRawValue)) { // 14.
|
|
400
|
+
} else if (Array.isArray(oRawValue)) { // 14.4.6 Expression edm:Collection
|
|
401
401
|
return Expression.collection(oPathValue);
|
|
402
402
|
} else {
|
|
403
403
|
Basics.expectType(oPathValue, "object");
|
|
@@ -420,29 +420,29 @@ sap.ui.define([
|
|
|
420
420
|
}
|
|
421
421
|
|
|
422
422
|
switch (sType) {
|
|
423
|
-
case "Apply": // 14.
|
|
423
|
+
case "Apply": // 14.4.4 Expression edm:Apply
|
|
424
424
|
return Expression.apply(oPathValue, oSubPathValue);
|
|
425
425
|
|
|
426
|
-
case "If": // 14.
|
|
426
|
+
case "If": // 14.4.7 Expression edm:If
|
|
427
427
|
return Expression.conditional(oSubPathValue, bInCollection);
|
|
428
428
|
|
|
429
|
-
case "Name": // 12.
|
|
430
|
-
case "Path": // 14.
|
|
431
|
-
case "PropertyPath": // 14.
|
|
429
|
+
case "Name": // 12.9 Attribute Name
|
|
430
|
+
case "Path": // 14.4.1.7 Expression edm:Path
|
|
431
|
+
case "PropertyPath": // 14.4.1.6 Expression edm:PropertyPath
|
|
432
432
|
return Expression.path(oSubPathValue);
|
|
433
433
|
|
|
434
|
-
case "Date": // 14.
|
|
435
|
-
case "DateTimeOffset": // 14.
|
|
436
|
-
case "Decimal": // 14.
|
|
437
|
-
case "Guid": // 14.
|
|
438
|
-
case "Int": // 14.
|
|
439
|
-
case "String": // 14.
|
|
440
|
-
case "TimeOfDay": // 14.
|
|
434
|
+
case "Date": // 14.3.3 Expression edm:Date
|
|
435
|
+
case "DateTimeOffset": // 14.3.4 Expression edm:DateTimeOffset
|
|
436
|
+
case "Decimal": // 14.3.5 Expression edm:Decimal
|
|
437
|
+
case "Guid": // 14.3.9 Expression edm:Guid
|
|
438
|
+
case "Int": // 14.3.10 Expression edm:Int
|
|
439
|
+
case "String": // 14.3.11 Expression edm:String
|
|
440
|
+
case "TimeOfDay": // 14.3.12 Expression edm:TimeOfDay
|
|
441
441
|
Basics.expectType(oSubPathValue, "string");
|
|
442
442
|
// fall through
|
|
443
|
-
case "Bool": // 14.
|
|
444
|
-
case "Float": // 14.
|
|
445
|
-
case "Int32": // 14.
|
|
443
|
+
case "Bool": // 14.3.2 Expression edm:Bool
|
|
444
|
+
case "Float": // 14.3.8 Expression edm:Float
|
|
445
|
+
case "Int32": // 14.3.10 Expression edm:Int
|
|
446
446
|
return SyncPromise.resolve(Expression.constant(oSubPathValue, sType));
|
|
447
447
|
|
|
448
448
|
case "And":
|
|
@@ -453,20 +453,20 @@ sap.ui.define([
|
|
|
453
453
|
case "Lt":
|
|
454
454
|
case "Ne":
|
|
455
455
|
case "Or":
|
|
456
|
-
// 14.
|
|
456
|
+
// 14.4.2 Comparison and Logical Operators
|
|
457
457
|
return Expression.operator(oSubPathValue, sType);
|
|
458
458
|
|
|
459
|
-
case "Not": // 14.
|
|
459
|
+
case "Not": // 14.4.2 Comparison and Logical Operators
|
|
460
460
|
return Expression.not(oSubPathValue);
|
|
461
461
|
|
|
462
|
-
case "Null": // 14.
|
|
462
|
+
case "Null": // 14.4.11 Expression edm:Null
|
|
463
463
|
return SyncPromise.resolve({
|
|
464
464
|
result : "constant",
|
|
465
465
|
type : "edm:Null",
|
|
466
466
|
value : null
|
|
467
467
|
});
|
|
468
468
|
|
|
469
|
-
// case "LabeledElement": 14.
|
|
469
|
+
// case "LabeledElement": 14.4.9 Expression edm:LabeledElement
|
|
470
470
|
default:
|
|
471
471
|
return asyncError(oPathValue, "Unsupported OData expression");
|
|
472
472
|
}
|
|
@@ -589,7 +589,7 @@ sap.ui.define([
|
|
|
589
589
|
},
|
|
590
590
|
|
|
591
591
|
/**
|
|
592
|
-
* Handling of "14.
|
|
592
|
+
* Handling of "14.4.4.2 Function odata.fillUriTemplate".
|
|
593
593
|
*
|
|
594
594
|
* @param {object} oPathValue
|
|
595
595
|
* path and value information pointing to the parameter array (see Expression object)
|
|
@@ -699,7 +699,7 @@ sap.ui.define([
|
|
|
699
699
|
},
|
|
700
700
|
|
|
701
701
|
/**
|
|
702
|
-
* Handling of "14.
|
|
702
|
+
* Handling of "14.4.2 Comparison and Logical Operators": <code>edm:Not</code>.
|
|
703
703
|
*
|
|
704
704
|
* @param {object} oPathValue
|
|
705
705
|
* path and value information pointing to the parameter (see Expression object)
|
|
@@ -722,7 +722,7 @@ sap.ui.define([
|
|
|
722
722
|
},
|
|
723
723
|
|
|
724
724
|
/**
|
|
725
|
-
* Handling of "14.
|
|
725
|
+
* Handling of "14.4.2 Comparison and Logical Operators" except <code>edm:Not</code>.
|
|
726
726
|
*
|
|
727
727
|
* @param {object} oPathValue
|
|
728
728
|
* path and value information pointing to the parameter array (see Expression object)
|
|
@@ -811,7 +811,7 @@ sap.ui.define([
|
|
|
811
811
|
},
|
|
812
812
|
|
|
813
813
|
/**
|
|
814
|
-
* Handling of "14.
|
|
814
|
+
* Handling of "14.4.1.7 Expression edm:Path" and "14.4.1.6 Expression edm:PropertyPath".
|
|
815
815
|
* If <code>oPathValue.path</code> references a property which has an
|
|
816
816
|
* <code>Org.OData.Measures.V1.ISOCurrency</code> annotation, a composite result object for
|
|
817
817
|
* a <code>sap.ui.model.odata.type.Currency</code> type with the currency, the currency code
|
|
@@ -892,7 +892,7 @@ sap.ui.define([
|
|
|
892
892
|
},
|
|
893
893
|
|
|
894
894
|
/**
|
|
895
|
-
* Handling of "14.
|
|
895
|
+
* Handling of "14.4.4.4 Function odata.uriEncode".
|
|
896
896
|
*
|
|
897
897
|
* @param {object} oPathValue
|
|
898
898
|
* path and value information pointing to the parameter array (see Expression object)
|