UNPKG

@rdkmaster/jigsaw-labs

Version:

Jigsaw, the next generation component set for RDK

131 lines (130 loc) 3.61 kB
import { EventEmitter } from '@angular/core'; import { ControlValueAccessor } from '@angular/forms'; import { AbstractJigsawComponent } from "../common"; import { ArrayCollection } from "../../core/data/array-collection"; /** * 选择控件 * - 支持单选和多选,自动给出单选的对象和多选的数组 * - 支持静态数据,异步数据和数据回填 * - 支持控件不可用 * - 支持文本溢出显示省略号,鼠标移入有提示信息 * - 支持设置显示多少option,并自动产生滚动条 * - 支持Array、ArrayCollection、LocalPageableArray、PageableArray的检索 * - 支持设置下拉触发的方式 * */ export declare class JigsawSelect extends AbstractJigsawComponent implements ControlValueAccessor { valid: boolean; protected _width: string; width: string; private _minWidth; /** * 用于多选时设置最小宽度 * @returns {string} */ minWidth: string; private _maxWidth; /** * 用于多选时设置最大宽度 * @returns {string} */ maxWidth: string; /** * 设置对象的标识 */ trackItemBy: string | string[]; /** * 设置数据的显示字段 * @type {string} */ labelField: string; /** * placeholder文本 */ placeholder: string; /** * 不可用属性 * $demo = select/disabled */ disabled: boolean; optionWidth: string; optionHeight: string; /** * 显示的option个数,超出的会显示滚动条 * $demo = select/option-count */ optionCount: number; /** * 多选开关 * $demo = select/multiple */ multipleSelect: boolean; /** * 搜索开关 * $demo = select/searchable */ searchable: boolean; /** * 选择结果框的清除按钮的显示与隐藏 * $demo = select/clearable */ clearable: boolean; /** * 打开下拉的触发方式 * @type {string} * * $demo = select/trigger */ openTrigger: 'click' | 'mouseenter'; /** * 关闭下拉的触发方式 * @type {string} * * $demo = select/trigger */ closeTrigger: 'click' | 'mouseleave'; private _data; /** * 提供选择的数据集合 * @returns {ArrayCollection<Object> | Object[]} */ data: ArrayCollection<object> | object[]; private _value; /** * 选择的结果,单选时单个的item对象,多选时是item对象的数组 * @returns {any} * * $demo = select/basic * $demo = select/multiple * $demo = select/async */ value: any; /** * 选择结果发生变化时,向外面发送事件 * @type {EventEmitter<any>} * * $demo = select/basic */ valueChange: EventEmitter<any>; /** * 在多选时,用户点击被选中条目的叉叉时发出此事件 * * $demo = select/multiple */ remove: EventEmitter<any>; private _listCmp; /** * @internal */ _$selectedItems: ArrayCollection<any> | any[]; _$handleSelectChange(selectedItems: any[]): void; _$handleClearable(selectedItems: any[]): void; _$onComboOpenChange(optionState: boolean): void; _$onTagRemove(removedItem: any): void; private _propagateChange; writeValue(value: any): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; } export declare class JigsawSelectModule { }