@openui5/sap.ui.core 1.96.2 → 1.97.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/.eslintrc.json +2 -2
- package/.reuse/dep5 +1 -1
- package/THIRDPARTY.txt +2 -1
- 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 +2 -2
- 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 +4 -4
- package/src/sap/ui/Global.js +11 -16
- 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 +3 -3
- package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
- package/src/sap/ui/base/Metadata.js +1 -3
- 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 -27
- package/src/sap/ui/core/AppCacheBuster.js +4 -4
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/Component.js +31 -9
- 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/Control.js +2 -2
- package/src/sap/ui/core/Core.js +2 -2
- package/src/sap/ui/core/CustomData.js +1 -1
- package/src/sap/ui/core/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/Element.js +2 -6
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +4 -3
- package/src/sap/ui/core/SeparatorItem.js +1 -1
- package/src/sap/ui/core/ThemeCheck.js +2 -2
- 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 +3 -3
- package/src/sap/ui/core/UIComponent.js +1 -1
- package/src/sap/ui/core/UIComponentMetadata.js +1 -1
- package/src/sap/ui/core/ValueStateSupport.js +1 -1
- package/src/sap/ui/core/VariantLayoutData.js +1 -1
- package/src/sap/ui/core/XMLComposite.js +1 -1
- package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
- package/src/sap/ui/core/XMLTemplateProcessor.js +19 -5
- package/src/sap/ui/core/cache/LRUPersistentCache.js +4 -2
- package/src/sap/ui/core/date/UniversalDateUtils.js +33 -0
- 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/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +5 -5
- package/src/sap/ui/core/message/ControlMessageProcessor.js +5 -5
- 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 +22 -12
- package/src/sap/ui/core/messagebundle_fr.properties +7 -7
- package/src/sap/ui/core/messagebundle_ru.properties +21 -21
- package/src/sap/ui/core/mvc/Controller.js +4 -4
- 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/rules/Misc.support.js +51 -1
- package/src/sap/ui/core/rules/Rendering.support.js +1 -4
- package/src/sap/ui/core/rules/View.support.js +14 -46
- 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 +2 -2
- package/src/sap/ui/core/support/RuleEngineOpaExtension.js +0 -1
- package/src/sap/ui/core/support/Support.js +1 -1
- package/src/sap/ui/core/support/controls/TreeViewer.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 -2
- 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/support/techinfo/TechnicalInfo.js +1 -1
- package/src/sap/ui/core/support/trace/E2eTraceLib.js +3 -3
- 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 +2 -2
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +4 -4
- 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/ChangeReason.js +1 -1
- package/src/sap/ui/model/ClientListBinding.js +7 -0
- package/src/sap/ui/model/ClientModel.js +6 -5
- package/src/sap/ui/model/ClientTreeBindingAdapter.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/ListBinding.js +24 -5
- package/src/sap/ui/model/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +5 -10
- 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/TreeBindingAdapter.js +0 -2
- package/src/sap/ui/model/TreeBindingUtils.js +2 -0
- package/src/sap/ui/model/Type.js +1 -1
- package/src/sap/ui/model/analytics/AnalyticalBinding.js +12 -6
- package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +16 -18
- package/src/sap/ui/model/json/JSONModel.js +7 -7
- package/src/sap/ui/model/json/JSONPropertyBinding.js +1 -1
- package/src/sap/ui/model/message/MessageModel.js +3 -3
- package/src/sap/ui/model/message/MessagePropertyBinding.js +1 -1
- package/src/sap/ui/model/odata/AnnotationHelper.js +2 -2
- package/src/sap/ui/model/odata/AnnotationParser.js +4 -2
- package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/ODataListBinding.js +61 -38
- package/src/sap/ui/model/odata/ODataMessageParser.js +2 -2
- package/src/sap/ui/model/odata/ODataMetaModel.js +3 -3
- package/src/sap/ui/model/odata/ODataMetadata.js +136 -85
- package/src/sap/ui/model/odata/ODataModel.js +442 -215
- package/src/sap/ui/model/odata/ODataPropertyBinding.js +7 -5
- package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +27 -17
- package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +440 -260
- package/src/sap/ui/model/odata/ODataUtils.js +24 -9
- package/src/sap/ui/model/odata/_AnnotationHelperBasics.js +2 -1
- package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +10 -8
- package/src/sap/ui/model/odata/_ODataMetaModelUtils.js +6 -4
- 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/Decimal.js +5 -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/type/UnitMixin.js +0 -1
- package/src/sap/ui/model/odata/v2/Context.js +42 -11
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +205 -88
- package/src/sap/ui/model/odata/v2/ODataModel.js +154 -89
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +162 -89
- package/src/sap/ui/model/odata/v2/_CreatedContextsCache.js +52 -2
- package/src/sap/ui/model/odata/v4/Context.js +48 -7
- package/src/sap/ui/model/odata/v4/ODataBinding.js +55 -24
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +67 -19
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +211 -78
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataModel.js +2 -1
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +36 -23
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +3 -3
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +106 -11
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +33 -3
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +11 -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 +5 -5
- package/src/sap/ui/model/xml/XMLPropertyBinding.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/actions/Action.js +9 -2
- package/src/sap/ui/test/actions/Press.js +28 -1
- package/src/sap/ui/test/generic/_EnforceSemanticRendering.js +111 -0
- package/src/sap/ui/util/Mobile.js +28 -39
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/ui5loader.js +6 -6
- package/ui5.yaml +244 -1
- package/src/sap/ui/core/CustomizingConfiguration.js +0 -47
- package/src/sap/ui/thirdparty/baseuri.js +0 -1
- package/src/sap/ui/thirdparty/es6-object-assign.js +0 -1
- package/src/sap/ui/thirdparty/es6-promise.js +0 -1
- package/src/sap/ui/thirdparty/es6-shim-nopromise.js +0 -1
- package/src/sap/ui/thirdparty/es6-string-methods.js +0 -1
- package/src/sap/ui/thirdparty/flexie.js +0 -1
- package/src/sap/ui/thirdparty/unorm.js +0 -1
- package/src/sap/ui/thirdparty/unormdata.js +0 -1
|
@@ -201,7 +201,7 @@ sap.ui.define([
|
|
|
201
201
|
* This model is not prepared to be inherited from.
|
|
202
202
|
*
|
|
203
203
|
* @author SAP SE
|
|
204
|
-
* @version 1.
|
|
204
|
+
* @version 1.97.0
|
|
205
205
|
*
|
|
206
206
|
* @public
|
|
207
207
|
* @alias sap.ui.model.odata.v2.ODataModel
|
|
@@ -936,6 +936,13 @@ sap.ui.define([
|
|
|
936
936
|
};
|
|
937
937
|
|
|
938
938
|
/**
|
|
939
|
+
* Get the shared data for the section and the key. If it doesn't exist yet, an empty shared
|
|
940
|
+
* data object is created and stored under the section and the key.
|
|
941
|
+
*
|
|
942
|
+
* @param {string} sSection The data section
|
|
943
|
+
* @param {string} sKey A key in the section
|
|
944
|
+
* @returns {object} The shared data
|
|
945
|
+
*
|
|
939
946
|
* @private
|
|
940
947
|
*/
|
|
941
948
|
ODataModel._getSharedData = function(sSection, sKey) {
|
|
@@ -981,21 +988,26 @@ sap.ui.define([
|
|
|
981
988
|
/**
|
|
982
989
|
* Refreshes the metadata for this model, for example when the request for metadata has failed.
|
|
983
990
|
*
|
|
984
|
-
* <b>Note</b>: Do not use <code>refreshMetadata</code> if the metadata is outdated or should be
|
|
985
|
-
*
|
|
991
|
+
* <b>Note</b>: Do not use <code>refreshMetadata</code> if the metadata is outdated or should be
|
|
992
|
+
* updated. This will lead to inconsistent data in the application.
|
|
986
993
|
*
|
|
987
|
-
* Returns a new promise which can be resolved or rejected depending on the metadata loading
|
|
994
|
+
* Returns a new promise which can be resolved or rejected depending on the metadata loading
|
|
995
|
+
* state.
|
|
988
996
|
*
|
|
989
|
-
* @returns {Promise}
|
|
997
|
+
* @returns {Promise|undefined}
|
|
998
|
+
* A promise on metadata loaded state or <code>undefined</code> if metadata is not initialized
|
|
999
|
+
* or currently refreshed
|
|
990
1000
|
*
|
|
991
1001
|
* @deprecated As of version 1.42.
|
|
992
1002
|
*
|
|
993
1003
|
* @public
|
|
994
1004
|
*/
|
|
995
|
-
ODataModel.prototype.refreshMetadata = function(){
|
|
996
|
-
if (this.oMetadata && this.oMetadata.refresh){
|
|
1005
|
+
ODataModel.prototype.refreshMetadata = function() {
|
|
1006
|
+
if (this.oMetadata && this.oMetadata.refresh) {
|
|
997
1007
|
return this.oMetadata.refresh();
|
|
998
1008
|
}
|
|
1009
|
+
|
|
1010
|
+
return undefined;
|
|
999
1011
|
};
|
|
1000
1012
|
|
|
1001
1013
|
|
|
@@ -1227,7 +1239,8 @@ sap.ui.define([
|
|
|
1227
1239
|
* @private
|
|
1228
1240
|
*/
|
|
1229
1241
|
ODataModel.prototype._createEventInfo = function(oRequest, oResponse, aBatchRequests) {
|
|
1230
|
-
var
|
|
1242
|
+
var oInnerResponse, oBatchRequest,
|
|
1243
|
+
oEventInfo = {};
|
|
1231
1244
|
|
|
1232
1245
|
oEventInfo.url = oRequest.requestUri;
|
|
1233
1246
|
oEventInfo.method = oRequest.method;
|
|
@@ -1237,13 +1250,13 @@ sap.ui.define([
|
|
|
1237
1250
|
if (aBatchRequests) {
|
|
1238
1251
|
oEventInfo.requests = [];
|
|
1239
1252
|
for (var i = 0; i < aBatchRequests.length; i++) {
|
|
1240
|
-
|
|
1253
|
+
oBatchRequest = {};
|
|
1241
1254
|
//changeSets
|
|
1242
1255
|
if (Array.isArray(aBatchRequests[i])) {
|
|
1243
1256
|
var aChangeSet = aBatchRequests[i];
|
|
1244
1257
|
for (var j = 0; j < aChangeSet.length; j++) {
|
|
1245
|
-
|
|
1246
|
-
|
|
1258
|
+
oRequest = aChangeSet[j].request;
|
|
1259
|
+
oInnerResponse = aBatchRequests[i][j].response;
|
|
1247
1260
|
oBatchRequest = {};
|
|
1248
1261
|
oBatchRequest.url = oRequest.requestUri;
|
|
1249
1262
|
oBatchRequest.method = oRequest.method;
|
|
@@ -1270,8 +1283,8 @@ sap.ui.define([
|
|
|
1270
1283
|
oEventInfo.requests.push(oBatchRequest);
|
|
1271
1284
|
}
|
|
1272
1285
|
} else {
|
|
1273
|
-
|
|
1274
|
-
|
|
1286
|
+
oRequest = aBatchRequests[i].request;
|
|
1287
|
+
oInnerResponse = aBatchRequests[i].response;
|
|
1275
1288
|
oBatchRequest.url = oRequest.requestUri;
|
|
1276
1289
|
oBatchRequest.method = oRequest.method;
|
|
1277
1290
|
oBatchRequest.headers = oRequest.headers;
|
|
@@ -2158,18 +2171,15 @@ sap.ui.define([
|
|
|
2158
2171
|
* function is the newly created binding context, an instance of
|
|
2159
2172
|
* {@link sap.ui.model.odata.v2.Context}.
|
|
2160
2173
|
* @param {boolean} [bReload] Whether to reload data
|
|
2161
|
-
* @return {sap.ui.model.odata.v2.Context}
|
|
2174
|
+
* @return {sap.ui.model.odata.v2.Context|undefined}
|
|
2162
2175
|
* The created binding context, only if the data is already available and the binding context
|
|
2163
|
-
* could be created synchronously
|
|
2176
|
+
* could be created synchronously; <code>undefined</code> otherwise
|
|
2164
2177
|
* @public
|
|
2165
2178
|
*/
|
|
2166
2179
|
ODataModel.prototype.createBindingContext = function(sPath, oContext, mParameters, fnCallBack, bReload) {
|
|
2167
|
-
var
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
sGroupId,
|
|
2171
|
-
sDeepPath,
|
|
2172
|
-
that = this, bCanonical;
|
|
2180
|
+
var bCanonical, sCanonicalPath, sCustomParams, sDeepPath, sGroupId, bIsRelative,
|
|
2181
|
+
oNewContext, aParams, sResolvedPath,
|
|
2182
|
+
that = this;
|
|
2173
2183
|
|
|
2174
2184
|
// optional parameter handling
|
|
2175
2185
|
if (oContext !== null && typeof oContext === "object"
|
|
@@ -2288,8 +2298,8 @@ sap.ui.define([
|
|
|
2288
2298
|
}
|
|
2289
2299
|
|
|
2290
2300
|
if (fnCallBack) {
|
|
2291
|
-
|
|
2292
|
-
|
|
2301
|
+
bIsRelative = !sPath.startsWith("/");
|
|
2302
|
+
aParams = [];
|
|
2293
2303
|
sCustomParams = this.createCustomParams(mParameters);
|
|
2294
2304
|
if (sCustomParams) {
|
|
2295
2305
|
aParams.push(sCustomParams);
|
|
@@ -2318,6 +2328,7 @@ sap.ui.define([
|
|
|
2318
2328
|
return oNewContext;
|
|
2319
2329
|
}
|
|
2320
2330
|
|
|
2331
|
+
return undefined;
|
|
2321
2332
|
};
|
|
2322
2333
|
|
|
2323
2334
|
/**
|
|
@@ -2396,9 +2407,10 @@ sap.ui.define([
|
|
|
2396
2407
|
* Filter expand properties for expand applying to the current entity (remove deep expands)
|
|
2397
2408
|
* and remove expands not covered by the select entries
|
|
2398
2409
|
*
|
|
2399
|
-
* @param {string[]
|
|
2400
|
-
* @param {string[]
|
|
2410
|
+
* @param {Array.<string[]>} aExpand Own expand entries as string arrays
|
|
2411
|
+
* @param {Array.<string[]>} aSelect Own select entries as string arrays
|
|
2401
2412
|
* @returns {string[]} Array of own expand properties
|
|
2413
|
+
*
|
|
2402
2414
|
* @private
|
|
2403
2415
|
*/
|
|
2404
2416
|
ODataModel.prototype._filterOwnExpand = function(aExpand, aSelect) {
|
|
@@ -2488,9 +2500,8 @@ sap.ui.define([
|
|
|
2488
2500
|
}
|
|
2489
2501
|
|
|
2490
2502
|
function checkReloadNeeded(oEntityType, oEntity, aSelect, aExpand) {
|
|
2491
|
-
var
|
|
2492
|
-
|
|
2493
|
-
sExpand, sSelect;
|
|
2503
|
+
var sExpand, i, vNavData, oNavEntity, oNavEntityType,
|
|
2504
|
+
aNavExpand, aNavSelect, aOwnExpand, aOwnSelect, sSelect;
|
|
2494
2505
|
|
|
2495
2506
|
// if no entity type could be found we decide not to reload
|
|
2496
2507
|
if (!oEntityType) {
|
|
@@ -2511,7 +2522,7 @@ sap.ui.define([
|
|
|
2511
2522
|
|
|
2512
2523
|
// check select properties
|
|
2513
2524
|
aOwnSelect = that._filterOwnSelect(aSelect, oEntityType.property);
|
|
2514
|
-
for (
|
|
2525
|
+
for (i = 0; i < aOwnSelect.length; i++) {
|
|
2515
2526
|
sSelect = aOwnSelect[i];
|
|
2516
2527
|
if (oEntity[sSelect] === undefined) {
|
|
2517
2528
|
return true;
|
|
@@ -2520,7 +2531,7 @@ sap.ui.define([
|
|
|
2520
2531
|
|
|
2521
2532
|
// check expanded entities
|
|
2522
2533
|
aOwnExpand = that._filterOwnExpand(aExpand, aSelect);
|
|
2523
|
-
for (
|
|
2534
|
+
for (i = 0; i < aOwnExpand.length; i++) {
|
|
2524
2535
|
sExpand = aOwnExpand[i];
|
|
2525
2536
|
vNavData = oEntity[sExpand];
|
|
2526
2537
|
|
|
@@ -2894,11 +2905,8 @@ sap.ui.define([
|
|
|
2894
2905
|
}
|
|
2895
2906
|
|
|
2896
2907
|
function getRequestedData(oEntityType, oValue, aSelect, aExpand) {
|
|
2897
|
-
var
|
|
2898
|
-
|
|
2899
|
-
vNavData, oNavEntityType, oNavValue, oNavObject,
|
|
2900
|
-
aNavSelect, aNavExpand,
|
|
2901
|
-
sExpand, sSelect, aResultProps;
|
|
2908
|
+
var sExpand, i,vNavData, oNavEntityType, aNavExpand, oNavObject, aNavSelect, oNavValue,
|
|
2909
|
+
aOwnExpand, aOwnNavSelect, aOwnPropSelect, aResultProps, oResultValue, sSelect;
|
|
2902
2910
|
|
|
2903
2911
|
// if no value we return undefined
|
|
2904
2912
|
if (!oValue) {
|
|
@@ -2912,7 +2920,7 @@ sap.ui.define([
|
|
|
2912
2920
|
aOwnPropSelect = that._filterOwnSelect(aSelect, oEntityType.property);
|
|
2913
2921
|
// copy selected properties
|
|
2914
2922
|
oResultValue = {};
|
|
2915
|
-
for (
|
|
2923
|
+
for (i = 0; i < aOwnPropSelect.length; i++) {
|
|
2916
2924
|
sSelect = aOwnPropSelect[i];
|
|
2917
2925
|
if (oValue[sSelect] !== undefined) {
|
|
2918
2926
|
oResultValue[sSelect] = oValue[sSelect];
|
|
@@ -2928,7 +2936,7 @@ sap.ui.define([
|
|
|
2928
2936
|
|
|
2929
2937
|
// check expanded entities
|
|
2930
2938
|
aOwnExpand = that._filterOwnExpand(aExpand, aSelect);
|
|
2931
|
-
for (
|
|
2939
|
+
for (i = 0; i < aOwnExpand.length; i++) {
|
|
2932
2940
|
sExpand = aOwnExpand[i];
|
|
2933
2941
|
vNavData = oValue[sExpand];
|
|
2934
2942
|
|
|
@@ -3314,16 +3322,14 @@ sap.ui.define([
|
|
|
3314
3322
|
that["fireRequest" + sType](oEventInfo);
|
|
3315
3323
|
});
|
|
3316
3324
|
});
|
|
3317
|
-
} else {
|
|
3318
|
-
|
|
3319
|
-
|
|
3320
|
-
oEventInfo = that._createEventInfo(oRequest.request, oPart.fnError);
|
|
3321
|
-
that["fireRequest" + sType](oEventInfo);
|
|
3322
|
-
});
|
|
3323
|
-
} else {
|
|
3324
|
-
oEventInfo = that._createEventInfo(oRequest.request, oRequest.fnError);
|
|
3325
|
+
} else if (oRequest.parts) {
|
|
3326
|
+
each(oRequest.parts, function(i, oPart) {
|
|
3327
|
+
oEventInfo = that._createEventInfo(oRequest.request, oPart.fnError);
|
|
3325
3328
|
that["fireRequest" + sType](oEventInfo);
|
|
3326
|
-
}
|
|
3329
|
+
});
|
|
3330
|
+
} else {
|
|
3331
|
+
oEventInfo = that._createEventInfo(oRequest.request, oRequest.fnError);
|
|
3332
|
+
that["fireRequest" + sType](oEventInfo);
|
|
3327
3333
|
}
|
|
3328
3334
|
});
|
|
3329
3335
|
if (oRequest.eventInfo.batch){
|
|
@@ -3431,12 +3437,14 @@ sap.ui.define([
|
|
|
3431
3437
|
}
|
|
3432
3438
|
|
|
3433
3439
|
function handleError(oError) {
|
|
3440
|
+
var i;
|
|
3441
|
+
|
|
3434
3442
|
if (oError.message == "Request aborted") {
|
|
3435
|
-
for (
|
|
3443
|
+
for (i = 0; i < oRequest.parts.length; i++){
|
|
3436
3444
|
that._processAborted(oRequest.parts[i].request, oError);
|
|
3437
3445
|
}
|
|
3438
3446
|
} else {
|
|
3439
|
-
for (
|
|
3447
|
+
for (i = 0; i < oRequest.parts.length; i++) {
|
|
3440
3448
|
that._processError(oRequest.parts[i].request, oError, oRequest.parts[i].fnError);
|
|
3441
3449
|
}
|
|
3442
3450
|
}
|
|
@@ -3768,7 +3776,8 @@ sap.ui.define([
|
|
|
3768
3776
|
* @private
|
|
3769
3777
|
*/
|
|
3770
3778
|
ODataModel.prototype._pushToRequestQueue = function(mRequests, sGroupId, sChangeSetId, oRequest, fnSuccess, fnError, requestHandle, bRefreshAfterChange) {
|
|
3771
|
-
var
|
|
3779
|
+
var oGroupEntry,
|
|
3780
|
+
oRequestGroup = mRequests[sGroupId],
|
|
3772
3781
|
sRequestKey = oRequest.key ? oRequest.key : oRequest.method + ":" + oRequest.requestUri;
|
|
3773
3782
|
|
|
3774
3783
|
//ignore requests in warmup scenario
|
|
@@ -3785,7 +3794,7 @@ sap.ui.define([
|
|
|
3785
3794
|
|
|
3786
3795
|
//'combine' only GET and internal create&change requests.
|
|
3787
3796
|
if (sRequestKey in oRequestGroup.map && (oRequest.key || oRequest.method === 'GET')) {
|
|
3788
|
-
|
|
3797
|
+
oGroupEntry = oRequestGroup.map[sRequestKey];
|
|
3789
3798
|
var oStoredRequest = oGroupEntry.request;
|
|
3790
3799
|
oRequest.deepPath = oStoredRequest.deepPath;
|
|
3791
3800
|
if (this.sMessageScope === MessageScope.BusinessObject) {
|
|
@@ -3832,7 +3841,7 @@ sap.ui.define([
|
|
|
3832
3841
|
oStoredRequest.functionTarget = oRequest.functionTarget;
|
|
3833
3842
|
}
|
|
3834
3843
|
} else {
|
|
3835
|
-
|
|
3844
|
+
oGroupEntry = {
|
|
3836
3845
|
request: oRequest,
|
|
3837
3846
|
bRefreshAfterChange: bRefreshAfterChange,
|
|
3838
3847
|
parts: [{
|
|
@@ -4361,10 +4370,17 @@ sap.ui.define([
|
|
|
4361
4370
|
/**
|
|
4362
4371
|
* Process a two-way binding change.
|
|
4363
4372
|
*
|
|
4364
|
-
* @param {string} sKey
|
|
4365
|
-
*
|
|
4366
|
-
* @param {
|
|
4367
|
-
*
|
|
4373
|
+
* @param {string} sKey
|
|
4374
|
+
* Key of the entity to change
|
|
4375
|
+
* @param {object} oData
|
|
4376
|
+
* The entry data
|
|
4377
|
+
* @param {boolean} [sUpdateMethod]
|
|
4378
|
+
* Sets <code>MERGE/PUT</code> method, defaults to <code>MERGE</code> if not provided
|
|
4379
|
+
* @param {string} [sDeepPath]
|
|
4380
|
+
* The deep path
|
|
4381
|
+
* @returns {object}
|
|
4382
|
+
* The request object
|
|
4383
|
+
*
|
|
4368
4384
|
* @private
|
|
4369
4385
|
*/
|
|
4370
4386
|
ODataModel.prototype._processChange = function(sKey, oData, sUpdateMethod, sDeepPath) {
|
|
@@ -5395,18 +5411,21 @@ sap.ui.define([
|
|
|
5395
5411
|
delete mUrlParams.__metadata;
|
|
5396
5412
|
delete mUrlParams["$result"];
|
|
5397
5413
|
var oFunctionMetadata = this.oMetadata._getFunctionImportMetadata(sFunctionName, sMethod);
|
|
5398
|
-
assert(oFunctionMetadata,
|
|
5414
|
+
assert(oFunctionMetadata,
|
|
5415
|
+
this + ": Function " + sFunctionName + " not found in the metadata !");
|
|
5399
5416
|
if (!oFunctionMetadata) {
|
|
5400
|
-
return;
|
|
5417
|
+
return undefined;
|
|
5401
5418
|
}
|
|
5402
5419
|
|
|
5403
5420
|
if (oFunctionMetadata.parameter != null) {
|
|
5404
5421
|
each(oFunctionMetadata.parameter, function (iIndex, oParam) {
|
|
5405
5422
|
if (mUrlParams && mUrlParams[oParam.name] !== undefined) {
|
|
5406
|
-
mUrlParams[oParam.name] =
|
|
5423
|
+
mUrlParams[oParam.name] =
|
|
5424
|
+
ODataUtils.formatValue(mUrlParams[oParam.name], oParam.type);
|
|
5407
5425
|
}
|
|
5408
5426
|
});
|
|
5409
5427
|
}
|
|
5428
|
+
|
|
5410
5429
|
return mUrlParams;
|
|
5411
5430
|
};
|
|
5412
5431
|
|
|
@@ -5571,17 +5590,20 @@ sap.ui.define([
|
|
|
5571
5590
|
/**
|
|
5572
5591
|
* Return the parsed XML metadata as a Javascript object.
|
|
5573
5592
|
*
|
|
5574
|
-
* Please note that the metadata is loaded asynchronously and this function might return
|
|
5575
|
-
* metadata has not been loaded yet.
|
|
5576
|
-
* In this case attach to the <code>metadataLoaded</code> event to get notified when the
|
|
5593
|
+
* Please note that the metadata is loaded asynchronously and this function might return
|
|
5594
|
+
* <code>undefined</code> because the metadata has not been loaded yet.
|
|
5595
|
+
* In this case attach to the <code>metadataLoaded</code> event to get notified when the
|
|
5596
|
+
* metadata is available and then call this function.
|
|
5577
5597
|
*
|
|
5578
|
-
* @return {Object} Metadata object
|
|
5598
|
+
* @return {Object|undefined} Metadata object
|
|
5579
5599
|
* @public
|
|
5580
5600
|
*/
|
|
5581
5601
|
ODataModel.prototype.getServiceMetadata = function() {
|
|
5582
5602
|
if (this.oMetadata && this.oMetadata.isLoaded()) {
|
|
5583
5603
|
return this.oMetadata.getServiceMetadata();
|
|
5584
5604
|
}
|
|
5605
|
+
|
|
5606
|
+
return undefined;
|
|
5585
5607
|
};
|
|
5586
5608
|
|
|
5587
5609
|
/**
|
|
@@ -6453,16 +6475,19 @@ sap.ui.define([
|
|
|
6453
6475
|
* @deprecated since 1.95.0; use {@link #resetChanges} instead
|
|
6454
6476
|
*/
|
|
6455
6477
|
ODataModel.prototype.deleteCreatedEntry = function (oContext) {
|
|
6456
|
-
var
|
|
6478
|
+
var sGroupId, sKey,
|
|
6479
|
+
that = this;
|
|
6480
|
+
|
|
6457
6481
|
if (oContext) {
|
|
6458
|
-
|
|
6482
|
+
sKey = oContext.getPath().substr(1);
|
|
6459
6483
|
sGroupId = this._resolveGroup(sKey).groupId;
|
|
6460
6484
|
that.oMetadata.loaded().then(function() {
|
|
6461
6485
|
that.abortInternalRequest(sGroupId, {requestKey: sKey});
|
|
6462
6486
|
});
|
|
6463
6487
|
that._removeEntity(sKey);
|
|
6464
6488
|
//cleanup Messages for created Entry
|
|
6465
|
-
sap.ui.getCore().getMessageManager().removeMessages(
|
|
6489
|
+
sap.ui.getCore().getMessageManager().removeMessages(
|
|
6490
|
+
this.getMessagesByEntity(oContext.getPath(), true));
|
|
6466
6491
|
}
|
|
6467
6492
|
};
|
|
6468
6493
|
|
|
@@ -6754,7 +6779,19 @@ sap.ui.define([
|
|
|
6754
6779
|
deepPath: sDeepPath
|
|
6755
6780
|
};
|
|
6756
6781
|
pCreate = new SyncPromise(function (resolve, reject) {
|
|
6757
|
-
fnCreatedPromiseResolve =
|
|
6782
|
+
fnCreatedPromiseResolve = function () {
|
|
6783
|
+
if (!that.oCreatedContextsCache.getCacheInfo(oCreatedContext)) {
|
|
6784
|
+
// If ODataModel#createEntry is called by ODataListBinding#create, the
|
|
6785
|
+
// created context is added to the created contexts cache and has to keep
|
|
6786
|
+
// the create promise until the context gets removed from the cache, see
|
|
6787
|
+
// sap.ui.model.odata.v2._CreatedContextsCache#removePersistedContexts.
|
|
6788
|
+
// If the context is not in the cache ODataModel#createEntry has been called
|
|
6789
|
+
// directly and the create promise has to be reset after successful
|
|
6790
|
+
// creation.
|
|
6791
|
+
oCreatedContext.resetCreatedPromise();
|
|
6792
|
+
}
|
|
6793
|
+
resolve();
|
|
6794
|
+
};
|
|
6758
6795
|
oEntity.__metadata.created.abort = reject;
|
|
6759
6796
|
});
|
|
6760
6797
|
pCreate.catch(function () {
|
|
@@ -6805,8 +6842,11 @@ sap.ui.define([
|
|
|
6805
6842
|
} else if (this.oMetadata.isLoaded()) {
|
|
6806
6843
|
return create();
|
|
6807
6844
|
} else {
|
|
6808
|
-
Log.error("Tried to use createEntry without created-callback, before metadata is
|
|
6845
|
+
Log.error("Tried to use createEntry without created-callback, before metadata is "
|
|
6846
|
+
+ "available!");
|
|
6809
6847
|
}
|
|
6848
|
+
|
|
6849
|
+
return undefined;
|
|
6810
6850
|
};
|
|
6811
6851
|
|
|
6812
6852
|
/**
|
|
@@ -6860,7 +6900,7 @@ sap.ui.define([
|
|
|
6860
6900
|
*
|
|
6861
6901
|
* @param {string} sPath The binding path
|
|
6862
6902
|
* @param {sap.ui.model.Context} [oContext] The binding context
|
|
6863
|
-
* @param {boolean} Whether the binding path should be resolved canonical or not
|
|
6903
|
+
* @param {boolean} bCanonical Whether the binding path should be resolved canonical or not
|
|
6864
6904
|
* @returns {string} The resolved path
|
|
6865
6905
|
* @private
|
|
6866
6906
|
*/
|
|
@@ -7207,9 +7247,15 @@ sap.ui.define([
|
|
|
7207
7247
|
/**
|
|
7208
7248
|
* Gives the back-end response to the <code>MessageParser</code> in case there is one attached.
|
|
7209
7249
|
*
|
|
7250
|
+
* @param {object} oResponse The response
|
|
7251
|
+
* @param {object} oRequest The request
|
|
7252
|
+
* @param {object} mGetEntities New entities from the response
|
|
7253
|
+
* @param {object} mChangeEntities Changed entities from the response
|
|
7254
|
+
*
|
|
7210
7255
|
* @private
|
|
7211
7256
|
*/
|
|
7212
|
-
ODataModel.prototype._parseResponse = function(oResponse, oRequest, mGetEntities,
|
|
7257
|
+
ODataModel.prototype._parseResponse = function(oResponse, oRequest, mGetEntities,
|
|
7258
|
+
mChangeEntities) {
|
|
7213
7259
|
try {
|
|
7214
7260
|
if (!this.oMessageParser) {
|
|
7215
7261
|
this.oMessageParser = new ODataMessageParser(this.sServiceUrl, this.oMetadata,
|
|
@@ -7217,7 +7263,8 @@ sap.ui.define([
|
|
|
7217
7263
|
this.oMessageParser.setProcessor(this);
|
|
7218
7264
|
}
|
|
7219
7265
|
// Parse response and delegate messages to the set message parser
|
|
7220
|
-
this.oMessageParser.parse(oResponse, oRequest, mGetEntities, mChangeEntities,
|
|
7266
|
+
this.oMessageParser.parse(oResponse, oRequest, mGetEntities, mChangeEntities,
|
|
7267
|
+
this.bIsMessageScopeSupported);
|
|
7221
7268
|
} catch (ex) {
|
|
7222
7269
|
Log.error("Error parsing OData messages: " + ex);
|
|
7223
7270
|
}
|
|
@@ -7294,7 +7341,9 @@ sap.ui.define([
|
|
|
7294
7341
|
* @return {object} The nearest entity object or <code>null</code> if no entity can be resolved
|
|
7295
7342
|
*/
|
|
7296
7343
|
ODataModel.prototype.getEntityByPath = function(sPath, oContext, oEntityInfo) {
|
|
7297
|
-
var
|
|
7344
|
+
var sKey,
|
|
7345
|
+
sResolvedPath = Model.prototype.resolve.call(this,sPath, oContext);
|
|
7346
|
+
|
|
7298
7347
|
if (!sResolvedPath) {
|
|
7299
7348
|
return null;
|
|
7300
7349
|
}
|
|
@@ -7305,7 +7354,7 @@ sap.ui.define([
|
|
|
7305
7354
|
var sEntryPath = aParts.join("/"),
|
|
7306
7355
|
oObject = this._getObject(sEntryPath);
|
|
7307
7356
|
if (isPlainObject(oObject)) {
|
|
7308
|
-
|
|
7357
|
+
sKey = this._getKey(oObject);
|
|
7309
7358
|
if (sKey) {
|
|
7310
7359
|
oEntity = oObject;
|
|
7311
7360
|
break;
|
|
@@ -7484,12 +7533,10 @@ sap.ui.define([
|
|
|
7484
7533
|
sTargetPath = sPath + "/" + n;
|
|
7485
7534
|
if (isPlainObject(oObject)) {
|
|
7486
7535
|
this.decreaseLaundering(sTargetPath, oObject);
|
|
7487
|
-
} else {
|
|
7488
|
-
|
|
7489
|
-
|
|
7490
|
-
|
|
7491
|
-
delete this.mLaunderingState[sTargetPath];
|
|
7492
|
-
}
|
|
7536
|
+
} else if (sTargetPath in this.mLaunderingState) {
|
|
7537
|
+
this.mLaunderingState[sTargetPath]--;
|
|
7538
|
+
if (this.mLaunderingState[sTargetPath] === 0) {
|
|
7539
|
+
delete this.mLaunderingState[sTargetPath];
|
|
7493
7540
|
}
|
|
7494
7541
|
}
|
|
7495
7542
|
}
|
|
@@ -7500,14 +7547,23 @@ sap.ui.define([
|
|
|
7500
7547
|
};
|
|
7501
7548
|
|
|
7502
7549
|
/**
|
|
7503
|
-
* Returns bRefreshAfterChange value for a change operation based on
|
|
7550
|
+
* Returns bRefreshAfterChange value for a change operation based on
|
|
7551
|
+
* <code>refreshAfterChange</code> parameter and global <code>bRefreshAfterChange</code> flag
|
|
7552
|
+
* state.
|
|
7553
|
+
*
|
|
7554
|
+
* @param {boolean} bRefreshAfterChange
|
|
7555
|
+
* Value of the <code>refreshAfterChange</code> parameter of any change operation (for example
|
|
7556
|
+
* {@link #update})
|
|
7557
|
+
* @param {string} sGroupId
|
|
7558
|
+
* ID of the request group
|
|
7559
|
+
* @returns {boolean}
|
|
7560
|
+
* Whether to refresh after change
|
|
7504
7561
|
*
|
|
7505
|
-
* @param {boolean} bRefreshAfterChange Value of the <code>refreshAfterChange</code> parameter of any change operation (for example {@link #update})
|
|
7506
|
-
* @param {string} sGroupId ID of the request group
|
|
7507
7562
|
* @private
|
|
7508
7563
|
*/
|
|
7509
7564
|
ODataModel.prototype._getRefreshAfterChange = function(bRefreshAfterChange, sGroupId) {
|
|
7510
|
-
// If no bRefreshAfterChange parameter is given given and the request group is not deferred,
|
|
7565
|
+
// If no bRefreshAfterChange parameter is given given and the request group is not deferred,
|
|
7566
|
+
// use the global flag
|
|
7511
7567
|
if (bRefreshAfterChange === undefined && !(sGroupId in this.mDeferredGroups)) {
|
|
7512
7568
|
return this.bRefreshAfterChange;
|
|
7513
7569
|
}
|
|
@@ -7518,8 +7574,8 @@ sap.ui.define([
|
|
|
7518
7574
|
* Get all messages for an entity path.
|
|
7519
7575
|
*
|
|
7520
7576
|
* @param {string} sEntity The entity path or key
|
|
7521
|
-
* @param {boolean} bExcludePersistent
|
|
7522
|
-
*
|
|
7577
|
+
* @param {boolean} bExcludePersistent Whether persistent messages should be exluded
|
|
7578
|
+
* @returns {object[]|undefined} The messages for the entity
|
|
7523
7579
|
* @private
|
|
7524
7580
|
*/
|
|
7525
7581
|
ODataModel.prototype.getMessagesByEntity = function(sEntity, bExcludePersistent) {
|
|
@@ -7552,8 +7608,11 @@ sap.ui.define([
|
|
|
7552
7608
|
};
|
|
7553
7609
|
|
|
7554
7610
|
/**
|
|
7555
|
-
* Check if Caching is supported. All
|
|
7556
|
-
* or a valid cache buster token segment.
|
|
7611
|
+
* Check if Caching is supported. All URLs must at least provide a 'sap-context-token' query
|
|
7612
|
+
* parameter or a valid cache buster token segment.
|
|
7613
|
+
*
|
|
7614
|
+
* @param {string} sMetadataUrl The metadata URL
|
|
7615
|
+
* @returns {boolean} Whether caching is supported
|
|
7557
7616
|
*
|
|
7558
7617
|
* @private
|
|
7559
7618
|
*/
|
|
@@ -7580,7 +7639,10 @@ sap.ui.define([
|
|
|
7580
7639
|
};
|
|
7581
7640
|
|
|
7582
7641
|
/**
|
|
7583
|
-
*
|
|
7642
|
+
* Create cache key for annotations.
|
|
7643
|
+
*
|
|
7644
|
+
* @param {string} sMetadataUrl The metadata URL
|
|
7645
|
+
* @returns {string} The cache key
|
|
7584
7646
|
*
|
|
7585
7647
|
* @private
|
|
7586
7648
|
*/
|
|
@@ -7620,7 +7682,7 @@ sap.ui.define([
|
|
|
7620
7682
|
/**
|
|
7621
7683
|
* Decreases the internal deferred request counter, if the request is/was deferred.
|
|
7622
7684
|
*
|
|
7623
|
-
* @param {
|
|
7685
|
+
* @param {object} oRequest The completed request
|
|
7624
7686
|
*/
|
|
7625
7687
|
ODataModel.prototype._decreaseDeferredRequestCount = function(oRequest){
|
|
7626
7688
|
if (oRequest.deferred){
|
|
@@ -7762,7 +7824,10 @@ sap.ui.define([
|
|
|
7762
7824
|
|
|
7763
7825
|
/**
|
|
7764
7826
|
* Checks whether canonical requests are necessary.
|
|
7765
|
-
* @param {boolean} [bCanonicalRequest]
|
|
7827
|
+
* @param {boolean} [bCanonicalRequest]
|
|
7828
|
+
* Is regarded with priority when checking whether canonical requests are required
|
|
7829
|
+
*
|
|
7830
|
+
* @returns {boolean} Whether canonical requests are necessary
|
|
7766
7831
|
*/
|
|
7767
7832
|
ODataModel.prototype._isCanonicalRequestNeeded = function(bCanonicalRequest){
|
|
7768
7833
|
if (bCanonicalRequest !== undefined){
|