define([
'angular', 'lodash'
], function (angular, _) {
'use strict'; var module = angular.module('kibana.services'); module.service('timer', function($timeout) { // This service really just tracks a list of $timeout promises to give us a // method for cancelling them all when we need to var timers = []; this.register = function(promise) { timers.push(promise); return promise; }; this.cancel = function(promise) { timers = _.without(timers,promise); $timeout.cancel(promise); }; this.cancel_all = function() { _.each(timers, function(t){ $timeout.cancel(t); }); timers = []; }; });
});