@@ -13,7 +13,6 @@ import {
1313 Component ,
1414 ElementRef ,
1515 EventEmitter ,
16- forwardRef ,
1716 Input ,
1817 OnChanges ,
1918 OnDestroy ,
@@ -23,25 +22,25 @@ import {
2322 QueryList ,
2423 SimpleChanges ,
2524 TemplateRef ,
26- ViewChild ,
2725 ViewChildren ,
28- ViewEncapsulation
26+ ViewEncapsulation ,
27+ forwardRef
2928} from '@angular/core' ;
3029import { ControlValueAccessor , NG_VALUE_ACCESSOR } from '@angular/forms' ;
31- import { fromEvent , merge , Observable , Subject , Subscription } from 'rxjs' ;
30+ import { Observable , Subject , Subscription , fromEvent , merge } from 'rxjs' ;
3231import { distinctUntilChanged , filter , map , takeUntil , tap } from 'rxjs/operators' ;
3332
3433import { BooleanInput , NumberInput , NzSafeAny } from 'ng-zorro-antd/core/types' ;
3534import {
35+ InputBoolean ,
36+ InputNumber ,
37+ MouseTouchObserverConfig ,
3638 arraysEqual ,
3739 ensureNumberInRange ,
3840 getElementOffset ,
3941 getPercent ,
4042 getPrecision ,
41- InputBoolean ,
42- InputNumber ,
4343 isNil ,
44- MouseTouchObserverConfig ,
4544 silentEvent
4645} from 'ng-zorro-antd/core/util' ;
4746
@@ -66,63 +65,51 @@ import { NzExtendedMark, NzMarks, NzSliderHandler, NzSliderShowTooltip, NzSlider
6665 } ,
6766 NzSliderService
6867 ] ,
69- host : {
70- '(keydown)' : 'onKeyDown($event)'
71- } ,
7268 template : `
73- <div
74- #slider
75- class="ant-slider"
76- [class.ant-slider-rtl]="dir === 'rtl'"
77- [class.ant-slider-disabled]="nzDisabled"
78- [class.ant-slider-vertical]="nzVertical"
79- [class.ant-slider-with-marks]="marksArray"
80- >
81- <div class="ant-slider-rail"></div>
82- <nz-slider-track
83- [vertical]="nzVertical"
84- [included]="nzIncluded"
85- [offset]="track.offset!"
86- [length]="track.length!"
87- [reverse]="nzReverse"
88- [dir]="dir"
89- ></nz-slider-track>
90- <nz-slider-step
91- *ngIf="marksArray"
92- [vertical]="nzVertical"
93- [min]="nzMin"
94- [max]="nzMax"
95- [lowerBound]="$any(bounds.lower)"
96- [upperBound]="$any(bounds.upper)"
97- [marksArray]="marksArray"
98- [included]="nzIncluded"
99- [reverse]="nzReverse"
100- ></nz-slider-step>
101- <nz-slider-handle
102- *ngFor="let handle of handles; index as handleIndex"
103- [vertical]="nzVertical"
104- [reverse]="nzReverse"
105- [offset]="handle.offset!"
106- [value]="handle.value!"
107- [active]="handle.active"
108- [tooltipFormatter]="nzTipFormatter"
109- [tooltipVisible]="nzTooltipVisible"
110- [tooltipPlacement]="nzTooltipPlacement"
111- [dir]="dir"
112- (focusin)="onHandleFocusIn(handleIndex)"
113- ></nz-slider-handle>
114- <nz-slider-marks
115- *ngIf="marksArray"
116- [vertical]="nzVertical"
117- [min]="nzMin"
118- [max]="nzMax"
119- [lowerBound]="$any(bounds.lower)"
120- [upperBound]="$any(bounds.upper)"
121- [marksArray]="marksArray"
122- [included]="nzIncluded"
123- [reverse]="nzReverse"
124- ></nz-slider-marks>
125- </div>
69+ <div class="ant-slider-rail"></div>
70+ <nz-slider-track
71+ [vertical]="nzVertical"
72+ [included]="nzIncluded"
73+ [offset]="track.offset!"
74+ [length]="track.length!"
75+ [reverse]="nzReverse"
76+ [dir]="dir"
77+ ></nz-slider-track>
78+ <nz-slider-step
79+ *ngIf="marksArray"
80+ [vertical]="nzVertical"
81+ [min]="nzMin"
82+ [max]="nzMax"
83+ [lowerBound]="$any(bounds.lower)"
84+ [upperBound]="$any(bounds.upper)"
85+ [marksArray]="marksArray"
86+ [included]="nzIncluded"
87+ [reverse]="nzReverse"
88+ ></nz-slider-step>
89+ <nz-slider-handle
90+ *ngFor="let handle of handles; index as handleIndex"
91+ [vertical]="nzVertical"
92+ [reverse]="nzReverse"
93+ [offset]="handle.offset!"
94+ [value]="handle.value!"
95+ [active]="handle.active"
96+ [tooltipFormatter]="nzTipFormatter"
97+ [tooltipVisible]="nzTooltipVisible"
98+ [tooltipPlacement]="nzTooltipPlacement"
99+ [dir]="dir"
100+ (focusin)="onHandleFocusIn(handleIndex)"
101+ ></nz-slider-handle>
102+ <nz-slider-marks
103+ *ngIf="marksArray"
104+ [vertical]="nzVertical"
105+ [min]="nzMin"
106+ [max]="nzMax"
107+ [lowerBound]="$any(bounds.lower)"
108+ [upperBound]="$any(bounds.upper)"
109+ [marksArray]="marksArray"
110+ [included]="nzIncluded"
111+ [reverse]="nzReverse"
112+ ></nz-slider-marks>
126113 ` ,
127114 imports : [
128115 NzSliderTrackComponent ,
@@ -132,7 +119,15 @@ import { NzExtendedMark, NzMarks, NzSliderHandler, NzSliderShowTooltip, NzSlider
132119 NzSliderMarksComponent ,
133120 NgIf
134121 ] ,
135- standalone : true
122+ standalone : true ,
123+ host : {
124+ class : 'ant-slider' ,
125+ '[class.ant-slider-rtl]' : `dir === 'rtl'` ,
126+ '[class.ant-slider-disabled]' : 'nzDisabled' ,
127+ '[class.ant-slider-vertical]' : 'nzVertical' ,
128+ '[class.ant-slider-with-marks]' : 'marksArray' ,
129+ '(keydown)' : 'onKeyDown($event)'
130+ }
136131} )
137132export class NzSliderComponent implements ControlValueAccessor , OnInit , OnChanges , OnDestroy {
138133 static ngAcceptInputType_nzDisabled : BooleanInput ;
@@ -145,7 +140,6 @@ export class NzSliderComponent implements ControlValueAccessor, OnInit, OnChange
145140 static ngAcceptInputType_nzStep : NumberInput ;
146141 static ngAcceptInputType_nzReverse : BooleanInput ;
147142
148- @ViewChild ( 'slider' , { static : true } ) slider ! : ElementRef < HTMLDivElement > ;
149143 @ViewChildren ( NzSliderHandleComponent ) handlerComponents ! : QueryList < NzSliderHandleComponent > ;
150144
151145 @Input ( ) @InputBoolean ( ) nzDisabled = false ;
@@ -185,6 +179,7 @@ export class NzSliderComponent implements ControlValueAccessor, OnInit, OnChange
185179 private isNzDisableFirstChange = true ;
186180
187181 constructor (
182+ public slider : ElementRef < HTMLDivElement > ,
188183 private sliderService : NzSliderService ,
189184 private cdr : ChangeDetectorRef ,
190185 private platform : Platform ,
0 commit comments