1 <html><head><title>Roo/util/Clipboard.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/**
2 * @class Roo.util.Clipboard
8 </span><span class="jsdoc-var">Roo.util.Clipboard </span><span class="jsdoc-syntax">= {
9 </span><span class="jsdoc-comment">/**
10 * Writes a string to the clipboard - using the Clipboard API if https, otherwise using text area.
11 * @param {String} text to copy to clipboard
13 </span><span class="jsdoc-var">write </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">) {
14 </span><span class="jsdoc-comment">// navigator clipboard api needs a secure context (https)
15 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">navigator.clipboard </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">window.isSecureContext</span><span class="jsdoc-syntax">) {
16 </span><span class="jsdoc-comment">// navigator clipboard api method'
17 </span><span class="jsdoc-var">navigator.clipboard.writeText</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">);
18 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">;
20 </span><span class="jsdoc-comment">// text area method
21 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ta </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">document.createElement</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"textarea"</span><span class="jsdoc-syntax">);
22 </span><span class="jsdoc-var">ta.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">;
23 </span><span class="jsdoc-comment">// make the textarea out of viewport
24 </span><span class="jsdoc-var">ta.style.position </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"fixed"</span><span class="jsdoc-syntax">;
25 </span><span class="jsdoc-var">ta.style.left </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"-999999px"</span><span class="jsdoc-syntax">;
26 </span><span class="jsdoc-var">ta.style.top </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"-999999px"</span><span class="jsdoc-syntax">;
27 </span><span class="jsdoc-var">document.body.appendChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ta</span><span class="jsdoc-syntax">);
28 </span><span class="jsdoc-var">ta.focus</span><span class="jsdoc-syntax">();
29 </span><span class="jsdoc-var">ta.select</span><span class="jsdoc-syntax">();
30 </span><span class="jsdoc-var">document.execCommand</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'copy'</span><span class="jsdoc-syntax">);
31 (</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
32 </span><span class="jsdoc-var">ta.remove</span><span class="jsdoc-syntax">();
33 })</span><span class="jsdoc-var">.defer</span><span class="jsdoc-syntax">(100);
38 </span></code></body></html>