import { AfterViewInit, ChangeDetectorRef, ElementRef, OnChanges, OnDestroy } from '@angular/core'; import { ControlValueAccessor } from '@angular/forms'; import { NumberSliderValue } from './models/number-slider-value.model'; import { ComponentChanges } from '../../../models/component-changes.model'; /** * The number slider component */ export declare class NumberSliderComponent implements AfterViewInit, ControlValueAccessor, OnChanges, OnDestroy { private changeDetectorRef; private document; /** * Contains the minimum value for slider * @default 0 */ min: number; /** * Contains the maximum value for slider * @default 100 */ max: number; /** * Contains the step value for slider * @default 1 */ step: number; /** * Contains a value indicating that this slider has range value * @default false */ range: boolean; /** * Contains the element ref for container * @ignore */ container: ElementRef; /** * Contains a value to store start value for slider */ start: number; /** * Contains a value to store end value for slider */ end: number; /** * Contains a value indicating that control is disabled */ isDisabled: boolean; /** * Contains a handler for control value change invocation */ onChange: (value: NumberSliderValue | number) => void; /** * Contains a handler for control touched state invocation */ onTouched: () => void; /** * Contains a value for slider width in pixels */ sliderWidth: number; /** * Contains a value for slider left offset in pixels */ sliderOffset: number; /** * Contains a value indicating that slider is sliding now */ sliding: boolean; /** * Contains a value to indicate current marker */ private marker; /** * Contains a value for slider dimensions */ private dimensions; /** * Creates an instance of NumberSliderComponent * * @param changeDetectorRef The ChangeDetectorRef service * @param document The document service */ constructor(changeDetectorRef: ChangeDetectorRef, document: any); /** * @ignore */ ngAfterViewInit(): void; /** * @ignore */ ngOnChanges(changes: ComponentChanges): void; /** * @ignore */ ngOnDestroy(): void; /** * @ignore */ writeValue(obj: NumberSliderValue | number): void; /** * @ignore */ registerOnChange(fn: (value: NumberSliderValue | number) => void): void; /** * @ignore */ registerOnTouched(fn: () => void): void; /** * @ignore */ setDisabledState(isDisabled: boolean): void; /** * This method is used for updating values on control mouse down * @param event The mouse event */ onMouseDown(event: MouseEvent): void; /** * This method is used for handling mouse up event on control * @param event The mouse up event */ onMouseUp(event: MouseEvent): void; /** * This method is used for handling moving mouse over the control * @param event The mouse move event */ onMouseMove(event: MouseEvent): void; /** * This method is used for recalculating values according to mouse coordinates * @param event The current mouse event */ private updateValues; /** * This method is used for updating control view according to new values */ private updateView; /** * This method is used for calculating offset/width pixels from real value * @param value The control value * @returns Returns the number value in pixels */ private valueToPixels; /** * This method is used for calculating control value from pixels value of mouse event * @param pixels The control pixels * @returns Returns the number value for control */ private pixelsToValue; /** * This method is used for checking pointer coordinates to determine * if this event relates to the control * @param event The mouse event * @returns Returns a value indicating that mouse event relates to the control */ private isSliderEvent; /** * This method is used for getting control dimensions * @returns Returns the control dimensions on page */ private getSliderDimensions; /** * This method is used to register document events */ private addDocumentEvents; /** * This method is used for unregistering document events */ private removeDocumentEvents; /** * This method is used for getting slider offset according to the event * @param event The mouse event * @returns Returns the offset in pixels for control according to event */ private getOffset; }