@rdkmaster/jigsaw-labs
Version:
Jigsaw, the next generation component set for RDK
83 lines (73 loc) • 2.47 kB
text/typescript
import {
AfterContentInit, ChangeDetectorRef, Component, ContentChildren, ElementRef, forwardRef, Input, NgModule,
QueryList
} from "@angular/core";
import {CommonModule} from "@angular/common";
import {FormsModule, NG_VALUE_ACCESSOR} from "@angular/forms";
import {AbstractJigsawOptionComponent} from "./group-common";
import {AbstractJigsawGroupComponent} from "./group-common";
export class JigsawList extends AbstractJigsawGroupComponent implements AfterContentInit {
// 默认单选
public multipleSelect: boolean = false;
public disabled : boolean =false;
// 获取映射的子组件
protected _items: QueryList<JigsawListOption>;
}
export class JigsawListOption extends AbstractJigsawOptionComponent {
constructor(public changeDetector: ChangeDetectorRef, public elementRef: ElementRef) {
super();
}
private _selected: boolean = false; // 选中状态
public get selected(): boolean {
return this._selected;
}
public set selected(value: boolean) {
if (this._selected === value || this.disabled) {
return;
}
this._selected = value;
this.selectedChange.emit(value);
}
/**
* 点击组件触发
* @internal
*/
public _$handleClick(): void {
if(this.disabled || !this.value) return;
this.change.emit(this);
}
}
export class JigsawListModule {
}