aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMatias Niemelä2013-08-28 19:18:33 -0400
committerMisko Hevery2013-09-03 17:06:49 -0700
commit4382df03fa1962aed027742c1b463406c40653c9 (patch)
tree833a70f04dcab4128f6a971a484bed9c7dc19fcf /src
parentd11a34a35127ee2b29a000ba48ec07200f2a5e34 (diff)
downloadangular.js-4382df03fa1962aed027742c1b463406c40653c9.tar.bz2
fix(ngAnimate): cut down on extra $timeout calls
Diffstat (limited to 'src')
-rw-r--r--src/ng/animate.js8
-rw-r--r--src/ngAnimate/animate.js13
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