@rdkmaster/jigsaw-labs
Version:
Jigsaw, the next generation component set for RDK
98 lines (97 loc) • 2.98 kB
TypeScript
import { AfterViewInit, ElementRef, EventEmitter, OnDestroy, OnInit, Renderer2 } from "@angular/core";
import { ControlValueAccessor } from "@angular/forms";
import { AbstractJigsawComponent } from "../common";
import { ArrayCollection } from "../../core/data/array-collection";
import { DropDownTrigger } from "../../directive/float/float";
import { PopupOptions } from "../../service/popup.service";
export declare class ComboSelectValue {
[index: string]: any;
closable?: boolean;
}
export declare class JigsawComboSelect extends AbstractJigsawComponent implements ControlValueAccessor, OnDestroy, OnInit, AfterViewInit {
private _renderer;
private _elementRef;
private _removeRefreshCallback;
constructor(_renderer: Renderer2, _elementRef: ElementRef);
private _value;
value: ArrayCollection<ComboSelectValue> | ComboSelectValue[];
valueChange: EventEmitter<any[]>;
labelField: string;
select: EventEmitter<any>;
remove: EventEmitter<any>;
placeholder: string;
private _disabled;
disabled: boolean;
private _openTrigger;
openTrigger: 'mouseenter' | 'click' | 'none' | DropDownTrigger;
private _closeTrigger;
closeTrigger: 'mouseleave' | 'click' | 'none' | DropDownTrigger;
maxWidth: string;
/**
* @internal
*/
_$contentTemplateRef: any;
private _jigsawFloat;
/**
* @internal
*/
_$opened: boolean;
open: boolean;
/**
* @internal
*/
_$comboOpenChange(value: any): void;
openChange: EventEmitter<boolean>;
/**
* @internal
*/
_$options: PopupOptions;
private _showBorder;
showBorder: boolean;
autoClose: boolean;
autoWidth: boolean;
clearable: boolean;
private _editor;
private _editorElementRef;
private _tags;
searchable: boolean;
searching: boolean;
searchKeyword: string;
searchBoxMinWidth: number;
searchKeywordChange: EventEmitter<any>;
/**
* 是否显示tag的边框和删除按钮,默认显示
* @type {boolean}
*/
showValueBorder: boolean;
/**
* 当用户输入非法时,组件给予样式上的提示,以提升易用性,常常和表单配合使用。
*
* $demo = form/template-driven
*/
valid: boolean;
readonly _$trackByFn: (index: number, item: any) => any;
/**
* @internal
*/
_$clearValue(): void;
/**
* @internal
*/
_$removeTag(tag: any): void;
private _autoWidth();
private _autoClose();
private _autoEditorWidth();
private _$tagClick(tagItem);
/**
* @internal
*/
_$handleSearchBoxChange(): void;
ngOnInit(): void;
ngAfterViewInit(): void;
ngOnDestroy(): void;
private _propagateChange;
writeValue(value: any): void;
registerOnChange(fn: any): void;
registerOnTouched(fn: any): void;
}