aboutsummaryrefslogtreecommitdiff
path: root/web
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--web/http/solve.mjs33
-rw-r--r--web/http/worker.mjs11
2 files changed, 44 insertions, 0 deletions
diff --git a/web/http/solve.mjs b/web/http/solve.mjs
new file mode 100644
index 0000000..127e1e3
--- /dev/null
+++ b/web/http/solve.mjs
@@ -0,0 +1,33 @@
1var solveButton = document.getElementById("solveButton");
2var scrField = document.getElementById("scrambleText");
3var solutionText = document.getElementById("solution");
4var solverSelector = document.getElementById("solverSelector");
5
6var worker = new Worker("./worker.mjs", { type: "module" });
7worker.onmessage = (e) => {
8 updateResults(e.data);
9 enableSolveButton();
10};
11
12function updateResults(s) {
13 solutionText.innerText = s;
14}
15
16function disableSolveButton() {
17 solveButton.disabled = true;
18 solveButton.innerText = "Solving...";
19}
20
21function enableSolveButton() {
22 solveButton.disabled = false;
23 solveButton.innerText = "Solve!";
24}
25
26solveButton.addEventListener("click", () => {
27 disableSolveButton();
28 updateResults("Loading solutions...");
29 worker.postMessage({
30 solver: solverSelector.options[solverSelector.selectedIndex].value,
31 scramble: scrField.value
32 });
33});
diff --git a/web/http/worker.mjs b/web/http/worker.mjs
new file mode 100644
index 0000000..5756598
--- /dev/null
+++ b/web/http/worker.mjs
@@ -0,0 +1,11 @@
1import Nissy from "./nissy_web_module.mjs"
2
3const nissy = await Nissy();
4nissy.setLogger(nissy._addCallbackFunction(console.log));
5
6onmessage = (e) => {
7 var cube = new nissy.Cube();
8 cube.move(e.data.scramble);
9 nissy.solve(e.data.solver, cube, nissy.NissFlag.normal, 0, 17, 1, 99, 4, -1)
10 .then((sol) => postMessage(sol))
11};

Generated with cgit - Back to sebastiano.tronto.net