UNPKG

@rdkmaster/jigsaw-labs

Version:

Jigsaw, the next generation component set for RDK

82 lines (81 loc) 2.73 kB
/** * 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; }