2021-02-27 21:21:26 +00:00
|
|
|
const Clipboard = (): void => {
|
2021-07-26 13:10:46 +00:00
|
|
|
const buttons: NodeListOf<HTMLButtonElement> | null =
|
|
|
|
document.querySelectorAll("button[data-type='clipboard-copy']");
|
2021-02-27 21:21:26 +00:00
|
|
|
|
|
|
|
if (buttons) {
|
|
|
|
for (let i = 0; i < buttons.length; i++) {
|
|
|
|
const button: HTMLButtonElement = buttons[i];
|
2021-09-15 15:58:21 +00:00
|
|
|
const element: HTMLFormElement | null = document.querySelector(
|
|
|
|
`[id="${button.dataset.clipboardTarget}"]`
|
2021-02-27 21:21:26 +00:00
|
|
|
);
|
2021-09-15 15:58:21 +00:00
|
|
|
if (element) {
|
2021-02-27 21:21:26 +00:00
|
|
|
button.addEventListener("click", () => {
|
2021-09-15 15:58:21 +00:00
|
|
|
element.select();
|
|
|
|
element.setSelectionRange(0, element.value.length);
|
2021-02-27 21:21:26 +00:00
|
|
|
document.execCommand("copy");
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
export default Clipboard;
|