diff options
| author | Matias Niemelä | 2013-08-28 19:18:33 -0400 | 
|---|---|---|
| committer | Misko Hevery | 2013-09-03 17:06:49 -0700 | 
| commit | 4382df03fa1962aed027742c1b463406c40653c9 (patch) | |
| tree | 833a70f04dcab4128f6a971a484bed9c7dc19fcf /src | |
| parent | d11a34a35127ee2b29a000ba48ec07200f2a5e34 (diff) | |
| download | angular.js-4382df03fa1962aed027742c1b463406c40653c9.tar.bz2 | |
fix(ngAnimate): cut down on extra $timeout calls
Diffstat (limited to 'src')
| -rw-r--r-- | src/ng/animate.js | 8 | ||||
| -rw-r--r-- | src/ngAnimate/animate.js | 13 | 
2 files changed, 11 insertions, 10 deletions
| diff --git a/src/ng/animate.js b/src/ng/animate.js index 22675a13..fbd17848 100644 --- a/src/ng/animate.js +++ b/src/ng/animate.js @@ -98,7 +98,7 @@ var $AnimateProvider = ['$provide', function($provide) {          forEach(element, function(node) {            parentNode.insertBefore(node, afterNextSibling);          }); -        $timeout(done || noop, 0, false); +        done && $timeout(done, 0, false);        },        /** @@ -115,7 +115,7 @@ var $AnimateProvider = ['$provide', function($provide) {         */        leave : function(element, done) {          element.remove(); -        $timeout(done || noop, 0, false); +        done && $timeout(done, 0, false);        },        /** @@ -157,7 +157,7 @@ var $AnimateProvider = ['$provide', function($provide) {                        className :                        isArray(className) ? className.join(' ') : '';          element.addClass(className); -        $timeout(done || noop, 0, false); +        done && $timeout(done, 0, false);        },        /** @@ -178,7 +178,7 @@ var $AnimateProvider = ['$provide', function($provide) {                        className :                        isArray(className) ? className.join(' ') : '';          element.removeClass(className); -        $timeout(done || noop, 0, false); +        done && $timeout(done, 0, false);        },        enabled : noop diff --git a/src/ngAnimate/animate.js b/src/ngAnimate/animate.js index 32bbd6d5..696e80b1 100644 --- a/src/ngAnimate/animate.js +++ b/src/ngAnimate/animate.js @@ -283,7 +283,7 @@ angular.module('ngAnimate', ['ng'])          enter : function(element, parent, after, done) {            $delegate.enter(element, parent, after);            performAnimation('enter', 'ng-enter', element, parent, after, function() { -            $timeout(done || noop, 0, false); +            done && $timeout(done, 0, false);            });          }, @@ -353,7 +353,7 @@ angular.module('ngAnimate', ['ng'])          move : function(element, parent, after, done) {            $delegate.move(element, parent, after);            performAnimation('move', 'ng-move', element, null, null, function() { -            $timeout(done || noop, 0, false); +            done && $timeout(done, 0, false);            });          }, @@ -615,10 +615,11 @@ angular.module('ngAnimate', ['ng'])              activeClassName += (i > 0 ? ' ' : '') + klass + '-active';            }); -          $timeout(function() { -            element.addClass(activeClassName); -            $timeout(done, duration * 1000, false); -          },0,false); +          //this triggers a reflow which allows for the transition animation to kick in +          element.prop('clientWidth'); +          element.addClass(activeClassName); + +          $timeout(done, duration * 1000, false);            //this will automatically be called by $animate so            //there is no need to attach this internally to the | 
