@dllcn/ngx-clipboard
Version:
130 lines • 9.63 kB
JavaScript
/**
* @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