@openui5/sap.ui.integration 1.94.0 → 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/.reuse/dep5 +12 -12
- package/THIRDPARTY.txt +21 -17
- package/package.json +3 -3
- package/src/sap/ui/integration/.library +6 -1
- package/src/sap/ui/integration/ActionDefinition.js +1 -1
- package/src/sap/ui/integration/Designtime.js +1 -1
- package/src/sap/ui/integration/Extension.js +1 -1
- package/src/sap/ui/integration/Host.js +107 -8
- package/src/sap/ui/integration/ManifestResolver.js +102 -0
- package/src/sap/ui/integration/cards/AdaptiveContent.js +1 -1
- package/src/sap/ui/integration/cards/AnalyticalContent.js +180 -150
- package/src/sap/ui/integration/cards/AnalyticsCloudContent.js +6 -3
- package/src/sap/ui/integration/cards/BaseContent.js +60 -6
- package/src/sap/ui/integration/cards/BaseContentRenderer.js +1 -1
- package/src/sap/ui/integration/cards/BaseListContent.js +26 -4
- package/src/sap/ui/integration/cards/CalendarContent.js +4 -2
- package/src/sap/ui/integration/cards/CalendarContentRenderer.js +9 -3
- package/src/sap/ui/integration/cards/ComponentContent.js +2 -1
- package/src/sap/ui/integration/cards/Footer.js +1 -1
- package/src/sap/ui/integration/cards/Header.js +7 -1
- package/src/sap/ui/integration/cards/ListContent.js +71 -22
- package/src/sap/ui/integration/cards/ListContentRenderer.js +38 -7
- package/src/sap/ui/integration/cards/NumericHeader.js +9 -2
- package/src/sap/ui/integration/cards/ObjectContent.js +145 -131
- package/src/sap/ui/integration/cards/TableContent.js +12 -8
- package/src/sap/ui/integration/cards/TimelineContent.js +7 -9
- package/src/sap/ui/integration/cards/WebPageContent.js +5 -1
- package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputChoiceSet.js +1 -1
- package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputDate.js +1 -1
- package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputNumber.js +1 -1
- package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputText.js +1 -1
- package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputToggle.js +1 -1
- package/src/sap/ui/integration/cards/{Filter.js → filters/BaseFilter.js} +56 -128
- package/src/sap/ui/integration/cards/filters/DateRangeFilter.js +234 -0
- package/src/sap/ui/integration/{util → cards/filters}/FilterBarFactory.js +37 -12
- package/src/sap/ui/integration/cards/filters/SelectFilter.js +187 -0
- package/src/sap/ui/integration/controls/ActionsStrip.js +1 -1
- package/src/sap/ui/integration/controls/ActionsToolbar.js +1 -1
- package/src/sap/ui/integration/controls/ListContentItem.js +13 -2
- package/src/sap/ui/integration/controls/ListContentItemRenderer.js +65 -2
- package/src/sap/ui/integration/controls/Microchart.js +1 -1
- package/src/sap/ui/integration/controls/MicrochartLegend.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/BaseEditor.js +26 -1
- package/src/sap/ui/integration/designtime/baseEditor/PropertyEditor.js +44 -2
- package/src/sap/ui/integration/designtime/baseEditor/PropertyEditors.js +27 -1
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n.properties +34 -25
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ar.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_bg.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ca.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_cs.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_cy.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_da.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_de.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_el.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_en.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_en_GB.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_en_US_sappsd.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_en_US_saptrc.properties +20 -14
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_es.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_es_MX.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_et.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_fi.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_fr.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_fr_CA.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_hi.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_hr.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_hu.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_id.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_it.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_iw.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ja.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_kk.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ko.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_lt.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_lv.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ms.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_nl.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_no.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_pl.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_pt.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_pt_PT.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ro.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ru.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_sh.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_sk.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_sl.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_sv.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_th.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_tr.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_uk.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_vi.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_zh_CN.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_zh_TW.properties +19 -13
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/BasePropertyEditor.js +48 -3
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/PropertyEditorFactory.js +2 -2
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/arrayEditor/ArrayEditor.js +4 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/booleanEditor/BooleanEditor.js +4 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/dateEditor/DateEditor.fragment.xml +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/dateEditor/DateEditor.js +65 -17
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/dateTimeEditor/DateTimeEditor.fragment.xml +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/dateTimeEditor/DateTimeEditor.js +17 -4
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/enumStringEditor/EnumStringEditor.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/groupEditor/GroupEditor.js +4 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/iconEditor/IconEditor.js +10 -2
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/iconEditor/IsInIconPool.validator.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/integerEditor/IntegerEditor.js +10 -2
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/jsonEditor/JsonEditor.js +11 -2
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/listEditor/ListEditor.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/mapEditor/MapEditor.fragment.xml +8 -2
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/mapEditor/MapEditor.js +62 -35
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/numberEditor/NumberEditor.js +10 -2
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/selectEditor/SelectEditor.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/separatorEditor/SeparatorEditor.js +4 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/stringEditor/StringEditor.js +4 -1
- package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/textAreaEditor/TextAreaEditor.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/util/binding/ObjectBinding.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/util/unset.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/validator/IsBoolean.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/validator/IsDate.js +5 -4
- package/src/sap/ui/integration/designtime/baseEditor/validator/IsInteger.js +1 -5
- package/src/sap/ui/integration/designtime/baseEditor/validator/IsNumber.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/validator/IsSelectedKey.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/validator/IsStringList.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/validator/IsUniqueKey.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/validator/IsUniqueList.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/validator/IsValidBinding.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/validator/MaxLength.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/validator/NotABinding.js +1 -1
- package/src/sap/ui/integration/designtime/baseEditor/validator/ValidatorRegistry.js +1 -1
- package/src/sap/ui/integration/designtime/cardEditor/BASEditor.js +7 -1
- package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/complexMapEditor/ComplexMapEditor.js +1 -1
- package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/destinationsEditor/DestinationsEditor.js +1 -1
- package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/iconEditor/IconEditor.js +11 -1
- package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/parametersEditor/ParametersEditor.js +1 -1
- package/src/sap/ui/integration/designtime/editor/CardEditor.js +12 -10
- package/src/sap/ui/integration/designtime/editor/CardPreview.js +46 -3
- package/src/sap/ui/integration/designtime/editor/css/CardPreview.css +22 -1
- package/src/sap/ui/integration/editor/Editor.js +214 -108
- package/src/sap/ui/integration/editor/EditorResourceBundles.js +3 -3
- package/src/sap/ui/integration/editor/Extension.js +1 -1
- package/src/sap/ui/integration/editor/Manifest.js +2 -2
- package/src/sap/ui/integration/editor/Merger.js +6 -4
- package/src/sap/ui/integration/editor/Settings.js +48 -34
- package/src/sap/ui/integration/editor/css/Editor.css +6 -18
- package/src/sap/ui/integration/editor/fields/BaseField.js +26 -3
- package/src/sap/ui/integration/editor/fields/BooleanField.js +3 -1
- package/src/sap/ui/integration/editor/fields/DateField.js +1 -1
- package/src/sap/ui/integration/editor/fields/DateTimeField.js +1 -1
- package/src/sap/ui/integration/editor/fields/DestinationField.js +1 -1
- package/src/sap/ui/integration/editor/fields/IntegerField.js +4 -1
- package/src/sap/ui/integration/editor/fields/ListField.js +279 -87
- package/src/sap/ui/integration/editor/fields/NumberField.js +1 -1
- package/src/sap/ui/integration/editor/fields/StringField.js +67 -7
- package/src/sap/ui/integration/editor/fields/viz/ColorSelect.js +1 -1
- package/src/sap/ui/integration/editor/fields/viz/IconSelect.js +3 -3
- package/src/sap/ui/integration/editor/fields/viz/ShapeSelect.js +1 -1
- package/src/sap/ui/integration/editor/languages.json +32 -32
- package/src/sap/ui/integration/library.js +22 -2
- package/src/sap/ui/integration/model/ContextModel.js +1 -1
- package/src/sap/ui/integration/model/ObservableModel.js +2 -14
- package/src/sap/ui/integration/schemas/sap-card.json +344 -44
- package/src/sap/ui/integration/themes/base/AnalyticsCloudContent.less +4 -0
- package/src/sap/ui/integration/themes/base/CalendarContent.less +31 -2
- package/src/sap/ui/integration/themes/base/ListContentItem.less +102 -62
- package/src/sap/ui/integration/themes/base/Microchart.less +0 -1
- package/src/sap/ui/integration/util/BaseFactory.js +1 -1
- package/src/sap/ui/integration/util/BindingHelper.js +2 -2
- package/src/sap/ui/integration/util/BindingResolver.js +1 -1
- package/src/sap/ui/integration/util/CacheAndRequestDataProvider.js +58 -24
- package/src/sap/ui/integration/util/CardActions.js +1 -1
- package/src/sap/ui/integration/util/CardMerger.js +5 -3
- package/src/sap/ui/integration/util/CardObserver.js +1 -1
- package/src/sap/ui/integration/util/ContentFactory.js +3 -7
- package/src/sap/ui/integration/util/CsrfTokenHandler.js +312 -0
- package/src/sap/ui/integration/util/DataProvider.js +13 -4
- package/src/sap/ui/integration/util/DataProviderFactory.js +59 -16
- package/src/sap/ui/integration/util/Destinations.js +1 -1
- package/src/sap/ui/integration/util/ExtensionDataProvider.js +1 -1
- package/src/sap/ui/integration/util/HeaderFactory.js +8 -7
- package/src/sap/ui/integration/util/JSONBindingHelper.js +4 -4
- package/src/sap/ui/integration/util/LoadingProvider.js +1 -1
- package/src/sap/ui/integration/util/Manifest.js +4 -3
- package/src/sap/ui/integration/util/RequestDataProvider.js +88 -50
- package/src/sap/ui/integration/util/ServiceDataProvider.js +1 -1
- package/src/sap/ui/integration/util/ServiceManager.js +1 -1
- package/src/sap/ui/integration/util/Utils.js +41 -1
- package/src/sap/ui/integration/widgets/Card.js +178 -72
- package/ui5.yaml +289 -1
|
@@ -18,7 +18,7 @@ sap.ui.define([
|
|
|
18
18
|
var RETRY_STATUS_CODES = [429, 503];
|
|
19
19
|
|
|
20
20
|
var aModes = ["no-cors", "same-origin", "cors"];
|
|
21
|
-
var aMethods = ["GET", "POST"];
|
|
21
|
+
var aMethods = ["GET", "POST", "HEAD"];
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* Constructor for a new <code>RequestDataProvider</code>.
|
|
@@ -31,11 +31,11 @@ sap.ui.define([
|
|
|
31
31
|
* @extends sap.ui.integration.util.DataProvider
|
|
32
32
|
*
|
|
33
33
|
* @author SAP SE
|
|
34
|
-
* @version 1.
|
|
34
|
+
* @version 1.97.0
|
|
35
35
|
*
|
|
36
36
|
* @constructor
|
|
37
37
|
* @private
|
|
38
|
-
* @ui5-restricted
|
|
38
|
+
* @ui5-restricted sap.ui.integration, shell-toolkit
|
|
39
39
|
* @since 1.65
|
|
40
40
|
* @alias sap.ui.integration.util.RequestDataProvider
|
|
41
41
|
*/
|
|
@@ -63,42 +63,50 @@ sap.ui.define([
|
|
|
63
63
|
DataProvider.prototype.destroy.apply(this, arguments);
|
|
64
64
|
};
|
|
65
65
|
|
|
66
|
+
RequestDataProvider.prototype.getLastJQXHR = function () {
|
|
67
|
+
return this._lastJQXHR;
|
|
68
|
+
};
|
|
69
|
+
|
|
66
70
|
/**
|
|
67
71
|
* @override
|
|
68
72
|
* @private
|
|
69
|
-
* @ui5-restricted
|
|
73
|
+
* @ui5-restricted sap.ui.integration, shell-toolkit
|
|
70
74
|
* @returns {Promise} A promise resolved when the data is available and rejected in case of an error.
|
|
71
75
|
*/
|
|
72
76
|
RequestDataProvider.prototype.getData = function () {
|
|
73
|
-
var oRequestConfig = this.getSettings().request
|
|
77
|
+
var oRequestConfig = this.getSettings().request,
|
|
78
|
+
pRequestChain = Promise.resolve(oRequestConfig);
|
|
74
79
|
|
|
75
80
|
if (this._oDestinations) {
|
|
76
|
-
|
|
77
|
-
.then(this._fetch.bind(this));
|
|
81
|
+
pRequestChain = this._oDestinations.process(oRequestConfig);
|
|
78
82
|
}
|
|
79
83
|
|
|
80
|
-
|
|
81
|
-
|
|
84
|
+
if (this._oCsrfTokenHandler) {
|
|
85
|
+
pRequestChain = pRequestChain.then(function (oRequest) {
|
|
86
|
+
return this._oCsrfTokenHandler.resolveToken(oRequest);
|
|
87
|
+
}.bind(this));
|
|
88
|
+
}
|
|
82
89
|
|
|
83
|
-
|
|
90
|
+
pRequestChain = pRequestChain.then(this._fetch.bind(this));
|
|
84
91
|
|
|
85
|
-
if (
|
|
86
|
-
|
|
92
|
+
if (this._oCsrfTokenHandler) {
|
|
93
|
+
pRequestChain = pRequestChain.catch(this._handleExpiredToken.bind(this));
|
|
87
94
|
}
|
|
88
95
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
96
|
+
return pRequestChain;
|
|
97
|
+
};
|
|
92
98
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
99
|
+
RequestDataProvider.prototype._handleExpiredToken = function (oError) {
|
|
100
|
+
if (this._oCsrfTokenHandler.isExpiredToken(this.getLastJQXHR())) {
|
|
101
|
+
// csrf token has expired, reset the token and retry this whole request
|
|
102
|
+
this._oCsrfTokenHandler.resetTokenByRequest(this.getSettings().request);
|
|
96
103
|
|
|
97
|
-
|
|
98
|
-
|
|
104
|
+
return this.getData().catch(function (oError) {
|
|
105
|
+
throw oError;
|
|
106
|
+
});
|
|
99
107
|
}
|
|
100
108
|
|
|
101
|
-
|
|
109
|
+
throw oError;
|
|
102
110
|
};
|
|
103
111
|
|
|
104
112
|
RequestDataProvider.prototype._fetch = function (oRequestConfig) {
|
|
@@ -153,6 +161,10 @@ sap.ui.define([
|
|
|
153
161
|
}
|
|
154
162
|
};
|
|
155
163
|
|
|
164
|
+
if (!vData) {
|
|
165
|
+
delete oRequest.data;
|
|
166
|
+
}
|
|
167
|
+
|
|
156
168
|
if (!this._isValidRequest(oRequest)) {
|
|
157
169
|
Log.error(sMessage);
|
|
158
170
|
return Promise.reject(sMessage);
|
|
@@ -160,11 +172,10 @@ sap.ui.define([
|
|
|
160
172
|
|
|
161
173
|
return this._request(oRequest)
|
|
162
174
|
.then(function (vResult) {
|
|
163
|
-
var vData = vResult[0]
|
|
164
|
-
jqXHR = vResult[1];
|
|
175
|
+
var vData = vResult[0];
|
|
165
176
|
|
|
166
177
|
if (mBatchRequests) {
|
|
167
|
-
return this._deserializeBatchResponse(mBatchRequests, vData
|
|
178
|
+
return this._deserializeBatchResponse(mBatchRequests, vData);
|
|
168
179
|
}
|
|
169
180
|
|
|
170
181
|
return vData;
|
|
@@ -179,28 +190,35 @@ sap.ui.define([
|
|
|
179
190
|
*/
|
|
180
191
|
RequestDataProvider.prototype._request = function (oRequest, bNoRetry) {
|
|
181
192
|
return new Promise(function (resolve, reject) {
|
|
182
|
-
jQuery.ajax(oRequest).done(
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
193
|
+
jQuery.ajax(oRequest).done(
|
|
194
|
+
function (vData, sTextStatus, jqXHR) {
|
|
195
|
+
if (this.bIsDestroyed) {
|
|
196
|
+
reject("RequestDataProvider is already destroyed before the response is received.");
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
this._lastJQXHR = jqXHR;
|
|
201
|
+
|
|
202
|
+
resolve([vData, jqXHR]);
|
|
203
|
+
}.bind(this)
|
|
204
|
+
).fail(
|
|
205
|
+
function (jqXHR, sTextStatus, sError) {
|
|
206
|
+
var aError = [sError, jqXHR];
|
|
207
|
+
|
|
208
|
+
if (this.bIsDestroyed) {
|
|
209
|
+
reject("RequestDataProvider is already destroyed while error in the response occurred.");
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
this._lastJQXHR = jqXHR;
|
|
214
|
+
|
|
215
|
+
if (bNoRetry) {
|
|
216
|
+
reject(aError);
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
this._retryRequest(aError, oRequest).then(resolve, reject);
|
|
221
|
+
}.bind(this));
|
|
204
222
|
}.bind(this));
|
|
205
223
|
};
|
|
206
224
|
|
|
@@ -286,17 +304,37 @@ sap.ui.define([
|
|
|
286
304
|
return false;
|
|
287
305
|
};
|
|
288
306
|
|
|
307
|
+
RequestDataProvider.prototype._isValidRequest = function (oRequest) {
|
|
308
|
+
|
|
309
|
+
if (!oRequest) {
|
|
310
|
+
return false;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
if (aModes.indexOf(oRequest.mode) === -1) {
|
|
314
|
+
return false;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
if (aMethods.indexOf(oRequest.method) === -1) {
|
|
318
|
+
return false;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
if (typeof oRequest.url !== "string") {
|
|
322
|
+
return false;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
return true;
|
|
326
|
+
};
|
|
327
|
+
|
|
289
328
|
/**
|
|
290
329
|
* Deserializes the result of a batch (multipart/mixed) request.
|
|
291
330
|
* @private
|
|
292
331
|
* @param {map} mBatchRequests The requests which were send in batch. Order in the response must match.
|
|
293
332
|
* @param {Object} sResponseBody The response to be deserialized.
|
|
294
|
-
* @param {jqXHR} jqXHR The jQuery XHR which goes with the response.
|
|
295
333
|
* @returns {Object} The deserialized response. Each object in the result will have a key matching the one in the request.
|
|
296
334
|
*/
|
|
297
|
-
RequestDataProvider.prototype._deserializeBatchResponse = function (mBatchRequests, sResponseBody
|
|
335
|
+
RequestDataProvider.prototype._deserializeBatchResponse = function (mBatchRequests, sResponseBody) {
|
|
298
336
|
return new Promise(function(resolve, reject) {
|
|
299
|
-
var sContentType =
|
|
337
|
+
var sContentType = this.getLastJQXHR().getResponseHeader("Content-Type"),
|
|
300
338
|
aBatchResponses = ODataUtils.deserializeBatchResponse(sContentType, sResponseBody, false),
|
|
301
339
|
aKeys = Object.keys(mBatchRequests),
|
|
302
340
|
mResult = {};
|
|
@@ -321,7 +359,7 @@ sap.ui.define([
|
|
|
321
359
|
});
|
|
322
360
|
|
|
323
361
|
resolve(mResult);
|
|
324
|
-
});
|
|
362
|
+
}.bind(this));
|
|
325
363
|
};
|
|
326
364
|
|
|
327
365
|
/**
|
|
@@ -17,7 +17,7 @@ sap.ui.define([
|
|
|
17
17
|
* Utility class helping with JSON strings and formatters.
|
|
18
18
|
*
|
|
19
19
|
* @author SAP SE
|
|
20
|
-
* @version 1.
|
|
20
|
+
* @version 1.97.0
|
|
21
21
|
*
|
|
22
22
|
* @private
|
|
23
23
|
* @alias sap.ui.integration.util.Utils
|
|
@@ -132,5 +132,45 @@ sap.ui.define([
|
|
|
132
132
|
return typeof sString == "string" && ["null", "false", "undefined", ""].indexOf(sString.trim()) > -1;
|
|
133
133
|
};
|
|
134
134
|
|
|
135
|
+
Utils.setNestedPropertyValue = function (oObject, sPath, vValue) {
|
|
136
|
+
var aPaths = sPath.substring(1).split("/"),
|
|
137
|
+
sPathSegment;
|
|
138
|
+
|
|
139
|
+
for (var i = 0; i < aPaths.length - 1; i++) {
|
|
140
|
+
sPathSegment = aPaths[i];
|
|
141
|
+
|
|
142
|
+
// Prevent access to native properties
|
|
143
|
+
oObject = oObject.hasOwnProperty(sPathSegment) ? oObject[sPathSegment] : undefined;
|
|
144
|
+
|
|
145
|
+
// Only continue with lookup if the value is an object.
|
|
146
|
+
// Accessing properties of other types is not allowed!
|
|
147
|
+
if (oObject === null || typeof oObject !== "object") {
|
|
148
|
+
break;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
oObject[aPaths[aPaths.length - 1]] = vValue;
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
Utils.getNestedPropertyValue = function (oObject, sPath) {
|
|
156
|
+
var aPaths = sPath.substring(1).split("/"),
|
|
157
|
+
sPathSegment;
|
|
158
|
+
|
|
159
|
+
for (var i = 0; i < aPaths.length; i++) {
|
|
160
|
+
sPathSegment = aPaths[i];
|
|
161
|
+
|
|
162
|
+
// Prevent access to native properties
|
|
163
|
+
oObject = oObject.hasOwnProperty(sPathSegment) ? oObject[sPathSegment] : undefined;
|
|
164
|
+
|
|
165
|
+
// Only continue with lookup if the value is an object.
|
|
166
|
+
// Accessing properties of other types is not allowed!
|
|
167
|
+
if (oObject === null || typeof oObject !== "object") {
|
|
168
|
+
break;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
return oObject;
|
|
173
|
+
};
|
|
174
|
+
|
|
135
175
|
return Utils;
|
|
136
176
|
});
|