Skip to content

Commit 7108734

Browse files
authored
fix(material/slider): fix track getting out of sync (#27218)
* fix(material/slider): fix track getting out of sync * fixup! fix(material/slider): fix track getting out of sync * fixup! fix(material/slider): fix track getting out of sync
1 parent 88d3906 commit 7108734

File tree

2 files changed

+2
-25
lines changed

2 files changed

+2
-25
lines changed

src/material/slider/slider.scss

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -58,12 +58,6 @@ $mat-slider-horizontal-margin: 8px !default;
5858
.mdc-slider__track--active_fill {
5959
transition-duration: 80ms;
6060
}
61-
62-
&.mat-mdc-slider-disable-track-animation {
63-
.mdc-slider__track--active_fill {
64-
transition-duration: 0ms;
65-
}
66-
}
6761
}
6862

6963
// We need to repeat these styles to override discrete slider styling.
@@ -78,12 +72,6 @@ $mat-slider-horizontal-margin: 8px !default;
7872
.mdc-slider__track--active_fill {
7973
transition-duration: 80ms;
8074
}
81-
82-
&.mat-mdc-slider-disable-track-animation {
83-
.mdc-slider__track--active_fill {
84-
transition-duration: 0ms;
85-
}
86-
}
8775
}
8876

8977
.mdc-slider__track,

src/material/slider/slider.ts

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ import {
4141
} from '@angular/material/core';
4242
import {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';
4343
import {Subscription} from 'rxjs';
44-
import {take} from 'rxjs/operators';
4544
import {
4645
_MatThumb,
4746
_MatTickMark,
@@ -585,22 +584,11 @@ export class MatSlider
585584
transformOrigin: string;
586585
}): void {
587586
const trackStyle = this._trackActive.nativeElement.style;
588-
const animationOriginChanged =
589-
styles.left !== trackStyle.left && styles.right !== trackStyle.right;
590587

591588
trackStyle.left = styles.left;
592589
trackStyle.right = styles.right;
593590
trackStyle.transformOrigin = styles.transformOrigin;
594-
595-
if (animationOriginChanged) {
596-
this._elementRef.nativeElement.classList.add('mat-mdc-slider-disable-track-animation');
597-
this._ngZone.onStable.pipe(take(1)).subscribe(() => {
598-
this._elementRef.nativeElement.classList.remove('mat-mdc-slider-disable-track-animation');
599-
trackStyle.transform = styles.transform;
600-
});
601-
} else {
602-
trackStyle.transform = styles.transform;
603-
}
591+
trackStyle.transform = styles.transform;
604592
}
605593

606594
/** Returns the translateX positioning for a tick mark based on it's index. */
@@ -913,6 +901,7 @@ export class MatSlider
913901
private _updateTickMarkUIRange(step: number): void {
914902
const endValue = this._getValue();
915903
const startValue = this._getValue(_MatThumb.START);
904+
916905
const numInactiveBeforeStartThumb = Math.max(Math.floor((startValue - this.min) / step), 0);
917906
const numActive = Math.max(Math.floor((endValue - startValue) / step) + 1, 0);
918907
const numInactiveAfterEndThumb = Math.max(Math.floor((this.max - endValue) / step), 0);

0 commit comments

Comments
 (0)