Fix multiple "Copy to clipboard" on page

This commit is contained in:
Lukáš Rajchl 2024-04-10 06:36:29 +02:00
parent 2eba0b5154
commit 39257c8e81

View file

@ -884,21 +884,21 @@ function findDefaultSubmit(el) {
* @param HTMLElement * @param HTMLElement
*/ */
function setupCopyToClipboard(document) { function setupCopyToClipboard(document) {
var node = document.querySelector("a.copy-to-clipboard"); var node = document.querySelectorAll("a.copy-to-clipboard");
if (node) { node.forEach(function(element) {
node.addEventListener("click", function() { element.addEventListener("click", function() {
var nodeSql = document.querySelector("code.copy-to-clipboard"); var nodeSql = document.querySelector("code.copy-to-clipboard");
if (nodeSql == null || nodeSql == undefined) { if (nodeSql == null || nodeSql == undefined) {
nodeSql = document.querySelector("textarea.sqlarea"); nodeSql = document.querySelector("textarea.sqlarea");
} }
if (nodeSql != null && nodeSql != undefined) { if (nodeSql != null && nodeSql != undefined) {
if (node.classList.contains('expand')) { if (element.classList.contains('expand')) {
document.getElementById(node.getAttribute('data-expand-id')).classList.remove("hidden"); document.getElementById(element.getAttribute('data-expand-id')).classList.remove("hidden");
} }
copyToClipboard(nodeSql); copyToClipboard(nodeSql);
} }
}); });
} });
} }
/** Copy element's content in clipboard /** Copy element's content in clipboard