Skip to content

Commit 4118f4e

Browse files
committed
Modify change detection
1 parent 6779076 commit 4118f4e

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

src/lib/slider/slider.spec.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,19 @@ describe('MdSlider without forms', () => {
150150
expect(sliderInstance._isActive).toBe(false);
151151
});
152152

153+
it('should reset thumb gap when blurred on min value', () => {
154+
sliderInstance._isActive = true;
155+
sliderInstance.value = 0;
156+
fixture.detectChanges();
157+
158+
expect(sliderInstance._thumbGap).toBe(10);
159+
160+
dispatchFakeEvent(sliderNativeElement, 'blur');
161+
fixture.detectChanges();
162+
163+
expect(sliderInstance._thumbGap).toBe(7);
164+
});
165+
153166
it('should have thumb gap when at min value', () => {
154167
expect(trackFillElement.style.transform).toContain('translateX(-7px)');
155168
});

src/lib/slider/slider.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -412,7 +412,10 @@ export class MdSlider extends _MdSliderMixinBase
412412
super(renderer, elementRef);
413413
this._focusOriginMonitor
414414
.monitor(this._elementRef.nativeElement, renderer, true)
415-
.subscribe((origin: FocusOrigin) => this._isActive = !!origin && origin !== 'keyboard');
415+
.subscribe((origin: FocusOrigin) => {
416+
this._isActive = !!origin && origin !== 'keyboard';
417+
this._changeDetectorRef.detectChanges();
418+
});
416419
if (_dir) {
417420
_dir.change.subscribe(() => this._changeDetectorRef.markForCheck());
418421
}
@@ -512,8 +515,6 @@ export class MdSlider extends _MdSliderMixinBase
512515

513516
_onBlur() {
514517
this.onTouched();
515-
this._isActive = false;
516-
this._changeDetectorRef.markForCheck();
517518
}
518519

519520
_onKeydown(event: KeyboardEvent) {

0 commit comments

Comments
 (0)