Skip to content

Commit

Permalink
Implement filter function for transforming server responses
Browse files Browse the repository at this point in the history
  • Loading branch information
Machiste Quintana committed Apr 9, 2015
1 parent dcf0190 commit 23dfec6
Showing 1 changed file with 16 additions and 8 deletions.
24 changes: 16 additions & 8 deletions src/definitions/behaviors/api.js
Original file line number Diff line number Diff line change
Expand Up @@ -367,15 +367,22 @@ $.api = $.fn.api = function(parameters) {
},
done: function(response) {
module.debug('API Response Received', response);
if(settings.dataType == 'json') {
if( $.isFunction(settings.successTest) ) {
module.debug('Checking JSON returned success', settings.successTest, response);
if( settings.successTest(response) ) {
settings.onSuccess.call(context, response, $module);
if( $.isFunction(settings.filter) ) {
response = settings.filter(response);
module.debug('Response filter applied', settings.filter, response);
if(settings.dataType == 'json') {
if( $.isFunction(settings.successTest) ) {
module.debug('Checking JSON returned success', settings.successTest, response);
if( settings.successTest(response) ) {
settings.onSuccess.call(context, response, $module);
}
else {
module.debug('JSON test specified by user and response failed', response);
settings.onFailure.call(context, response, $module);
}
}
else {
module.debug('JSON test specified by user and response failed', response);
settings.onFailure.call(context, response, $module);
settings.onSuccess.call(context, response, $module);
}
}
else {
Expand Down Expand Up @@ -825,6 +832,7 @@ $.api.settings = {
onError : function(errorMessage, $module) {},
onAbort : function(errorMessage, $module) {},

filter : false,
successTest : false,

// errors
Expand Down Expand Up @@ -868,4 +876,4 @@ $.api.settings = {
$.api.settings.api = {};


})( jQuery, window , document );
})( jQuery, window , document );

0 comments on commit 23dfec6

Please sign in to comment.