drupalorg-1.0.x-dev/js/copy_to_clipboard.js
js/copy_to_clipboard.js
(function (Drupal) {
let initialised = false;
Drupal.behaviors.copyToClipboard = {
attach(context) {
if (!initialised && context === document) {
initialised = true;
const copyFunction = function () {
const input = this.previousElementSibling;
const textToCopy = input.value;
navigator.clipboard.writeText(textToCopy).then(
() => {
input.focus();
},
() => {
alert(Drupal.t('Could not copy value to clipboard.'));
},
);
};
const copyButtons = document.querySelectorAll('.copy-to-clipboard');
copyButtons.forEach((element) => {
element.addEventListener('click', copyFunction);
});
}
},
};
})(Drupal);
