UNPKG

ng-zorro-antd

Version:

An enterprise-class UI components based on Ant Design and Angular

187 lines 15.1 kB
/** * @fileoverview added by tsickle * Generated from: tag.component.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { __decorate, __metadata } from "tslib"; /** * @license * Copyright Alibaba.com All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE */ import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output, Renderer2, ViewEncapsulation } from '@angular/core'; import { fadeMotion } from 'ng-zorro-antd/core/animation'; import { warnDeprecation } from 'ng-zorro-antd/core/logger'; import { InputBoolean } from 'ng-zorro-antd/core/util'; export class NzTagComponent { /** * @param {?} renderer * @param {?} elementRef */ constructor(renderer, elementRef) { this.renderer = renderer; this.elementRef = elementRef; this.presetColor = false; this.cacheClassName = null; this.nzMode = 'default'; this.nzChecked = false; this.nzNoAnimation = false; this.nzAfterClose = new EventEmitter(); this.nzOnClose = new EventEmitter(); this.nzCheckedChange = new EventEmitter(); } /** * @private * @param {?=} color * @return {?} */ isPresetColor(color) { if (!color) { return false; } return (/^(pink|red|yellow|orange|cyan|green|blue|purple|geekblue|magenta|volcano|gold|lime)(-inverse)?$/.test(color) || /^(success|processing|error|default|warning)$/.test(color)); } /** * @private * @return {?} */ updateClassMap() { this.presetColor = this.isPresetColor(this.nzColor); if (this.cacheClassName) { this.renderer.removeClass(this.elementRef.nativeElement, this.cacheClassName); } if (this.presetColor) { this.cacheClassName = `ant-tag-${this.nzColor}`; this.renderer.addClass(this.elementRef.nativeElement, this.cacheClassName); } } /** * @return {?} */ updateCheckedStatus() { if (this.nzMode === 'checkable') { this.nzChecked = !this.nzChecked; this.nzCheckedChange.emit(this.nzChecked); this.updateClassMap(); } } /** * @param {?} e * @return {?} */ closeTag(e) { this.nzOnClose.emit(e); if (!e.defaultPrevented) { this.renderer.removeChild(this.renderer.parentNode(this.elementRef.nativeElement), this.elementRef.nativeElement); } } /** * @param {?} e * @return {?} */ afterAnimation(e) { if (e.toState === 'void') { this.nzAfterClose.emit(); if (this.nzAfterClose.observers.length) { warnDeprecation(`'(nzAfterClose)' Output is going to be removed in 9.0.0. Please use '(nzOnClose)' instead.`); } } } /** * @return {?} */ ngOnInit() { this.updateClassMap(); } /** * @return {?} */ ngOnChanges() { this.updateClassMap(); } } NzTagComponent.decorators = [ { type: Component, args: [{ selector: 'nz-tag', exportAs: 'nzTag', preserveWhitespaces: false, animations: [fadeMotion], template: ` <ng-content></ng-content> <i nz-icon nzType="close" *ngIf="nzMode === 'closeable'" tabindex="-1" (click)="closeTag($event)"></i> `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { '[@fadeMotion]': '', '[@.disabled]': 'nzNoAnimation', '[style.background-color]': 'presetColor ? null : nzColor', '[class.ant-tag]': `true`, '[class.ant-tag-has-color]': `nzColor && !presetColor`, '[class.ant-tag-checkable]': `nzMode === 'checkable'`, '[class.ant-tag-checkable-checked]': `nzChecked`, '(click)': 'updateCheckedStatus()', '(@fadeMotion.done)': 'afterAnimation($event)' } }] } ]; /** @nocollapse */ NzTagComponent.ctorParameters = () => [ { type: Renderer2 }, { type: ElementRef } ]; NzTagComponent.propDecorators = { nzMode: [{ type: Input }], nzColor: [{ type: Input }], nzChecked: [{ type: Input }], nzNoAnimation: [{ type: Input }], nzAfterClose: [{ type: Output }], nzOnClose: [{ type: Output }], nzCheckedChange: [{ type: Output }] }; __decorate([ InputBoolean(), __metadata("design:type", Object) ], NzTagComponent.prototype, "nzChecked", void 0); __decorate([ InputBoolean(), __metadata("design:type", Object) ], NzTagComponent.prototype, "nzNoAnimation", void 0); if (false) { /** @type {?} */ NzTagComponent.ngAcceptInputType_nzChecked; /** @type {?} */ NzTagComponent.ngAcceptInputType_nzNoAnimation; /** @type {?} */ NzTagComponent.prototype.presetColor; /** @type {?} */ NzTagComponent.prototype.cacheClassName; /** @type {?} */ NzTagComponent.prototype.nzMode; /** @type {?} */ NzTagComponent.prototype.nzColor; /** @type {?} */ NzTagComponent.prototype.nzChecked; /** @type {?} */ NzTagComponent.prototype.nzNoAnimation; /** @type {?} */ NzTagComponent.prototype.nzAfterClose; /** @type {?} */ NzTagComponent.prototype.nzOnClose; /** @type {?} */ NzTagComponent.prototype.nzCheckedChange; /** * @type {?} * @private */ NzTagComponent.prototype.renderer; /** * @type {?} * @private */ NzTagComponent.prototype.elementRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXpvcnJvLWFudGQvdGFnLyIsInNvdXJjZXMiOlsidGFnLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBU0EsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUF5QnZELE1BQU0sT0FBTyxjQUFjOzs7OztJQTREekIsWUFBb0IsUUFBbUIsRUFBVSxVQUFzQjtRQUFuRCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQXhEdkUsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsbUJBQWMsR0FBa0IsSUFBSSxDQUFDO1FBQzVCLFdBQU0sR0FBMEMsU0FBUyxDQUFDO1FBRTFDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDNUIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3hDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBQzNDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQWdEUyxDQUFDOzs7Ozs7SUE5Q25FLGFBQWEsQ0FBQyxLQUFjO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsT0FBTyxDQUNMLGlHQUFpRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDN0csOENBQThDLENBQUMsSUFB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TUFBTTs7QUFKa0I7SUFBZixZQUFZLEVBQUU7O2lEQUFtQjtBQUNsQjtJQUFmLFlBQVksRUFBRTs7cURBQXVCOzs7SUFSL0MsMkNBQWlEOztJQUNqRCwrQ0FBcUQ7O0lBRXJELHFDQUFvQjs7SUFDcEIsd0NBQXFDOztJQUNyQyxnQ0FBbUU7O0lBQ25FLGlDQUEwQjs7SUFDMUIsbUNBQTJDOztJQUMzQyx1Q0FBK0M7O0lBQy9DLHNDQUEyRDs7SUFDM0QsbUNBQThEOztJQUM5RCx5Q0FBaUU7Ozs7O0lBZ0RyRCxrQ0FBMkI7Ozs7O0lBQUUsb0NBQThCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEFsaWJhYmEuY29tIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9naXRodWIuY29tL05HLVpPUlJPL25nLXpvcnJvLWFudGQvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB7IEFuaW1hdGlvbkV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmFkZU1vdGlvbiB9IGZyb20gJ25nLXpvcnJvLWFudGQvY29yZS9hbmltYXRpb24nO1xuaW1wb3J0IHsgd2FybkRlcHJlY2F0aW9uIH0gZnJvbSAnbmctem9ycm8tYW50ZC9jb3JlL2xvZ2dlcic7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHsgSW5wdXRCb29sZWFuIH0gZnJvbSAnbmctem9ycm8tYW50ZC9jb3JlL3V0aWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduei10YWcnLFxuICBleHBvcnRBczogJ256VGFnJyxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gIGFuaW1hdGlvbnM6IFtmYWRlTW90aW9uXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPGkgbnotaWNvbiBuelR5cGU9XCJjbG9zZVwiICpuZ0lmPVwibnpNb2RlID09PSAnY2xvc2VhYmxlJ1wiIHRhYmluZGV4PVwiLTFcIiAoY2xpY2spPVwiY2xvc2VUYWcoJGV2ZW50KVwiPjwvaT5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICAnW0BmYWRlTW90aW9uXSc6ICcnLFxuICAgICdbQC5kaXNhYmxlZF0nOiAnbnpOb0FuaW1hdGlvbicsXG4gICAgJ1tzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXSc6ICdwcmVzZXRDb2xvciA/IG51bGwgOiBuekNvbG9yJyxcbiAgICAnW2NsYXNzLmFudC10YWddJzogYHRydWVgLFxuICAgICdbY2xhc3MuYW50LXRhZy1oYXMtY29sb3JdJzogYG56Q29sb3IgJiYgIXByZXNldENvbG9yYCxcbiAgICAnW2NsYXNzLmFudC10YWctY2hlY2thYmxlXSc6IGBuek1vZGUgPT09ICdjaGVja2FibGUnYCxcbiAgICAnW2NsYXNzLmFudC10YWctY2hlY2thYmxlLWNoZWNrZWRdJzogYG56Q2hlY2tlZGAsXG4gICAgJyhjbGljayknOiAndXBkYXRlQ2hlY2tlZFN0YXR1cygpJyxcbiAgICAnKEBmYWRlTW90aW9uLmRvbmUpJzogJ2FmdGVyQW5pbWF0aW9uKCRldmVudCknXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgTnpUYWdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9uekNoZWNrZWQ6IEJvb2xlYW5JbnB1dDtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX256Tm9BbmltYXRpb246IEJvb2xlYW5JbnB1dDtcblxuICBwcmVzZXRDb2xvciA9IGZhbHNlO1xuICBjYWNoZUNsYXNzTmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIG56TW9kZTogJ2RlZmF1bHQnIHwgJ2Nsb3NlYWJsZScgfCAnY2hlY2thYmxlJyA9ICdkZWZhdWx0JztcbiAgQElucHV0KCkgbnpDb2xvcj86IHN0cmluZztcbiAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIG56Q2hlY2tlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgbnpOb0FuaW1hdGlvbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgbnpBZnRlckNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgbnpPbkNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgbnpDaGVja2VkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHByaXZhdGUgaXNQcmVzZXRDb2xvcihjb2xvcj86IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICghY29sb3IpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgL14ocGlua3xyZWR8eWVsbG93fG9yYW5nZXxjeWFufGdyZWVufGJsdWV8cHVycGxlfGdlZWtibHVlfG1hZ2VudGF8dm9sY2Fub3xnb2xkfGxpbWUpKC1pbnZlcnNlKT8kLy50ZXN0KGNvbG9yKSB8fFxuICAgICAgL14oc3VjY2Vzc3xwcm9jZXNzaW5nfGVycm9yfGRlZmF1bHR8d2FybmluZykkLy50ZXN0KGNvbG9yKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUNsYXNzTWFwKCk6IHZvaWQge1xuICAgIHRoaXMucHJlc2V0Q29sb3IgPSB0aGlzLmlzUHJlc2V0Q29sb3IodGhpcy5uekNvbG9yKTtcbiAgICBpZiAodGhpcy5jYWNoZUNsYXNzTmFtZSkge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5jYWNoZUNsYXNzTmFtZSk7XG4gICAgfVxuICAgIGlmICh0aGlzLnByZXNldENvbG9yKSB7XG4gICAgICB0aGlzLmNhY2hlQ2xhc3NOYW1lID0gYGFudC10YWctJHt0aGlzLm56Q29sb3J9YDtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMuY2FjaGVDbGFzc05hbWUpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZUNoZWNrZWRTdGF0dXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubnpNb2RlID09PSAnY2hlY2thYmxlJykge1xuICAgICAgdGhpcy5uekNoZWNrZWQgPSAhdGhpcy5uekNoZWNrZWQ7XG4gICAgICB0aGlzLm56Q2hlY2tlZENoYW5nZS5lbWl0KHRoaXMubnpDaGVja2VkKTtcbiAgICAgIHRoaXMudXBkYXRlQ2xhc3NNYXAoKTtcbiAgICB9XG4gIH1cblxuICBjbG9zZVRhZyhlOiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5uek9uQ2xvc2UuZW1pdChlKTtcbiAgICBpZiAoIWUuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLnJlbmRlcmVyLnBhcmVudE5vZGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpLCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgYWZ0ZXJBbmltYXRpb24oZTogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZS50b1N0YXRlID09PSAndm9pZCcpIHtcbiAgICAgIHRoaXMubnpBZnRlckNsb3NlLmVtaXQoKTtcbiAgICAgIGlmICh0aGlzLm56QWZ0ZXJDbG9zZS5vYnNlcnZlcnMubGVuZ3RoKSB7XG4gICAgICAgIHdhcm5EZXByZWNhdGlvbihgJyhuekFmdGVyQ2xvc2UpJyBPdXRwdXQgaXMgZ29pbmcgdG8gYmUgcmVtb3ZlZCBpbiA5LjAuMC4gUGxlYXNlIHVzZSAnKG56T25DbG9zZSknIGluc3RlYWQuYCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVDbGFzc01hcCgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVDbGFzc01hcCgpO1xuICB9XG59XG4iXX0=