diff --git a/webshit/index.html b/webshit/index.html index 3cdddc93b..b6cf3d692 100644 --- a/webshit/index.html +++ b/webshit/index.html @@ -368,6 +368,7 @@ function promptPosted(data) } canvas.draw(true, true); + loadQueueIfVisible(); } function postPrompt(number) { @@ -533,15 +534,145 @@ document.addEventListener('paste', e=>{ } }); +function deleteQueueElement(delete_id) { + fetch('/queue', { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({"delete":[delete_id]}) + }) + .then(data => { + console.log(data); + }) + .catch(error => console.error(error)) +} + + +function loadQueue() { + fetch('/queue') + .then(response => response.json()) + .then(data => { + var queue_div = document.getElementById("queuebutton-content"); + queue_div.style.display = 'block'; + var see_queue_button = document.getElementById("seequeuebutton"); + let old_w = see_queue_button.style.width; + see_queue_button.innerHTML = "Close"; + + let runningcontents = document.getElementById("runningcontents"); + runningcontents.innerHTML = ''; + let queuecontents = document.getElementById("queuecontents"); + queuecontents.innerHTML = ''; + function append_to_list(list_element, append_to_element, append_delete) { + let number = list_element[0]; + let id = list_element[1]; + let prompt = list_element[2]; + let workflow = list_element[3].extra_pnginfo.workflow; + let a = document.createElement("a"); + a.innerHTML = number + ": "; + append_to_element.appendChild(a); + let button = document.createElement("button"); + button.innerHTML = "Load"; + button.style.fontSize = "10px"; + button.workflow = workflow; + button.onclick = function(event) { + loadGraphData(graph, event.target.workflow); + }; + + append_to_element.appendChild(button); + if (append_delete) { + let button = document.createElement("button"); + button.innerHTML = "Delete"; + button.style.fontSize = "10px"; + button.delete_id = id; + button.onclick = function(event) { + deleteQueueElement(event.target.delete_id); + loadQueue(); + }; + append_to_element.appendChild(button); + } + append_to_element.appendChild(document.createElement("br")); + } + for (let x in data.queue_running) { + append_to_list(data.queue_running[x], runningcontents, false); + } + + data.queue_pending.sort((a, b) => a[0] - b[0]); + for (let x in data.queue_pending) { + append_to_list(data.queue_pending[x], queuecontents, true); + } + }).catch((response) => {console.log(response)}); +} + +function loadQueueIfVisible() +{ + var queue_div = document.getElementById("queuebutton-content"); + if (queue_div.style.display == 'block') { + loadQueue(); + } +} + +function seeQueue() { + var queue_div = document.getElementById("queuebutton-content"); + if (queue_div.style.display == 'block') { + queue_div.style.display = 'none'; + var see_queue_button = document.getElementById("seequeuebutton"); + see_queue_button.innerHTML = "See Queue" + } else { + loadQueue(); + } +} + +function closeQueue() { + var queue_div = document.getElementById("queuebutton-content"); + queue_div.style.display = 'none'; +} + +function clearQueue() { + fetch('/queue', { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({"clear":true}) + }).then(data => { + loadQueue(); + }) + .catch(error => console.error(error)); +} + - + Queue size: X
-
- -
+
+ + + +
+ +