stable-diffusion-webui/javascript/progressbar.js

55 lines
2.0 KiB
JavaScript
Raw Normal View History

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