Clipboard copy and cut
Overview
Copy or cut text or element text to clipboard. Easy to plug into any event in template code. Made with JavaScript only, no flash.
function copy (source: HTMLElement | string): ClipboardResult {}
function cut (source: HTMLElement | string): ClipboardResult {}
interface ClipboardResult {
clearSelection?: () => void;
error?: any;
success?: boolean;
text?: string;
}ClipboardResult
Represents result of copy/cut action.
clearSelection Copy action selects copied text. Calling this function will remove selection.
error Additional info about reason of copy/cut failure.
For example due to lack of browser support of copy/cut.
success If true then copy/cut action finished with success.
text Text that was copied / cut into clipboard.
Example
import * as cb from "./clipboard/clipbard";
@ng.Component({...})
class AppComponent {
copy: (source: HTMLElement | string) => cb.ClipboardResult = cb.copy;
cut: (source: HTMLElement | string) => cb.ClipboardResult = cb.cut;
}<input value="Copy me!" #copyRef>
<button (click)="copyResult = copy(copyRef)">Copy</button>
<button *ngIf="copyResult && copyResult.success"
(click)="copyResult.clearSelection()">Clear selecton</button> <br>
<span>copyResult: {{copyResult | json}}</span> <br>
<input value="Cut me!" #cutRef>
<button (click)="cutResult = cut(cutRef)">Cut</button> <br>
<span>cutResult: {{cutResult | json}}</span> <br>
<button (click)="copyTextResult = copy('Some text')">Copy some text</button> <br>
<span>copyTextResult: {{copyTextResult | json}}</span> <br>