| 123456789101112131415161718192021222324252627282930313233 |
- define([
- 'angular',
- 'lodash',
- '../core_module',
- ],
- function (angular, _, coreModule) {
- 'use strict';
- coreModule.default.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 = [];
- };
- });
- });
|