aboutsummaryrefslogtreecommitdiff
path: root/web/http
diff options
context:
space:
mode:
authorSebastiano Tronto <sebastiano@tronto.net>2025-05-30 14:18:58 +0200
committerSebastiano Tronto <sebastiano@tronto.net>2025-05-30 14:18:58 +0200
commitf74438386c6ba50cba75de93040c5230dac99359 (patch)
tree4df4dcaf3238229f30764a8d4c82c2cf777373fd /web/http
parent37a2ebd4bffa99d465396fde0acfc52284ee3b7c (diff)
downloadnissy-core-f74438386c6ba50cba75de93040c5230dac99359.tar.gz
nissy-core-f74438386c6ba50cba75de93040c5230dac99359.zip
Added last option to solver configuration web version
Diffstat (limited to '')
-rw-r--r--web/http/index.html6
-rw-r--r--web/http/nissyapp.mjs21
2 files changed, 18 insertions, 9 deletions
diff --git a/web/http/index.html b/web/http/index.html
index bc6a37d..65b5b18 100644
--- a/web/http/index.html
+++ b/web/http/index.html
@@ -35,7 +35,11 @@
35 <br /> 35 <br />
36 <label for="maxSolutions">Limit number of solutions to</label> 36 <label for="maxSolutions">Limit number of solutions to</label>
37 <input id="maxSolutions" name="maxSolutions" 37 <input id="maxSolutions" name="maxSolutions"
38 type="number" min="1" max="999" value="1"> 38 type="number" min="1" max="999" value="1" />
39 <br />
40 <label for="optimalInput">Above optimal by at most</label>
41 <input id="optimalInput" name="optimal"
42 type="number" min="0" max="20" value="20" />
39 </div> 43 </div>
40 44
41 <div id="confirmDownload" style="display:none"> 45 <div id="confirmDownload" style="display:none">
diff --git a/web/http/nissyapp.mjs b/web/http/nissyapp.mjs
index bdc553a..cdfd4d5 100644
--- a/web/http/nissyapp.mjs
+++ b/web/http/nissyapp.mjs
@@ -16,6 +16,7 @@ var maxSlider = document.getElementById("maxMovesSlider");
16var minLabel = document.getElementById("minLabel"); 16var minLabel = document.getElementById("minLabel");
17var maxLabel = document.getElementById("maxLabel"); 17var maxLabel = document.getElementById("maxLabel");
18var maxSolsInput = document.getElementById("maxSolutions"); 18var maxSolsInput = document.getElementById("maxSolutions");
19var optimalInput = document.getElementById("optimalInput");
19 20
20var solveStatus = "run"; // For now this is global 21var solveStatus = "run"; // For now this is global
21var lastCallbackId = 0; 22var lastCallbackId = 0;
@@ -50,6 +51,7 @@ function updateResults(label, results, enable) {
50 minSlider.disabled = !enable; 51 minSlider.disabled = !enable;
51 maxSlider.disabled = !enable; 52 maxSlider.disabled = !enable;
52 maxSolsInput.disabled = !enable; 53 maxSolsInput.disabled = !enable;
54 optimalInput.disabled = !enable;
53} 55}
54 56
55scrField.addEventListener("input", (e) => { 57scrField.addEventListener("input", (e) => {
@@ -80,14 +82,17 @@ minSlider.addEventListener("input", () =>
80maxSlider.addEventListener("input", () => 82maxSlider.addEventListener("input", () =>
81 maxLabel.innerText = "Maximum moves: " + maxSlider.value); 83 maxLabel.innerText = "Maximum moves: " + maxSlider.value);
82 84
83maxSolsInput.addEventListener("keyup", () => { 85function enforceMinMax() {
84 if (maxSolsInput.value != "") { 86 if (this.value != "") {
85 if (parseInt(maxSolsInput.value) < parseInt(maxSolsInput.min)) 87 if (parseInt(this.value) < parseInt(this.min))
86 maxSolsInput.value = maxSolsInput.min; 88 this.value = this.min;
87 if (parseInt(maxSolsInput.value) > parseInt(maxSolsInput.max)) 89 if (parseInt(this.value) > parseInt(this.max))
88 maxSolsInput.value = maxSolsInput.max; 90 this.value = this.max;
89 } 91 }
90}); 92}
93
94maxSolsInput.addEventListener("keyup", enforceMinMax);
95optimalInput.addEventListener("keyup", enforceMinMax);
91 96
92var logVisible = false; 97var logVisible = false;
93toggleLog.addEventListener("click", () => { 98toggleLog.addEventListener("click", () => {
@@ -265,7 +270,7 @@ function startSolve(solver, scramble) {
265 minmoves: minSlider.value, 270 minmoves: minSlider.value,
266 maxmoves: maxSlider.value, 271 maxmoves: maxSlider.value,
267 maxsolutions: maxSolsInput.value, 272 maxsolutions: maxSolsInput.value,
268 optimal: 20, 273 optimal: optimalInput.value,
269 threads: window.navigator.hardwareConcurrency, 274 threads: window.navigator.hardwareConcurrency,
270 } 275 }
271 }); 276 });

Generated with cgit - Back to sebastiano.tronto.net