CopyButton: add string getting func option
This commit is contained in:
@@ -379,7 +379,7 @@ export function throttle (callback: () => void, limitMilliseconds: number): () =
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function SetupCopyButton(button: HTMLButtonElement, text: string, baseClass?: string, notif?: string) {
|
export function SetupCopyButton(button: HTMLButtonElement, text: string | () => string, baseClass?: string, notif?: string) {
|
||||||
if (!notif) notif = window.lang.strings("copied");
|
if (!notif) notif = window.lang.strings("copied");
|
||||||
if (!baseClass) baseClass = "~info";
|
if (!baseClass) baseClass = "~info";
|
||||||
// script will probably turn this into multiple
|
// script will probably turn this into multiple
|
||||||
@@ -391,7 +391,11 @@ export function SetupCopyButton(button: HTMLButtonElement, text: string, baseCla
|
|||||||
icon.classList.add("icon", "ri-file-copy-line");
|
icon.classList.add("icon", "ri-file-copy-line");
|
||||||
button.appendChild(icon)
|
button.appendChild(icon)
|
||||||
button.onclick = () => {
|
button.onclick = () => {
|
||||||
toClipboard(text);
|
if (typeof text === "string") {
|
||||||
|
toClipboard(text);
|
||||||
|
} else {
|
||||||
|
toClipboard(text());
|
||||||
|
}
|
||||||
icon.classList.remove("ri-file-copy-line");
|
icon.classList.remove("ri-file-copy-line");
|
||||||
icon.classList.add("ri-check-line");
|
icon.classList.add("ri-check-line");
|
||||||
button.classList.remove(...baseClasses);
|
button.classList.remove(...baseClasses);
|
||||||
|
|||||||
Reference in New Issue
Block a user