disable text inputs on long calculations
This commit is contained in:
parent
9cc7835a2c
commit
9efbe26cdd
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);
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue