From bd04316a89a0909e7a4e483839d573ce857f7622 Mon Sep 17 00:00:00 2001 From: Misko Hevery Date: Wed, 2 Nov 2011 16:32:46 -0700 Subject: refactor(services): migrate angular.service -> module --- src/service/xhr.bulk.js | 139 +++++++++++++++++++++++++----------------------- 1 file changed, 71 insertions(+), 68 deletions(-) (limited to 'src/service/xhr.bulk.js') diff --git a/src/service/xhr.bulk.js b/src/service/xhr.bulk.js index bf5a1d95..b75f4046 100644 --- a/src/service/xhr.bulk.js +++ b/src/service/xhr.bulk.js @@ -11,76 +11,79 @@ * * @example */ -angularServiceInject('$xhr.bulk', function($rootScope, $xhr, $error, $log){ - var requests = []; - function bulkXHR(method, url, post, success, error) { - if (isFunction(post)) { - error = success; - success = post; - post = null; - } - var currentQueue; - forEach(bulkXHR.urls, function(queue){ - if (isFunction(queue.match) ? queue.match(url) : queue.match.exec(url)) { - currentQueue = queue; +function $XhrBulkProvider() { + this.$get = ['$rootScope', '$xhr', '$xhr.error', '$log', + function( $rootScope, $xhr, $error, $log) { + var requests = []; + function bulkXHR(method, url, post, success, error) { + if (isFunction(post)) { + error = success; + success = post; + post = null; + } + var currentQueue; + forEach(bulkXHR.urls, function(queue){ + if (isFunction(queue.match) ? queue.match(url) : queue.match.exec(url)) { + currentQueue = queue; + } + }); + if (currentQueue) { + if (!currentQueue.requests) currentQueue.requests = []; + var request = { + method: method, + url: url, + data: post, + success: success}; + if (error) request.error = error; + currentQueue.requests.push(request); + } else { + $xhr(method, url, post, success, error); } - }); - if (currentQueue) { - if (!currentQueue.requests) currentQueue.requests = []; - var request = { - method: method, - url: url, - data: post, - success: success}; - if (error) request.error = error; - currentQueue.requests.push(request); - } else { - $xhr(method, url, post, success, error); } - } - bulkXHR.urls = {}; - bulkXHR.flush = function(success, errorback) { - assertArgFn(success = success || noop, 0); - assertArgFn(errorback = errorback || noop, 1); - forEach(bulkXHR.urls, function(queue, url) { - var currentRequests = queue.requests; - if (currentRequests && currentRequests.length) { - queue.requests = []; - queue.callbacks = []; - $xhr('POST', url, {requests: currentRequests}, - function(code, response) { - forEach(response, function(response, i) { - try { - if (response.status == 200) { - (currentRequests[i].success || noop)(response.status, response.response); - } else if (isFunction(currentRequests[i].error)) { - currentRequests[i].error(response.status, response.response); - } else { - $error(currentRequests[i], response); + bulkXHR.urls = {}; + bulkXHR.flush = function(success, errorback) { + assertArgFn(success = success || noop, 0); + assertArgFn(errorback = errorback || noop, 1); + forEach(bulkXHR.urls, function(queue, url) { + var currentRequests = queue.requests; + if (currentRequests && currentRequests.length) { + queue.requests = []; + queue.callbacks = []; + $xhr('POST', url, {requests: currentRequests}, + function(code, response) { + forEach(response, function(response, i) { + try { + if (response.status == 200) { + (currentRequests[i].success || noop)(response.status, response.response); + } else if (isFunction(currentRequests[i].error)) { + currentRequests[i].error(response.status, response.response); + } else { + $error(currentRequests[i], response); + } + } catch(e) { + $log.error(e); } - } catch(e) { - $log.error(e); - } - }); - success(); - }, - function(code, response) { - forEach(currentRequests, function(request, i) { - try { - if (isFunction(request.error)) { - request.error(code, response); - } else { - $error(request, response); + }); + success(); + }, + function(code, response) { + forEach(currentRequests, function(request, i) { + try { + if (isFunction(request.error)) { + request.error(code, response); + } else { + $error(request, response); + } + } catch(e) { + $log.error(e); } - } catch(e) { - $log.error(e); - } + }); + noop(); }); - noop(); - }); - } - }); - }; - $rootScope.$watch(function() { bulkXHR.flush(); }); - return bulkXHR; -}, ['$rootScope', '$xhr', '$xhr.error', '$log']); + } + }); + }; + $rootScope.$watch(function() { bulkXHR.flush(); }); + return bulkXHR; + }]; +} -- cgit v1.2.3