summaryrefslogtreecommitdiff
path: root/html/content/js/Plugins/copy.js
diff options
context:
space:
mode:
Diffstat (limited to 'html/content/js/Plugins/copy.js')
-rw-r--r--html/content/js/Plugins/copy.js25
1 files changed, 25 insertions, 0 deletions
diff --git a/html/content/js/Plugins/copy.js b/html/content/js/Plugins/copy.js
new file mode 100644
index 0000000..c33430f
--- /dev/null
+++ b/html/content/js/Plugins/copy.js
@@ -0,0 +1,25 @@
+$$plugins.define('copy', function (element, options) {
+ //copyButton: data-copy-btn
+ //content to be copied: data-copy-text
+ //tooltip: data-copy-tooltip
+
+ const copyButton = element,
+ copyButtonId = copyButton.getAttribute('data-copy-btn'),
+ copyText = document.querySelector(`[data-copy-text='${copyButtonId}']`),
+ tooltip = document.querySelector(`[data-copy-tooltip='${copyButtonId}']`);
+
+ function copy() {
+ var r = document.createRange();
+ r.selectNode(copyText);
+ window.getSelection().removeAllRanges();
+ window.getSelection().addRange(r);
+ document.execCommand('copy');
+ window.getSelection().removeAllRanges();
+ tooltip.classList.add('copyText__tooltip--open');
+ setTimeout(function () {
+ tooltip.classList.remove('copyText__tooltip--open');
+ }, 1600);
+ }
+
+ copyButton.addEventListener("click", copy);
+});