@openui5/sap.ui.core 1.96.21 → 1.96.22
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/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/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/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 +67 -39
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +4 -3
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +6 -5
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +10 -11
- package/src/sap/ui/model/odata/v4/ODataModel.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +67 -32
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +5 -5
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +3 -4
- 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 +4 -4
- 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/util/Storage.js +1 -1
|
@@ -29,7 +29,7 @@ sap.ui.define(['sap/ui/model/BindingMode', 'sap/ui/model/ClientModel', 'sap/ui/m
|
|
|
29
29
|
* @extends sap.ui.model.ClientModel
|
|
30
30
|
*
|
|
31
31
|
* @author SAP SE
|
|
32
|
-
* @version 1.96.
|
|
32
|
+
* @version 1.96.22
|
|
33
33
|
*
|
|
34
34
|
* @param {sap.ui.core.message.MessageManager} oMessageManager The MessageManager instance
|
|
35
35
|
* @public
|
|
@@ -61,7 +61,7 @@ sap.ui.define([
|
|
|
61
61
|
* @extends sap.ui.model.type.Currency
|
|
62
62
|
* @public
|
|
63
63
|
* @since 1.63.0
|
|
64
|
-
* @version 1.96.
|
|
64
|
+
* @version 1.96.22
|
|
65
65
|
*/
|
|
66
66
|
var Currency = BaseCurrency.extend("sap.ui.model.odata.type.Currency", {
|
|
67
67
|
constructor : function (oFormatOptions, oConstraints) {
|
|
@@ -132,7 +132,7 @@ sap.ui.define([
|
|
|
132
132
|
* @extends sap.ui.model.odata.type.ODataType
|
|
133
133
|
* @public
|
|
134
134
|
* @since 1.27.0
|
|
135
|
-
* @version 1.96.
|
|
135
|
+
* @version 1.96.22
|
|
136
136
|
*/
|
|
137
137
|
var DateTimeBase = ODataType.extend("sap.ui.model.odata.type.DateTimeBase", {
|
|
138
138
|
constructor : function (oFormatOptions, oConstraints) {
|
|
@@ -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.96.
|
|
33
|
+
* @version 1.96.22
|
|
34
34
|
*/
|
|
35
35
|
var Raw = ODataType.extend("sap.ui.model.odata.type.Raw", {
|
|
36
36
|
constructor : function (oFormatOptions, oConstraints) {
|
|
@@ -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.96.
|
|
63
|
+
* @version 1.96.22
|
|
64
64
|
*/
|
|
65
65
|
var Stream = ODataType.extend("sap.ui.model.odata.type.Stream", {
|
|
66
66
|
constructor : function (oFormatOptions, oConstraints) {
|
|
@@ -110,7 +110,7 @@ sap.ui.define([
|
|
|
110
110
|
* @extends sap.ui.model.odata.type.ODataType
|
|
111
111
|
* @public
|
|
112
112
|
* @since 1.37.0
|
|
113
|
-
* @version 1.96.
|
|
113
|
+
* @version 1.96.22
|
|
114
114
|
*/
|
|
115
115
|
var TimeOfDay = ODataType.extend("sap.ui.model.odata.type.TimeOfDay", {
|
|
116
116
|
constructor : function (oFormatOptions, oConstraints) {
|
|
@@ -63,7 +63,7 @@ sap.ui.define([
|
|
|
63
63
|
* @extends sap.ui.model.type.Unit
|
|
64
64
|
* @public
|
|
65
65
|
* @since 1.63.0
|
|
66
|
-
* @version 1.96.
|
|
66
|
+
* @version 1.96.22
|
|
67
67
|
*/
|
|
68
68
|
var Unit = BaseUnit.extend("sap.ui.model.odata.type.Unit", {
|
|
69
69
|
constructor : function (oFormatOptions, oConstraints, aDynamicFormatOptionNames) {
|
|
@@ -52,7 +52,7 @@ sap.ui.define([
|
|
|
52
52
|
* @hideconstructor
|
|
53
53
|
* @public
|
|
54
54
|
* @since 1.93.0
|
|
55
|
-
* @version 1.96.
|
|
55
|
+
* @version 1.96.22
|
|
56
56
|
*/
|
|
57
57
|
var Context = BaseContext.extend("sap.ui.model.odata.v2.Context", {
|
|
58
58
|
constructor : function (oModel, sPath, sDeepPath, oCreatePromise) {
|
|
@@ -92,7 +92,7 @@ sap.ui.define([
|
|
|
92
92
|
* @extends sap.ui.model.TreeBinding
|
|
93
93
|
* @hideconstructor
|
|
94
94
|
* @public
|
|
95
|
-
* @version 1.96.
|
|
95
|
+
* @version 1.96.22
|
|
96
96
|
*/
|
|
97
97
|
var ODataTreeBinding = TreeBinding.extend("sap.ui.model.odata.v2.ODataTreeBinding", /** @lends sap.ui.model.odata.v2.ODataTreeBinding.prototype */ {
|
|
98
98
|
|
|
@@ -98,7 +98,7 @@ sap.ui.define([
|
|
|
98
98
|
* @hideconstructor
|
|
99
99
|
* @public
|
|
100
100
|
* @since 1.39.0
|
|
101
|
-
* @version 1.96.
|
|
101
|
+
* @version 1.96.22
|
|
102
102
|
*/
|
|
103
103
|
var Context = BaseContext.extend("sap.ui.model.odata.v4.Context", {
|
|
104
104
|
constructor : function (oModel, oBinding, sPath, iIndex, oCreatePromise, iGeneration) {
|
|
@@ -977,7 +977,7 @@ sap.ui.define([
|
|
|
977
977
|
this.oBinding.checkSuspended();
|
|
978
978
|
|
|
979
979
|
return Promise.all(aPaths.map(function (sPath) {
|
|
980
|
-
return that.oBinding.fetchIfChildCanUseCache(that, sPath,
|
|
980
|
+
return that.oBinding.fetchIfChildCanUseCache(that, sPath, undefined, true)
|
|
981
981
|
.then(function (sReducedPath) {
|
|
982
982
|
if (sReducedPath) {
|
|
983
983
|
return fetchPrimitiveValue(that, sReducedPath, bExternalFormat);
|
|
@@ -1376,7 +1376,7 @@ sap.ui.define([
|
|
|
1376
1376
|
if (!sMessagesPath) {
|
|
1377
1377
|
throw new Error("Missing @com.sap.vocabularies.Common.v1.Messages");
|
|
1378
1378
|
}
|
|
1379
|
-
this.oBinding.fetchIfChildCanUseCache(this, sMessagesPath,
|
|
1379
|
+
this.oBinding.fetchIfChildCanUseCache(this, sMessagesPath, undefined, true)
|
|
1380
1380
|
.then(function (sReducedPath) {
|
|
1381
1381
|
return that.fetchValue(sReducedPath);
|
|
1382
1382
|
})
|
|
@@ -364,17 +364,17 @@ sap.ui.define([
|
|
|
364
364
|
};
|
|
365
365
|
|
|
366
366
|
/**
|
|
367
|
-
* Hook method for {@link #
|
|
368
|
-
* binding.
|
|
367
|
+
* Hook method for {@link #fetchOrGetQueryOptionsForOwnCache} to determine the query options for
|
|
368
|
+
* this binding.
|
|
369
369
|
*
|
|
370
370
|
* @param {sap.ui.model.Context} [oContext]
|
|
371
371
|
* The context instance to be used for a relative binding
|
|
372
|
-
* @returns {sap.ui.base.SyncPromise}
|
|
373
|
-
*
|
|
372
|
+
* @returns {object|undefined|sap.ui.base.SyncPromise}
|
|
373
|
+
* The binding's query options (if any) or a promise resolving with them
|
|
374
374
|
*
|
|
375
375
|
* @abstract
|
|
376
376
|
* @function
|
|
377
|
-
* @name sap.ui.model.odata.v4.ODataBinding#
|
|
377
|
+
* @name sap.ui.model.odata.v4.ODataBinding#doFetchOrGetQueryOptions
|
|
378
378
|
* @private
|
|
379
379
|
*/
|
|
380
380
|
|
|
@@ -430,7 +430,7 @@ sap.ui.define([
|
|
|
430
430
|
}
|
|
431
431
|
|
|
432
432
|
aPromises = [
|
|
433
|
-
this.
|
|
433
|
+
this.fetchOrGetQueryOptionsForOwnCache(oContext, bIgnoreParentCache),
|
|
434
434
|
this.oModel.oRequestor.ready()
|
|
435
435
|
];
|
|
436
436
|
this.mCacheQueryOptions = undefined;
|
|
@@ -476,60 +476,88 @@ sap.ui.define([
|
|
|
476
476
|
* @param {boolean} [bIgnoreParentCache]
|
|
477
477
|
* Whether the query options of the parent cache shall be ignored and own query options are
|
|
478
478
|
* determined (see {@link #fetchCache})
|
|
479
|
-
* @returns {sap.ui.base.SyncPromise}
|
|
480
|
-
*
|
|
479
|
+
* @returns {object|sap.ui.base.SyncPromise}
|
|
480
|
+
* An object having two properties (or a promise resolving with it):
|
|
481
481
|
* {object} mQueryOptions - The query options to create the cache for this binding or
|
|
482
482
|
* <code>undefined</code> if no cache is to be created
|
|
483
483
|
* {string} sReducedPath - The binding's absolute, reduced path in the cache hierarchy
|
|
484
484
|
*
|
|
485
485
|
* @private
|
|
486
486
|
*/
|
|
487
|
-
ODataBinding.prototype.
|
|
487
|
+
ODataBinding.prototype.fetchOrGetQueryOptionsForOwnCache = function (oContext,
|
|
488
|
+
bIgnoreParentCache) {
|
|
488
489
|
var bHasNonSystemQueryOptions,
|
|
489
|
-
|
|
490
|
+
vQueryOptions, // {object|undefined|sap.ui.base.SyncPromise}
|
|
490
491
|
sResolvedPath = this.oModel.resolve(this.sPath, oContext),
|
|
491
492
|
that = this;
|
|
492
493
|
|
|
493
494
|
/*
|
|
494
|
-
* Wraps the given query options
|
|
495
|
-
*
|
|
495
|
+
* Wraps the given query options and adds sReducedPath to create a result for
|
|
496
|
+
* #fetchOrGetQueryOptionsForOwnCache.
|
|
496
497
|
*
|
|
497
|
-
* @param {object
|
|
498
|
-
*
|
|
498
|
+
* @param {object} [mQueryOptions]
|
|
499
|
+
* Map of query options, or <code>undefined</code>
|
|
500
|
+
* @param {boolean} [bDropEmptyObject]
|
|
501
|
+
* Whether an empty query options object should be replaced by <code>undefined</code>
|
|
499
502
|
* @param {string} [sReducedPath=sResolvedPath]
|
|
500
503
|
* The reduced path
|
|
501
|
-
* @returns {
|
|
502
|
-
* A
|
|
504
|
+
* @returns {object}
|
|
505
|
+
* A result for #fetchOrGetQueryOptionsForOwnCache
|
|
503
506
|
*/
|
|
504
|
-
function
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
507
|
+
function _wrapQueryOptions(mQueryOptions, bDropEmptyObject, sReducedPath) {
|
|
508
|
+
if (bDropEmptyObject && mQueryOptions && _Helper.isEmptyObject(mQueryOptions)) {
|
|
509
|
+
mQueryOptions = undefined;
|
|
510
|
+
}
|
|
511
|
+
return {
|
|
512
|
+
mQueryOptions : mQueryOptions,
|
|
513
|
+
sReducedPath : sReducedPath || sResolvedPath
|
|
514
|
+
};
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
/*
|
|
518
|
+
* Waits for <code>vQueryOptions</code> (if needed) and then creates a result for
|
|
519
|
+
* #fetchOrGetQueryOptionsForOwnCache.
|
|
520
|
+
*
|
|
521
|
+
* @param {boolean} [bDropEmptyObject]
|
|
522
|
+
* Whether an empty query options object should be replaced by <code>undefined</code>
|
|
523
|
+
* @param {string} [sReducedPath=sResolvedPath]
|
|
524
|
+
* The reduced path
|
|
525
|
+
* @returns {object|sap.ui.base.SyncPromise}
|
|
526
|
+
* A result for #fetchOrGetQueryOptionsForOwnCache
|
|
527
|
+
*/
|
|
528
|
+
function wrapQueryOptions(bDropEmptyObject, sReducedPath) {
|
|
529
|
+
if (vQueryOptions instanceof SyncPromise) {
|
|
530
|
+
if (!vQueryOptions.isFulfilled()) {
|
|
531
|
+
return vQueryOptions.then(function (mQueryOptions) {
|
|
532
|
+
return _wrapQueryOptions(mQueryOptions, bDropEmptyObject, sReducedPath);
|
|
533
|
+
});
|
|
534
|
+
}
|
|
535
|
+
vQueryOptions = vQueryOptions.getResult();
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
return _wrapQueryOptions(vQueryOptions, bDropEmptyObject, sReducedPath);
|
|
511
539
|
}
|
|
512
540
|
|
|
513
541
|
if (this.oOperation // operation binding manages its cache on its own
|
|
514
542
|
|| this.bRelative && !oContext // unresolved binding
|
|
515
543
|
|| this.isMeta()) {
|
|
516
|
-
return
|
|
544
|
+
return _wrapQueryOptions();
|
|
517
545
|
}
|
|
518
546
|
|
|
519
547
|
// auto-$expand/$select and binding is a parent binding, so that it needs to wait until all
|
|
520
548
|
// its child bindings know via the corresponding promise in this.aChildCanUseCachePromises
|
|
521
549
|
// if they can use the parent binding's cache
|
|
522
550
|
// With $$aggregation, no auto-$expand/$select is needed
|
|
523
|
-
|
|
551
|
+
vQueryOptions = this.doFetchOrGetQueryOptions(oContext);
|
|
524
552
|
if (this.oModel.bAutoExpandSelect && this.aChildCanUseCachePromises
|
|
525
|
-
&& !
|
|
553
|
+
&& !this.mParameters.$$aggregation) {
|
|
526
554
|
// For auto-$expand/$select, wait for query options of dependent bindings:
|
|
527
555
|
// Promise.resolve() ensures all dependent bindings are created and have sent their
|
|
528
556
|
// query options promise to this binding via fetchIfChildCanUseCache.
|
|
529
557
|
// The aggregated query options of this binding and its dependent bindings are available
|
|
530
558
|
// in that.mAggregatedQueryOptions once all these promises are fulfilled.
|
|
531
|
-
|
|
532
|
-
|
|
559
|
+
vQueryOptions = SyncPromise.all([
|
|
560
|
+
vQueryOptions,
|
|
533
561
|
Promise.resolve().then(function () {
|
|
534
562
|
return SyncPromise.all(that.aChildCanUseCachePromises);
|
|
535
563
|
})
|
|
@@ -543,7 +571,7 @@ sap.ui.define([
|
|
|
543
571
|
// parent cache is ignored or (quasi-)absolute binding
|
|
544
572
|
if (bIgnoreParentCache || !this.bRelative || !oContext.fetchValue) {
|
|
545
573
|
// the binding shall create its own cache
|
|
546
|
-
return wrapQueryOptions(
|
|
574
|
+
return wrapQueryOptions();
|
|
547
575
|
}
|
|
548
576
|
|
|
549
577
|
// auto-$expand/$select: Use parent binding's cache if possible
|
|
@@ -553,27 +581,27 @@ sap.ui.define([
|
|
|
553
581
|
return sKey[0] !== "$" || sKey[1] === "$";
|
|
554
582
|
});
|
|
555
583
|
if (bHasNonSystemQueryOptions) {
|
|
556
|
-
return wrapQueryOptions(
|
|
584
|
+
return wrapQueryOptions();
|
|
557
585
|
}
|
|
558
586
|
return oContext.getBinding()
|
|
559
|
-
.fetchIfChildCanUseCache(oContext, that.sPath,
|
|
587
|
+
.fetchIfChildCanUseCache(oContext, that.sPath, vQueryOptions,
|
|
588
|
+
!this.mParameters) // duck typing for property binding
|
|
560
589
|
.then(function (sReducedPath) {
|
|
561
|
-
|
|
562
|
-
|
|
590
|
+
if (sReducedPath) {
|
|
591
|
+
vQueryOptions = undefined;
|
|
592
|
+
}
|
|
593
|
+
return wrapQueryOptions(false, sReducedPath);
|
|
563
594
|
});
|
|
564
595
|
}
|
|
565
596
|
|
|
566
597
|
// relative list or context binding with parameters which are not query options
|
|
567
598
|
// (such as $$groupId)
|
|
568
|
-
if (this.mParameters &&
|
|
569
|
-
return wrapQueryOptions(
|
|
599
|
+
if (this.mParameters && !_Helper.isEmptyObject(this.mParameters)) {
|
|
600
|
+
return wrapQueryOptions();
|
|
570
601
|
}
|
|
571
602
|
|
|
572
603
|
// relative binding which may have query options from UI5 filter or sorter objects
|
|
573
|
-
return
|
|
574
|
-
return wrapQueryOptions(
|
|
575
|
-
Object.keys(mQueryOptions).length ? mQueryOptions : undefined);
|
|
576
|
-
});
|
|
604
|
+
return wrapQueryOptions(true);
|
|
577
605
|
};
|
|
578
606
|
|
|
579
607
|
/**
|
|
@@ -106,7 +106,7 @@ sap.ui.define([
|
|
|
106
106
|
* @mixes sap.ui.model.odata.v4.ODataParentBinding
|
|
107
107
|
* @public
|
|
108
108
|
* @since 1.37.0
|
|
109
|
-
* @version 1.96.
|
|
109
|
+
* @version 1.96.22
|
|
110
110
|
*
|
|
111
111
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getGroupId as #getGroupId
|
|
112
112
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getRootBinding as #getRootBinding
|
|
@@ -751,9 +751,9 @@ sap.ui.define([
|
|
|
751
751
|
|
|
752
752
|
/**
|
|
753
753
|
* @override
|
|
754
|
-
* @see sap.ui.model.odata.v4.ODataBinding#
|
|
754
|
+
* @see sap.ui.model.odata.v4.ODataBinding#doFetchOrGetQueryOptions
|
|
755
755
|
*/
|
|
756
|
-
ODataContextBinding.prototype.
|
|
756
|
+
ODataContextBinding.prototype.doFetchOrGetQueryOptions = function (oContext) {
|
|
757
757
|
return this.fetchResolvedQueryOptions(oContext);
|
|
758
758
|
};
|
|
759
759
|
|
|
@@ -1417,6 +1417,7 @@ sap.ui.define([
|
|
|
1417
1417
|
if (bParentHasChanges || sResumeChangeReason) {
|
|
1418
1418
|
this.mAggregatedQueryOptions = {};
|
|
1419
1419
|
this.bAggregatedQueryOptionsInitial = true;
|
|
1420
|
+
this.mCanUseCachePromiseByChildPath = {};
|
|
1420
1421
|
this.removeCachesAndMessages("");
|
|
1421
1422
|
this.fetchCache(this.oContext);
|
|
1422
1423
|
}
|
|
@@ -76,7 +76,7 @@ sap.ui.define([
|
|
|
76
76
|
* @mixes sap.ui.model.odata.v4.ODataParentBinding
|
|
77
77
|
* @public
|
|
78
78
|
* @since 1.37.0
|
|
79
|
-
* @version 1.96.
|
|
79
|
+
* @version 1.96.22
|
|
80
80
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getGroupId as #getGroupId
|
|
81
81
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getRootBinding as #getRootBinding
|
|
82
82
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getUpdateGroupId as #getUpdateGroupId
|
|
@@ -380,7 +380,7 @@ sap.ui.define([
|
|
|
380
380
|
sApply = _AggregationHelper.buildApply(mParameters.$$aggregation).$apply;
|
|
381
381
|
}
|
|
382
382
|
this.mQueryOptions = this.oModel.buildQueryOptions(mParameters, true);
|
|
383
|
-
this.oQueryOptionsPromise = undefined; // @see #
|
|
383
|
+
this.oQueryOptionsPromise = undefined; // @see #doFetchOrGetQueryOptions
|
|
384
384
|
this.mParameters = mParameters; // store mParameters at binding after validation
|
|
385
385
|
if (sApply) {
|
|
386
386
|
this.mQueryOptions.$apply = sApply;
|
|
@@ -1040,9 +1040,9 @@ sap.ui.define([
|
|
|
1040
1040
|
|
|
1041
1041
|
/**
|
|
1042
1042
|
* @override
|
|
1043
|
-
* @see sap.ui.model.odata.v4.ODataBinding#
|
|
1043
|
+
* @see sap.ui.model.odata.v4.ODataBinding#doFetchOrGetQueryOptions
|
|
1044
1044
|
*/
|
|
1045
|
-
ODataListBinding.prototype.
|
|
1045
|
+
ODataListBinding.prototype.doFetchOrGetQueryOptions = function (oContext) {
|
|
1046
1046
|
// Note: an absolute binding needs no parent context :-)
|
|
1047
1047
|
var sMetaPath = oContext && _Helper.getMetaPath(oContext.getPath()),
|
|
1048
1048
|
that = this;
|
|
@@ -2212,7 +2212,7 @@ sap.ui.define([
|
|
|
2212
2212
|
ODataListBinding.prototype.inheritQueryOptions = function (mQueryOptions, oContext) {
|
|
2213
2213
|
var mInheritedQueryOptions;
|
|
2214
2214
|
|
|
2215
|
-
if (
|
|
2215
|
+
if (_Helper.isEmptyObject(this.mParameters)) {
|
|
2216
2216
|
// mix-in inherited static query options
|
|
2217
2217
|
mInheritedQueryOptions = this.getQueryOptionsForPath("", oContext);
|
|
2218
2218
|
if (mQueryOptions.$orderby && mInheritedQueryOptions.$orderby) {
|
|
@@ -3092,6 +3092,7 @@ sap.ui.define([
|
|
|
3092
3092
|
}
|
|
3093
3093
|
if (this.bHasPathReductionToParent && this.oModel.bAutoExpandSelect
|
|
3094
3094
|
&& !this.mParameters.$$aggregation) {
|
|
3095
|
+
this.mCanUseCachePromiseByChildPath = {};
|
|
3095
3096
|
this.sChangeReason = "AddVirtualContext"; // JIRA: CPOUI5ODATAV4-848
|
|
3096
3097
|
}
|
|
3097
3098
|
if (oContext.getBinding
|