UNPKG

@rdkmaster/jigsaw-labs

Version:

Jigsaw, the next generation component set for RDK

176 lines (175 loc) 4.76 kB
/** * Created by 10177553 on 2017/4/13. */ import { ElementRef, EventEmitter, NgZone, OnDestroy, OnInit, Renderer2 } from "@angular/core"; import { ControlValueAccessor } from "@angular/forms"; import { ArrayCollection } from "../../core/data/array-collection"; import { AbstractJigsawComponent } from "../common"; export declare class SliderMark { value: number; label: string; style?: any; } /** * @internal */ export declare class JigsawSliderHandle implements OnInit { private _render; private _zone; private _value; key: number; value: number; change: EventEmitter<number>; private _valueToPos(); private _offset; /** * @internal */ _$handleStyle: {}; private setHandleStyle(); private _dragging; transformPosToValue(pos: any): number; /** * 计算需要保留小数的位数 * 子级组件需要用到 * @internal */ _calFloat(value: number): number; /** * @internal */ _$startToDrag(): void; globalEventMouseMove: Function; globalEventMouseUp: Function; _registerGlobalEvent(): void; _destroyGlobalEvent(): void; private _slider; constructor(_render: Renderer2, slider: JigsawSlider, _zone: NgZone); /** * 改变value的值 * @internal */ _$updateValuePosition(event?: any): void; ngOnInit(): void; } /** * @description 滑动条组件. * * 何时使用 * 当用户需要在数值区间/自定义区间内进行选择时 */ export declare class JigsawSlider extends AbstractJigsawComponent implements ControlValueAccessor, OnInit, OnDestroy { private _element; private _render; private _zone; constructor(_element: ElementRef, _render: Renderer2, _zone: NgZone); valid: boolean; private _sliderHandle; /** * @internal */ _$value: ArrayCollection<number>; private _removeRefreshCallback; /** * slider的当前值, 类型 number | ArrayCollection<number> 支持多触点. * @returns {any} */ value: number | ArrayCollection<number>; /** * 此函数用于ngFor比较数组的值更新视图时,使数组不管值是否相等都能够更新 * @internal * @param index * @param item * @private */ _$trackByFun: (index: number, item: any) => number; /** * 设置单个的值。内部使用 * 子级组件需要用到 * @internal */ _updateValue(index: number, value: number): void; /** * 最后重新计算一下,垂直滚动条的位置 * 子级组件需要用到 * @internal */ _refresh(): void; /** * 使 value 支持双向绑定 * @type {EventEmitter<number|ArrayCollection<number>>} */ valueChange: EventEmitter<number | ArrayCollection<number>>; change: EventEmitter<number | ArrayCollection<number>>; private _min; /** * 可选范围的最小值 * @returns {number} */ min: number; private _max; /** * 输入范围的可选最大值. * @returns {number} */ max: number; private _step; /** * 每次变化的最小值, 最小支持小数点后两位. * @returns {number} */ step: number; /** * 子级组件需要用到 * @internal */ _transformValueToPos(value?: any): number; /** * 子级组件需要用到 * @internal */ _dimensions: ClientRect; /** * 垂直滑动条 默认 false * @type {boolean} */ vertical: boolean; /** * 是否禁用. 数据类型 boolean, 默认false; * @type {boolean} */ disabled: boolean; /** * @internal */ _$trackStyle: {}; private _setTrackStyle(value?); /** * @internal */ _$marks: any[]; private _marks; /** * marks 标签 使用格式为 [Object] 其中 Object 必须包含value 及label 可以有style 属性 例如: marks = [{value: 20, label: '20 ℃'}, */ marks: SliderMark[]; private _calcMarks(); ngOnInit(): void; private _removeResizeEvent; private resize(); /** * 暂没有使用场景. */ ngOnDestroy(): void; /** * 校验value的合法性. 大于最大值,取最大值, 小于最小值取最小值 * 子级组件需要用到 * @internal */ _verifyValue(value: number): number; private _getRemoveRefreshCallback(); private _propagateChange; writeValue(value: any): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; }