|
onUiLoaded(() => { |
|
|
|
|
|
const linkList = { |
|
"Any VAE": [ |
|
"#vae", |
|
"https://huggingface.co/NoCrypt/resources/resolve/main/VAE/any.vae.safetensors", |
|
], |
|
"Blessed VAE": [ |
|
"#vae", |
|
"https://huggingface.co/NoCrypt/resources/resolve/main/VAE/blessed2.vae.safetensors", |
|
], |
|
"WD VAE": [ |
|
"#vae", |
|
"https://huggingface.co/NoCrypt/resources/resolve/main/VAE/wd.vae.safetensors", |
|
], |
|
"[CN] ip2p": [ |
|
"#cnet", |
|
"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11e_sd15_ip2p_fp16.safetensors\nhttps://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11e_sd15_ip2p_fp16.yaml", |
|
], |
|
"[CN] shuffle": [ |
|
"#cnet", |
|
"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11e_sd15_shuffle_fp16.safetensors\nhttps://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11e_sd15_shuffle_fp16.yaml", |
|
], |
|
"[CN] tile": [ |
|
"#cnet", |
|
"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11f1e_sdtile_fp16.safetensors\nhttps://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11f1e_sdtile_fp16.yaml", |
|
], |
|
"[CN] depth": [ |
|
"#cnet", |
|
"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11f1p_sd15_depth_fp16.safetensors\nhttps://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11f1p_sd15_depth_fp16.yaml", |
|
], |
|
"[CN] canny": [ |
|
"#cnet", |
|
"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15_canny_fp16.safetensors\nhttps://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15_canny_fp16.yaml", |
|
], |
|
"[CN] depth": [ |
|
"#cnet", |
|
"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15_depth_fp16.safetensors\nhttps://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15_depth_fp16.yaml", |
|
], |
|
"[CN] inpaint": [ |
|
"#cnet", |
|
"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15_inpaint_fp16.safetensors\nhttps://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15_inpaint_fp16.yaml", |
|
], |
|
"[CN] lineart": [ |
|
"#cnet", |
|
"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15_lineart_fp16.safetensors\nhttps://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15_lineart_fp16.yaml", |
|
], |
|
"[CN] mlsd": [ |
|
"#cnet", |
|
"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15_mlsd_fp16.safetensors\nhttps://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15_mlsd_fp16.yaml", |
|
], |
|
"[CN] normalbae": [ |
|
"#cnet", |
|
"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15_normalbae_fp16.safetensors\nhttps://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15_normalbae_fp16.yaml", |
|
], |
|
"[CN] openpose": [ |
|
"#cnet", |
|
"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15_openpose_fp16.safetensors\nhttps://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15_openpose_fp16.yaml", |
|
], |
|
"[CN] scribble": [ |
|
"#cnet", |
|
"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15_scribble_fp16.safetensors\nhttps://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15_scribble_fp16.yaml", |
|
], |
|
"[CN] seg": [ |
|
"#cnet", |
|
"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15_seg_fp16.safetensors\nhttps://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15_seg_fp16.yaml", |
|
], |
|
"[CN] softedge": [ |
|
"#cnet", |
|
"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15_softedge_fp16.safetensors\nhttps://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15_softedge_fp16.yaml", |
|
], |
|
"[CN] lineart_anime": [ |
|
"#cnet", |
|
"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15s2_lineart_anime_fp16.safetensors\nhttps://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11p_sd15s2_lineart_anime_fp16.yaml", |
|
], |
|
"[CN] tile": [ |
|
"#cnet", |
|
"https://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11u_sd15_tile_fp16.safetensors\nhttps://huggingface.co/ckpt/ControlNet-v1-1/resolve/main/control_v11u_sd15_tile_fp16.yaml", |
|
], |
|
}; |
|
|
|
const textareaEl = document.querySelector('#tab_batchlinks > * textarea[rows="5"]'); |
|
|
|
if (!textareaEl) { |
|
return; |
|
} |
|
|
|
function makeButton(text, onclick) { |
|
|
|
const button_el = document.createElement("button"); |
|
button_el.className = "lg primary gradio-button svelte-1ipelgc"; |
|
button_el.style = "margin-right: 10px;"; |
|
button_el.innerHTML = text; |
|
button_el.onclick = onclick; |
|
return button_el; |
|
} |
|
|
|
|
|
const div_el = document.createElement('div'); |
|
div_el.id = 'bl-addon'; |
|
div_el.style = 'margin-top: 10px; margin-bottom: 10px;'; |
|
div_el.innerHTML = `<p><b>[Batch Links Addon by NoCrypt]</b></p>` |
|
|
|
|
|
for (const [name, [type, url]] of Object.entries(linkList)) { |
|
const button_el = makeButton(name, () => { |
|
if (textareaEl.value.indexOf(url) !== -1) { |
|
alert("Link already added!"); |
|
return; |
|
} |
|
if (textareaEl.value.split("#").slice(-1)[0]?.indexOf(type.slice(1)+"\n") !== -1) { |
|
textareaEl.value = textareaEl.value + "\n" + url; |
|
} else { |
|
textareaEl.value = textareaEl.value + "\n" + type + "\n" + url; |
|
} |
|
textareaEl.dispatchEvent(new Event("input", { bubbles: true })); |
|
}); |
|
div_el.appendChild(button_el); |
|
} |
|
|
|
textareaEl.parentNode.insertBefore(div_el, textareaEl.nextSibling); |
|
}) |
|
|