@openui5/sap.ui.core 1.108.17 → 1.108.18
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/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 +4 -4
- package/src/sap/ui/base/Event.js +1 -1
- package/src/sap/ui/base/EventProvider.js +1 -1
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +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 +1 -1
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/Component.js +1 -1
- package/src/sap/ui/core/ComponentContainer.js +1 -1
- package/src/sap/ui/core/ComponentMetadata.js +1 -1
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/Configuration.js +1 -1
- package/src/sap/ui/core/Control.js +1 -1
- package/src/sap/ui/core/Core.js +1 -1
- 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 +1 -1
- package/src/sap/ui/core/LayoutData.js +1 -1
- package/src/sap/ui/core/ListItem.js +1 -1
- package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
- package/src/sap/ui/core/Locale.js +1 -1
- package/src/sap/ui/core/LocaleData.js +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/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/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/TimezoneUtil.js +1 -1
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +3 -3
- package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
- package/src/sap/ui/core/message/Message.js +1 -1
- package/src/sap/ui/core/message/MessageManager.js +1 -1
- package/src/sap/ui/core/message/MessageParser.js +1 -1
- package/src/sap/ui/core/message/MessageProcessor.js +1 -1
- package/src/sap/ui/core/mvc/HTMLView.js +1 -1
- package/src/sap/ui/core/mvc/JSONView.js +1 -1
- package/src/sap/ui/core/mvc/JSView.js +1 -1
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/View.js +1 -1
- package/src/sap/ui/core/mvc/XMLView.js +1 -1
- package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/plugin/LessSupport.js +1 -1
- package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
- package/src/sap/ui/core/postmessage/Bus.js +1 -1
- package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
- package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
- package/src/sap/ui/core/search/SearchProvider.js +1 -1
- package/src/sap/ui/core/service/Service.js +1 -1
- package/src/sap/ui/core/service/ServiceFactory.js +1 -1
- package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
- package/src/sap/ui/core/support/Plugin.js +1 -1
- package/src/sap/ui/core/support/Support.js +1 -1
- package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
- package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
- package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
- package/src/sap/ui/core/support/plugins/Performance.js +1 -1
- package/src/sap/ui/core/support/plugins/Selector.js +1 -1
- package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
- package/src/sap/ui/core/support/plugins/Trace.js +1 -1
- package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
- package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
- package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
- package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
- package/src/sap/ui/core/tmpl/Template.js +1 -1
- package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
- package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
- package/src/sap/ui/core/util/Export.js +1 -1
- package/src/sap/ui/core/util/ExportCell.js +1 -1
- package/src/sap/ui/core/util/ExportColumn.js +1 -1
- package/src/sap/ui/core/util/ExportRow.js +1 -1
- package/src/sap/ui/core/util/ExportType.js +1 -1
- package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
- package/src/sap/ui/core/util/File.js +1 -1
- package/src/sap/ui/core/util/LibraryInfo.js +1 -1
- package/src/sap/ui/core/util/MockServer.js +1 -1
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
- package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
- package/src/sap/ui/core/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/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 +1 -1
- package/src/sap/ui/model/message/MessageModel.js +1 -1
- package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
- package/src/sap/ui/model/odata/ODataMetaModel.js +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 +1 -1
- package/src/sap/ui/model/odata/type/Byte.js +1 -1
- package/src/sap/ui/model/odata/type/Currency.js +1 -1
- package/src/sap/ui/model/odata/type/Date.js +1 -1
- package/src/sap/ui/model/odata/type/DateTime.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
- package/src/sap/ui/model/odata/type/Decimal.js +1 -1
- package/src/sap/ui/model/odata/type/Double.js +1 -1
- package/src/sap/ui/model/odata/type/Guid.js +1 -1
- package/src/sap/ui/model/odata/type/Int.js +1 -1
- package/src/sap/ui/model/odata/type/Int16.js +1 -1
- package/src/sap/ui/model/odata/type/Int32.js +1 -1
- package/src/sap/ui/model/odata/type/Int64.js +1 -1
- package/src/sap/ui/model/odata/type/ODataType.js +1 -1
- package/src/sap/ui/model/odata/type/Raw.js +1 -1
- package/src/sap/ui/model/odata/type/SByte.js +1 -1
- package/src/sap/ui/model/odata/type/Single.js +1 -1
- package/src/sap/ui/model/odata/type/Stream.js +1 -1
- package/src/sap/ui/model/odata/type/String.js +1 -1
- package/src/sap/ui/model/odata/type/Time.js +1 -1
- package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
- package/src/sap/ui/model/odata/type/Unit.js +1 -1
- package/src/sap/ui/model/odata/v2/Context.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataModel.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/Context.js +3 -3
- package/src/sap/ui/model/odata/v4/ODataBinding.js +65 -38
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +5 -4
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +7 -6
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +8 -9
- package/src/sap/ui/model/odata/v4/ODataModel.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +58 -27
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +5 -5
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +11 -7
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +5 -1
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +3 -3
- package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +1 -1
- package/src/sap/ui/model/resource/ResourceModel.js +1 -1
- package/src/sap/ui/model/type/Boolean.js +1 -1
- package/src/sap/ui/model/type/Currency.js +1 -1
- package/src/sap/ui/model/type/Date.js +1 -1
- package/src/sap/ui/model/type/DateInterval.js +1 -1
- package/src/sap/ui/model/type/DateTime.js +1 -1
- package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
- package/src/sap/ui/model/type/FileSize.js +1 -1
- package/src/sap/ui/model/type/Float.js +1 -1
- package/src/sap/ui/model/type/Integer.js +1 -1
- package/src/sap/ui/model/type/String.js +1 -1
- package/src/sap/ui/model/type/Time.js +1 -1
- package/src/sap/ui/model/type/TimeInterval.js +1 -1
- package/src/sap/ui/model/type/Unit.js +1 -1
- package/src/sap/ui/model/xml/XMLModel.js +1 -1
- package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
- package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/util/Storage.js +1 -1
|
@@ -57,7 +57,7 @@ sap.ui.define([
|
|
|
57
57
|
* @mixes sap.ui.model.odata.v4.ODataParentBinding
|
|
58
58
|
* @public
|
|
59
59
|
* @since 1.37.0
|
|
60
|
-
* @version 1.108.
|
|
60
|
+
* @version 1.108.18
|
|
61
61
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getGroupId as #getGroupId
|
|
62
62
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getRootBinding as #getRootBinding
|
|
63
63
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getUpdateGroupId as #getUpdateGroupId
|
|
@@ -445,7 +445,7 @@ sap.ui.define([
|
|
|
445
445
|
sApply = _AggregationHelper.buildApply(mParameters.$$aggregation).$apply;
|
|
446
446
|
}
|
|
447
447
|
this.mQueryOptions = this.oModel.buildQueryOptions(mParameters, true);
|
|
448
|
-
this.oQueryOptionsPromise = undefined; // @see #
|
|
448
|
+
this.oQueryOptionsPromise = undefined; // @see #doFetchOrGetQueryOptions
|
|
449
449
|
this.mParameters = mParameters; // store mParameters at binding after validation
|
|
450
450
|
if (sApply) {
|
|
451
451
|
this.mQueryOptions.$apply = sApply;
|
|
@@ -1211,9 +1211,9 @@ sap.ui.define([
|
|
|
1211
1211
|
|
|
1212
1212
|
/**
|
|
1213
1213
|
* @override
|
|
1214
|
-
* @see sap.ui.model.odata.v4.ODataBinding#
|
|
1214
|
+
* @see sap.ui.model.odata.v4.ODataBinding#doFetchOrGetQueryOptions
|
|
1215
1215
|
*/
|
|
1216
|
-
ODataListBinding.prototype.
|
|
1216
|
+
ODataListBinding.prototype.doFetchOrGetQueryOptions = function (oContext) {
|
|
1217
1217
|
// Note: an absolute binding needs no parent context :-)
|
|
1218
1218
|
var sMetaPath = oContext && _Helper.getMetaPath(oContext.getPath()),
|
|
1219
1219
|
that = this;
|
|
@@ -2659,7 +2659,7 @@ sap.ui.define([
|
|
|
2659
2659
|
ODataListBinding.prototype.inheritQueryOptions = function (mQueryOptions, oContext) {
|
|
2660
2660
|
var mInheritedQueryOptions;
|
|
2661
2661
|
|
|
2662
|
-
if (
|
|
2662
|
+
if (_Helper.isEmptyObject(this.mParameters)) {
|
|
2663
2663
|
// mix-in inherited static query options
|
|
2664
2664
|
mInheritedQueryOptions = this.getQueryOptionsForPath("", oContext);
|
|
2665
2665
|
if (mQueryOptions.$orderby && mInheritedQueryOptions.$orderby) {
|
|
@@ -2734,7 +2734,7 @@ sap.ui.define([
|
|
|
2734
2734
|
// When suspended it matches if it already has contexts. Then its getKeepAliveContext fails.
|
|
2735
2735
|
return this.mParameters.$$getKeepAliveContext && this.getResolvedPath() === sPath
|
|
2736
2736
|
&& (!this.isRootBindingSuspended() || this.aContexts.length
|
|
2737
|
-
||
|
|
2737
|
+
|| !_Helper.isEmptyObject(this.mPreviousContextsByPath));
|
|
2738
2738
|
};
|
|
2739
2739
|
|
|
2740
2740
|
/**
|
|
@@ -3721,6 +3721,7 @@ sap.ui.define([
|
|
|
3721
3721
|
}
|
|
3722
3722
|
if (this.bHasPathReductionToParent && this.oModel.bAutoExpandSelect
|
|
3723
3723
|
&& !this.mParameters.$$aggregation) {
|
|
3724
|
+
this.mCanUseCachePromiseByChildPath = {};
|
|
3724
3725
|
this.sChangeReason = "AddVirtualContext"; // JIRA: CPOUI5ODATAV4-848
|
|
3725
3726
|
}
|
|
3726
3727
|
if (oContext.getBinding
|
|
@@ -11,7 +11,6 @@ sap.ui.define([
|
|
|
11
11
|
"./lib/_Helper",
|
|
12
12
|
"sap/base/assert",
|
|
13
13
|
"sap/base/Log",
|
|
14
|
-
"sap/base/util/isEmptyObject",
|
|
15
14
|
"sap/base/util/JSTokenizer",
|
|
16
15
|
"sap/base/util/ObjectPath",
|
|
17
16
|
"sap/ui/base/ManagedObject",
|
|
@@ -43,11 +42,11 @@ sap.ui.define([
|
|
|
43
42
|
"sap/ui/model/odata/type/String",
|
|
44
43
|
"sap/ui/model/odata/type/TimeOfDay",
|
|
45
44
|
"sap/ui/thirdparty/URI"
|
|
46
|
-
], function (AnnotationHelper, ValueListType, _Helper, assert, Log,
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
45
|
+
], function (AnnotationHelper, ValueListType, _Helper, assert, Log, JSTokenizer, ObjectPath,
|
|
46
|
+
ManagedObject, SyncPromise, BindingMode, ChangeReason, ClientListBinding, BaseContext,
|
|
47
|
+
ContextBinding, MetaModel, PropertyBinding, OperationMode, Boolean, Byte, EdmDate,
|
|
48
|
+
DateTimeOffset, Decimal, Double, Guid, Int16, Int32, Int64, Raw, SByte, Single, Stream,
|
|
49
|
+
String, TimeOfDay, URI) {
|
|
51
50
|
"use strict";
|
|
52
51
|
/*eslint max-nested-callbacks: 0 */
|
|
53
52
|
|
|
@@ -157,7 +156,7 @@ sap.ui.define([
|
|
|
157
156
|
* @hideconstructor
|
|
158
157
|
* @public
|
|
159
158
|
* @since 1.37.0
|
|
160
|
-
* @version 1.108.
|
|
159
|
+
* @version 1.108.18
|
|
161
160
|
*/
|
|
162
161
|
ODataMetaModel = MetaModel.extend("sap.ui.model.odata.v4.ODataMetaModel", {
|
|
163
162
|
constructor : constructor
|
|
@@ -1629,7 +1628,7 @@ sap.ui.define([
|
|
|
1629
1628
|
}
|
|
1630
1629
|
|
|
1631
1630
|
if (mFormatOptions) {
|
|
1632
|
-
if (isEmptyObject(mFormatOptions)) {
|
|
1631
|
+
if (_Helper.isEmptyObject(mFormatOptions)) {
|
|
1633
1632
|
mFormatOptions = undefined;
|
|
1634
1633
|
} else if ("parseKeepsEmptyString" in mFormatOptions
|
|
1635
1634
|
&& oProperty.$Type !== "Edm.String") {
|
|
@@ -3273,7 +3272,7 @@ sap.ui.define([
|
|
|
3273
3272
|
|
|
3274
3273
|
// Each reference must have contributed at least one qualifier. So if oValueListInfo
|
|
3275
3274
|
// is empty, there cannot have been a reference.
|
|
3276
|
-
if (isEmptyObject(oValueListInfo)) {
|
|
3275
|
+
if (_Helper.isEmptyObject(oValueListInfo)) {
|
|
3277
3276
|
throw new Error("No annotation '" + sValueListReferences.slice(1) + "' for "
|
|
3278
3277
|
+ sPropertyPath);
|
|
3279
3278
|
}
|
|
@@ -218,7 +218,7 @@ sap.ui.define([
|
|
|
218
218
|
* @extends sap.ui.model.Model
|
|
219
219
|
* @public
|
|
220
220
|
* @since 1.37.0
|
|
221
|
-
* @version 1.108.
|
|
221
|
+
* @version 1.108.18
|
|
222
222
|
*/
|
|
223
223
|
ODataModel = Model.extend("sap.ui.model.odata.v4.ODataModel",
|
|
224
224
|
/** @lends sap.ui.model.odata.v4.ODataModel.prototype */{
|
|
@@ -31,6 +31,7 @@ sap.ui.define([
|
|
|
31
31
|
this.mAggregatedQueryOptions = {};
|
|
32
32
|
// whether the aggregated query options are processed the first time
|
|
33
33
|
this.bAggregatedQueryOptionsInitial = true;
|
|
34
|
+
this.mCanUseCachePromiseByChildPath = {};
|
|
34
35
|
// auto-$expand/$select: promises to wait until child bindings have provided
|
|
35
36
|
// their path and query options
|
|
36
37
|
this.aChildCanUseCachePromises = [];
|
|
@@ -215,7 +216,7 @@ sap.ui.define([
|
|
|
215
216
|
* @param {object} mQueryOptions - The query options to be merged
|
|
216
217
|
* @param {string} sBaseMetaPath - This binding's meta path
|
|
217
218
|
* @param {boolean} bCacheImmutable - Whether the cache of this binding is immutable
|
|
218
|
-
* @param {boolean} bIsProperty - Whether the child is a property binding
|
|
219
|
+
* @param {boolean} [bIsProperty] - Whether the child is a property binding
|
|
219
220
|
* @returns {boolean} Whether the query options can be fulfilled by this binding
|
|
220
221
|
*
|
|
221
222
|
* @private
|
|
@@ -229,14 +230,19 @@ sap.ui.define([
|
|
|
229
230
|
/*
|
|
230
231
|
* Recursively merges the given query options into the given aggregated query options.
|
|
231
232
|
*
|
|
232
|
-
* @param {object} mAggregatedQueryOptions
|
|
233
|
-
*
|
|
234
|
-
*
|
|
235
|
-
*
|
|
236
|
-
* @param {
|
|
237
|
-
*
|
|
238
|
-
*
|
|
239
|
-
*
|
|
233
|
+
* @param {object} mAggregatedQueryOptions
|
|
234
|
+
* The aggregated query options
|
|
235
|
+
* @param {object} mQueryOptions0
|
|
236
|
+
* The query options to merge into the aggregated query options
|
|
237
|
+
* @param {string} [sMetaPath]
|
|
238
|
+
* The meta path for the current $expand (only used if cache is immutable)
|
|
239
|
+
* @param {boolean} [bInsideExpand]
|
|
240
|
+
* Whether the given query options are inside a $expand
|
|
241
|
+
* @param {boolean} [bAdd]
|
|
242
|
+
* Whether to add the given query options because they are in a $expand that has not been
|
|
243
|
+
* aggregated yet
|
|
244
|
+
* @returns {boolean}
|
|
245
|
+
* Whether the query options can be fulfilled by this binding
|
|
240
246
|
*/
|
|
241
247
|
function merge(mAggregatedQueryOptions, mQueryOptions0, sMetaPath, bInsideExpand, bAdd) {
|
|
242
248
|
/*
|
|
@@ -306,10 +312,13 @@ sap.ui.define([
|
|
|
306
312
|
}
|
|
307
313
|
|
|
308
314
|
if (merge(mAggregatedQueryOptionsClone, mQueryOptions, sBaseMetaPath)) {
|
|
309
|
-
if (
|
|
310
|
-
this.mAggregatedQueryOptions = mAggregatedQueryOptionsClone;
|
|
311
|
-
} else {
|
|
315
|
+
if (bCacheImmutable) {
|
|
312
316
|
this.mLateQueryOptions = mAggregatedQueryOptionsClone;
|
|
317
|
+
} else {
|
|
318
|
+
this.mAggregatedQueryOptions = mAggregatedQueryOptionsClone;
|
|
319
|
+
if (this.mLateQueryOptions) {
|
|
320
|
+
merge(this.mLateQueryOptions, mQueryOptions);
|
|
321
|
+
}
|
|
313
322
|
}
|
|
314
323
|
return true;
|
|
315
324
|
}
|
|
@@ -660,14 +669,14 @@ sap.ui.define([
|
|
|
660
669
|
* @param {sap.ui.model.odata.v4.Context} oContext
|
|
661
670
|
* A context of this binding which is the direct or indirect parent of the child binding.
|
|
662
671
|
* Initially it is the child binding's parent context (See
|
|
663
|
-
* {@link sap.ui.model.odata.v4.ODataBinding#
|
|
664
|
-
* delegates up to its parent binding, it passes its own parent context adjusting
|
|
672
|
+
* {@link sap.ui.model.odata.v4.ODataBinding#fetchOrGetQueryOptionsForOwnCache}). When a
|
|
673
|
+
* binding delegates up to its parent binding, it passes its own parent context adjusting
|
|
665
674
|
* <code>sChildPath</code> accordingly.
|
|
666
675
|
* @param {string} sChildPath
|
|
667
676
|
* The child binding's binding path relative to <code>oContext</code>
|
|
668
|
-
* @param {object|sap.ui.base.SyncPromise} vChildQueryOptions
|
|
669
|
-
* The child binding's (aggregated) query options or a promise resolving with them
|
|
670
|
-
* @param {boolean} bIsProperty
|
|
677
|
+
* @param {object|sap.ui.base.SyncPromise} [vChildQueryOptions={}]
|
|
678
|
+
* The child binding's (aggregated) query options (if any) or a promise resolving with them
|
|
679
|
+
* @param {boolean} [bIsProperty]
|
|
671
680
|
* Whether the child is a property binding
|
|
672
681
|
* @returns {sap.ui.base.SyncPromise}
|
|
673
682
|
* A promise resolved with the reduced path for the child binding if the child binding can use
|
|
@@ -682,7 +691,7 @@ sap.ui.define([
|
|
|
682
691
|
// getBaseForPathReduction must be called early, because the (virtual) parent context may be
|
|
683
692
|
// lost again when the path is needed
|
|
684
693
|
var sBaseForPathReduction = this.getBaseForPathReduction(),
|
|
685
|
-
sBaseMetaPath
|
|
694
|
+
sBaseMetaPath,
|
|
686
695
|
bCacheImmutable,
|
|
687
696
|
oCanUseCachePromise,
|
|
688
697
|
// whether this binding is an operation or depends on one
|
|
@@ -737,6 +746,23 @@ sap.ui.define([
|
|
|
737
746
|
return SyncPromise.resolve(sResolvedChildPath);
|
|
738
747
|
}
|
|
739
748
|
|
|
749
|
+
oCanUseCachePromise = this.mCanUseCachePromiseByChildPath[sChildPath];
|
|
750
|
+
if (oCanUseCachePromise && bIsProperty) {
|
|
751
|
+
return oCanUseCachePromise.then(function (sOldReducedPath) {
|
|
752
|
+
if (!sOldReducedPath) {
|
|
753
|
+
return undefined;
|
|
754
|
+
}
|
|
755
|
+
// Note: sResolvedChildPath could be "/SalesOrderList('42')/SO_2_SOITEM/0/Note"
|
|
756
|
+
// w/ index (thus getMetaPath helps), but getStrippedMetaPath makes no difference
|
|
757
|
+
if (!sChildPath.includes("/")
|
|
758
|
+
|| _Helper.getMetaPath(sOldReducedPath)
|
|
759
|
+
=== _Helper.getMetaPath(sResolvedChildPath)) {
|
|
760
|
+
return sResolvedChildPath;
|
|
761
|
+
}
|
|
762
|
+
return oMetaModel.getReducedPath(sResolvedChildPath, sBaseForPathReduction);
|
|
763
|
+
});
|
|
764
|
+
}
|
|
765
|
+
|
|
740
766
|
// Note: this.oCachePromise exists for all bindings except operation bindings; it might
|
|
741
767
|
// become pending again
|
|
742
768
|
bCacheImmutable = this.oCachePromise.isRejected()
|
|
@@ -744,16 +770,17 @@ sap.ui.define([
|
|
|
744
770
|
|| oContext.isKeepAlive() // kept-alive contexts have no index when not in aContexts
|
|
745
771
|
|| this.oCache === null
|
|
746
772
|
|| this.oCache && this.oCache.hasSentRequest();
|
|
773
|
+
sBaseMetaPath = _Helper.getMetaPath(oContext.getPath());
|
|
747
774
|
aPromises = [
|
|
748
|
-
this.
|
|
775
|
+
this.doFetchOrGetQueryOptions(this.oContext),
|
|
749
776
|
// After access to complete meta path of property, the metadata of all prefix paths
|
|
750
777
|
// is loaded so that synchronous access in wrapChildQueryOptions via getObject is
|
|
751
|
-
// possible
|
|
778
|
+
// possible - as well as #getReducedPath
|
|
752
779
|
fetchPropertyAndType(),
|
|
753
780
|
vChildQueryOptions
|
|
754
781
|
];
|
|
755
782
|
oCanUseCachePromise = SyncPromise.all(aPromises).then(function (aResult) {
|
|
756
|
-
var mChildQueryOptions = aResult[2],
|
|
783
|
+
var mChildQueryOptions = aResult[2] || {},
|
|
757
784
|
mWrappedChildQueryOptions,
|
|
758
785
|
mLocalQueryOptions = aResult[0],
|
|
759
786
|
oProperty = aResult[1],
|
|
@@ -774,7 +801,7 @@ sap.ui.define([
|
|
|
774
801
|
that.bHasPathReductionToParent = true;
|
|
775
802
|
return that.oContext.getBinding().fetchIfChildCanUseCache(that.oContext,
|
|
776
803
|
_Helper.getRelativePath(sResolvedChildPath, that.oContext.getPath()),
|
|
777
|
-
|
|
804
|
+
mChildQueryOptions, bIsProperty);
|
|
778
805
|
}
|
|
779
806
|
|
|
780
807
|
if (bDependsOnOperation || sReducedChildMetaPath === "$count"
|
|
@@ -823,8 +850,8 @@ sap.ui.define([
|
|
|
823
850
|
if (that.oCache) {
|
|
824
851
|
that.oCache.setLateQueryOptions(that.mLateQueryOptions);
|
|
825
852
|
} else if (that.oCache === null) {
|
|
826
|
-
return that.oContext.getBinding()
|
|
827
|
-
that.sPath,
|
|
853
|
+
return that.oContext.getBinding()
|
|
854
|
+
.fetchIfChildCanUseCache(that.oContext, that.sPath, that.mLateQueryOptions)
|
|
828
855
|
.then(function (sPath) {
|
|
829
856
|
return sPath && sReducedPath;
|
|
830
857
|
});
|
|
@@ -832,6 +859,9 @@ sap.ui.define([
|
|
|
832
859
|
}
|
|
833
860
|
return sReducedPath;
|
|
834
861
|
});
|
|
862
|
+
if (bIsProperty && !oContext.getPath().includes("($uid=")) {
|
|
863
|
+
this.mCanUseCachePromiseByChildPath[sChildPath] = oCanUseCachePromise;
|
|
864
|
+
}
|
|
835
865
|
this.aChildCanUseCachePromises.push(oCanUseCachePromise);
|
|
836
866
|
this.oCachePromise = SyncPromise.all([this.oCachePromise, oCanUseCachePromise])
|
|
837
867
|
.then(function (aResult) {
|
|
@@ -857,6 +887,7 @@ sap.ui.define([
|
|
|
857
887
|
that.oModel.reportError(that + ": Failed to enhance query options for "
|
|
858
888
|
+ "auto-$expand/$select for child " + sChildPath, sClassName, oError);
|
|
859
889
|
});
|
|
890
|
+
|
|
860
891
|
return oCanUseCachePromise;
|
|
861
892
|
};
|
|
862
893
|
|
|
@@ -980,7 +1011,7 @@ sap.ui.define([
|
|
|
980
1011
|
* @private
|
|
981
1012
|
*/
|
|
982
1013
|
ODataParentBinding.prototype.getQueryOptionsForPath = function (sPath, oContext) {
|
|
983
|
-
if (
|
|
1014
|
+
if (!_Helper.isEmptyObject(this.mParameters)) {
|
|
984
1015
|
// binding has parameters -> all query options need to be defined at the binding
|
|
985
1016
|
return _Helper.getQueryOptionsForPath(this.getQueryOptionsFromParameters(), sPath);
|
|
986
1017
|
}
|
|
@@ -1009,8 +1040,8 @@ sap.ui.define([
|
|
|
1009
1040
|
* @function
|
|
1010
1041
|
* @name sap.ui.model.odata.v4.ODataParentBinding.getQueryOptionsFromParameters
|
|
1011
1042
|
* @private
|
|
1012
|
-
* @see sap.ui.model.odata.v4.ODataBinding#
|
|
1013
|
-
* @see sap.ui.model.odata.v4.ODataBinding#
|
|
1043
|
+
* @see sap.ui.model.odata.v4.ODataBinding#fetchOrGetQueryOptionsForOwnCache
|
|
1044
|
+
* @see sap.ui.model.odata.v4.ODataBinding#doFetchOrGetQueryOptions
|
|
1014
1045
|
*/
|
|
1015
1046
|
|
|
1016
1047
|
/**
|
|
@@ -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.108.
|
|
45
|
+
* @version 1.108.18
|
|
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
|
|
@@ -103,7 +103,7 @@ sap.ui.define([
|
|
|
103
103
|
this.mQueryOptions = this.oModel.buildQueryOptions(_Helper.clone(mParameters),
|
|
104
104
|
/*bSystemQueryOptionsAllowed*/sPath.endsWith("$count"));
|
|
105
105
|
this.vValue = undefined;
|
|
106
|
-
// BEWARE: #
|
|
106
|
+
// BEWARE: #doFetchOrGetQueryOptions uses #isRoot which relies on this.oContext!
|
|
107
107
|
this.fetchCache(oContext);
|
|
108
108
|
oModel.bindingCreated(this);
|
|
109
109
|
}
|
|
@@ -401,10 +401,10 @@ sap.ui.define([
|
|
|
401
401
|
|
|
402
402
|
/**
|
|
403
403
|
* @override
|
|
404
|
-
* @see sap.ui.model.odata.v4.ODataBinding#
|
|
404
|
+
* @see sap.ui.model.odata.v4.ODataBinding#doFetchOrGetQueryOptions
|
|
405
405
|
*/
|
|
406
|
-
ODataPropertyBinding.prototype.
|
|
407
|
-
return this.isRoot() ?
|
|
406
|
+
ODataPropertyBinding.prototype.doFetchOrGetQueryOptions = function () {
|
|
407
|
+
return this.isRoot() ? this.mQueryOptions : undefined;
|
|
408
408
|
};
|
|
409
409
|
|
|
410
410
|
/**
|
|
@@ -10,10 +10,9 @@ sap.ui.define([
|
|
|
10
10
|
"./_Helper",
|
|
11
11
|
"./_Requestor",
|
|
12
12
|
"sap/base/Log",
|
|
13
|
-
"sap/base/util/isEmptyObject",
|
|
14
13
|
"sap/ui/base/SyncPromise",
|
|
15
14
|
"sap/ui/model/odata/ODataUtils"
|
|
16
|
-
], function (_GroupLock, _Helper, _Requestor, Log,
|
|
15
|
+
], function (_GroupLock, _Helper, _Requestor, Log, SyncPromise, ODataUtils) {
|
|
17
16
|
"use strict";
|
|
18
17
|
/*eslint max-nested-callbacks: 0 */
|
|
19
18
|
|
|
@@ -877,7 +876,7 @@ sap.ui.define([
|
|
|
877
876
|
}
|
|
878
877
|
}
|
|
879
878
|
|
|
880
|
-
if (!this.mLateQueryOptions) {
|
|
879
|
+
if (!(this.mLateQueryOptions || this.mQueryOptions && this.mQueryOptions.$select)) {
|
|
881
880
|
return false; // no autoExpandSelect
|
|
882
881
|
}
|
|
883
882
|
|
|
@@ -890,10 +889,15 @@ sap.ui.define([
|
|
|
890
889
|
aUpdateProperties = [sRequestedPropertyPath];
|
|
891
890
|
|
|
892
891
|
sFullResourceMetaPath = _Helper.buildPath(this.sMetaPath, sResourceMetaPath);
|
|
892
|
+
mQueryOptions = this.mLateQueryOptions
|
|
893
|
+
|| { // ensure that $select precedes $expand in the resulting query
|
|
894
|
+
$select : this.mQueryOptions.$select,
|
|
895
|
+
$expand : this.mQueryOptions.$expand
|
|
896
|
+
};
|
|
893
897
|
// sRequestedPropertyPath is also a metapath because the binding does not accept a path with
|
|
894
898
|
// a collection-valued navigation property for a late property
|
|
895
899
|
mQueryOptions = _Helper.intersectQueryOptions(
|
|
896
|
-
_Helper.getQueryOptionsForPath(
|
|
900
|
+
_Helper.getQueryOptionsForPath(mQueryOptions, sResourcePath),
|
|
897
901
|
[sRequestedPropertyPath], this.oRequestor.getModelInterface().fetchMetadata,
|
|
898
902
|
sFullResourceMetaPath);
|
|
899
903
|
if (!mQueryOptions) {
|
|
@@ -1130,7 +1134,7 @@ sap.ui.define([
|
|
|
1130
1134
|
/**
|
|
1131
1135
|
* Returns this cache's query options.
|
|
1132
1136
|
*
|
|
1133
|
-
* @returns {object} The query options
|
|
1137
|
+
* @returns {object|undefined} The query options, if any
|
|
1134
1138
|
*
|
|
1135
1139
|
* @public
|
|
1136
1140
|
* @see #setQueryOptions
|
|
@@ -1190,7 +1194,7 @@ sap.ui.define([
|
|
|
1190
1194
|
* @see #registerChangeListener
|
|
1191
1195
|
*/
|
|
1192
1196
|
_Cache.prototype.hasChangeListeners = function () {
|
|
1193
|
-
return !isEmptyObject(this.mChangeListeners);
|
|
1197
|
+
return !_Helper.isEmptyObject(this.mChangeListeners);
|
|
1194
1198
|
};
|
|
1195
1199
|
|
|
1196
1200
|
/**
|
|
@@ -3741,7 +3745,7 @@ sap.ui.define([
|
|
|
3741
3745
|
if (oData) {
|
|
3742
3746
|
sHttpMethod = oData["X-HTTP-Method"] || sHttpMethod;
|
|
3743
3747
|
delete oData["X-HTTP-Method"];
|
|
3744
|
-
if (this.oRequestor.isActionBodyOptional() &&
|
|
3748
|
+
if (this.oRequestor.isActionBodyOptional() && _Helper.isEmptyObject(oData)) {
|
|
3745
3749
|
oData = undefined;
|
|
3746
3750
|
}
|
|
3747
3751
|
}
|
|
@@ -1688,6 +1688,10 @@ sap.ui.define([
|
|
|
1688
1688
|
&& !mParameters.$$aggregation.hierarchyQualifier;
|
|
1689
1689
|
},
|
|
1690
1690
|
|
|
1691
|
+
// Trampoline property to allow for mocking function module in unit tests.
|
|
1692
|
+
// @see sap.base.util.isEmptyObject
|
|
1693
|
+
isEmptyObject : isEmptyObject,
|
|
1694
|
+
|
|
1691
1695
|
/**
|
|
1692
1696
|
* Tells whether the value is a safe integer.
|
|
1693
1697
|
*
|
|
@@ -2502,7 +2506,7 @@ sap.ui.define([
|
|
|
2502
2506
|
}
|
|
2503
2507
|
}
|
|
2504
2508
|
if (!oProperty || oProperty.$kind === "Property") {
|
|
2505
|
-
if (
|
|
2509
|
+
if (!isEmptyObject(mChildQueryOptions)) {
|
|
2506
2510
|
Log.error("Failed to enhance query options for auto-$expand/$select as the"
|
|
2507
2511
|
+ " child binding has query options, but its path '" + sChildMetaPath
|
|
2508
2512
|
+ "' points to a structural property",
|
|
@@ -477,7 +477,7 @@ sap.ui.define([
|
|
|
477
477
|
_Requestor.prototype.checkForOpenRequests = function () {
|
|
478
478
|
var that = this;
|
|
479
479
|
|
|
480
|
-
if (
|
|
480
|
+
if (!_Helper.isEmptyObject(this.mRunningChangeRequests) // running change requests
|
|
481
481
|
|| Object.keys(this.mBatchQueue).some(function (sGroupId) { // pending requests
|
|
482
482
|
return that.mBatchQueue[sGroupId].some(function (vRequest) {
|
|
483
483
|
return Array.isArray(vRequest) ? vRequest.length : true;
|
|
@@ -611,7 +611,7 @@ sap.ui.define([
|
|
|
611
611
|
sClassName);
|
|
612
612
|
}
|
|
613
613
|
});
|
|
614
|
-
if (aResult.length
|
|
614
|
+
if (aResult.length) {
|
|
615
615
|
oSemantics.type = {EnumMember : aResult.join(" ")};
|
|
616
616
|
}
|
|
617
617
|
}
|
|
@@ -690,7 +690,7 @@ sap.ui.define([
|
|
|
690
690
|
sTarget = sEntityContainerName + "/" + sEntitySetName;
|
|
691
691
|
mAnnotations = _Helper.merge(this.convertedV2Annotations[sTarget] || {},
|
|
692
692
|
this.mEntityType2EntitySetAnnotation[oEntitySet.$Type]);
|
|
693
|
-
if (
|
|
693
|
+
if (!_Helper.isEmptyObject(mAnnotations)) {
|
|
694
694
|
this.convertedV2Annotations[sTarget] = mAnnotations;
|
|
695
695
|
}
|
|
696
696
|
}
|
|
@@ -698,7 +698,7 @@ sap.ui.define([
|
|
|
698
698
|
|
|
699
699
|
if (this.schema.$Annotations) {
|
|
700
700
|
this.mergeAnnotations(this.convertedV2Annotations, this.schema.$Annotations);
|
|
701
|
-
} else if (
|
|
701
|
+
} else if (!_Helper.isEmptyObject(this.convertedV2Annotations)) {
|
|
702
702
|
this.schema.$Annotations = this.convertedV2Annotations;
|
|
703
703
|
}
|
|
704
704
|
this.convertedV2Annotations = {}; // reset schema annotations for next schema
|
|
@@ -760,7 +760,7 @@ sap.ui.define([
|
|
|
760
760
|
|
|
761
761
|
// only if all (nested) query options are processed, all selects are known
|
|
762
762
|
aSelects = Object.keys(mSelects);
|
|
763
|
-
if (aSelects.length
|
|
763
|
+
if (aSelects.length) {
|
|
764
764
|
if (!mQueryOptions.$select) {
|
|
765
765
|
aSelects.push("*");
|
|
766
766
|
}
|
|
@@ -229,7 +229,7 @@ sap.ui.define([
|
|
|
229
229
|
*
|
|
230
230
|
* @extends sap.ui.model.Model
|
|
231
231
|
* @public
|
|
232
|
-
* @version 1.108.
|
|
232
|
+
* @version 1.108.18
|
|
233
233
|
*/
|
|
234
234
|
var ResourceModel = Model.extend("sap.ui.model.resource.ResourceModel", /** @lends sap.ui.model.resource.ResourceModel.prototype */ {
|
|
235
235
|
|
|
@@ -26,7 +26,7 @@ sap.ui.define([
|
|
|
26
26
|
* @extends sap.ui.model.SimpleType
|
|
27
27
|
*
|
|
28
28
|
* @author SAP SE
|
|
29
|
-
* @version 1.108.
|
|
29
|
+
* @version 1.108.18
|
|
30
30
|
*
|
|
31
31
|
* @public
|
|
32
32
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getDateInstance DateFormat}.
|
|
@@ -33,7 +33,7 @@ sap.ui.define([
|
|
|
33
33
|
* @extends sap.ui.model.CompositeType
|
|
34
34
|
*
|
|
35
35
|
* @author SAP SE
|
|
36
|
-
* @version 1.108.
|
|
36
|
+
* @version 1.108.18
|
|
37
37
|
*
|
|
38
38
|
* @public
|
|
39
39
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getDateInstance DateFormat}.
|
|
@@ -19,7 +19,7 @@ sap.ui.define(['./Date', 'sap/ui/core/format/DateFormat'],
|
|
|
19
19
|
* @extends sap.ui.model.type.Date
|
|
20
20
|
*
|
|
21
21
|
* @author SAP SE
|
|
22
|
-
* @version 1.108.
|
|
22
|
+
* @version 1.108.18
|
|
23
23
|
*
|
|
24
24
|
* @public
|
|
25
25
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getDateTimeInstance DateFormat}.
|
|
@@ -19,7 +19,7 @@ sap.ui.define(['./DateInterval', 'sap/ui/core/format/DateFormat'],
|
|
|
19
19
|
* @extends sap.ui.model.type.DateInterval
|
|
20
20
|
*
|
|
21
21
|
* @author SAP SE
|
|
22
|
-
* @version 1.108.
|
|
22
|
+
* @version 1.108.18
|
|
23
23
|
*
|
|
24
24
|
* @public
|
|
25
25
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getDateTimeInstance DateFormat}.
|
|
@@ -24,7 +24,7 @@ sap.ui.define([
|
|
|
24
24
|
* @extends sap.ui.model.SimpleType
|
|
25
25
|
*
|
|
26
26
|
* @author SAP SE
|
|
27
|
-
* @version 1.108.
|
|
27
|
+
* @version 1.108.18
|
|
28
28
|
*
|
|
29
29
|
* @public
|
|
30
30
|
* @param {object} [oFormatOptions] formatting options. Supports the same options as {@link sap.ui.core.format.FileSizeFormat.getInstance FileSizeFormat.getInstance}
|
|
@@ -26,7 +26,7 @@ sap.ui.define([
|
|
|
26
26
|
* @extends sap.ui.model.SimpleType
|
|
27
27
|
*
|
|
28
28
|
* @author SAP SE
|
|
29
|
-
* @version 1.108.
|
|
29
|
+
* @version 1.108.18
|
|
30
30
|
*
|
|
31
31
|
* @public
|
|
32
32
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.NumberFormat NumberFormat}.
|
|
@@ -26,7 +26,7 @@ sap.ui.define([
|
|
|
26
26
|
* @extends sap.ui.model.SimpleType
|
|
27
27
|
*
|
|
28
28
|
* @author SAP SE
|
|
29
|
-
* @version 1.108.
|
|
29
|
+
* @version 1.108.18
|
|
30
30
|
*
|
|
31
31
|
* @public
|
|
32
32
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.NumberFormat NumberFormat}.
|
|
@@ -19,7 +19,7 @@ sap.ui.define(['./Date', 'sap/ui/core/format/DateFormat'],
|
|
|
19
19
|
* @extends sap.ui.model.type.Date
|
|
20
20
|
*
|
|
21
21
|
* @author SAP SE
|
|
22
|
-
* @version 1.108.
|
|
22
|
+
* @version 1.108.18
|
|
23
23
|
*
|
|
24
24
|
* @public
|
|
25
25
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getTimeInstance DateFormat}.
|
|
@@ -19,7 +19,7 @@ sap.ui.define(['./DateInterval', 'sap/ui/core/format/DateFormat'],
|
|
|
19
19
|
* @extends sap.ui.model.type.DateInterval
|
|
20
20
|
*
|
|
21
21
|
* @author SAP SE
|
|
22
|
-
* @version 1.108.
|
|
22
|
+
* @version 1.108.18
|
|
23
23
|
*
|
|
24
24
|
* @public
|
|
25
25
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getTimeInstance DateFormat}.
|