From 7028a75058338533696d75d532e7f13f6d6f1fff Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 26 Jan 2015 18:15:05 -0800 Subject: [PATCH] fix(slider): make modelValue be set on pressdown Closes #1296. --- src/components/slider/slider.js | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/components/slider/slider.js b/src/components/slider/slider.js index 1c22d3fb9cb..316b7be9e9f 100644 --- a/src/components/slider/slider.js +++ b/src/components/slider/slider.js @@ -287,10 +287,21 @@ function SliderDirective($$rAF, $window, $mdAria, $mdUtil, $mdConstant, $mdThemi element[0].focus(); refreshSliderDimensions(); - setSliderFromEvent(ev); + var exactVal = percentToValue( positionToPercent( ev.pointer.x )); + var closestVal = minMaxValidator( stepValidator(exactVal) ); + scope.$apply(function() { + setModelValue( closestVal ); + setSliderPercent( valueToPercent(closestVal)); + }); } function onPressUp(ev) { element.removeClass('dragging active'); + + var exactVal = percentToValue( positionToPercent( ev.pointer.x )); + var closestVal = minMaxValidator( stepValidator(exactVal) ); + scope.$apply(function() { + setModelValue(closestVal); + }); } function onDragStart(ev) { if (isDisabledGetter(scope)) return; @@ -309,14 +320,6 @@ function SliderDirective($$rAF, $window, $mdAria, $mdUtil, $mdConstant, $mdThemi if (!isDragging) return; ev.stopPropagation(); isDragging = false; - - var exactVal = percentToValue( positionToPercent( ev.pointer.x )); - var closestVal = minMaxValidator( stepValidator(exactVal) ); - - setSliderPercent( valueToPercent(closestVal)); - $$rAF(function(){ - setModelValue( closestVal ); - }); } function setSliderFromEvent(ev) {