| 12345678910111213141516171819202122232425262728293031323334 |
- define([
- 'angular',
- 'lodash'
- ],
- function (angular, _) {
- 'use strict';
- var module = angular.module('grafana.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 = [];
- };
- });
- });
|