diff --git a/js/angular/controller/slideBoxController.js b/js/angular/controller/slideBoxController.js index f1e62d6112..f6d392e931 100644 --- a/js/angular/controller/slideBoxController.js +++ b/js/angular/controller/slideBoxController.js @@ -2,72 +2,62 @@ IonicModule .controller('$ionSlideBox', [ '$scope', '$element', - '$$ionicAttachDrag', - '$interval', - '$rootScope', - '$timeout', '$log', -function(scope, element, $$ionicAttachDrag, $interval, $rootScope, $timeout, $log) { + '$document', + '$$q', + '$timeout', + '$interval', + '$$ionicAttachDrag', + '$rootScope', +function(scope, element, $log, $document, $$q, $timeout, $interval, $$ionicAttachDrag, $rootScope) { var self = this; - - var relevantSlides = { - previous: null, - selected: null, - next: null - }; - var oldRelevantSlides = relevantSlides; - - // This is a live nodeList that is updated whenever child ion-slides - // are added or removed - var slideNodes = element[0].getElementsByTagName('ion-slide'); - var slideList = ionic.Utils.list(slideNodes); - - var slidesParent = angular.element(element[0].querySelector('.slider-slides')); - - // Successful slide requires velocity to be greater than this amount + var SLIDE_TRANSITION_DURATION = 250; var SLIDE_SUCCESS_VELOCITY = (1 / 4); // pixels / ms - var SLIDE_TRANSITION_DURATION = 250; //ms - $$ionicAttachDrag(scope, element, { - getDistance: function() { return slidesParent.prop('offsetWidth'); }, + var container = angular.element(element[0].querySelector('.slider-slides')); + var containerId = 'slides_' + ionic.Utils.nextUid(); + container.attr('id', containerId); + + // Live-updated list of slides + var slideNodes = container[0].getElementsByTagName('ion-slide'); + + // Used in setDisplayedSlides() below + var styleElement = angular.element('