From 9d93af1c8155c55f32748c824f46440c66834e4c Mon Sep 17 00:00:00 2001 From: Wesley Cho Date: Wed, 28 Oct 2015 22:45:26 -0700 Subject: [PATCH] fix(carousel): remove version checks - Make use of `$animateCss` directly since a shell service was introduced in Angular proper Closes #4122 Closes #4774 --- src/carousel/carousel.js | 61 +++++++++++----------------------------- 1 file changed, 16 insertions(+), 45 deletions(-) diff --git a/src/carousel/carousel.js b/src/carousel/carousel.js index 26d5967fa0..3531f71cac 100644 --- a/src/carousel/carousel.js +++ b/src/carousel/carousel.js @@ -3,7 +3,6 @@ angular.module('ui.bootstrap.carousel', []) .controller('UibCarouselController', ['$scope', '$element', '$interval', '$animate', function($scope, $element, $interval, $animate) { var self = this, slides = self.slides = $scope.slides = [], - NEW_ANIMATE = angular.version.minor >= 4, SLIDE_DIRECTION = 'uib-slideDirection', currentIndex = -1, currentInterval, isPlaying; @@ -37,18 +36,12 @@ angular.module('ui.bootstrap.carousel', []) } $scope.$currentTransition = true; - if (NEW_ANIMATE) { - $animate.on('addClass', slide.$element, function(element, phase) { - if (phase === 'close') { - $scope.$currentTransition = null; - $animate.off('addClass', element); - } - }); - } else { - slide.$element.one('$animate:close', function closeFn() { + $animate.on('addClass', slide.$element, function(element, phase) { + if (phase === 'close') { $scope.$currentTransition = null; - }); - } + $animate.off('addClass', element); + } + }); } self.currentSlide = slide; @@ -250,14 +243,9 @@ angular.module('ui.bootstrap.carousel', []) }) .animation('.item', [ - '$injector', '$animate', -function ($injector, $animate) { - var SLIDE_DIRECTION = 'uib-slideDirection', - $animateCss = null; - - if ($injector.has('$animateCss')) { - $animateCss = $injector.get('$animateCss'); - } + '$animate', '$animateCss', +function($animate, $animateCss) { + var SLIDE_DIRECTION = 'uib-slideDirection'; function removeClass(element, className, callback) { element.removeClass(className); @@ -277,20 +265,11 @@ function ($injector, $animate) { directionClass + ' ' + direction, done); element.addClass(direction); - if ($animateCss) { - $animateCss(element, {addClass: directionClass}) - .start() - .done(removeClassFn); - } else { - $animate.addClass(element, directionClass).then(function () { - if (!stopped) { - removeClassFn(); - } - done(); - }); - } + $animateCss(element, {addClass: directionClass}) + .start() + .done(removeClassFn); - return function () { + return function() { stopped = true; }; } @@ -304,18 +283,10 @@ function ($injector, $animate) { var directionClass = direction == 'next' ? 'left' : 'right'; var removeClassFn = removeClass.bind(this, element, directionClass, done); - if ($animateCss) { - $animateCss(element, {addClass: directionClass}) - .start() - .done(removeClassFn); - } else { - $animate.addClass(element, directionClass).then(function() { - if (!stopped) { - removeClassFn(); - } - done(); - }); - } + $animateCss(element, {addClass: directionClass}) + .start() + .done(removeClassFn); + return function() { stopped = true; };