@openui5/sap.ui.core 1.142.1 → 1.143.1
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/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/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 +2 -2
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/Component.js +7 -6
- 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 +1 -1
- package/src/sap/ui/core/ElementMetadata.js +1 -1
- package/src/sap/ui/core/EnabledPropagator.js +1 -1
- package/src/sap/ui/core/EventBus.js +1 -1
- package/src/sap/ui/core/Fragment.js +1 -1
- package/src/sap/ui/core/HTML.js +1 -1
- package/src/sap/ui/core/History.js +1 -1
- package/src/sap/ui/core/Icon.js +1 -1
- package/src/sap/ui/core/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/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/ShortcutHintsMixin.js +1 -13
- 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/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/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_de.properties +1 -1
- package/src/sap/ui/core/messagebundle_es.properties +20 -20
- package/src/sap/ui/core/messagebundle_id.properties +2 -2
- 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/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/BrowserScrollbar.less +1 -1
- package/src/sap/ui/core/themes/base/DragAndDrop.less +21 -20
- 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/reflection/BaseTreeModifier.js +2 -2
- package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +1 -1
- package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +2 -2
- package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
- package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
- package/src/sap/ui/core/webc/WebComponent.js +1 -1
- package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
- package/src/sap/ui/core/ws/ReadyState.js +1 -1
- package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
- package/src/sap/ui/core/ws/WebSocket.js +1 -1
- package/src/sap/ui/debug/ControlTree.js +1 -1
- package/src/sap/ui/debug/DebugEnv.js +1 -1
- package/src/sap/ui/debug/PropertyList.js +1 -1
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/ClientTreeBinding.js +56 -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 +1 -1
- package/src/sap/ui/model/SelectionModel.js +1 -1
- package/src/sap/ui/model/SimpleType.js +1 -1
- package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
- package/src/sap/ui/model/Type.js +1 -1
- package/src/sap/ui/model/json/JSONModel.js +2 -2
- 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 +8 -4
- 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 +6 -11
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/Context.js +2 -1
- package/src/sap/ui/model/odata/v4/ODataBinding.js +3 -0
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +19 -2
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +7 -29
- package/src/sap/ui/model/odata/v4/ODataModel.js +17 -16
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +13 -8
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +26 -11
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +5 -3
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +45 -31
- 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/qunit/utils/ControlIterator.js +1 -1
- package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/thirdparty/caja-html-sanitizer.js +6 -0
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/ui5loader.js +2 -8
|
@@ -7,10 +7,9 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* The types in this namespace are {@link sap.ui.model.SimpleType simple types} corresponding
|
|
9
9
|
* to OData primitive types for both
|
|
10
|
-
* {@link
|
|
10
|
+
* {@link https://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/odata-csdl-xml-v4.01.html#_Toc38530338 OData V4.01}
|
|
11
11
|
* and
|
|
12
|
-
* {@link
|
|
13
|
-
* "4.4 Primitive Types").
|
|
12
|
+
* {@link https://www.odata.org/documentation/odata-version-2-0/overview#AbstractTypeSystem OData V2}.
|
|
14
13
|
*
|
|
15
14
|
* They can be used in any place where simple types are allowed (and the model representation
|
|
16
15
|
* matches), but they are of course most valuable when used in bindings to a
|
|
@@ -92,9 +91,9 @@ sap.ui.define([
|
|
|
92
91
|
* Constructor for a new <code>ODataType</code>.
|
|
93
92
|
*
|
|
94
93
|
* @class This class is an abstract base class for all OData primitive types (see {@link
|
|
95
|
-
*
|
|
96
|
-
* OData V4 Edm Types} and
|
|
97
|
-
* {@link
|
|
94
|
+
* https://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/odata-csdl-xml-v4.01.html#_Toc38530338
|
|
95
|
+
* OData V4.01 Edm Types} and
|
|
96
|
+
* {@link https://www.odata.org/documentation/odata-version-2-0/overview#AbstractTypeSystem
|
|
98
97
|
* OData V2 Edm Types}). All subtypes implement the interface of
|
|
99
98
|
* {@link sap.ui.model.SimpleType}. That means they implement next to the constructor:
|
|
100
99
|
* <ul>
|
|
@@ -116,7 +115,7 @@ sap.ui.define([
|
|
|
116
115
|
* @extends sap.ui.model.SimpleType
|
|
117
116
|
*
|
|
118
117
|
* @author SAP SE
|
|
119
|
-
* @version 1.
|
|
118
|
+
* @version 1.143.1
|
|
120
119
|
*
|
|
121
120
|
* @abstract
|
|
122
121
|
* @alias sap.ui.model.odata.type.ODataType
|
|
@@ -30,7 +30,7 @@ sap.ui.define([
|
|
|
30
30
|
* @extends sap.ui.model.odata.type.ODataType
|
|
31
31
|
* @public
|
|
32
32
|
* @since 1.37.0
|
|
33
|
-
* @version 1.
|
|
33
|
+
* @version 1.143.1
|
|
34
34
|
*/
|
|
35
35
|
var Raw = ODataType.extend("sap.ui.model.odata.type.Raw", {
|
|
36
36
|
constructor : function (oFormatOptions, oConstraints) {
|
|
@@ -14,9 +14,13 @@ sap.ui.define([
|
|
|
14
14
|
/**
|
|
15
15
|
* Constructor for a primitive type <code>Edm.SByte</code>.
|
|
16
16
|
*
|
|
17
|
-
* @class This class represents the OData primitive type <
|
|
18
|
-
*
|
|
19
|
-
*
|
|
17
|
+
* @class This class represents the OData primitive type <code>Edm.SByte</code>, see
|
|
18
|
+
* <a
|
|
19
|
+
* href="https://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/odata-csdl-xml-v4.01.html#_Toc38530338">
|
|
20
|
+
* type definition for OData V4.01</a> or
|
|
21
|
+
* <a
|
|
22
|
+
* href="https://www.odata.org/documentation/odata-version-2-0/overview#AbstractTypeSystem">
|
|
23
|
+
* type definition for OData V2</a>.
|
|
20
24
|
*
|
|
21
25
|
* In both {@link sap.ui.model.odata.v2.ODataModel} and {@link sap.ui.model.odata.v4.ODataModel}
|
|
22
26
|
* this type is represented as a <code>number</code>.
|
|
@@ -24,7 +28,7 @@ sap.ui.define([
|
|
|
24
28
|
* @extends sap.ui.model.odata.type.Int
|
|
25
29
|
*
|
|
26
30
|
* @author SAP SE
|
|
27
|
-
* @version 1.
|
|
31
|
+
* @version 1.143.1
|
|
28
32
|
*
|
|
29
33
|
* @alias sap.ui.model.odata.type.SByte
|
|
30
34
|
* @param {object} [oFormatOptions]
|
|
@@ -64,9 +64,13 @@ sap.ui.define([
|
|
|
64
64
|
/**
|
|
65
65
|
* Constructor for a primitive type <code>Edm.Single</code>.
|
|
66
66
|
*
|
|
67
|
-
* @class This class represents the OData primitive type <
|
|
68
|
-
*
|
|
69
|
-
*
|
|
67
|
+
* @class This class represents the OData primitive type <code>Edm.Single</code>, see
|
|
68
|
+
* <a
|
|
69
|
+
* href="https://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/odata-csdl-xml-v4.01.html#_Toc38530338">
|
|
70
|
+
* type definition for OData V4.01</a> or
|
|
71
|
+
* <a
|
|
72
|
+
* href="https://www.odata.org/documentation/odata-version-2-0/overview#AbstractTypeSystem">
|
|
73
|
+
* type definition for OData V2</a>.
|
|
70
74
|
*
|
|
71
75
|
* In both {@link sap.ui.model.odata.v2.ODataModel} and {@link sap.ui.model.odata.v4.ODataModel}
|
|
72
76
|
* this type is represented as a <code>number</code>.
|
|
@@ -74,7 +78,7 @@ sap.ui.define([
|
|
|
74
78
|
* @extends sap.ui.model.odata.type.ODataType
|
|
75
79
|
*
|
|
76
80
|
* @author SAP SE
|
|
77
|
-
* @version 1.
|
|
81
|
+
* @version 1.143.1
|
|
78
82
|
*
|
|
79
83
|
* @alias sap.ui.model.odata.type.Single
|
|
80
84
|
* @param {object} [oFormatOptions]
|
|
@@ -50,7 +50,7 @@ sap.ui.define([
|
|
|
50
50
|
* @alias sap.ui.model.odata.type.Stream
|
|
51
51
|
* @author SAP SE
|
|
52
52
|
* @class This class represents the OData V4 primitive type {@link
|
|
53
|
-
*
|
|
53
|
+
* https://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/odata-csdl-xml-v4.01.html#_Toc38530338
|
|
54
54
|
* <code>Edm.Stream</code>}. The values for stream properties do not appear in the entity
|
|
55
55
|
* payload. Instead, the values are read or written through URLs.
|
|
56
56
|
*
|
|
@@ -60,7 +60,7 @@ sap.ui.define([
|
|
|
60
60
|
* @extends sap.ui.model.odata.type.ODataType
|
|
61
61
|
* @public
|
|
62
62
|
* @since 1.51.0
|
|
63
|
-
* @version 1.
|
|
63
|
+
* @version 1.143.1
|
|
64
64
|
*/
|
|
65
65
|
var Stream = ODataType.extend("sap.ui.model.odata.type.Stream", {
|
|
66
66
|
constructor : function (oFormatOptions, oConstraints) {
|
|
@@ -75,9 +75,13 @@ sap.ui.define([
|
|
|
75
75
|
/**
|
|
76
76
|
* Constructor for an OData primitive type <code>Edm.String</code>.
|
|
77
77
|
*
|
|
78
|
-
* @class This class represents the OData primitive type <
|
|
79
|
-
*
|
|
80
|
-
*
|
|
78
|
+
* @class This class represents the OData primitive type <code>Edm.String</code>, see
|
|
79
|
+
* <a
|
|
80
|
+
* href="https://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/odata-csdl-xml-v4.01.html#_Toc38530338">
|
|
81
|
+
* type definition for OData V4.01</a> or
|
|
82
|
+
* <a
|
|
83
|
+
* href="https://www.odata.org/documentation/odata-version-2-0/overview#AbstractTypeSystem">
|
|
84
|
+
* type definition for OData V2</a>.
|
|
81
85
|
*
|
|
82
86
|
* In both {@link sap.ui.model.odata.v2.ODataModel} and {@link sap.ui.model.odata.v4.ODataModel}
|
|
83
87
|
* this type is represented as a <code>string</code>.
|
|
@@ -85,7 +89,7 @@ sap.ui.define([
|
|
|
85
89
|
* @extends sap.ui.model.odata.type.ODataType
|
|
86
90
|
*
|
|
87
91
|
* @author SAP SE
|
|
88
|
-
* @version 1.
|
|
92
|
+
* @version 1.143.1
|
|
89
93
|
*
|
|
90
94
|
* @alias sap.ui.model.odata.type.String
|
|
91
95
|
* @param {object} [oFormatOptions]
|
|
@@ -125,7 +125,7 @@ sap.ui.define([
|
|
|
125
125
|
* Constructor for an OData primitive type <code>Edm.Time</code>.
|
|
126
126
|
*
|
|
127
127
|
* @class This class represents the OData V2 primitive type <a
|
|
128
|
-
* href="
|
|
128
|
+
* href="https://www.odata.org/documentation/odata-version-2-0/overview#AbstractTypeSystem">
|
|
129
129
|
* <code>Edm.Time</code></a>.
|
|
130
130
|
*
|
|
131
131
|
* In {@link sap.ui.model.odata.v2.ODataModel ODataModel} this type is represented as an
|
|
@@ -138,7 +138,7 @@ sap.ui.define([
|
|
|
138
138
|
* @extends sap.ui.model.odata.type.ODataType
|
|
139
139
|
*
|
|
140
140
|
* @author SAP SE
|
|
141
|
-
* @version 1.
|
|
141
|
+
* @version 1.143.1
|
|
142
142
|
*
|
|
143
143
|
* @alias sap.ui.model.odata.type.Time
|
|
144
144
|
* @param {object} [oFormatOptions]
|
|
@@ -86,14 +86,14 @@ sap.ui.define([
|
|
|
86
86
|
* @alias sap.ui.model.odata.type.TimeOfDay
|
|
87
87
|
* @author SAP SE
|
|
88
88
|
* @class This class represents the OData V4 primitive type {@link
|
|
89
|
-
*
|
|
89
|
+
* https://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/odata-csdl-xml-v4.01.html#_Toc38530338
|
|
90
90
|
* <code>Edm.TimeOfDay</code>}.
|
|
91
91
|
* In {@link sap.ui.model.odata.v4.ODataModel} this type is represented as a
|
|
92
92
|
* <code>string</code>.
|
|
93
93
|
* @extends sap.ui.model.odata.type.ODataType
|
|
94
94
|
* @public
|
|
95
95
|
* @since 1.37.0
|
|
96
|
-
* @version 1.
|
|
96
|
+
* @version 1.143.1
|
|
97
97
|
*/
|
|
98
98
|
var TimeOfDay = ODataType.extend("sap.ui.model.odata.type.TimeOfDay", {
|
|
99
99
|
constructor : function (oFormatOptions, oConstraints) {
|
|
@@ -72,7 +72,7 @@ sap.ui.define([
|
|
|
72
72
|
* @extends sap.ui.model.type.Unit
|
|
73
73
|
* @public
|
|
74
74
|
* @since 1.63.0
|
|
75
|
-
* @version 1.
|
|
75
|
+
* @version 1.143.1
|
|
76
76
|
*/
|
|
77
77
|
var Unit = BaseUnit.extend("sap.ui.model.odata.type.Unit", {
|
|
78
78
|
constructor : function (oFormatOptions, oConstraints, aDynamicFormatOptionNames) {
|
|
@@ -64,7 +64,7 @@ sap.ui.define([
|
|
|
64
64
|
* @hideconstructor
|
|
65
65
|
* @public
|
|
66
66
|
* @since 1.93.0
|
|
67
|
-
* @version 1.
|
|
67
|
+
* @version 1.143.1
|
|
68
68
|
*/
|
|
69
69
|
var Context = BaseContext.extend("sap.ui.model.odata.v2.Context", {
|
|
70
70
|
constructor : function (oModel, sPath, sDeepPath, oCreatePromise, bInactive,
|
|
@@ -53,13 +53,12 @@ sap.ui.define([
|
|
|
53
53
|
"sap/ui/model/odata/OperationMode",
|
|
54
54
|
"sap/ui/model/odata/UpdateMethod",
|
|
55
55
|
"sap/ui/thirdparty/datajs",
|
|
56
|
-
"sap/ui/thirdparty/URI",
|
|
57
56
|
"sap/ui/util/isCrossOriginURL"
|
|
58
57
|
], function(_CreatedContextsCache, Context, ODataAnnotations, ODataContextBinding, ODataListBinding, ODataTreeBinding,
|
|
59
58
|
assert, Log, Localization, encodeURL, deepEqual, deepExtend, each, extend, isEmptyObject, isPlainObject, merge,
|
|
60
59
|
uid, SyncPromise, Messaging, Message, MessageParser, MessageType, Supportability, _Helper, BindingMode,
|
|
61
60
|
BaseContext, FilterProcessor, Model, CountMode, MessageScope, ODataMetadata, ODataMetaModel, ODataMessageParser,
|
|
62
|
-
ODataPropertyBinding, ODataUtils, OperationMode, UpdateMethod, OData,
|
|
61
|
+
ODataPropertyBinding, ODataUtils, OperationMode, UpdateMethod, OData, isCrossOriginURL
|
|
63
62
|
) {
|
|
64
63
|
|
|
65
64
|
"use strict";
|
|
@@ -219,7 +218,7 @@ sap.ui.define([
|
|
|
219
218
|
* This model is not prepared to be inherited from.
|
|
220
219
|
*
|
|
221
220
|
* @author SAP SE
|
|
222
|
-
* @version 1.
|
|
221
|
+
* @version 1.143.1
|
|
223
222
|
*
|
|
224
223
|
* @public
|
|
225
224
|
* @alias sap.ui.model.odata.v2.ODataModel
|
|
@@ -1407,15 +1406,13 @@ sap.ui.define([
|
|
|
1407
1406
|
};
|
|
1408
1407
|
|
|
1409
1408
|
/**
|
|
1410
|
-
*
|
|
1409
|
+
* Computes and returns the server base URL from the service URL.
|
|
1410
|
+
*
|
|
1411
1411
|
* @returns {string} The server base URL
|
|
1412
1412
|
* @private
|
|
1413
1413
|
*/
|
|
1414
|
-
ODataModel.prototype._getServerUrl = function() {
|
|
1415
|
-
|
|
1416
|
-
oServiceURI = new URI(this.sServiceUrl).absoluteTo(document.baseURI);
|
|
1417
|
-
sURI = new URI("/").absoluteTo(oServiceURI).toString();
|
|
1418
|
-
return sURI;
|
|
1414
|
+
ODataModel.prototype._getServerUrl = function () {
|
|
1415
|
+
return new URL("/", new URL(this.sServiceUrl, document.baseURI)).href;
|
|
1419
1416
|
};
|
|
1420
1417
|
|
|
1421
1418
|
/**
|
|
@@ -2236,8 +2233,6 @@ sap.ui.define([
|
|
|
2236
2233
|
* {@link sap.ui.model.odata.OperationMode.Server OperationMode.Server} or
|
|
2237
2234
|
* {@link sap.ui.model.odata.OperationMode.Auto OperationMode.Auto} is used.
|
|
2238
2235
|
* @param {boolean} [mParameters.restoreTreeStateAfterChange]
|
|
2239
|
-
* This parameter is experimental as of version 1.141.0.
|
|
2240
|
-
*
|
|
2241
2236
|
* Whether the tree state is restored on hierarchy maintenance, such as adding, removing, or deleting a node.
|
|
2242
2237
|
* This is only supported if the following conditions are met: <ul>
|
|
2243
2238
|
* <li>The binding has to use {@link sap.ui.model.odata.OperationMode.Server OperationMode.Server}</li>
|
|
@@ -105,7 +105,7 @@ sap.ui.define([
|
|
|
105
105
|
* @extends sap.ui.model.TreeBinding
|
|
106
106
|
* @hideconstructor
|
|
107
107
|
* @public
|
|
108
|
-
* @version 1.
|
|
108
|
+
* @version 1.143.1
|
|
109
109
|
*/
|
|
110
110
|
var ODataTreeBinding = TreeBinding.extend("sap.ui.model.odata.v2.ODataTreeBinding", /** @lends sap.ui.model.odata.v2.ODataTreeBinding.prototype */ {
|
|
111
111
|
|
|
@@ -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.143.1
|
|
46
46
|
*/
|
|
47
47
|
Context = BaseContext.extend("sap.ui.model.odata.v4.Context", {
|
|
48
48
|
constructor : constructor
|
|
@@ -1269,6 +1269,7 @@ sap.ui.define([
|
|
|
1269
1269
|
*/
|
|
1270
1270
|
Context.prototype.isAggregated = function () {
|
|
1271
1271
|
this.oBinding.checkSuspended();
|
|
1272
|
+
// see _AggregationCache#isAggregated
|
|
1272
1273
|
const bAggregated = this.oBinding.mParameters.$$aggregation?.$leafLevelAggregated;
|
|
1273
1274
|
if (bAggregated === undefined) {
|
|
1274
1275
|
return false;
|
|
@@ -548,6 +548,9 @@ sap.ui.define([
|
|
|
548
548
|
this.oCachePromise = SyncPromise.all(aPromises).then(function (aResult) {
|
|
549
549
|
var mQueryOptions = aResult[0].mQueryOptions;
|
|
550
550
|
|
|
551
|
+
if (oCallToken.initiallySuspended) {
|
|
552
|
+
return null;
|
|
553
|
+
}
|
|
551
554
|
if (aResult[0].sReducedPath) {
|
|
552
555
|
that.sReducedPath = aResult[0].sReducedPath;
|
|
553
556
|
}
|
|
@@ -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.143.1
|
|
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
|
|
@@ -60,7 +60,7 @@ sap.ui.define([
|
|
|
60
60
|
* @mixes sap.ui.model.odata.v4.ODataParentBinding
|
|
61
61
|
* @public
|
|
62
62
|
* @since 1.37.0
|
|
63
|
-
* @version 1.
|
|
63
|
+
* @version 1.143.1
|
|
64
64
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getGroupId as #getGroupId
|
|
65
65
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getRootBinding as #getRootBinding
|
|
66
66
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getUpdateGroupId as #getUpdateGroupId
|
|
@@ -143,6 +143,10 @@ sap.ui.define([
|
|
|
143
143
|
this.oHeaderContext = this.bRelative
|
|
144
144
|
? null
|
|
145
145
|
: Context.createNewContext(oModel, this, sPath);
|
|
146
|
+
this.bInitial = true;
|
|
147
|
+
Promise.resolve().then(() => {
|
|
148
|
+
this.bInitial = false; // ensure to reset the initial flag after the synchronous part
|
|
149
|
+
});
|
|
146
150
|
this.sOperationMode = mParameters.$$operationMode || oModel.sOperationMode;
|
|
147
151
|
// map<string,sap.ui.model.odata.v4.Context>
|
|
148
152
|
// Maps a string path to a v4.Context with that path. A context may either be
|
|
@@ -774,7 +778,7 @@ sap.ui.define([
|
|
|
774
778
|
|
|
775
779
|
iCount ??= this.oCache.collapse(
|
|
776
780
|
_Helper.getRelativePath(oContext.getPath(), this.oHeaderContext.getPath()),
|
|
777
|
-
bAll ? this.lockGroup() : undefined, bSilent
|
|
781
|
+
bAll ? this.lockGroup() : undefined, bSilent);
|
|
778
782
|
|
|
779
783
|
if (iCount > 0) {
|
|
780
784
|
const aContexts = this.aContexts;
|
|
@@ -1728,6 +1732,18 @@ sap.ui.define([
|
|
|
1728
1732
|
*/
|
|
1729
1733
|
ODataListBinding.prototype.doSetProperty = function () {};
|
|
1730
1734
|
|
|
1735
|
+
/**
|
|
1736
|
+
* @override
|
|
1737
|
+
* @see sap.ui.model.odata.v4.ODataParentBinding#doSuspend
|
|
1738
|
+
*/
|
|
1739
|
+
ODataListBinding.prototype.doSuspend = function () {
|
|
1740
|
+
// if auto-$expand/$select is not used, this.oFetchCacheCallToken may be reset already
|
|
1741
|
+
if (this.bInitial && this.oFetchCacheCallToken) {
|
|
1742
|
+
this.oFetchCacheCallToken.initiallySuspended = true;
|
|
1743
|
+
this.oCache = null;
|
|
1744
|
+
}
|
|
1745
|
+
};
|
|
1746
|
+
|
|
1731
1747
|
/**
|
|
1732
1748
|
* Expands the group node that the given context points to by the given number of levels.
|
|
1733
1749
|
*
|
|
@@ -3476,6 +3492,7 @@ sap.ui.define([
|
|
|
3476
3492
|
*/
|
|
3477
3493
|
// @override sap.ui.model.Binding#initialize
|
|
3478
3494
|
ODataListBinding.prototype.initialize = function () {
|
|
3495
|
+
this.bInitial = false;
|
|
3479
3496
|
if (this.isResolved()) {
|
|
3480
3497
|
this.checkDataState();
|
|
3481
3498
|
if (this.isRootBindingSuspended()) {
|
|
@@ -40,13 +40,12 @@ sap.ui.define([
|
|
|
40
40
|
"sap/ui/model/odata/type/Single",
|
|
41
41
|
"sap/ui/model/odata/type/Stream",
|
|
42
42
|
"sap/ui/model/odata/type/String",
|
|
43
|
-
"sap/ui/model/odata/type/TimeOfDay"
|
|
44
|
-
"sap/ui/thirdparty/URI"
|
|
43
|
+
"sap/ui/model/odata/type/TimeOfDay"
|
|
45
44
|
], function (AnnotationHelper, ValueListType, _Helper, assert, Log, JSTokenizer, ObjectPath,
|
|
46
45
|
ManagedObject, SyncPromise, BindingMode, ChangeReason, ClientListBinding, BaseContext,
|
|
47
46
|
ContextBinding, MetaModel, PropertyBinding, OperationMode, Boolean, Byte, EdmDate,
|
|
48
47
|
DateTimeOffset, Decimal, Double, Guid, Int16, Int32, Int64, Raw, SByte, Single, Stream,
|
|
49
|
-
String, TimeOfDay
|
|
48
|
+
String, TimeOfDay) {
|
|
50
49
|
"use strict";
|
|
51
50
|
/*eslint max-nested-callbacks: 0 */
|
|
52
51
|
|
|
@@ -204,7 +203,7 @@ sap.ui.define([
|
|
|
204
203
|
* @hideconstructor
|
|
205
204
|
* @public
|
|
206
205
|
* @since 1.37.0
|
|
207
|
-
* @version 1.
|
|
206
|
+
* @version 1.143.1
|
|
208
207
|
*/
|
|
209
208
|
ODataMetaModel = MetaModel.extend("sap.ui.model.odata.v4.ODataMetaModel", {
|
|
210
209
|
constructor : constructor
|
|
@@ -2294,27 +2293,6 @@ sap.ui.define([
|
|
|
2294
2293
|
});
|
|
2295
2294
|
};
|
|
2296
2295
|
|
|
2297
|
-
/**
|
|
2298
|
-
* Returns the absolute service URL corresponding to the given relative $metadata URL.
|
|
2299
|
-
*
|
|
2300
|
-
* @param {string} sUrl
|
|
2301
|
-
* A $metadata URL, for example "../ValueListService/$metadata?sap-client=123", interpreted
|
|
2302
|
-
* relative to this meta model's URL
|
|
2303
|
-
* @returns {string}
|
|
2304
|
-
* The corresponding absolute service URL
|
|
2305
|
-
*
|
|
2306
|
-
* @private
|
|
2307
|
-
*/
|
|
2308
|
-
ODataMetaModel.prototype.getAbsoluteServiceUrl = function (sUrl) {
|
|
2309
|
-
// Note: make our $metadata URL absolute because URI#absoluteTo requires an absolute base
|
|
2310
|
-
// URL (and it fails if the base URL starts with "..")
|
|
2311
|
-
var sAbsoluteUrl = new URI(this.sUrl).absoluteTo(document.baseURI).pathname().toString();
|
|
2312
|
-
|
|
2313
|
-
// sUrl references the metadata document, make it absolute based on our $metadata URL to get
|
|
2314
|
-
// rid of ".." segments and remove the filename part
|
|
2315
|
-
return new URI(sUrl).absoluteTo(sAbsoluteUrl).filename("").toString();
|
|
2316
|
-
};
|
|
2317
|
-
|
|
2318
2296
|
/**
|
|
2319
2297
|
* Builds the completely reduced path or a list of all reductions of the given path based on
|
|
2320
2298
|
* metadata. Removes adjacent partner navigation properties and reduces binding paths to
|
|
@@ -2612,7 +2590,7 @@ sap.ui.define([
|
|
|
2612
2590
|
*/
|
|
2613
2591
|
ODataMetaModel.prototype.getOrCreateSharedModel = function (sUrl, bCopyAnnotations,
|
|
2614
2592
|
bAutoExpandSelect, sQualifiedParentName) {
|
|
2615
|
-
sUrl =
|
|
2593
|
+
sUrl = _Helper.makeAbsolute(sUrl, this.sUrl, /*bServiceUrl*/true);
|
|
2616
2594
|
const sMapKey = !!bAutoExpandSelect + sUrl; // no separator needed as sUrl.startsWith("/")
|
|
2617
2595
|
let mSharedModelByUrl = this.mSharedModelByUrl;
|
|
2618
2596
|
if (!bCopyAnnotations) {
|
|
@@ -2868,8 +2846,8 @@ sap.ui.define([
|
|
|
2868
2846
|
return null;
|
|
2869
2847
|
}
|
|
2870
2848
|
|
|
2871
|
-
sUrl = that.
|
|
2872
|
-
|
|
2849
|
+
sUrl = _Helper.makeAbsolute(_Helper.setLanguage(oCodeList.Url, that.sLanguage),
|
|
2850
|
+
that.sUrl, /*bServiceUrl*/true);
|
|
2873
2851
|
// separator needed (Note: path must not include hash)
|
|
2874
2852
|
sCacheKey = oCodeList.CollectionPath + "#" + sUrl;
|
|
2875
2853
|
oPromise = mCodeListUrl2Promise[sCacheKey];
|
|
@@ -3781,7 +3759,7 @@ sap.ui.define([
|
|
|
3781
3759
|
for (sReferenceUri in mScope.$Reference) {
|
|
3782
3760
|
oReference = mScope.$Reference[sReferenceUri];
|
|
3783
3761
|
// interpret reference URI relative to metadata URL
|
|
3784
|
-
sReferenceUri =
|
|
3762
|
+
sReferenceUri = _Helper.makeAbsolute(sReferenceUri, this.sUrl);
|
|
3785
3763
|
|
|
3786
3764
|
if ("$IncludeAnnotations" in oReference) {
|
|
3787
3765
|
this._reportAndThrowError("Unsupported IncludeAnnotations", sUrl);
|
|
@@ -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
|
/**
|
|
@@ -156,6 +152,8 @@ sap.ui.define([
|
|
|
156
152
|
* "cross-service references". Supported since 1.81.0
|
|
157
153
|
* @param {string} [mParameters.odataVersion="4.0"]
|
|
158
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
|
|
@@ -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.1
|
|
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
|
|
@@ -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";
|
|
@@ -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.
|
|
@@ -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)]) {
|
|
@@ -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.1
|
|
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
|