ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
152 lines • 10.7 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: text-copy.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* 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 { Clipboard } from '@angular/cdk/clipboard';
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
import { NzI18nService } from 'ng-zorro-antd/i18n';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
var NzTextCopyComponent = /** @class */ (function () {
function NzTextCopyComponent(host, cdr, clipboard, i18n) {
this.host = host;
this.cdr = cdr;
this.clipboard = clipboard;
this.i18n = i18n;
this.copied = false;
this.copyId = -1;
this.nativeElement = this.host.nativeElement;
this.destroy$ = new Subject();
this.textCopy = new EventEmitter();
}
/**
* @return {?}
*/
NzTextCopyComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () {
var _this = this;
this.i18n.localeChange.pipe(takeUntil(this.destroy$)).subscribe((/**
* @return {?}
*/
function () {
_this.locale = _this.i18n.getLocaleData('Text');
_this.cdr.markForCheck();
}));
};
/**
* @return {?}
*/
NzTextCopyComponent.prototype.ngOnDestroy = /**
* @return {?}
*/
function () {
clearTimeout(this.copyId);
this.destroy$.next();
this.destroy$.complete();
};
/**
* @return {?}
*/
NzTextCopyComponent.prototype.onClick = /**
* @return {?}
*/
function () {
if (this.copied) {
return;
}
this.copied = true;
this.cdr.detectChanges();
/** @type {?} */
var text = this.text;
this.textCopy.emit(text);
this.clipboard.copy(text);
this.onCopied();
};
/**
* @return {?}
*/
NzTextCopyComponent.prototype.onCopied = /**
* @return {?}
*/
function () {
var _this = this;
clearTimeout(this.copyId);
this.copyId = setTimeout((/**
* @return {?}
*/
function () {
_this.copied = false;
_this.cdr.detectChanges();
}), 3000);
};
NzTextCopyComponent.decorators = [
{ type: Component, args: [{
selector: 'nz-text-copy',
exportAs: 'nzTextCopy',
template: "\n <button\n nz-tooltip\n nz-trans-button\n [nzTooltipTitle]=\"copied ? locale?.copied : locale?.copy\"\n class=\"ant-typography-copy\"\n [class.ant-typography-copy-success]=\"copied\"\n (click)=\"onClick()\"\n >\n <i nz-icon [nzType]=\"copied ? 'check' : 'copy'\"></i>\n </button>\n ",
changeDetection: ChangeDetectionStrategy.OnPush,
encapsulation: ViewEncapsulation.None,
preserveWhitespaces: false
}] }
];
/** @nocollapse */
NzTextCopyComponent.ctorParameters = function () { return [
{ type: ElementRef },
{ type: ChangeDetectorRef },
{ type: Clipboard },
{ type: NzI18nService }
]; };
NzTextCopyComponent.propDecorators = {
text: [{ type: Input }],
textCopy: [{ type: Output }]
};
return NzTextCopyComponent;
}());
export { NzTextCopyComponent };
if (false) {
/** @type {?} */
NzTextCopyComponent.prototype.copied;
/** @type {?} */
NzTextCopyComponent.prototype.copyId;
/** @type {?} */
NzTextCopyComponent.prototype.locale;
/** @type {?} */
NzTextCopyComponent.prototype.nativeElement;
/**
* @type {?}
* @private
*/
NzTextCopyComponent.prototype.destroy$;
/** @type {?} */
NzTextCopyComponent.prototype.text;
/** @type {?} */
NzTextCopyComponent.prototype.textCopy;
/**
* @type {?}
* @private
*/
NzTextCopyComponent.prototype.host;
/**
* @type {?}
* @private
*/
NzTextCopyComponent.prototype.cdr;
/**
* @type {?}
* @private
*/
NzTextCopyComponent.prototype.clipboard;
/**
* @type {?}
* @private
*/
NzTextCopyComponent.prototype.i18n;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1jb3B5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXpvcnJvLWFudGQvdHlwb2dyYXBoeS8iLCJzb3VyY2VzIjpbInRleHQtY29weS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBS0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxhQUFhLEVBQXVCLE1BQU0sb0JBQW9CLENBQUM7QUFDeEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0M7SUE2QkUsNkJBQW9CLElBQWdCLEVBQVUsR0FBc0IsRUFBVSxTQUFvQixFQUFVLElBQW1CO1FBQTNHLFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFlO1FBVC9ILFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixXQUFNLEdBQVcsQ0FBQyxDQUFDLENBQUM7UUFFcEIsa0JBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUNoQyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUdkLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRXlFLENBQUM7Ozs7SUFFbkksc0NBQVE7OztJQUFSO1FBQUEsaUJBS0M7UUFKQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVM7OztRQUFDO1lBQzlELEtBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUMsS0FBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCx5Q0FBVzs7O0lBQVg7UUFDRSxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzs7O0lBRUQscUNBQU87OztJQUFQO1FBQ0UsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQzs7WUFDbkIsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJO1FBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDOzs7O0lBRUQsc0NBQVE7OztJQUFSO1FBQUEsaUJBTUM7UUFMQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVTs7O1FBQUM7WUFDdkIsS0FBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDcEIsS0FBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMzQixDQUFDLEdBQUUsSUFBSSxDQUFDLENBQUM7SUFDWCxDQUFDOztnQkE5REYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixRQUFRLEVBQUUsWUFBWTtvQkFDdEIsUUFBUSxFQUFFLDJVQVdUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsbUJBQW1CLEVBQUUsS0FBSztpQkFDM0I7Ozs7Z0JBL0JDLFVBQVU7Z0JBRlYsaUJBQWlCO2dCQUhWLFNBQVM7Z0JBY1QsYUFBYTs7O3VCQThCbkIsS0FBSzsyQkFDTCxNQUFNOztJQW9DVCwwQkFBQztDQUFBLEFBL0RELElBK0RDO1NBNUNZLG1CQUFtQjs7O0lBQzlCLHFDQUFlOztJQUNmLHFDQUFvQjs7SUFDcEIscUNBQTZCOztJQUM3Qiw0Q0FBd0M7Ozs7O0lBQ3hDLHVDQUFpQzs7SUFFakMsbUNBQXVCOztJQUN2Qix1Q0FBeUQ7Ozs7O0lBRTdDLG1DQUF3Qjs7Ozs7SUFBRSxrQ0FBOEI7Ozs7O0lBQUUsd0NBQTRCOzs7OztJQUFFLG1DQUEyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9naXRodWIuY29tL05HLVpPUlJPL25nLXpvcnJvLWFudGQvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB7IENsaXBib2FyZCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jbGlwYm9hcmQnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOekkxOG5TZXJ2aWNlLCBOelRleHRJMThuSW50ZXJmYWNlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9pMThuJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnotdGV4dC1jb3B5JyxcbiAgZXhwb3J0QXM6ICduelRleHRDb3B5JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YnV0dG9uXG4gICAgICBuei10b29sdGlwXG4gICAgICBuei10cmFucy1idXR0b25cbiAgICAgIFtuelRvb2x0aXBUaXRsZV09XCJjb3BpZWQgPyBsb2NhbGU/LmNvcGllZCA6IGxvY2FsZT8uY29weVwiXG4gICAgICBjbGFzcz1cImFudC10eXBvZ3JhcGh5LWNvcHlcIlxuICAgICAgW2NsYXNzLmFudC10eXBvZ3JhcGh5LWNvcHktc3VjY2Vzc109XCJjb3BpZWRcIlxuICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soKVwiXG4gICAgPlxuICAgICAgPGkgbnotaWNvbiBbbnpUeXBlXT1cImNvcGllZCA/ICdjaGVjaycgOiAnY29weSdcIj48L2k+XG4gICAgPC9idXR0b24+XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOelRleHRDb3B5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBjb3BpZWQgPSBmYWxzZTtcbiAgY29weUlkOiBudW1iZXIgPSAtMTtcbiAgbG9jYWxlITogTnpUZXh0STE4bkludGVyZmFjZTtcbiAgbmF0aXZlRWxlbWVudCA9IHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50O1xuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcblxuICBASW5wdXQoKSB0ZXh0ITogc3RyaW5nO1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgdGV4dENvcHkgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGhvc3Q6IEVsZW1lbnRSZWYsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBjbGlwYm9hcmQ6IENsaXBib2FyZCwgcHJpdmF0ZSBpMThuOiBOekkxOG5TZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaTE4bi5sb2NhbGVDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmxvY2FsZSA9IHRoaXMuaTE4bi5nZXRMb2NhbGVEYXRhKCdUZXh0Jyk7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLmNvcHlJZCk7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgb25DbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb3BpZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jb3BpZWQgPSB0cnVlO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICBjb25zdCB0ZXh0ID0gdGhpcy50ZXh0O1xuICAgIHRoaXMudGV4dENvcHkuZW1pdCh0ZXh0KTtcbiAgICB0aGlzLmNsaXBib2FyZC5jb3B5KHRleHQpO1xuICAgIHRoaXMub25Db3BpZWQoKTtcbiAgfVxuXG4gIG9uQ29waWVkKCk6IHZvaWQge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLmNvcHlJZCk7XG4gICAgdGhpcy5jb3B5SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuY29waWVkID0gZmFsc2U7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSwgMzAwMCk7XG4gIH1cbn1cbiJdfQ==