mirror of
https://github.com/easydiffusion/easydiffusion.git
synced 2025-08-08 23:44:39 +02:00
@ -45,6 +45,9 @@ let streamImageProgressField = document.querySelector("#stream_image_progress")
|
||||
|
||||
let makeImageBtn = document.querySelector('#makeImage')
|
||||
let stopImageBtn = document.querySelector('#stopImage')
|
||||
let pauseBtn = document.querySelector('#pause')
|
||||
let resumeBtn = document.querySelector('#resume')
|
||||
let renderButtons = document.querySelector('#render-buttons')
|
||||
|
||||
let imagesContainer = document.querySelector('#current-images')
|
||||
let initImagePreviewContainer = document.querySelector('#init_image_preview_container')
|
||||
@ -456,6 +459,10 @@ function makeImage() {
|
||||
|
||||
async function onIdle() {
|
||||
const serverCapacity = SD.serverCapacity
|
||||
if (pauseClient===true) {
|
||||
await resumeClient()
|
||||
}
|
||||
|
||||
for (const taskEntry of getUncompletedTaskEntries()) {
|
||||
if (SD.activeTasks.size >= serverCapacity) {
|
||||
break
|
||||
@ -649,7 +656,7 @@ function onTaskCompleted(task, reqBody, instance, outputContainer, stepUpdate) {
|
||||
return
|
||||
}
|
||||
|
||||
stopImageBtn.style.display = 'none'
|
||||
renderButtons.style.display = 'none'
|
||||
renameMakeImageButton()
|
||||
|
||||
if (isSoundEnabled()) {
|
||||
@ -734,7 +741,7 @@ async function onTaskStart(task) {
|
||||
)
|
||||
|
||||
setStatus('request', 'fetching..')
|
||||
stopImageBtn.style.display = 'block'
|
||||
renderButtons.style.display = 'flex'
|
||||
renameMakeImageButton()
|
||||
previewTools.style.display = 'block'
|
||||
}
|
||||
@ -1387,6 +1394,37 @@ function linkTabContents(tab) {
|
||||
tab.addEventListener("click", event => selectTab(tab.id))
|
||||
}
|
||||
|
||||
let pauseClient = false
|
||||
|
||||
function resumeClient() {
|
||||
if (pauseClient) {
|
||||
document.body.classList.remove('wait-pause')
|
||||
document.body.classList.add('pause')
|
||||
}
|
||||
return new Promise(resolve => {
|
||||
let playbuttonclick = function () {
|
||||
resumeBtn.removeEventListener("click", playbuttonclick);
|
||||
resolve("resolved");
|
||||
}
|
||||
resumeBtn.addEventListener("click", playbuttonclick)
|
||||
})
|
||||
}
|
||||
|
||||
pauseBtn.addEventListener("click", function () {
|
||||
pauseClient = true
|
||||
pauseBtn.style.display="none"
|
||||
resumeBtn.style.display = "inline"
|
||||
document.body.classList.add('wait-pause')
|
||||
})
|
||||
|
||||
resumeBtn.addEventListener("click", function () {
|
||||
pauseClient = false
|
||||
resumeBtn.style.display = "none"
|
||||
pauseBtn.style.display = "inline"
|
||||
document.body.classList.remove('pause')
|
||||
document.body.classList.remove('wait-pause')
|
||||
})
|
||||
|
||||
document.querySelectorAll(".tab").forEach(linkTabContents)
|
||||
|
||||
window.addEventListener("beforeunload", function(e) {
|
||||
|
Reference in New Issue
Block a user