From fcca1975de1f6d055d020bdab4bbcdf9cdc89c66 Mon Sep 17 00:00:00 2001 From: Georgios Kalpakas Date: Fri, 7 Oct 2016 18:58:53 +0300 Subject: [PATCH 1/9] refactor(ngClass): remove unnecessary dependency on `$animate` --- src/ng/directive/ngClass.js | 12 ++++------ test/ng/directive/ngClassSpec.js | 39 ++++++++++++++++++++------------ 2 files changed, 30 insertions(+), 21 deletions(-) diff --git a/src/ng/directive/ngClass.js b/src/ng/directive/ngClass.js index 7e138b065dc2..12d742cf3ece 100644 --- a/src/ng/directive/ngClass.js +++ b/src/ng/directive/ngClass.js @@ -8,7 +8,8 @@ function classDirective(name, selector) { name = 'ngClass' + name; - return ['$animate', function($animate) { + + return [function() { return { restrict: 'AC', link: function(scope, element, attr) { @@ -69,12 +70,9 @@ function classDirective(name, selector) { var toRemove = arrayDifference(oldClasses, newClasses); toAdd = digestClassCounts(toAdd, 1); toRemove = digestClassCounts(toRemove, -1); - if (toAdd && toAdd.length) { - $animate.addClass(element, toAdd); - } - if (toRemove && toRemove.length) { - $animate.removeClass(element, toRemove); - } + + attr.$addClass(toAdd); + attr.$removeClass(toRemove); } function ngClassWatchAction(newVal) { diff --git a/test/ng/directive/ngClassSpec.js b/test/ng/directive/ngClassSpec.js index b30d1318317c..8fb89bffe4d7 100644 --- a/test/ng/directive/ngClassSpec.js +++ b/test/ng/directive/ngClassSpec.js @@ -244,21 +244,34 @@ describe('ngClass', function() { })); - it('should allow ngClassOdd/Even on the same element with overlapping classes', inject(function($rootScope, $compile, $animate) { - var className; - - element = $compile('