disable text inputs on long calculations
This commit is contained in:
8
main.js
8
main.js
@@ -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);
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user