mirror of https://github.com/onweru/compose.git

Blake Gearin
10.29.2022 65b76042967afe1c7d092b08e0a3cf571d3dedef
assets/js/code.js
@@ -1,6 +1,6 @@
const codeActionButtons = [
  {
    icon: 'copy',
    icon: 'copy',
    id: 'copy',
    title: 'Copy Code',
    show: true
@@ -9,7 +9,7 @@
    icon: 'order',
    id: 'lines',
    title: 'Toggle Line Numbers',
    show: true
    show: true
  },
  {
    icon: 'carly',
@@ -21,7 +21,7 @@
    icon: 'expand',
    id: 'expand',
    title: 'Toggle code block expand',
    show: false
    show: false
  }
];
@@ -175,7 +175,13 @@
}
function copyCode(codeElement) {
  lineNumbers = elems('.ln', codeElement);
  const codeElementClone = codeElement.cloneNode(true);
  const copyBtn = codeElement.parentNode.parentNode.querySelector(`.${copyId}`);
  const originalTitle = copyBtn.title;
  loadSvg('check', copyBtn);
  copyBtn.title = 'Code Copied';
  lineNumbers = elems('.ln', codeElementClone);
  // remove line numbers before copying
  if(lineNumbers.length) {
    lineNumbers.forEach(function(line){
@@ -183,9 +189,13 @@
    });
  }
  const codeToCopy = codeElement.textContent;
  // copy code
  copyToClipboard(codeToCopy);
  copyToClipboard(codeElementClone.textContent);
  setTimeout(function() {
    copyBtn.title = originalTitle;
    loadSvg('copy', copyBtn);
  }, 2250);
}
function disableCodeLineNumbers(block){
@@ -213,7 +223,7 @@
    const wrapIcon = elem(`.${wrapId}`, panel);
    codeBlockFits(block) ? false : deleteClass(wrapIcon, panelHide);
    // append buttons
    // append buttons
    highlightWrapper.appendChild(panel);
  });
@@ -264,11 +274,7 @@
        }
      }
      if(isCopyIcon) {
        // clone code element
        const codeElementClone = codeElement.cloneNode(true);
        copyCode(codeElementClone);
      }
      if(isCopyIcon) copyCode(codeElement);
    }
  });