mirror of
https://github.com/lllyasviel/stable-diffusion-webui-forge.git
synced 2026-07-21 21:01:24 +08:00
55 lines
1.7 KiB
JavaScript
55 lines
1.7 KiB
JavaScript
// attaches listeners to the txt2img and img2img galleries to update displayed generation param text when the image changes
|
|
|
|
let txt2img_gallery,
|
|
img2img_gallery,
|
|
modal = undefined;
|
|
onAfterUiUpdate(function () {
|
|
if (!txt2img_gallery) {
|
|
txt2img_gallery = attachGalleryListeners("txt2img");
|
|
}
|
|
if (!img2img_gallery) {
|
|
img2img_gallery = attachGalleryListeners("img2img");
|
|
}
|
|
if (!modal) {
|
|
modal = gradioApp().getElementById("lightboxModal");
|
|
modalObserver.observe(modal, {
|
|
attributes: true,
|
|
attributeFilter: ["style"],
|
|
});
|
|
}
|
|
});
|
|
|
|
let modalObserver = new MutationObserver(function (mutations) {
|
|
mutations.forEach(function (mutationRecord) {
|
|
let selectedTab = gradioApp().querySelector(
|
|
"#tabs div button.selected",
|
|
)?.innerText;
|
|
if (
|
|
mutationRecord.target.style.display === "none" &&
|
|
(selectedTab === "txt2img" || selectedTab === "img2img")
|
|
) {
|
|
gradioApp()
|
|
.getElementById(selectedTab + "_generation_info_button")
|
|
?.click();
|
|
}
|
|
});
|
|
});
|
|
|
|
function attachGalleryListeners(tab_name) {
|
|
let gallery = gradioApp().querySelector("#" + tab_name + "_gallery");
|
|
gallery?.addEventListener("click", () =>
|
|
gradioApp()
|
|
.getElementById(tab_name + "_generation_info_button")
|
|
.click(),
|
|
);
|
|
gallery?.addEventListener("keydown", (e) => {
|
|
if (e.keyCode == 37 || e.keyCode == 39) {
|
|
// left or right arrow
|
|
gradioApp()
|
|
.getElementById(tab_name + "_generation_info_button")
|
|
.click();
|
|
}
|
|
});
|
|
return gallery;
|
|
}
|