Files
stable-diffusion-webui-ux/javascript/generationParams.js
T
2023-05-10 20:02:58 +03:00

52 lines
1.5 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;
onUiUpdate(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) {
var 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;
}