ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
119 lines (118 loc) • 4.13 kB
TypeScript
/**
* @license
* Copyright Alibaba.com All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
*/
import { Platform } from '@angular/cdk/platform';
import { ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, QueryList, SimpleChanges } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { BooleanInput, NumberInput } from 'ng-zorro-antd/core/types';
import { NzSliderHandleComponent } from './handle.component';
import { NzSliderService } from './slider.service';
import { NzExtendedMark, NzMarks, NzSliderHandler, NzSliderShowTooltip, NzSliderValue } from './typings';
export declare class NzSliderComponent implements ControlValueAccessor, OnInit, OnChanges, OnDestroy {
private sliderService;
private cdr;
private platform;
static ngAcceptInputType_nzDisabled: BooleanInput;
static ngAcceptInputType_nzDots: BooleanInput;
static ngAcceptInputType_nzIncluded: BooleanInput;
static ngAcceptInputType_nzRange: BooleanInput;
static ngAcceptInputType_nzVertical: BooleanInput;
static ngAcceptInputType_nzMax: NumberInput;
static ngAcceptInputType_nzMin: NumberInput;
static ngAcceptInputType_nzStep: NumberInput;
slider: ElementRef<HTMLDivElement>;
handlerComponents: QueryList<NzSliderHandleComponent>;
nzDisabled: boolean;
nzDots: boolean;
nzIncluded: boolean;
nzRange: boolean;
nzVertical: boolean;
nzDefaultValue?: NzSliderValue;
nzMarks: NzMarks | null;
nzMax: number;
nzMin: number;
nzStep: number;
nzTooltipVisible: NzSliderShowTooltip;
nzTooltipPlacement: string;
nzTipFormatter: (value: number) => string;
readonly nzOnAfterChange: EventEmitter<NzSliderValue>;
value: NzSliderValue | null;
cacheSliderStart: number | null;
cacheSliderLength: number | null;
activeValueIndex: number | undefined;
track: {
offset: null | number;
length: null | number;
};
handles: NzSliderHandler[];
marksArray: NzExtendedMark[] | null;
bounds: {
lower: NzSliderValue | null;
upper: NzSliderValue | null;
};
private dragStart$;
private dragMove$;
private dragEnd$;
private dragStart_;
private dragMove_;
private dragEnd_;
constructor(sliderService: NzSliderService, cdr: ChangeDetectorRef, platform: Platform);
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
ngOnDestroy(): void;
writeValue(val: NzSliderValue | null): void;
onValueChange(_value: NzSliderValue): void;
onTouched(): void;
registerOnChange(fn: (value: NzSliderValue) => void): void;
registerOnTouched(fn: () => void): void;
setDisabledState(isDisabled: boolean): void;
/**
* Event handler is only triggered when a slider handler is focused.
*/
onKeyDown(e: KeyboardEvent): void;
private setValue;
private getValue;
/**
* Clone & sort current value and convert them to offsets, then return the new one.
*/
private getValueToOffset;
/**
* Find the closest value to be activated.
*/
private setActiveValueIndex;
private setActiveValue;
/**
* Update track and handles' position and length.
*/
private updateTrackAndHandles;
private onDragStart;
private onDragMove;
private onDragEnd;
/**
* Create user interactions handles.
*/
private bindDraggingHandlers;
private subscribeDrag;
private unsubscribeDrag;
private toggleDragMoving;
private toggleDragDisabled;
private findClosestValue;
private valueToOffset;
private getSliderStartPosition;
private getSliderLength;
/**
* Cache DOM layout/reflow operations for performance (may not necessary?)
*/
private cacheSliderProperty;
private formatValue;
/**
* Show one handle's tooltip and hide others'.
*/
private showHandleTooltip;
private hideAllHandleTooltip;
private generateMarkItems;
}