blur-admin/src/app/theme/services/stopableInterval.js

33 lines
692 B
JavaScript

/**
* @author a.demeshko
* created on 12/21/15
*/
(function () {
'use strict';
angular.module('BlurAdmin.theme')
.service('stopableInterval', stopableInterval);
/** @ngInject */
function stopableInterval($window) {
return {
start: function (interval, calback, time) {
function startInterval() {
return interval(calback, time);
}
var i = startInterval();
angular.element($window).bind('focus', function () {
if (i) interval.cancel(i);
i = startInterval();
});
angular.element($window).bind('blur', function () {
if (i) interval.cancel(i);
});
}
}
}
})();