intisync.ex/assets/js/copyToClipboardHook.js
2024-03-30 01:49:31 +01:00

20 lines
447 B
JavaScript

const CopyToClipboard = () => {
return {
mounted() {
const initialInnerHTML = this.el.innerHTML;
const { textToCopy } = this.el.dataset;
this.el.addEventListener("click", () => {
navigator.clipboard.writeText(textToCopy);
this.el.innerHTML = "Copied!";
setTimeout(() => {
this.el.innerHTML = initialInnerHTML;
}, 2000);
});
},
};
};
export default CopyToClipboard;