stable-diffusion-webui/javascript/progressbar.js

55 lines
2.0 KiB
JavaScript
Raw Normal View History

2022-09-18 00:00:06 -06:00
// code related to showing and updating progressbar shown as the image is being made
global_progressbar = null
2022-09-17 23:51:11 -06:00
onUiUpdate(function(){
2022-09-21 19:11:53 -06:00
progressbar = gradioApp().getElementById('progressbar')
progressDiv = gradioApp().querySelectorAll('.progressDiv').length > 0;
interrupt = gradioApp().getElementById('interrupt')
if(progressbar!= null && progressbar != global_progressbar){
global_progressbar = progressbar
var mutationObserver = new MutationObserver(function(m){
2022-09-06 10:33:51 -06:00
txt2img_preview = gradioApp().getElementById('txt2img_preview')
txt2img_gallery = gradioApp().getElementById('txt2img_gallery')
img2img_preview = gradioApp().getElementById('img2img_preview')
img2img_gallery = gradioApp().getElementById('img2img_gallery')
if(txt2img_preview != null && txt2img_gallery != null){
txt2img_preview.style.width = txt2img_gallery.clientWidth + "px"
2022-09-20 12:05:25 -06:00
txt2img_preview.style.height = txt2img_gallery.clientHeight + "px"
if(!progressDiv){
2022-09-21 19:11:53 -06:00
interrupt.style.display = "none"
2022-09-20 12:05:25 -06:00
}
2022-09-06 10:33:51 -06:00
}
if(img2img_preview != null && img2img_gallery != null){
img2img_preview.style.width = img2img_gallery.clientWidth + "px"
2022-09-20 12:05:25 -06:00
img2img_preview.style.height = img2img_gallery.clientHeight + "px"
if(!progressDiv){
2022-09-21 19:11:53 -06:00
interrupt.style.display = "none"
2022-09-20 12:05:25 -06:00
}
2022-09-06 10:33:51 -06:00
}
2022-09-17 23:51:11 -06:00
window.setTimeout(requestMoreProgress, 500)
});
mutationObserver.observe( progressbar, { childList:true, subtree:true })
}
2022-09-17 23:51:11 -06:00
})
function requestMoreProgress(){
2022-09-18 00:00:06 -06:00
btn = gradioApp().getElementById("check_progress");
if(btn==null) return;
btn.click();
2022-09-20 12:05:25 -06:00
progressDiv = gradioApp().querySelectorAll('.progressDiv').length > 0;
if(progressDiv){
2022-09-21 19:11:53 -06:00
interrupt.style.display = "block"
2022-09-20 12:05:25 -06:00
}
2022-09-18 00:00:06 -06:00
}
function requestProgress(){
btn = gradioApp().getElementById("check_progress_initial");
if(btn==null) return;
btn.click();
}