Override check
by Johan Vandeplas
JavaScript
list = {};
window.Ext = {define: function(name, obj){
if(obj.override) {
fnNames = _.without(_.keys(obj), 'override', 'requires');
list[obj.override] = (list[obj.override] || []).concat(fnNames)
}
}};
Ext.define('Portal.overrides.data.request.Ajax', {
override: 'Ext.data.request.Ajax',
requires: ['Portal.overrides.Ajax'],
onComplete: function(xdrResult) {
var e, failure, isOffline, me, options, owner, response, result, success, xhr;
me = this;
owner = me.owner;
options = me.options;
xhr = me.xhr;
failure = {
success: false,
isException: false
};
result = void 0;
success = void 0;
response = void 0;
if (!xhr || me.destroyed) {
return me.result = failure;
}
isOffline = xhr.status === 0 && !me.url.toLowerCase().startsWith('file://');
try {
result = Ext.data.request.Ajax.parseStatus((isOffline ? -1 : xhr.status), xhr);
if (result.success) {
result.success = xhr.readyState === 4;
}
} catch (error) {
e = error;
result = failure;
}
success = me.success = me.isXdr ? xdrResult : result.success;
if (success) {
response = me.createResponse(xhr);
if (owner.hasListeners.requestcomplete) {
owner.fireEvent('requestcomplete', owner, response, options);
}
if (options.success) {
Ext.callback(options.success, options.scope, [response, options]);
}
} else {
if (result.isException || me.aborted || me.timedout) {
response = me.createException(xhr);
} else {
response = me.createResponse(xhr);
}
if (owner.hasListeners.requestexception) {
owner.fireEvent('requestexception', owner, response, options);
}
if (options.failure) {
Ext.callback(options.failure, options.scope, [response, options]);
}
if (!options.preventDefaultFailure) {
Ext.Ajax.defaultFailure(response);
}
}
me.result = response;
if...