@rdkmaster/jigsaw-labs
Version:
Jigsaw, the next generation component set for RDK
82 lines (81 loc) • 2.73 kB
TypeScript
/**
* Created by 10177553 on 2017/3/14.
*/
import { EventEmitter, OnInit, AfterContentInit, Renderer2, ElementRef } from '@angular/core';
import { ControlValueAccessor } from "@angular/forms";
import { AbstractJigsawComponent } from '../common';
import { CheckBoxStatus } from "./typings";
export declare type CheckBoxValue = boolean | CheckBoxStatus;
/**
* 复选框组件,支持勾选、非勾选、中间状态3种状态。
*
* 这是一个表单友好组件。
*
* $demo = checkbox/full
* $demo = checkbox/basic
*/
export declare class JigsawCheckBox extends AbstractJigsawComponent implements ControlValueAccessor, OnInit, AfterContentInit {
private _renderer;
private _elementRef;
private _enableIndeterminate;
/**
* 复选框是否启用中间状态的开关
* - 等于`true`时,用户可以点出中间状态;
* - 等于`false`时,用户不可点出中间状态(默认);
*
* 编程模式赋值复选框状态时,不受此开关的影响,即即使`enableIndeterminate`被设置为false,
* 应用依然可以在代码中直接将组件的状态设置为`CheckBoxStatus.indeterminate`。
*
* $demo = checkbox/basic
*/
enableIndeterminate: boolean;
private _checked;
/**
* 用于设置复选框的状态,支持的所有状态参考`CheckBoxStatus`,默认值是`CheckBoxStatus.unchecked`
*
* $demo = checkbox/basic
*/
checked: CheckBoxValue;
/**
* 选中状态变化时发出此事件,此事件可以简化为`change`
*
* @type {EventEmitter<CheckBoxValue>}
*/
checkedChange: EventEmitter<CheckBoxValue>;
/**
* 选中状态变化时发出此事件
*
* @type {EventEmitter<CheckBoxValue>}
*/
change: EventEmitter<CheckBoxValue>;
private _disabled;
/**
* 设置按钮不可交互状态的开关,为true则不可交互,为false则可交互。
*
* $demo = checkbox/disabled
*/
disabled: boolean;
valid: boolean;
constructor(_renderer: Renderer2, _elementRef: ElementRef);
ngOnInit(): void;
ngAfterContentInit(): void;
private _valueCandidates;
private _toggle();
private _fixCheckValue(value);
/**
* checkbox点击调用的事件
* @param event
* @internal
*/
_$onCheckboxClick(event: Event): void;
/**
* 更新checkbox的样式信息
* @internal
*/
_$checkboxClass: {};
private _setCheckBoxClass();
private _propagateChange;
writeValue(value: any): void;
registerOnChange(fn: any): void;
registerOnTouched(fn: any): void;
}