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