ngx-mat-cdk
Version:
Extra Components for Angular Material including Filters,Drag Drop File, MatSelect Mobile Version
35 lines • 3.82 kB
JavaScript
import { Directive, HostListener, Input } from '@angular/core';
import { MatSnackBar } from "@angular/material/snack-bar";
export class NgxMatCopyToClipBoardDirective {
constructor(_snackBar) {
this._snackBar = _snackBar;
this.duration = 2000;
}
onClick() {
const el = document.createElement('textarea');
el.value = this.value;
document.body.appendChild(el);
el.select();
el.setSelectionRange(0, 99999); /* For mobile devices */
document.execCommand('copy');
document.body.removeChild(el);
this._snackBar.openFromTemplate(this.templateRef, {
duration: this.duration,
});
}
}
NgxMatCopyToClipBoardDirective.decorators = [
{ type: Directive, args: [{
selector: '[ngxMatCopyToClipBoard]'
},] }
];
NgxMatCopyToClipBoardDirective.ctorParameters = () => [
{ type: MatSnackBar }
];
NgxMatCopyToClipBoardDirective.propDecorators = {
templateRef: [{ type: Input }],
duration: [{ type: Input }],
value: [{ type: Input }],
onClick: [{ type: HostListener, args: ['click', ['$event'],] }]
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LW1hdC1jb3B5LXRvLWNsaXAtYm9hcmQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL0FsaXJlemEgTW9oYW1tYWRpL3NvdXJjZS9yZXBvcy9NeUxpYnJhcnkvQW5ndWxhci5MaWJyYXJ5L2xpYnMvcHJvamVjdHMvbmd4LW1hdC1jZGsvc3JjLyIsInNvdXJjZXMiOlsibGliL3NoYXJlZC9kaXJlY3RpdmVzL25neC1tYXQtY29weS10by1jbGlwLWJvYXJkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBS3hELE1BQU0sT0FBTyw4QkFBOEI7SUFLekMsWUFDVSxTQUFzQjtRQUF0QixjQUFTLEdBQVQsU0FBUyxDQUFhO1FBSnZCLGFBQVEsR0FBRyxJQUFJLENBQUM7SUFNekIsQ0FBQztJQUdELE9BQU87UUFDTCxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLEVBQUUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN0QixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM5QixFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWixFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsd0JBQXdCO1FBQ3hELFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0IsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hELFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN4QixDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUF6QkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx5QkFBeUI7YUFDcEM7OztZQUpPLFdBQVc7OzswQkFNaEIsS0FBSzt1QkFDTCxLQUFLO29CQUNMLEtBQUs7c0JBT0wsWUFBWSxTQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIElucHV0LCBUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hdFNuYWNrQmFyfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyXCI7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tuZ3hNYXRDb3B5VG9DbGlwQm9hcmRdJ1xufSlcbmV4cG9ydCBjbGFzcyBOZ3hNYXRDb3B5VG9DbGlwQm9hcmREaXJlY3RpdmUge1xuICBASW5wdXQoKSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgZHVyYXRpb24gPSAyMDAwO1xuICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX3NuYWNrQmFyOiBNYXRTbmFja0JhcixcbiAgKSB7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgY29uc3QgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpO1xuICAgIGVsLnZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsKTtcbiAgICBlbC5zZWxlY3QoKTtcbiAgICBlbC5zZXRTZWxlY3Rpb25SYW5nZSgwLCA5OTk5OSk7IC8qIEZvciBtb2JpbGUgZGV2aWNlcyAqL1xuICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdjb3B5Jyk7XG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChlbCk7XG4gICAgdGhpcy5fc25hY2tCYXIub3BlbkZyb21UZW1wbGF0ZSh0aGlzLnRlbXBsYXRlUmVmLCB7XG4gICAgICBkdXJhdGlvbjogdGhpcy5kdXJhdGlvbixcbiAgICB9KTtcbiAgfVxufVxuIl19