ng-zorro-antd-mobile
Version:
An enterprise-class mobile UI components based on Ant Design and Angular
149 lines (148 loc) • 9.59 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Component, ViewEncapsulation, Input, Output, EventEmitter } from '@angular/core';
export class TagComponent {
constructor() {
this.prefixCls = 'am-tag';
this.closed = false;
this.wrapCls = {};
this._small = false;
this._closable = false;
this._selected = false;
this._disabled = false;
this.onChange = new EventEmitter();
this.onClose = new EventEmitter();
this.afterClose = new EventEmitter();
}
/**
* @return {?}
*/
get small() {
return this._small;
}
/**
* @param {?} v
* @return {?}
*/
set small(v) {
this._small = v;
this.setClassMap();
}
/**
* @return {?}
*/
get closable() {
return this._closable;
}
/**
* @param {?} v
* @return {?}
*/
set closable(v) {
this._closable = v;
this.setClassMap();
}
/**
* @param {?} v
* @return {?}
*/
set selected(v) {
this._selected = v;
this.setClassMap();
}
/**
* @return {?}
*/
get disabled() {
return this._disabled;
}
/**
* @param {?} v
* @return {?}
*/
set disabled(v) {
this._disabled = v;
this.setClassMap();
}
/**
* @return {?}
*/
onClick() {
if (this._disabled) {
return;
}
this._selected = !this._selected;
this.onChange.emit(this._selected);
this.setClassMap();
}
/**
* @return {?}
*/
onTagClose() {
this.onClose.emit();
this.closed = true;
this.afterClose.emit();
}
/**
* @return {?}
*/
setClassMap() {
this.wrapCls = {
[this.prefixCls]: true,
[`${this.prefixCls}-normal`]: !this._disabled && (!this._selected || this._small || this._closable),
[`${this.prefixCls}-small`]: this._small,
[`${this.prefixCls}-active`]: this._selected && !this._disabled && !this._small && !this._closable,
[`${this.prefixCls}-disabled`]: this._disabled,
[`${this.prefixCls}-closable`]: this._closable
};
}
/**
* @return {?}
*/
ngOnInit() {
this.setClassMap();
}
}
TagComponent.decorators = [
{ type: Component, args: [{
selector: 'Tag, nzm-tag',
template: "<div *ngIf=\"!closed\" [ngClass]=\"wrapCls\" (click)=\"onClick()\">\n <div class=\"{{prefixCls}}-text\">\n <ng-content></ng-content>\n </div>\n <div *ngIf=\"closable && !disabled && !small\"\n role=\"button\"\n class=\"{{prefixCls}}-close\"\n aria-label=\"remove tag\"\n (click)=\"onTagClose()\">\n <Icon aria-hidden=\"true\" [type]=\"'cross-circle'\" [size]=\"'xs'\"></Icon>\n </div>\n</div>\n",
encapsulation: ViewEncapsulation.None
}] }
];
/** @nocollapse */
TagComponent.ctorParameters = () => [];
TagComponent.propDecorators = {
small: [{ type: Input }],
closable: [{ type: Input }],
selected: [{ type: Input }],
disabled: [{ type: Input }],
onChange: [{ type: Output }],
onClose: [{ type: Output }],
afterClose: [{ type: Output }]
};
if (false) {
/** @type {?} */
TagComponent.prototype.prefixCls;
/** @type {?} */
TagComponent.prototype.closed;
/** @type {?} */
TagComponent.prototype.wrapCls;
/** @type {?} */
TagComponent.prototype._small;
/** @type {?} */
TagComponent.prototype._closable;
/** @type {?} */
TagComponent.prototype._selected;
/** @type {?} */
TagComponent.prototype._disabled;
/** @type {?} */
TagComponent.prototype.onChange;
/** @type {?} */
TagComponent.prototype.onClose;
/** @type {?} */
TagComponent.prototype.afterClose;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXpvcnJvLWFudGQtbW9iaWxlLyIsInNvdXJjZXMiOlsidGFnL3RhZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsaUJBQWlCLEVBQ2pCLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBUXZCLE1BQU07SUE4Q0o7eUJBN0NvQixRQUFRO3NCQUNWLEtBQUs7dUJBQ1IsRUFBRTtzQkFFUyxLQUFLO3lCQUNGLEtBQUs7eUJBQ0wsS0FBSzt5QkFDTCxLQUFLO3dCQWdDSixJQUFJLFlBQVksRUFBTzt1QkFFeEIsSUFBSSxZQUFZLEVBQU87MEJBRXBCLElBQUksWUFBWSxFQUFPO0tBRXZDOzs7O0lBcENoQixJQUNJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7S0FDcEI7Ozs7O0lBQ0QsSUFBSSxLQUFLLENBQUMsQ0FBQztRQUNULElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztLQUNwQjs7OztJQUNELElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztLQUN2Qjs7Ozs7SUFDRCxJQUFJLFFBQVEsQ0FBQyxDQUFDO1FBQ1osSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0tBQ3BCOzs7OztJQUNELElBQ0ksUUFBUSxDQUFDLENBQUM7UUFDWixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7S0FDcEI7Ozs7SUFDRCxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7S0FDdkI7Ozs7O0lBQ0QsSUFBSSxRQUFRLENBQUMsQ0FBQztRQUNaLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztLQUNwQjs7OztJQVVELE9BQU87UUFDTCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztLQUNwQjs7OztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7S0FDeEI7Ozs7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNiLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUk7WUFDdEIsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDbkcsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLFFBQVEsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ3hDLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxTQUFTLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztZQUNsRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsV0FBVyxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDOUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLFdBQVcsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTO1NBQy9DLENBQUM7S0FDSDs7OztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7S0FDcEI7OztZQWxGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLHdiQUFtQztnQkFDbkMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7Ozs7O29CQVlFLEtBQUs7dUJBUUwsS0FBSzt1QkFRTCxLQUFLO3VCQUtMLEtBQUs7dUJBUUwsTUFBTTtzQkFFTixNQUFNO3lCQUVOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnVGFnLCBuem0tdGFnJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhZy5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5cbmV4cG9ydCBjbGFzcyBUYWdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcmVmaXhDbHM6IHN0cmluZyA9ICdhbS10YWcnO1xuICBjbG9zZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgd3JhcENsczogYW55ID0ge307XG5cbiAgcHJpdmF0ZSBfc21hbGw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfY2xvc2FibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfc2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBnZXQgc21hbGwoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NtYWxsO1xuICB9XG4gIHNldCBzbWFsbCh2KSB7XG4gICAgdGhpcy5fc21hbGwgPSB2O1xuICAgIHRoaXMuc2V0Q2xhc3NNYXAoKTtcbiAgfVxuICBASW5wdXQoKVxuICBnZXQgY2xvc2FibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Nsb3NhYmxlO1xuICB9XG4gIHNldCBjbG9zYWJsZSh2KSB7XG4gICAgdGhpcy5fY2xvc2FibGUgPSB2O1xuICAgIHRoaXMuc2V0Q2xhc3NNYXAoKTtcbiAgfVxuICBASW5wdXQoKVxuICBzZXQgc2VsZWN0ZWQodikge1xuICAgIHRoaXMuX3NlbGVjdGVkID0gdjtcbiAgICB0aGlzLnNldENsYXNzTWFwKCk7XG4gIH1cbiAgQElucHV0KClcbiAgZ2V0IGRpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuICBzZXQgZGlzYWJsZWQodikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gdjtcbiAgICB0aGlzLnNldENsYXNzTWFwKCk7XG4gIH1cbiAgQE91dHB1dCgpXG4gIG9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KClcbiAgb25DbG9zZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpXG4gIGFmdGVyQ2xvc2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG9uQ2xpY2soKSB7XG4gICAgaWYgKHRoaXMuX2Rpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3NlbGVjdGVkID0gIXRoaXMuX3NlbGVjdGVkO1xuICAgIHRoaXMub25DaGFuZ2UuZW1pdCh0aGlzLl9zZWxlY3RlZCk7XG4gICAgdGhpcy5zZXRDbGFzc01hcCgpO1xuICB9XG5cbiAgb25UYWdDbG9zZSgpIHtcbiAgICB0aGlzLm9uQ2xvc2UuZW1pdCgpO1xuICAgIHRoaXMuY2xvc2VkID0gdHJ1ZTtcbiAgICB0aGlzLmFmdGVyQ2xvc2UuZW1pdCgpO1xuICB9XG5cbiAgc2V0Q2xhc3NNYXAoKSB7XG4gICAgdGhpcy53cmFwQ2xzID0ge1xuICAgICAgW3RoaXMucHJlZml4Q2xzXTogdHJ1ZSxcbiAgICAgIFtgJHt0aGlzLnByZWZpeENsc30tbm9ybWFsYF06ICF0aGlzLl9kaXNhYmxlZCAmJiAoIXRoaXMuX3NlbGVjdGVkIHx8IHRoaXMuX3NtYWxsIHx8IHRoaXMuX2Nsb3NhYmxlKSxcbiAgICAgIFtgJHt0aGlzLnByZWZpeENsc30tc21hbGxgXTogdGhpcy5fc21hbGwsXG4gICAgICBbYCR7dGhpcy5wcmVmaXhDbHN9LWFjdGl2ZWBdOiB0aGlzLl9zZWxlY3RlZCAmJiAhdGhpcy5fZGlzYWJsZWQgJiYgIXRoaXMuX3NtYWxsICYmICF0aGlzLl9jbG9zYWJsZSxcbiAgICAgIFtgJHt0aGlzLnByZWZpeENsc30tZGlzYWJsZWRgXTogdGhpcy5fZGlzYWJsZWQsXG4gICAgICBbYCR7dGhpcy5wcmVmaXhDbHN9LWNsb3NhYmxlYF06IHRoaXMuX2Nsb3NhYmxlXG4gICAgfTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0Q2xhc3NNYXAoKTtcbiAgfVxufVxuIl19