export function copyToClipBoard()

in media/src/components/common/HighlightCode.tsx [23:47]


export function copyToClipBoard(content: string, format: boolean = false): Promise<void> {
  return new Promise((resolve, reject) => {
    let inputEle = document.getElementById("clipboard") as HTMLTextAreaElement | HTMLInputElement;

    const createElement = format ? "textarea" : "input";
    if (!inputEle) {
      inputEle = document.createElement(createElement);
      inputEle.id = "clipboard";
      document.body.appendChild(inputEle);
    }
    inputEle.value = content;
    inputEle.style.display = "block";

    if (inputEle && inputEle.select) {
      inputEle.select();
      try {
        const isSuccessful = document.execCommand("copy");
        isSuccessful ? resolve() : reject();
      } catch (err) {
        reject(err);
      }
    }
    inputEle.style.display = "none";
  });
}