UNPKG

@dllcn/ngx-clipboard

Version:
130 lines 9.63 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core'; import { ClipboardService } from './ngx-clipboard.service'; var ClipboardDirective = /** @class */ (function () { function ClipboardDirective(clipboardSrv) { this.clipboardSrv = clipboardSrv; this.cbOnSuccess = new EventEmitter(); this.cbOnError = new EventEmitter(); } // tslint:disable-next-line:no-empty // tslint:disable-next-line:no-empty /** * @return {?} */ ClipboardDirective.prototype.ngOnInit = // tslint:disable-next-line:no-empty /** * @return {?} */ function () { }; /** * @return {?} */ ClipboardDirective.prototype.ngOnDestroy = /** * @return {?} */ function () { this.clipboardSrv.destroy(this.container); }; /** * @param {?} event * @return {?} */ ClipboardDirective.prototype.onClick = /** * @param {?} event * @return {?} */ function (event) { if (!this.clipboardSrv.isSupported) { this.handleResult(false, undefined, event); } else if (this.targetElm && this.clipboardSrv.isTargetValid(this.targetElm)) { this.handleResult(this.clipboardSrv.copyFromInputElement(this.targetElm), this.targetElm.value, event); } else if (this.cbContent) { this.handleResult(this.clipboardSrv.copyFromContent(this.cbContent, this.container), this.cbContent, event); } }; /** * Fires an event based on the copy operation result. * @param succeeded */ /** * Fires an event based on the copy operation result. * @private * @param {?} succeeded * @param {?} copiedContent * @param {?} event * @return {?} */ ClipboardDirective.prototype.handleResult = /** * Fires an event based on the copy operation result. * @private * @param {?} succeeded * @param {?} copiedContent * @param {?} event * @return {?} */ function (succeeded, copiedContent, event) { /** @type {?} */ var response = { isSuccess: succeeded, event: event }; if (succeeded) { response = Object.assign(response, { content: copiedContent, successMessage: this.cbSuccessMsg }); this.cbOnSuccess.emit(response); } else { this.cbOnError.emit(response); } this.clipboardSrv.pushCopyReponse(response); }; ClipboardDirective.decorators = [ { type: Directive, args: [{ selector: '[ngxClipboard]' },] } ]; /** @nocollapse */ ClipboardDirective.ctorParameters = function () { return [ { type: ClipboardService } ]; }; ClipboardDirective.propDecorators = { targetElm: [{ type: Input, args: ['ngxClipboard',] }], container: [{ type: Input }], cbContent: [{ type: Input }], cbSuccessMsg: [{ type: Input }], cbOnSuccess: [{ type: Output }], cbOnError: [{ type: Output }], onClick: [{ type: HostListener, args: ['click', ['$event.target'],] }] }; return ClipboardDirective; }()); export { ClipboardDirective }; if (false) { /** @type {?} */ ClipboardDirective.prototype.targetElm; /** @type {?} */ ClipboardDirective.prototype.container; /** @type {?} */ ClipboardDirective.prototype.cbContent; /** @type {?} */ ClipboardDirective.prototype.cbSuccessMsg; /** @type {?} */ ClipboardDirective.prototype.cbOnSuccess; /** @type {?} */ ClipboardDirective.prototype.cbOnError; /** * @type {?} * @private */ ClipboardDirective.prototype.clipboardSrv; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWNsaXBib2FyZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZGxsY24vbmd4LWNsaXBib2FyZC8iLCJzb3VyY2VzIjpbImxpYi9uZ3gtY2xpcGJvYXJkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3hHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTNEO0lBcUJJLDRCQUFvQixZQUE4QjtRQUE5QixpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFKM0MsZ0JBQVcsR0FBcUMsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFHdkYsY0FBUyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ1QsQ0FBQztJQUV0RCxvQ0FBb0M7Ozs7O0lBQzdCLHFDQUFROzs7OztJQUFmLGNBQW1CLENBQUM7Ozs7SUFFYix3Q0FBVzs7O0lBQWxCO1FBQ0ksSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7Ozs7O0lBR00sb0NBQU87Ozs7SUFEZCxVQUNlLEtBQVk7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUM5QzthQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDMUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztTQUMxRzthQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDL0c7SUFDTCxDQUFDO0lBRUQ7OztPQUdHOzs7Ozs7Ozs7SUFDSyx5Q0FBWTs7Ozs7Ozs7SUFBcEIsVUFBcUIsU0FBa0IsRUFBRSxhQUFpQyxFQUFFLEtBQVk7O1lBQ2hGLFFBQVEsR0FBdUI7WUFDL0IsU0FBUyxFQUFFLFNBQVM7WUFDcEIsS0FBSyxPQUFBO1NBQ1I7UUFFRCxJQUFJLFNBQVMsRUFBRTtZQUNYLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTtnQkFDL0IsT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLGNBQWMsRUFBRSxJQUFJLENBQUMsWUFBWTthQUNwQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNuQzthQUFNO1lBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDakM7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoRCxDQUFDOztnQkE5REosU0FBUyxTQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzdCOzs7O2dCQUpRLGdCQUFnQjs7OzRCQU9wQixLQUFLLFNBQUMsY0FBYzs0QkFFcEIsS0FBSzs0QkFHTCxLQUFLOytCQUdMLEtBQUs7OEJBR0wsTUFBTTs0QkFHTixNQUFNOzBCQVdOLFlBQVksU0FBQyxPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7O0lBaUM1Qyx5QkFBQztDQUFBLEFBL0RELElBK0RDO1NBNURZLGtCQUFrQjs7O0lBRTNCLHVDQUNtQzs7SUFDbkMsdUNBQ21DOztJQUVuQyx1Q0FDeUI7O0lBRXpCLDBDQUM0Qjs7SUFFNUIseUNBQzhGOztJQUU5Rix1Q0FDOEQ7Ozs7O0lBQ2xELDBDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IElDbGlwYm9hcmRSZXNwb25zZSB9IGZyb20gJy4vaW50ZXJmYWNlJztcbmltcG9ydCB7IENsaXBib2FyZFNlcnZpY2UgfSBmcm9tICcuL25neC1jbGlwYm9hcmQuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW25neENsaXBib2FyZF0nXG59KVxuZXhwb3J0IGNsYXNzIENsaXBib2FyZERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCduZ3hDbGlwYm9hcmQnKVxuICAgIHB1YmxpYyB0YXJnZXRFbG06IEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY29udGFpbmVyOiBIVE1MSW5wdXRFbGVtZW50O1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY2JDb250ZW50OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjYlN1Y2Nlc3NNc2c6IHN0cmluZztcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjYk9uU3VjY2VzczogRXZlbnRFbWl0dGVyPElDbGlwYm9hcmRSZXNwb25zZT4gPSBuZXcgRXZlbnRFbWl0dGVyPElDbGlwYm9hcmRSZXNwb25zZT4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjYk9uRXJyb3I6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjbGlwYm9hcmRTcnY6IENsaXBib2FyZFNlcnZpY2UpIHt9XG5cbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tZW1wdHlcbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7fVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmNsaXBib2FyZFNydi5kZXN0cm95KHRoaXMuY29udGFpbmVyKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxuICAgIHB1YmxpYyBvbkNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuY2xpcGJvYXJkU3J2LmlzU3VwcG9ydGVkKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVJlc3VsdChmYWxzZSwgdW5kZWZpbmVkLCBldmVudCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy50YXJnZXRFbG0gJiYgdGhpcy5jbGlwYm9hcmRTcnYuaXNUYXJnZXRWYWxpZCh0aGlzLnRhcmdldEVsbSkpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlUmVzdWx0KHRoaXMuY2xpcGJvYXJkU3J2LmNvcHlGcm9tSW5wdXRFbGVtZW50KHRoaXMudGFyZ2V0RWxtKSwgdGhpcy50YXJnZXRFbG0udmFsdWUsIGV2ZW50KTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNiQ29udGVudCkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVSZXN1bHQodGhpcy5jbGlwYm9hcmRTcnYuY29weUZyb21Db250ZW50KHRoaXMuY2JDb250ZW50LCB0aGlzLmNvbnRhaW5lciksIHRoaXMuY2JDb250ZW50LCBldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGaXJlcyBhbiBldmVudCBiYXNlZCBvbiB0aGUgY29weSBvcGVyYXRpb24gcmVzdWx0LlxuICAgICAqIEBwYXJhbSBzdWNjZWVkZWRcbiAgICAgKi9cbiAgICBwcml2YXRlIGhhbmRsZVJlc3VsdChzdWNjZWVkZWQ6IGJvb2xlYW4sIGNvcGllZENvbnRlbnQ6IHN0cmluZyB8IHVuZGVmaW5lZCwgZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGxldCByZXNwb25zZTogSUNsaXBib2FyZFJlc3BvbnNlID0ge1xuICAgICAgICAgICAgaXNTdWNjZXNzOiBzdWNjZWVkZWQsXG4gICAgICAgICAgICBldmVudFxuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChzdWNjZWVkZWQpIHtcbiAgICAgICAgICAgIHJlc3BvbnNlID0gT2JqZWN0LmFzc2lnbihyZXNwb25zZSwge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGNvcGllZENvbnRlbnQsXG4gICAgICAgICAgICAgICAgc3VjY2Vzc01lc3NhZ2U6IHRoaXMuY2JTdWNjZXNzTXNnXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuY2JPblN1Y2Nlc3MuZW1pdChyZXNwb25zZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNiT25FcnJvci5lbWl0KHJlc3BvbnNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2xpcGJvYXJkU3J2LnB1c2hDb3B5UmVwb25zZShyZXNwb25zZSk7XG4gICAgfVxufVxuIl19