(function() { angular.module('ngLoadingSpinner', ['angularSpinner']) .directive('usSpinner', [ '$http', '$rootScope', function($http, $rootScope) { return { link: function(scope, elm, attrs) { $rootScope.spinnerActive = false; scope.isLoading = function() { return $http.pendingRequests.length > 0; }; scope.$watch(scope.isLoading, function(loading) { $rootScope.spinnerActive = loading; if (loading) { elm.removeClass('ng-hide'); } else { elm.addClass('ng-hide'); } }); } }; } ]); }).call(this);