From 2b6970d33afd75be5bfef951dc3691d492004d43 Mon Sep 17 00:00:00 2001 From: George Halkiadakis Date: Tue, 18 Apr 2023 01:11:37 +0300 Subject: admin back-office environment (skeleton); admin categories --- .../assets/js/_dependency-control/plugins/copy.js | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 public/assets/js/_dependency-control/plugins/copy.js (limited to 'public/assets/js/_dependency-control/plugins/copy.js') 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); +}); -- cgit v1.2.3