|
9 | 9 | if(typeof define === "function" && define.amd) { |
10 | 10 | define(function(require, exports, module) { |
11 | 11 | module.exports = factory( |
12 | | - require("jquery"), |
| 12 | + require("devextreme/core/utils/ajax"), |
| 13 | + require("jquery").Deferred, |
| 14 | + require("jquery").extend, |
13 | 15 | require("devextreme/data/custom_store"), |
14 | 16 | require("devextreme/data/utils") |
15 | 17 | ); |
16 | 18 | }); |
17 | 19 | } else if (typeof module === "object" && module.exports) { |
18 | 20 | module.exports = factory( |
19 | | - require("jquery"), |
| 21 | + require("devextreme/core/utils/ajax"), |
| 22 | + require("jquery").Deferred, |
| 23 | + require("jquery").extend, |
20 | 24 | require("devextreme/data/custom_store"), |
21 | 25 | require("devextreme/data/utils") |
22 | 26 | ); |
23 | 27 | } else { |
24 | 28 | DevExpress.data.AspNet = factory( |
25 | | - jQuery, |
| 29 | + DevExpress.utils.ajax || { sendRequest: jQuery.ajax }, |
| 30 | + jQuery.Deferred, |
| 31 | + jQuery.extend, |
26 | 32 | DevExpress.data.CustomStore, |
27 | 33 | DevExpress.data.utils |
28 | 34 | ); |
29 | 35 | } |
30 | 36 |
|
31 | | -})(function($, CustomStore, dataUtils) { |
| 37 | +})(function(ajaxUtility, Deferred, extend, CustomStore, dataUtils) { |
32 | 38 | "use strict"; |
33 | 39 |
|
34 | 40 | var CUSTOM_STORE_OPTIONS = [ |
|
55 | 61 | onAjaxError = options.onAjaxError; |
56 | 62 |
|
57 | 63 | function send(operation, requiresKey, ajaxSettings, customSuccessHandler) { |
58 | | - var d = $.Deferred(); |
| 64 | + var d = Deferred(); |
59 | 65 |
|
60 | 66 | if(requiresKey && !keyExpr) { |
61 | 67 | d.reject(new Error("Primary key is not specified (operation: '" + operation + "', url: '" + ajaxSettings.url + "')")); |
|
70 | 76 | if(onBeforeSend) |
71 | 77 | onBeforeSend(operation, ajaxSettings); |
72 | 78 |
|
73 | | - $.ajax(ajaxSettings) |
74 | | - .done(function(res, textStatus, xhr) { |
| 79 | + ajaxUtility.sendRequest(ajaxSettings).then( |
| 80 | + function(res, textStatus, xhr) { |
75 | 81 | if(customSuccessHandler) |
76 | 82 | customSuccessHandler(d, res, xhr); |
77 | 83 | else |
78 | 84 | d.resolve(); |
79 | | - }) |
80 | | - .fail(function(xhr, textStatus) { |
| 85 | + }, |
| 86 | + function(xhr, textStatus) { |
81 | 87 | var error = getErrorMessageFromXhr(xhr); |
82 | 88 |
|
83 | 89 | if(onAjaxError) { |
|
90 | 96 | d.reject(error); |
91 | 97 | else |
92 | 98 | d.reject(xhr, textStatus); |
93 | | - }); |
| 99 | + } |
| 100 | + ); |
94 | 101 | } |
95 | 102 |
|
96 | 103 | return d.promise(); |
|
133 | 140 | } |
134 | 141 |
|
135 | 142 | if(Array.isArray(filter)) { |
136 | | - filter = $.extend(true, [], filter); |
| 143 | + filter = extend(true, [], filter); |
137 | 144 | stringifyDatesInFilter(filter); |
138 | 145 | result.filter = JSON.stringify(filter); |
139 | 146 | } |
|
151 | 158 | } |
152 | 159 | } |
153 | 160 |
|
154 | | - $.extend(result, loadParams); |
| 161 | + extend(result, loadParams); |
155 | 162 |
|
156 | 163 | return result; |
157 | 164 | } |
|
0 commit comments