History

Use navigator.clipboard.writeText

Simon Legner committed 1 year ago

Commit ba294a11 parent 34220e62 files · +3 −22Browse files

Unified · Split

2 files
  1. assets/javascripts/lib/util.js +0 −18
  2. assets/javascripts/views/content/entry_page.js +3 −4
assets/javascripts/lib/util.js+0−18
@@ -526,21 +526,3 @@ $.highlight = function (el, options) { · 525 unmodified lines
526 el.classList.add(options.className);526 el.classList.add(options.className);
527 setTimeout(() => el.classList.remove(options.className), options.delay);527 setTimeout(() => el.classList.remove(options.className), options.delay);
528};528};
529
530$.copyToClipboard = function (string) {
531 let result;
532 const textarea = document.createElement("textarea");
533 textarea.style.position = "fixed";
534 textarea.style.opacity = 0;
535 textarea.value = string;
536 document.body.appendChild(textarea);
537 try {
538 textarea.select();
539 result = !!document.execCommand("copy");
540 } catch (error) {
541 result = false;
542 } finally {
543 document.body.removeChild(textarea);
544 }
545 return result;
546};
assets/javascripts/views/content/entry_page.js+3−4
@@ -217,10 +217,9 @@ app.views.EntryPage = class EntryPage extends app.View { · 216 unmodified lines
217 this.load();217 this.load();
218 } else if (target.classList.contains("_pre-clip")) {218 } else if (target.classList.contains("_pre-clip")) {
219 $.stopEvent(event);219 $.stopEvent(event);
220 target.classList.add(220 navigator.clipboard.writeText(target.parentNode.textContent).then(
221 $.copyToClipboard(target.parentNode.textContent)221 () => target.classList.add("_pre-clip-success"),
222 ? "_pre-clip-success"222 () => target.classList.add("_pre-clip-error"),
223 : "_pre-clip-error",
224 );223 );
225 setTimeout(() => (target.className = "_pre-clip"), 2000);224 setTimeout(() => (target.className = "_pre-clip"), 2000);
226 }225 }