@rdkmaster/jigsaw-labs
Version:
Jigsaw, the next generation component set for RDK
99 lines (81 loc) • 2.6 kB
text/typescript
import {Component, ElementRef, EventEmitter, Input, NgModule, OnInit, Output, Renderer2} from "@angular/core";
import {CommonModule} from "@angular/common";
import {AnimationDestroy} from "../animations/destroy";
import {AbstractJigsawComponent} from "../common";
import {CommonUtils} from "../../core/utils/common-utils";
export class JigsawTag extends AbstractJigsawComponent implements OnInit {
public color: string;
private _closable: boolean;
public get closable(): boolean {
return this._closable;
};
public set closable(value: boolean) {
this._closable = CommonUtils.isDefined(value) ? value : true;
}
/**
* 是否显示tag的边框和删除按钮,默认显示
* @type {boolean}
*/
public showBorder: boolean = true;
private _state: string;
constructor(private _renderer: Renderer2,
public _elementRef: ElementRef) {
super();
}
public close = new EventEmitter<JigsawTag>();
/**
* @internal
*/
public _$close(event) {
event.preventDefault();
event.stopPropagation();
this._state = 'inactive';
}
public select = new EventEmitter<JigsawTag>();
/**
* @internal
*/
public _$select(event) {
event.preventDefault();
event.stopPropagation();
this.select.emit(this);
}
private _animationDone($event) {
if ($event.toState === 'inactive') {
this.close.emit(this);
this._renderer.parentNode(this._elementRef.nativeElement).removeChild(this._elementRef.nativeElement);
}
}
ngOnInit() {
this.basicClass && this._renderer.addClass(this._elementRef.nativeElement, this.basicClass);
}
}
export class JigsawTagModule {
}