disable text inputs on long calculations

This commit is contained in:
filifa 2025-12-11 23:49:35 -05:00
parent 9cc7835a2c
commit 9efbe26cdd
1 changed files with 8 additions and 0 deletions

View File

@ -46,6 +46,7 @@ function evaluate() {
worker.postMessage({command: "compute", queue, m});
timeoutId = setTimeout(() => {
document.querySelector("#result").value = "calculating...";
switchInputs(false);
switchButtons(false);
}, 500);
}
@ -115,17 +116,24 @@ function switchButtons(enabled) {
}
}
function switchInputs(enabled) {
document.querySelector("#expr").disabled = !enabled;
document.querySelector("#modulus").disabled = !enabled;
}
let timeoutId = null;
const worker = new Worker("./workers/compute.js");
worker.addEventListener("message", (message) => {
clearTimeout(timeoutId);
document.querySelector("#result").value = message.data;
switchInputs(true);
switchButtons(true);
});
worker.addEventListener("error", (e) => {
console.log(e);
clearTimeout(timeoutId);
document.querySelector("#result").value = e.message;
switchInputs(true);
switchButtons(true);
});