diff options
Diffstat (limited to 'public/assets/js/_dependency-control/plugins/copy.js')
| -rw-r--r-- | public/assets/js/_dependency-control/plugins/copy.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/public/assets/js/_dependency-control/plugins/copy.js b/public/assets/js/_dependency-control/plugins/copy.js new file mode 100644 index 0000000..c33430f --- /dev/null +++ b/public/assets/js/_dependency-control/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);
+});
|
