Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | 98x 98x 98x 98x 14x 14x 14x 98x 13x 13x 13x 13x 13x 98x 196x 98x | import { Directive, ElementRef, HostListener, Input, OnInit, Renderer2 } from '@angular/core'; import { ToastrService } from 'ngx-toastr'; @Directive({ selector: '[cdCopy2ClipboardButton]' }) export class Copy2ClipboardButtonDirective implements OnInit { @Input() private cdCopy2ClipboardButton: string; constructor( private elementRef: ElementRef, private renderer: Renderer2, private toastr: ToastrService ) {} ngOnInit() { const iElement = this.renderer.createElement('i'); this.renderer.addClass(iElement, 'icon-prepend'); this.renderer.addClass(iElement, 'fa'); this.renderer.addClass(iElement, 'fa-clipboard'); this.renderer.appendChild(this.elementRef.nativeElement, iElement); } private getInputElement() { return document.getElementById(this.cdCopy2ClipboardButton) as HTMLInputElement; } @HostListener('click') onClick() { try { // Create the input to hold our text. const tmpInputElement = document.createElement('input'); tmpInputElement.value = this.getInputElement().value; document.body.appendChild(tmpInputElement); // Copy text to clipboard. tmpInputElement.select(); document.execCommand('copy'); // Finally remove the element. document.body.removeChild(tmpInputElement); this.toastr.success('Copied text to the clipboard successfully.'); } catch (err) { this.toastr.error('Failed to copy text to the clipboard.'); } } } |