diff options
Diffstat (limited to 'src/service/xhr.bulk.js')
| -rw-r--r-- | src/service/xhr.bulk.js | 139 | 
1 files changed, 71 insertions, 68 deletions
| 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; +  }]; +} | 
