aboutsummaryrefslogtreecommitdiff
path: root/web/http/nissyapp.mjs
diff options
context:
space:
mode:
Diffstat (limited to 'web/http/nissyapp.mjs')
-rw-r--r--web/http/nissyapp.mjs26
1 files changed, 23 insertions, 3 deletions
diff --git a/web/http/nissyapp.mjs b/web/http/nissyapp.mjs
index 55ca198..1f9fa72 100644
--- a/web/http/nissyapp.mjs
+++ b/web/http/nissyapp.mjs
@@ -30,8 +30,8 @@ worker.onmessage = (event) => {
30function updateResults(label, results, enable) { 30function updateResults(label, results, enable) {
31 resultsLabel.innerText = label; 31 resultsLabel.innerText = label;
32 resultsText.innerText = results; 32 resultsText.innerText = results;
33 solveButton.disable = !enable; 33 solveButton.disabled = !enable;
34 solverSelector.disable = !enable; 34 solverSelector.disabled = !enable;
35} 35}
36 36
37var logVisible = false; 37var logVisible = false;
@@ -49,7 +49,27 @@ toggleLog.addEventListener("click", () => {
49solveButton.addEventListener("click", () => { 49solveButton.addEventListener("click", () => {
50 const solver = solverSelector.options[solverSelector.selectedIndex].value; 50 const solver = solverSelector.options[solverSelector.selectedIndex].value;
51 const scramble = scrField.value; 51 const scramble = scrField.value;
52 loadDataThenSolve(solver, scramble); 52
53 const callbackId = ++lastCallbackId;
54 callbacks.set(callbackId, {
55 f: (callbackArg, validateResult) => {
56 if (validateResult) {
57 loadDataThenSolve(callbackArg.solver, callbackArg.scramble);
58 } else {
59 updateResults("Scramble is invalid", "", true);
60 }
61 },
62 arg: {
63 solver: solver,
64 scramble: scramble
65 }
66 });
67
68 worker.postMessage({
69 command: "validate scramble",
70 id: lastCallbackId,
71 arg: scramble
72 });
53}); 73});
54 74
55function loadDataThenSolve(solver, scramble) { 75function loadDataThenSolve(solver, scramble) {

Generated with cgit - Back to sebastiano.tronto.net