ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
155 lines • 10.9 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: text-copy.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @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 { 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.locale = {};
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1jb3B5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXpvcnJvLWFudGQvdHlwb2dyYXBoeS8iLCJzb3VyY2VzIjpbInRleHQtY29weS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBUUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQztJQTZCRSw2QkFBb0IsSUFBZ0IsRUFBVSxHQUFzQixFQUFVLFNBQW9CLEVBQVUsSUFBbUI7UUFBM0csU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUFVLFNBQUksR0FBSixJQUFJLENBQWU7UUFUL0gsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUVmLFdBQU0sR0FBYyxFQUFFLENBQUM7UUFDdkIsa0JBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUNoQyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUdkLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRXlFLENBQUM7Ozs7SUFFbkksc0NBQVE7OztJQUFSO1FBQUEsaUJBS0M7UUFKQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVM7OztRQUFDO1lBQzlELEtBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUMsS0FBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCx5Q0FBVzs7O0lBQVg7UUFDRSxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzs7O0lBRUQscUNBQU87OztJQUFQO1FBQ0UsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQzs7WUFDbkIsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJO1FBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDOzs7O0lBRUQsc0NBQVE7OztJQUFSO1FBQUEsaUJBTUM7UUFMQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVTs7O1FBQUM7WUFDdkIsS0FBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDcEIsS0FBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMzQixDQUFDLEdBQUUsSUFBSSxDQUFDLENBQUM7SUFDWCxDQUFDOztnQkE5REYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixRQUFRLEVBQUUsWUFBWTtvQkFDdEIsUUFBUSxFQUFFLDJVQVdUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsbUJBQW1CLEVBQUUsS0FBSztpQkFDM0I7Ozs7Z0JBaENDLFVBQVU7Z0JBRlYsaUJBQWlCO2dCQUhWLFNBQVM7Z0JBZVQsYUFBYTs7O3VCQThCbkIsS0FBSzsyQkFDTCxNQUFNOztJQW9DVCwwQkFBQztDQUFBLEFBL0RELElBK0RDO1NBNUNZLG1CQUFtQjs7O0lBQzlCLHFDQUFlOztJQUNmLHFDQUFlOztJQUNmLHFDQUF1Qjs7SUFDdkIsNENBQXdDOzs7OztJQUN4Qyx1Q0FBaUM7O0lBRWpDLG1DQUFzQjs7SUFDdEIsdUNBQXlEOzs7OztJQUU3QyxtQ0FBd0I7Ozs7O0lBQUUsa0NBQThCOzs7OztJQUFFLHdDQUE0Qjs7Ozs7SUFBRSxtQ0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgQWxpYmFiYS5jb20gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vTkctWk9SUk8vbmctem9ycm8tYW50ZC9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHsgQ2xpcGJvYXJkIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NsaXBib2FyZCc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOelNhZmVBbnkgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdHlwZXMnO1xuXG5pbXBvcnQgeyBOekkxOG5TZXJ2aWNlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9pMThuJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnotdGV4dC1jb3B5JyxcbiAgZXhwb3J0QXM6ICduelRleHRDb3B5JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YnV0dG9uXG4gICAgICBuei10b29sdGlwXG4gICAgICBuei10cmFucy1idXR0b25cbiAgICAgIFtuelRvb2x0aXBUaXRsZV09XCJjb3BpZWQgPyBsb2NhbGU/LmNvcGllZCA6IGxvY2FsZT8uY29weVwiXG4gICAgICBjbGFzcz1cImFudC10eXBvZ3JhcGh5LWNvcHlcIlxuICAgICAgW2NsYXNzLmFudC10eXBvZ3JhcGh5LWNvcHktc3VjY2Vzc109XCJjb3BpZWRcIlxuICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soKVwiXG4gICAgPlxuICAgICAgPGkgbnotaWNvbiBbbnpUeXBlXT1cImNvcGllZCA/ICdjaGVjaycgOiAnY29weSdcIj48L2k+XG4gICAgPC9idXR0b24+XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBOelRleHRDb3B5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBjb3BpZWQgPSBmYWxzZTtcbiAgY29weUlkOiBudW1iZXI7XG4gIGxvY2FsZTogTnpTYWZlQW55ID0ge307XG4gIG5hdGl2ZUVsZW1lbnQgPSB0aGlzLmhvc3QubmF0aXZlRWxlbWVudDtcbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgQElucHV0KCkgdGV4dDogc3RyaW5nO1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgdGV4dENvcHkgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGhvc3Q6IEVsZW1lbnRSZWYsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBjbGlwYm9hcmQ6IENsaXBib2FyZCwgcHJpdmF0ZSBpMThuOiBOekkxOG5TZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaTE4bi5sb2NhbGVDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmxvY2FsZSA9IHRoaXMuaTE4bi5nZXRMb2NhbGVEYXRhKCdUZXh0Jyk7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLmNvcHlJZCk7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgb25DbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb3BpZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jb3BpZWQgPSB0cnVlO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICBjb25zdCB0ZXh0ID0gdGhpcy50ZXh0O1xuICAgIHRoaXMudGV4dENvcHkuZW1pdCh0ZXh0KTtcbiAgICB0aGlzLmNsaXBib2FyZC5jb3B5KHRleHQpO1xuICAgIHRoaXMub25Db3BpZWQoKTtcbiAgfVxuXG4gIG9uQ29waWVkKCk6IHZvaWQge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLmNvcHlJZCk7XG4gICAgdGhpcy5jb3B5SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuY29waWVkID0gZmFsc2U7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSwgMzAwMCk7XG4gIH1cbn1cbiJdfQ==