aboutsummaryrefslogtreecommitdiff
path: root/javascript/progressbar.js
blob: 20b4dc624f6386476febd092794fb29ecd6ed141 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
// code related to showing and updating progressbar shown as the image is being made
global_progressbar = null

onUiUpdate(function(){
    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){
            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"
                txt2img_preview.style.height = txt2img_gallery.clientHeight + "px"  
                if(!progressDiv){
                    interrupt.style.display = "none"
                }
            }

            if(img2img_preview != null && img2img_gallery != null){
                img2img_preview.style.width = img2img_gallery.clientWidth + "px"
                img2img_preview.style.height = img2img_gallery.clientHeight + "px" 
                if(!progressDiv){
                    interrupt.style.display = "none"
                }
            }

            window.setTimeout(requestMoreProgress, 500)
        });
        mutationObserver.observe( progressbar, { childList:true, subtree:true })
	}
})
function requestMoreProgress(){
    btn = gradioApp().getElementById("check_progress");
    if(btn==null) return;

    btn.click();
    progressDiv = gradioApp().querySelectorAll('.progressDiv').length > 0;
    if(progressDiv){
        interrupt.style.display = "block"
    }
}

function requestProgress(){
    btn = gradioApp().getElementById("check_progress_initial");
    if(btn==null) return;

    btn.click();
}