github.com/treeverse/lakefs@v1.24.1-0.20240520134607-95648127bfb0/docs/assets/js/copy-code.js (about)

     1  $(() => {
     2      let copyCodeContainer = $("<div class=\"copy-code-container\">" +
     3          "<button class=\"copy-code-button far fa-copy\" aria-label=\"Copy code block to your clipboard\">" +
     4          "</button></div>");
     5      $("div.highlighter-rouge").prepend(copyCodeContainer);
     6      $("div.highlighter-rouge .copy-code-button").click(function() {
     7          const tempTextArea = document.createElement('textarea');
     8          tempTextArea.textContent = $(this).parent().parent().find("code").text()
     9          document.body.appendChild(tempTextArea);
    10          const selection = document.getSelection();
    11          selection.removeAllRanges();
    12          tempTextArea.select();
    13          document.execCommand('copy');
    14          selection.removeAllRanges();
    15          document.body.removeChild(tempTextArea);
    16          $(this).removeClass("fa-copy").removeClass("far").addClass("fa").addClass("fa-check");
    17          const that = this;
    18          setTimeout(function() {
    19              $(that).addClass("fa-copy").addClass("far").removeClass("fa").removeClass("fa-check");
    20          }, 300);
    21      });
    22  });