@openui5/sap.ui.core 1.133.0 → 1.134.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/.reuse/dep5 +0 -7
- package/THIRDPARTY.txt +1 -22
- package/package.json +1 -1
- package/src/jquery.sap.global.js +1 -1
- package/src/jquery.sap.properties.js +1 -1
- package/src/jquery.sap.resources.js +1 -1
- package/src/jquery.sap.script.js +1 -1
- package/src/jquery.sap.storage.js +3 -3
- package/src/sap/base/Event.js +1 -1
- package/src/sap/base/Eventing.js +1 -1
- package/src/sap/base/config.js +1 -1
- package/src/sap/base/i18n/LanguageTag.js +1 -1
- package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
- package/src/sap/base/util/LoaderExtensions.js +2 -8
- package/src/sap/base/util/mixedFetch.js +0 -1
- package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
- package/src/sap/base/util/restricted/_castArray.js +1 -1
- package/src/sap/base/util/restricted/_compact.js +1 -1
- package/src/sap/base/util/restricted/_curry.js +1 -1
- package/src/sap/base/util/restricted/_debounce.js +1 -1
- package/src/sap/base/util/restricted/_difference.js +1 -1
- package/src/sap/base/util/restricted/_differenceBy.js +1 -1
- package/src/sap/base/util/restricted/_differenceWith.js +1 -1
- package/src/sap/base/util/restricted/_flatMap.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
- package/src/sap/base/util/restricted/_flatten.js +1 -1
- package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
- package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
- package/src/sap/base/util/restricted/_intersection.js +1 -1
- package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
- package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
- package/src/sap/base/util/restricted/_isEqual.js +1 -1
- package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
- package/src/sap/base/util/restricted/_isNil.js +1 -1
- package/src/sap/base/util/restricted/_max.js +1 -1
- package/src/sap/base/util/restricted/_merge.js +1 -1
- package/src/sap/base/util/restricted/_mergeWith.js +1 -1
- package/src/sap/base/util/restricted/_min.js +1 -1
- package/src/sap/base/util/restricted/_omit.js +1 -1
- package/src/sap/base/util/restricted/_pick.js +1 -1
- package/src/sap/base/util/restricted/_pickBy.js +1 -1
- package/src/sap/base/util/restricted/_throttle.js +1 -1
- package/src/sap/base/util/restricted/_toArray.js +1 -1
- package/src/sap/base/util/restricted/_union.js +1 -1
- package/src/sap/base/util/restricted/_unionBy.js +1 -1
- package/src/sap/base/util/restricted/_unionWith.js +1 -1
- package/src/sap/base/util/restricted/_uniq.js +1 -1
- package/src/sap/base/util/restricted/_uniqBy.js +1 -1
- package/src/sap/base/util/restricted/_uniqWith.js +1 -1
- package/src/sap/base/util/restricted/_without.js +1 -1
- package/src/sap/base/util/restricted/_xor.js +1 -1
- package/src/sap/base/util/restricted/_xorBy.js +1 -1
- package/src/sap/base/util/restricted/_xorWith.js +1 -1
- package/src/sap/base/util/restricted/_zipObject.js +1 -1
- package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
- package/src/sap/base/util/syncFetch.js +0 -1
- package/src/sap/ui/Device.js +3 -3
- package/src/sap/ui/Global.js +3 -3
- package/src/sap/ui/base/Event.js +1 -1
- package/src/sap/ui/base/EventProvider.js +1 -1
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +14 -11
- 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/base/SyncPromise.js +17 -1
- package/src/sap/ui/core/.library +1 -6
- package/src/sap/ui/core/AppCacheBuster.js +4 -9
- 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 +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 +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/IconPool.js +20 -3
- 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 +6 -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/date/UI5Date.js +1 -1
- package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
- package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
- package/src/sap/ui/core/dnd/DragAndDrop.js +14 -7
- 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/fieldhelp/FieldHelp.js +186 -84
- package/src/sap/ui/core/fieldhelp/FieldHelpUtil.js +2 -0
- package/src/sap/ui/core/format/FormatUtils.js +1 -1
- package/src/sap/ui/core/format/NumberFormat.js +10 -11
- package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
- package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +32 -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/messagebundle_ko.properties +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/theming/Parameters.js +1 -6
- 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/webc/WebComponent.js +1 -1
- package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
- package/src/sap/ui/core/ws/ReadyState.js +1 -1
- package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
- package/src/sap/ui/core/ws/WebSocket.js +1 -1
- package/src/sap/ui/debug/ControlTree.js +1 -1
- package/src/sap/ui/debug/DebugEnv.js +1 -1
- package/src/sap/ui/debug/PropertyList.js +1 -1
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/ClientTreeBinding.js +5 -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/analytics/AnalyticalBinding.js +1 -1
- package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +51 -13
- 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 +46 -14
- package/src/sap/ui/model/odata/ODataMetadata.js +2 -2
- package/src/sap/ui/model/odata/ODataModel.js +2 -2
- 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 +4 -3
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +2 -2
- package/src/sap/ui/model/odata/v2/ODataModel.js +26 -17
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/Context.js +5 -8
- package/src/sap/ui/model/odata/v4/ODataBinding.js +7 -6
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +3 -4
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +116 -44
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +3 -3
- package/src/sap/ui/model/odata/v4/ODataModel.js +52 -31
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +4 -3
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +3 -4
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +25 -1
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +9 -9
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +84 -11
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +18 -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/BranchTracking.js +1 -1
- package/src/sap/ui/test/TestUtils.js +82 -14
- package/src/sap/ui/test/actions/EnterText.js +2 -20
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/test/starter/_setupAndStart.js +11 -2
- package/src/sap/ui/test/starter/_utils.js +0 -1
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/ui5loader.js +4 -1
- package/test/sap/ui/qunit/TestRunner.js +4 -1
- package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +0 -5
|
@@ -36,7 +36,7 @@ sap.ui.define([
|
|
|
36
36
|
* @class Annotation loader for OData V2 services
|
|
37
37
|
*
|
|
38
38
|
* @author SAP SE
|
|
39
|
-
* @version 1.
|
|
39
|
+
* @version 1.134.0
|
|
40
40
|
*
|
|
41
41
|
* @public
|
|
42
42
|
* @since 1.37.0
|
|
@@ -835,8 +835,9 @@ sap.ui.define([
|
|
|
835
835
|
* @returns {Object<string,string>} A map of all public and private headers.
|
|
836
836
|
*/
|
|
837
837
|
ODataAnnotations.prototype._getHeaders = function() {
|
|
838
|
-
//The 'sap-cancel-on-close' header marks the OData annotation request as cancelable. This helps to save
|
|
839
|
-
|
|
838
|
+
// The 'sap-cancel-on-close' header marks the OData annotation request as cancelable. This helps to save
|
|
839
|
+
// resources at the back-end.
|
|
840
|
+
return extend({"sap-cancel-on-close": "true"}, this.getHeaders(), {
|
|
840
841
|
"Accept-Language": Localization.getLanguageTag().toString() // Always overwrite
|
|
841
842
|
});
|
|
842
843
|
};
|
|
@@ -2255,8 +2255,8 @@ sap.ui.define([
|
|
|
2255
2255
|
|
|
2256
2256
|
/**
|
|
2257
2257
|
* Returns the count of active entries in the list if the list length is final, otherwise
|
|
2258
|
-
* <code>undefined</code>. Contrary to {#getLength}, this method does not consider inactive
|
|
2259
|
-
* entries which are created via {#create}.
|
|
2258
|
+
* <code>undefined</code>. Contrary to {@link #getLength}, this method does not consider inactive
|
|
2259
|
+
* entries which are created via {@link #create}.
|
|
2260
2260
|
*
|
|
2261
2261
|
* @returns {number|undefined} The count of entries
|
|
2262
2262
|
*
|
|
@@ -218,7 +218,7 @@ sap.ui.define([
|
|
|
218
218
|
* This model is not prepared to be inherited from.
|
|
219
219
|
*
|
|
220
220
|
* @author SAP SE
|
|
221
|
-
* @version 1.
|
|
221
|
+
* @version 1.134.0
|
|
222
222
|
*
|
|
223
223
|
* @public
|
|
224
224
|
* @alias sap.ui.model.odata.v2.ODataModel
|
|
@@ -270,7 +270,8 @@ sap.ui.define([
|
|
|
270
270
|
}
|
|
271
271
|
|
|
272
272
|
// Creates a parameters map to be used for the instantiation of the code list model,
|
|
273
|
-
// based on this OData model's parameters
|
|
273
|
+
// based on this OData model's parameters; createCodeListModelParameters has to be
|
|
274
|
+
// called before the service URL is modified
|
|
274
275
|
this.mCodeListModelParams = this.createCodeListModelParameters(mParameters);
|
|
275
276
|
|
|
276
277
|
if (mParameters) {
|
|
@@ -337,7 +338,9 @@ sap.ui.define([
|
|
|
337
338
|
this.mChangeHandles = {};
|
|
338
339
|
this.mDeferredGroups = {};
|
|
339
340
|
this.mLaunderingState = {};
|
|
340
|
-
|
|
341
|
+
/** @deprecated As of version 1.133.0, reason sap.ui.model.odata.UpdateMethod.Merge|Put */
|
|
342
|
+
sDefaultUpdateMethod = ODataModel._fixUpdateMethod(sDefaultUpdateMethod);
|
|
343
|
+
this.sDefaultUpdateMethod = sDefaultUpdateMethod || UpdateMethod.MERGE;
|
|
341
344
|
|
|
342
345
|
this.bTokenHandling = vTokenHandling !== false;
|
|
343
346
|
this.bWithCredentials = bWithCredentials === true;
|
|
@@ -973,6 +976,7 @@ sap.ui.define([
|
|
|
973
976
|
*
|
|
974
977
|
* @param {string} [sUpdateMethod] The update method to fix
|
|
975
978
|
* @returns {string|undefined} The fixed update method
|
|
979
|
+
* @deprecated As of version 1.133.0, reason sap.ui.model.odata.UpdateMethod.Merge|Put
|
|
976
980
|
* @private
|
|
977
981
|
*/
|
|
978
982
|
ODataModel._fixUpdateMethod = function (sUpdateMethod) {
|
|
@@ -2157,6 +2161,9 @@ sap.ui.define([
|
|
|
2157
2161
|
* <b>not</b> support the operation modes <code>Client</code> and <code>Auto</code>.
|
|
2158
2162
|
* <b>Note:</b> {@link sap.ui.model.odata.OperationMode.Auto} is deprecated since 1.102.0.
|
|
2159
2163
|
*
|
|
2164
|
+
* <b>Note:</b> OData tree bindings do neither support
|
|
2165
|
+
* {@link sap.ui.model.Binding#suspend suspend} nor {@link sap.ui.model.Binding#resume resume}.
|
|
2166
|
+
*
|
|
2160
2167
|
* @param {string} sPath
|
|
2161
2168
|
* The binding path, either absolute or relative to a given <code>oContext</code>
|
|
2162
2169
|
* @param {sap.ui.model.Context} [oContext]
|
|
@@ -4017,16 +4024,17 @@ sap.ui.define([
|
|
|
4017
4024
|
var sUrl, oRequest,
|
|
4018
4025
|
oChangeHeader = {},
|
|
4019
4026
|
oPayload = {},
|
|
4020
|
-
|
|
4027
|
+
sCancelOnClose = "true";
|
|
4021
4028
|
|
|
4022
4029
|
oPayload.__batchRequests = aBatchRequests;
|
|
4023
4030
|
|
|
4024
4031
|
|
|
4025
4032
|
// If one requests leads to data changes at the back-end side, the canceling of the batch request must be prevented.
|
|
4026
4033
|
for (var sIndex in aBatchRequests) {
|
|
4027
|
-
if (aBatchRequests[sIndex] && aBatchRequests[sIndex].__changeRequests
|
|
4028
|
-
|
|
4029
|
-
|
|
4034
|
+
if (aBatchRequests[sIndex] && aBatchRequests[sIndex].__changeRequests
|
|
4035
|
+
|| aBatchRequests[sIndex] && aBatchRequests[sIndex].headers
|
|
4036
|
+
&& aBatchRequests[sIndex].headers['sap-cancel-on-close'] !== "true") {
|
|
4037
|
+
sCancelOnClose = "false";
|
|
4030
4038
|
break;
|
|
4031
4039
|
}
|
|
4032
4040
|
}
|
|
@@ -4045,7 +4053,7 @@ sap.ui.define([
|
|
|
4045
4053
|
// reset
|
|
4046
4054
|
delete oChangeHeader["Content-Type"];
|
|
4047
4055
|
|
|
4048
|
-
oChangeHeader['sap-cancel-on-close'] =
|
|
4056
|
+
oChangeHeader['sap-cancel-on-close'] = sCancelOnClose;
|
|
4049
4057
|
|
|
4050
4058
|
oRequest = {
|
|
4051
4059
|
headers : oChangeHeader,
|
|
@@ -7082,8 +7090,10 @@ sap.ui.define([
|
|
|
7082
7090
|
}
|
|
7083
7091
|
});
|
|
7084
7092
|
}
|
|
7085
|
-
//The 'sap-cancel-on-close' header marks the OData request as cancelable. This helps to save resources at the
|
|
7086
|
-
|
|
7093
|
+
// The 'sap-cancel-on-close' header marks the OData request as cancelable. This helps to save resources at the
|
|
7094
|
+
// back-end.
|
|
7095
|
+
return extend({'sap-cancel-on-close': String(!!bCancelOnClose)}, this.mCustomHeaders, mCheckedHeaders,
|
|
7096
|
+
this.oHeaders);
|
|
7087
7097
|
};
|
|
7088
7098
|
|
|
7089
7099
|
/**
|
|
@@ -7641,7 +7651,8 @@ sap.ui.define([
|
|
|
7641
7651
|
vProperties = mParameters.properties;
|
|
7642
7652
|
sGroupId = mParameters.groupId || mParameters.batchGroupId;
|
|
7643
7653
|
sChangeSetId = mParameters.changeSetId;
|
|
7644
|
-
|
|
7654
|
+
// ignore context if path is absolute
|
|
7655
|
+
oContext = sPath.startsWith("/") ? undefined : mParameters.context;
|
|
7645
7656
|
fnSuccess = mParameters.success;
|
|
7646
7657
|
fnError = mParameters.error;
|
|
7647
7658
|
fnCreated = mParameters.created;
|
|
@@ -7779,9 +7790,8 @@ sap.ui.define([
|
|
|
7779
7790
|
* @property {string} message Error message returned by the 503 HTTP status response
|
|
7780
7791
|
* @property {Date} retryAfter The earliest point in time the request may be repeated
|
|
7781
7792
|
*
|
|
7782
|
-
* @
|
|
7783
|
-
* @
|
|
7784
|
-
* @since 1.127.0
|
|
7793
|
+
* @public
|
|
7794
|
+
* @since 1.134.0
|
|
7785
7795
|
*/
|
|
7786
7796
|
|
|
7787
7797
|
/**
|
|
@@ -7804,9 +7814,8 @@ sap.ui.define([
|
|
|
7804
7814
|
* @param {function(module:sap/ui/model/odata/v2/RetryAfterError):Promise<undefined>} fnRetryAfter
|
|
7805
7815
|
* A "Retry-After" handler
|
|
7806
7816
|
*
|
|
7807
|
-
* @
|
|
7808
|
-
* @
|
|
7809
|
-
* @since 1.127.0
|
|
7817
|
+
* @public
|
|
7818
|
+
* @since 1.134.0
|
|
7810
7819
|
*/
|
|
7811
7820
|
ODataModel.prototype.setRetryAfterHandler = function (fnRetryAfter) {
|
|
7812
7821
|
this.fnRetryAfter = fnRetryAfter;
|
|
@@ -103,7 +103,7 @@ sap.ui.define([
|
|
|
103
103
|
* @extends sap.ui.model.TreeBinding
|
|
104
104
|
* @hideconstructor
|
|
105
105
|
* @public
|
|
106
|
-
* @version 1.
|
|
106
|
+
* @version 1.134.0
|
|
107
107
|
*/
|
|
108
108
|
var ODataTreeBinding = TreeBinding.extend("sap.ui.model.odata.v2.ODataTreeBinding", /** @lends sap.ui.model.odata.v2.ODataTreeBinding.prototype */ {
|
|
109
109
|
|
|
@@ -42,7 +42,7 @@ sap.ui.define([
|
|
|
42
42
|
* @hideconstructor
|
|
43
43
|
* @public
|
|
44
44
|
* @since 1.39.0
|
|
45
|
-
* @version 1.
|
|
45
|
+
* @version 1.134.0
|
|
46
46
|
*/
|
|
47
47
|
Context = BaseContext.extend("sap.ui.model.odata.v4.Context", {
|
|
48
48
|
constructor : constructor
|
|
@@ -208,8 +208,7 @@ sap.ui.define([
|
|
|
208
208
|
* A promise which is resolved without a defined result when the entity represented by this
|
|
209
209
|
* context has been created in the back end. It is rejected with an <code>Error</code>
|
|
210
210
|
* instance where <code>oError.canceled === true</code> if the transient entity is deleted
|
|
211
|
-
* before it is created in the back end, for example via
|
|
212
|
-
* {@link sap.ui.model.odata.v4.Context#delete},
|
|
211
|
+
* before it is created in the back end, for example via {@link #delete},
|
|
213
212
|
* {@link sap.ui.model.odata.v4.ODataListBinding#resetChanges} or
|
|
214
213
|
* {@link sap.ui.model.odata.v4.ODataModel#resetChanges}, and for all nested contexts within a
|
|
215
214
|
* deep create. It is rejected with an <code>Error</code> instance without
|
|
@@ -435,7 +434,7 @@ sap.ui.define([
|
|
|
435
434
|
* instance of <code>Error</code> in case of failure
|
|
436
435
|
*
|
|
437
436
|
* @private
|
|
438
|
-
* @see
|
|
437
|
+
* @see #delete
|
|
439
438
|
*/
|
|
440
439
|
Context.prototype.doDelete = function (oGroupLock, sEditUrl, sPath, oETagEntity, oBinding,
|
|
441
440
|
fnCallback) {
|
|
@@ -1646,8 +1645,7 @@ sap.ui.define([
|
|
|
1646
1645
|
* any part thereof. The data is a JSON structure as described in <a href=
|
|
1647
1646
|
* "https://docs.oasis-open.org/odata/odata-json-format/v4.0/odata-json-format-v4.0.html"
|
|
1648
1647
|
* >"OData JSON Format Version 4.0"</a>.
|
|
1649
|
-
* Note that the function clones the result. Modify values via
|
|
1650
|
-
* {@link sap.ui.model.odata.v4.Context#setProperty}.
|
|
1648
|
+
* Note that the function clones the result. Modify values via {@link #setProperty}.
|
|
1651
1649
|
*
|
|
1652
1650
|
* The header context of a list binding only delivers <code>$count</code> and
|
|
1653
1651
|
* <code>@$ui5.context.isSelected</code> (wrapped in an object if <code>sPath</code> is "").
|
|
@@ -2119,8 +2117,7 @@ sap.ui.define([
|
|
|
2119
2117
|
/**
|
|
2120
2118
|
* Resets all property changes, created entities, and entity deletions of this context. Resets
|
|
2121
2119
|
* also invalid user input and inactive contexts which had their activation prevented (see
|
|
2122
|
-
* {@link
|
|
2123
|
-
* invocation of OData operations (see
|
|
2120
|
+
* {@link #isInactive}). This function does not reset the invocation of OData operations (see
|
|
2124
2121
|
* {@link sap.ui.model.odata.v4.ODataContextBinding#invoke}). For a context which is currently
|
|
2125
2122
|
* {@link #delete deleted} on the client, but not yet on the server, this method cancels the
|
|
2126
2123
|
* deletion and restores the context.
|
|
@@ -403,7 +403,7 @@ sap.ui.define([
|
|
|
403
403
|
* Destroys the object. The object must not be used anymore after this function was called.
|
|
404
404
|
*
|
|
405
405
|
* @public
|
|
406
|
-
* @since 1.66
|
|
406
|
+
* @since 1.66.0
|
|
407
407
|
*/
|
|
408
408
|
ODataBinding.prototype.destroy = function () {
|
|
409
409
|
this.mCacheByResourcePath = undefined;
|
|
@@ -422,8 +422,8 @@ sap.ui.define([
|
|
|
422
422
|
};
|
|
423
423
|
|
|
424
424
|
/**
|
|
425
|
-
* Hook method for {@link
|
|
426
|
-
*
|
|
425
|
+
* Hook method for {@link #fetchCache} to create a cache for this binding with the given
|
|
426
|
+
* resource path and query options.
|
|
427
427
|
*
|
|
428
428
|
* @param {string} sResourcePath
|
|
429
429
|
* The resource path, for example "EMPLOYEES"
|
|
@@ -1428,8 +1428,9 @@ sap.ui.define([
|
|
|
1428
1428
|
* <li> the binding's root binding is suspended,
|
|
1429
1429
|
* <li> there is a change of this binding which has been sent to the server and for which
|
|
1430
1430
|
* there is no response yet,
|
|
1431
|
-
* <li> the binding is
|
|
1432
|
-
* {@link sap.ui.model.odata.v4.ODataListBinding#create deep create}
|
|
1431
|
+
* <li> the binding is part of a
|
|
1432
|
+
* {@link sap.ui.model.odata.v4.ODataListBinding#create deep create} because it is
|
|
1433
|
+
* relative to a {@link sap.ui.model.odata.v4.Context#isTransient transient} context,
|
|
1433
1434
|
* </ul>
|
|
1434
1435
|
*
|
|
1435
1436
|
* @public
|
|
@@ -1561,7 +1562,7 @@ sap.ui.define([
|
|
|
1561
1562
|
* @param {Promise[]} aPromises
|
|
1562
1563
|
* List of (sync) promises which is extended for each call to
|
|
1563
1564
|
* {@link sap.ui.model.odata.v4.ODataParentBinding#requestSideEffects} or
|
|
1564
|
-
* {@link
|
|
1565
|
+
* {@link #refreshInternal}
|
|
1565
1566
|
* @param {string} [sPrefix=""]
|
|
1566
1567
|
* Prefix for navigation property meta paths; must only be used during recursion
|
|
1567
1568
|
*
|
|
@@ -74,7 +74,7 @@ sap.ui.define([
|
|
|
74
74
|
* @mixes sap.ui.model.odata.v4.ODataParentBinding
|
|
75
75
|
* @public
|
|
76
76
|
* @since 1.37.0
|
|
77
|
-
* @version 1.
|
|
77
|
+
* @version 1.134.0
|
|
78
78
|
*
|
|
79
79
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getGroupId as #getGroupId
|
|
80
80
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getRootBinding as #getRootBinding
|
|
@@ -1287,9 +1287,8 @@ sap.ui.define([
|
|
|
1287
1287
|
*
|
|
1288
1288
|
* @param {string} [sGroupId]
|
|
1289
1289
|
* The group ID to be used for the request; if not specified, the group ID for this binding is
|
|
1290
|
-
* used, see {@link
|
|
1291
|
-
* {@link #
|
|
1292
|
-
* be specified explicitly.
|
|
1290
|
+
* used, see {@link #constructor} and {@link #getGroupId}. To use the update group ID, see
|
|
1291
|
+
* {@link #getUpdateGroupId}, it needs to be specified explicitly.
|
|
1293
1292
|
* Valid values are <code>undefined</code>, '$auto', '$auto.*', '$direct', '$single', or
|
|
1294
1293
|
* application group IDs as specified in {@link sap.ui.model.odata.v4.ODataModel}. If
|
|
1295
1294
|
* '$single' is used, the request will be sent as fast as '$direct', but wrapped in a batch
|
|
@@ -59,7 +59,7 @@ sap.ui.define([
|
|
|
59
59
|
* @mixes sap.ui.model.odata.v4.ODataParentBinding
|
|
60
60
|
* @public
|
|
61
61
|
* @since 1.37.0
|
|
62
|
-
* @version 1.
|
|
62
|
+
* @version 1.134.0
|
|
63
63
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getGroupId as #getGroupId
|
|
64
64
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getRootBinding as #getRootBinding
|
|
65
65
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getUpdateGroupId as #getUpdateGroupId
|
|
@@ -882,9 +882,9 @@ sap.ui.define([
|
|
|
882
882
|
* <br>
|
|
883
883
|
* Since 1.98.0, when the first property updates happens, the context is no longer
|
|
884
884
|
* {@link sap.ui.model.odata.v4.Context#isInactive inactive} and the
|
|
885
|
-
* {@link
|
|
886
|
-
*
|
|
887
|
-
*
|
|
885
|
+
* {@link #event:createActivate 'createActivate'} event is fired. While inactive, it does not
|
|
886
|
+
* count as a {@link #hasPendingChanges pending change} and does not contribute to the
|
|
887
|
+
* {@link #getCount count}.
|
|
888
888
|
* @returns {sap.ui.model.odata.v4.Context}
|
|
889
889
|
* The context object for the created entity; its method
|
|
890
890
|
* {@link sap.ui.model.odata.v4.Context#created} returns a promise that is resolved when the
|
|
@@ -1853,7 +1853,7 @@ sap.ui.define([
|
|
|
1853
1853
|
* A promise that is resolved with the download URL or <code>null</code>
|
|
1854
1854
|
* @throws {Error}
|
|
1855
1855
|
* If the binding is unresolved or is {@link #isTransient transient} (part of a
|
|
1856
|
-
* {@link
|
|
1856
|
+
* {@link #create deep create})
|
|
1857
1857
|
*
|
|
1858
1858
|
* @private
|
|
1859
1859
|
*/
|
|
@@ -1931,20 +1931,21 @@ sap.ui.define([
|
|
|
1931
1931
|
return bToLower ? "tolower(" + sText + ")" : sText;
|
|
1932
1932
|
}
|
|
1933
1933
|
|
|
1934
|
-
bToLower = sEdmType === "Edm.String" && oFilter.
|
|
1934
|
+
bToLower = sEdmType === "Edm.String" && oFilter.isCaseSensitive() === false;
|
|
1935
1935
|
sFilterPath = bThese && !aFiltersNoThese?.includes(oFilter)
|
|
1936
|
-
? setCase(`$these/aggregate(${oFilter.
|
|
1937
|
-
: setCase(decodeURIComponent(oFilter.
|
|
1938
|
-
sValue = setCase(_Helper.formatLiteral(oFilter.
|
|
1936
|
+
? setCase(`$these/aggregate(${oFilter.getPath()})`)
|
|
1937
|
+
: setCase(decodeURIComponent(oFilter.getPath()));
|
|
1938
|
+
sValue = setCase(_Helper.formatLiteral(oFilter.getValue1(), sEdmType));
|
|
1939
1939
|
|
|
1940
|
-
switch (oFilter.
|
|
1940
|
+
switch (oFilter.getOperator()) {
|
|
1941
1941
|
case FilterOperator.BT:
|
|
1942
1942
|
sFilter = sFilterPath + " ge " + sValue + " and " + sFilterPath + " le "
|
|
1943
|
-
+ setCase(_Helper.formatLiteral(oFilter.
|
|
1943
|
+
+ setCase(_Helper.formatLiteral(oFilter.getValue2(), sEdmType));
|
|
1944
1944
|
break;
|
|
1945
1945
|
case FilterOperator.NB:
|
|
1946
1946
|
sFilter = wrap(sFilterPath + " lt " + sValue + " or " + sFilterPath + " gt "
|
|
1947
|
-
+ setCase(_Helper.formatLiteral(oFilter.
|
|
1947
|
+
+ setCase(_Helper.formatLiteral(oFilter.getValue2(), sEdmType)),
|
|
1948
|
+
bWithinAnd);
|
|
1948
1949
|
break;
|
|
1949
1950
|
case FilterOperator.EQ:
|
|
1950
1951
|
case FilterOperator.GE:
|
|
@@ -1952,7 +1953,8 @@ sap.ui.define([
|
|
|
1952
1953
|
case FilterOperator.LE:
|
|
1953
1954
|
case FilterOperator.LT:
|
|
1954
1955
|
case FilterOperator.NE:
|
|
1955
|
-
sFilter = sFilterPath + " " + oFilter.
|
|
1956
|
+
sFilter = sFilterPath + " " + oFilter.getOperator().toLowerCase() + " "
|
|
1957
|
+
+ sValue;
|
|
1956
1958
|
break;
|
|
1957
1959
|
case FilterOperator.Contains:
|
|
1958
1960
|
case FilterOperator.EndsWith:
|
|
@@ -1960,11 +1962,11 @@ sap.ui.define([
|
|
|
1960
1962
|
case FilterOperator.NotEndsWith:
|
|
1961
1963
|
case FilterOperator.NotStartsWith:
|
|
1962
1964
|
case FilterOperator.StartsWith:
|
|
1963
|
-
sFilter = oFilter.
|
|
1965
|
+
sFilter = oFilter.getOperator().toLowerCase().replace("not", "not ")
|
|
1964
1966
|
+ "(" + sFilterPath + "," + sValue + ")";
|
|
1965
1967
|
break;
|
|
1966
1968
|
default:
|
|
1967
|
-
throw new Error("Unsupported operator: " + oFilter.
|
|
1969
|
+
throw new Error("Unsupported operator: " + oFilter.getOperator());
|
|
1968
1970
|
}
|
|
1969
1971
|
return sFilter;
|
|
1970
1972
|
}
|
|
@@ -1985,18 +1987,18 @@ sap.ui.define([
|
|
|
1985
1987
|
return SyncPromise.resolve();
|
|
1986
1988
|
}
|
|
1987
1989
|
|
|
1988
|
-
if (oFilter.
|
|
1989
|
-
return SyncPromise.all(oFilter.
|
|
1990
|
-
return fetchFilter(oSubFilter, mLambdaVariableToPath, oFilter.
|
|
1990
|
+
if (oFilter.getFilters()) {
|
|
1991
|
+
return SyncPromise.all(oFilter.getFilters().map(function (oSubFilter) {
|
|
1992
|
+
return fetchFilter(oSubFilter, mLambdaVariableToPath, oFilter.isAnd(), bThese);
|
|
1991
1993
|
})).then(function (aFilterStrings) {
|
|
1992
1994
|
// wrap it if it's an 'or' filter embedded in an 'and'
|
|
1993
|
-
return wrap(aFilterStrings.join(oFilter.
|
|
1994
|
-
bWithinAnd && !oFilter.
|
|
1995
|
+
return wrap(aFilterStrings.join(oFilter.isAnd() ? " and " : " or "),
|
|
1996
|
+
bWithinAnd && !oFilter.isAnd());
|
|
1995
1997
|
});
|
|
1996
1998
|
}
|
|
1997
1999
|
|
|
1998
2000
|
sResolvedPath = oMetaModel.resolve(
|
|
1999
|
-
replaceLambdaVariables(oFilter.
|
|
2001
|
+
replaceLambdaVariables(oFilter.getPath(), mLambdaVariableToPath), oMetaContext);
|
|
2000
2002
|
|
|
2001
2003
|
return oMetaModel.fetchObject(sResolvedPath).then(function (oPropertyMetadata) {
|
|
2002
2004
|
var oCondition, sLambdaVariable, sOperator;
|
|
@@ -2006,23 +2008,23 @@ sap.ui.define([
|
|
|
2006
2008
|
+ sResolvedPath);
|
|
2007
2009
|
}
|
|
2008
2010
|
|
|
2009
|
-
sOperator = oFilter.
|
|
2011
|
+
sOperator = oFilter.getOperator();
|
|
2010
2012
|
if (sOperator === FilterOperator.All || sOperator === FilterOperator.Any) {
|
|
2011
|
-
oCondition = oFilter.
|
|
2012
|
-
sLambdaVariable = oFilter.
|
|
2013
|
+
oCondition = oFilter.getCondition();
|
|
2014
|
+
sLambdaVariable = oFilter.getVariable();
|
|
2013
2015
|
if (sOperator === FilterOperator.Any && !oCondition) {
|
|
2014
|
-
return oFilter.
|
|
2016
|
+
return oFilter.getPath() + "/any()";
|
|
2015
2017
|
}
|
|
2016
2018
|
// multifilters are processed in parallel, so clone mLambdaVariableToPath
|
|
2017
2019
|
// to allow same lambda variables in different filters
|
|
2018
2020
|
mLambdaVariableToPath = Object.create(mLambdaVariableToPath);
|
|
2019
2021
|
mLambdaVariableToPath[sLambdaVariable]
|
|
2020
|
-
= replaceLambdaVariables(oFilter.
|
|
2022
|
+
= replaceLambdaVariables(oFilter.getPath(), mLambdaVariableToPath);
|
|
2021
2023
|
|
|
2022
2024
|
return fetchFilter(
|
|
2023
2025
|
oCondition, mLambdaVariableToPath
|
|
2024
2026
|
).then(function (sFilterValue) {
|
|
2025
|
-
return oFilter.
|
|
2027
|
+
return oFilter.getPath() + "/" + oFilter.getOperator().toLowerCase()
|
|
2026
2028
|
+ "(" + sLambdaVariable + ":" + sFilterValue + ")";
|
|
2027
2029
|
});
|
|
2028
2030
|
}
|
|
@@ -2317,8 +2319,8 @@ sap.ui.define([
|
|
|
2317
2319
|
* @throws {Error} If
|
|
2318
2320
|
* <ul>
|
|
2319
2321
|
* <li> there are pending changes that cannot be ignored,
|
|
2320
|
-
* <li> the binding is {@link #
|
|
2321
|
-
* {@link sap.ui.model.odata.v4.
|
|
2322
|
+
* <li> the binding is part of a {@link #create deep create} because it is relative to a
|
|
2323
|
+
* {@link sap.ui.model.odata.v4.Context#isTransient transient} context,
|
|
2322
2324
|
* <li> an unsupported operation mode is used (see
|
|
2323
2325
|
* {@link sap.ui.model.odata.v4.ODataModel#bindList}),
|
|
2324
2326
|
* <li> the {@link sap.ui.model.Filter.NONE} filter instance is contained in
|
|
@@ -3108,8 +3110,8 @@ sap.ui.define([
|
|
|
3108
3110
|
* <li> the binding is unresolved,
|
|
3109
3111
|
* <li> the given context path does not match this binding,
|
|
3110
3112
|
* <li> the binding's root binding is suspended,
|
|
3111
|
-
* <li> the binding is {@link #
|
|
3112
|
-
* {@link sap.ui.model.odata.v4.
|
|
3113
|
+
* <li> the binding is part of a {@link #create deep create} because it is relative to a
|
|
3114
|
+
* {@link sap.ui.model.odata.v4.Context#isTransient transient} context,
|
|
3113
3115
|
* <li> {@link sap.ui.model.odata.v4.Context#setKeepAlive} fails
|
|
3114
3116
|
* </ul>
|
|
3115
3117
|
*
|
|
@@ -3248,7 +3250,7 @@ sap.ui.define([
|
|
|
3248
3250
|
|
|
3249
3251
|
this.aSorters.forEach(function (oSorter) {
|
|
3250
3252
|
if (oSorter instanceof Sorter) {
|
|
3251
|
-
aOrderbyOptions.push(oSorter.
|
|
3253
|
+
aOrderbyOptions.push(oSorter.getPath() + (oSorter.isDescending() ? " desc" : ""));
|
|
3252
3254
|
} else {
|
|
3253
3255
|
throw new Error("Unsupported sorter: " + oSorter + " - " + that);
|
|
3254
3256
|
}
|
|
@@ -3268,8 +3270,7 @@ sap.ui.define([
|
|
|
3268
3270
|
* @returns {Object<any>} mQueryOptions
|
|
3269
3271
|
* The object with the query options. Query options can be provided with
|
|
3270
3272
|
* {@link sap.ui.model.odata.v4.ODataModel#bindList},
|
|
3271
|
-
* {@link sap.ui.model.odata.v4.ODataModel#bindContext},
|
|
3272
|
-
* {@link sap.ui.model.odata.v4.ODataListBinding#changeParameters}, and
|
|
3273
|
+
* {@link sap.ui.model.odata.v4.ODataModel#bindContext}, {@link #changeParameters}, and
|
|
3273
3274
|
* {@link sap.ui.model.odata.v4.ODataContextBinding#changeParameters}. System query options
|
|
3274
3275
|
* can also be calculated, e.g. <code>$filter</code> can be calculated based on provided
|
|
3275
3276
|
* filter objects.
|
|
@@ -3987,10 +3988,8 @@ sap.ui.define([
|
|
|
3987
3988
|
* A lock for the group ID to be used for refresh
|
|
3988
3989
|
* @param {boolean} [bAllowRemoval]
|
|
3989
3990
|
* Allows the list binding to remove the given context from its collection because the
|
|
3990
|
-
* entity does not match the binding's filter anymore,
|
|
3991
|
-
* see {@link sap.ui.model.
|
|
3992
|
-
* destroyed, see {@link sap.ui.model.Context#destroy}.
|
|
3993
|
-
* Supported since 1.55.0
|
|
3991
|
+
* entity does not match the binding's filter anymore, see {@link #filter}; a removed context
|
|
3992
|
+
* is destroyed, see {@link sap.ui.model.Context#destroy}. Supported since 1.55.0
|
|
3994
3993
|
*
|
|
3995
3994
|
* A removed context is destroyed unless it is
|
|
3996
3995
|
* {@link sap.ui.model.odata.v4.Context#isKeepAlive kept alive} and still exists on the
|
|
@@ -4284,8 +4283,8 @@ sap.ui.define([
|
|
|
4284
4283
|
* messages; it resolves with <code>null</code> if the binding is not resolved or if there is
|
|
4285
4284
|
* no message for any entry
|
|
4286
4285
|
* @throws {Error}
|
|
4287
|
-
* If the binding is {@link #
|
|
4288
|
-
* {@link sap.ui.model.odata.v4.
|
|
4286
|
+
* If the binding is part of a {@link #create deep create} because it is relative to a
|
|
4287
|
+
* {@link sap.ui.model.odata.v4.Context#isTransient transient} context
|
|
4289
4288
|
*
|
|
4290
4289
|
* @protected
|
|
4291
4290
|
* @see sap.ui.model.ListBinding#requestFilterForMessages
|
|
@@ -4338,6 +4337,79 @@ sap.ui.define([
|
|
|
4338
4337
|
});
|
|
4339
4338
|
};
|
|
4340
4339
|
|
|
4340
|
+
/**
|
|
4341
|
+
* Requests selected contexts matching the binding's filters and ordered by its sorters. A
|
|
4342
|
+
* context which is selected but no longer part of this list binding's collection (that is,
|
|
4343
|
+
* which doesn't match the filters) is not returned but still shown as selected on the UI
|
|
4344
|
+
* (see {@link #requestSelectionValidation}).
|
|
4345
|
+
*
|
|
4346
|
+
* Note: Data for all selected contexts is reread from the server, even if it is already
|
|
4347
|
+
* available on the client. Any data updates are reflected on the UI but no order is changed.
|
|
4348
|
+
*
|
|
4349
|
+
* @param {string} [sGroupId]
|
|
4350
|
+
* The group ID to be used for the request; if not specified, the group ID for this binding is
|
|
4351
|
+
* used, see {@link #getGroupId}. Valid values are <code>undefined</code>, '$auto', '$auto.*',
|
|
4352
|
+
* '$direct' or application group IDs as specified in
|
|
4353
|
+
* {@link sap.ui.model.odata.v4.ODataModel}.
|
|
4354
|
+
* @returns {Promise<sap.ui.model.odata.v4.Context[]>}
|
|
4355
|
+
* A promise which resolves with an array of selected contexts (which may well be empty), or
|
|
4356
|
+
* rejects with an instance of <code>Error</code> in case of failure
|
|
4357
|
+
* @throws {Error} If
|
|
4358
|
+
* <ul>
|
|
4359
|
+
* <li> the binding uses or inherits the <code>$$sharedRequest</code> parameter
|
|
4360
|
+
* (see {@link sap.ui.model.odata.v4.ODataModel#bindList}),
|
|
4361
|
+
* <li> the binding uses data aggregation or a recursive hierarchy (see
|
|
4362
|
+
* {@link #setAggregation}),
|
|
4363
|
+
* <li> the binding's root binding is suspended,
|
|
4364
|
+
* <li> the binding is part of a {@link #create deep create} because it is relative to a
|
|
4365
|
+
* {@link sap.ui.model.odata.v4.Context#isTransient transient} context,
|
|
4366
|
+
* <li> the binding's header context is selected ("Select All"),
|
|
4367
|
+
* <li> there are pending changes,
|
|
4368
|
+
* <li> the given group ID is invalid.
|
|
4369
|
+
* </ul>
|
|
4370
|
+
*
|
|
4371
|
+
* @private
|
|
4372
|
+
* @since 1.134.0
|
|
4373
|
+
* @ui5-restricted sap.m.Table
|
|
4374
|
+
*/
|
|
4375
|
+
ODataListBinding.prototype.requestSelectedContexts = function (sGroupId) {
|
|
4376
|
+
if (this.bSharedRequest) {
|
|
4377
|
+
throw new Error("Unsupported $$sharedRequest at " + this);
|
|
4378
|
+
}
|
|
4379
|
+
if ("$$aggregation" in this.mParameters) {
|
|
4380
|
+
throw new Error("Unsupported $$aggregation at " + this);
|
|
4381
|
+
}
|
|
4382
|
+
this.checkSuspended();
|
|
4383
|
+
this.checkTransient();
|
|
4384
|
+
if (this.oHeaderContext.isSelected()) {
|
|
4385
|
+
throw new Error('Unsupported "Select All": ' + this.oHeaderContext);
|
|
4386
|
+
}
|
|
4387
|
+
if (this.hasPendingChanges()) {
|
|
4388
|
+
throw new Error("Unsupported pending changes");
|
|
4389
|
+
}
|
|
4390
|
+
_Helper.checkGroupId(sGroupId);
|
|
4391
|
+
|
|
4392
|
+
const mPath2Context = {};
|
|
4393
|
+
const iStartOfPredicate = this.getResolvedPath().length;
|
|
4394
|
+
const aPredicatesIn = this._getAllExistingContexts()
|
|
4395
|
+
.filter((oContext) => oContext.isSelected())
|
|
4396
|
+
.map((oContext) => {
|
|
4397
|
+
mPath2Context[oContext.getPath()] = oContext;
|
|
4398
|
+
|
|
4399
|
+
return oContext.getPath().slice(iStartOfPredicate);
|
|
4400
|
+
});
|
|
4401
|
+
if (!aPredicatesIn.length) {
|
|
4402
|
+
return Promise.resolve([]);
|
|
4403
|
+
}
|
|
4404
|
+
|
|
4405
|
+
return this.oCache.requestFilteredOrderedPredicates(aPredicatesIn, this.lockGroup(sGroupId))
|
|
4406
|
+
.then((aPredicatesOut) => {
|
|
4407
|
+
// Note: make sure to respect back-end sort order
|
|
4408
|
+
return aPredicatesOut
|
|
4409
|
+
.map((sPredicate) => mPath2Context[this.oHeaderContext.getPath() + sPredicate]);
|
|
4410
|
+
});
|
|
4411
|
+
};
|
|
4412
|
+
|
|
4341
4413
|
/**
|
|
4342
4414
|
* @override
|
|
4343
4415
|
* @see sap.ui.model.odata.v4.ODataParentBinding#requestSideEffects
|
|
@@ -4719,8 +4791,8 @@ sap.ui.define([
|
|
|
4719
4791
|
* <li> there are pending changes,
|
|
4720
4792
|
* <li> a recursive hierarchy is requested, but the model does not use the
|
|
4721
4793
|
* <code>autoExpandSelect</code> parameter,
|
|
4722
|
-
* <li> the binding is {@link #
|
|
4723
|
-
* {@link sap.ui.model.odata.v4.
|
|
4794
|
+
* <li> the binding is part of a {@link #create deep create} because it is relative to a
|
|
4795
|
+
* {@link sap.ui.model.odata.v4.Context#isTransient transient} context,
|
|
4724
4796
|
* <li> the binding has {@link sap.ui.model.Filter.NONE}
|
|
4725
4797
|
* </ul>
|
|
4726
4798
|
*
|
|
@@ -4900,8 +4972,8 @@ sap.ui.define([
|
|
|
4900
4972
|
* @throws {Error} If
|
|
4901
4973
|
* <ul>
|
|
4902
4974
|
* <li> there are pending changes that cannot be ignored,
|
|
4903
|
-
* <li> the binding is {@link #
|
|
4904
|
-
* {@link sap.ui.model.odata.v4.
|
|
4975
|
+
* <li> the binding is part of a {@link #create deep create} because it is relative to a
|
|
4976
|
+
* {@link sap.ui.model.odata.v4.Context#isTransient transient} context,
|
|
4905
4977
|
* <li> an unsupported operation mode is used (see
|
|
4906
4978
|
* {@link sap.ui.model.odata.v4.ODataModel#bindList}).
|
|
4907
4979
|
* </ul>
|
|
@@ -157,7 +157,7 @@ sap.ui.define([
|
|
|
157
157
|
* @hideconstructor
|
|
158
158
|
* @public
|
|
159
159
|
* @since 1.37.0
|
|
160
|
-
* @version 1.
|
|
160
|
+
* @version 1.134.0
|
|
161
161
|
*/
|
|
162
162
|
ODataMetaModel = MetaModel.extend("sap.ui.model.odata.v4.ODataMetaModel", {
|
|
163
163
|
constructor : constructor
|
|
@@ -2435,8 +2435,8 @@ sap.ui.define([
|
|
|
2435
2435
|
* of "cross-service references" (see parameter <code>supportReferences</code> of
|
|
2436
2436
|
* {@link sap.ui.model.odata.v4.ODataModel#constructor}).
|
|
2437
2437
|
*
|
|
2438
|
-
* @deprecated As of 1.51.0, use {@link #getETags} instead because modifications to old
|
|
2439
|
-
* may be shadowed by a new file in certain scenarios.
|
|
2438
|
+
* @deprecated As of version 1.51.0, use {@link #getETags} instead because modifications to old
|
|
2439
|
+
* files may be shadowed by a new file in certain scenarios.
|
|
2440
2440
|
* @public
|
|
2441
2441
|
* @since 1.47.0
|
|
2442
2442
|
*/
|