diff options
| author | Sebastiano Tronto <sebastiano@tronto.net> | 2025-05-30 14:18:58 +0200 |
|---|---|---|
| committer | Sebastiano Tronto <sebastiano@tronto.net> | 2025-05-30 14:18:58 +0200 |
| commit | f74438386c6ba50cba75de93040c5230dac99359 (patch) | |
| tree | 4df4dcaf3238229f30764a8d4c82c2cf777373fd /web/http/nissyapp.mjs | |
| parent | 37a2ebd4bffa99d465396fde0acfc52284ee3b7c (diff) | |
| download | nissy-core-f74438386c6ba50cba75de93040c5230dac99359.tar.gz nissy-core-f74438386c6ba50cba75de93040c5230dac99359.zip | |
Added last option to solver configuration web version
Diffstat (limited to 'web/http/nissyapp.mjs')
| -rw-r--r-- | web/http/nissyapp.mjs | 21 |
1 files changed, 13 insertions, 8 deletions
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"); | |||
| 16 | var minLabel = document.getElementById("minLabel"); | 16 | var minLabel = document.getElementById("minLabel"); |
| 17 | var maxLabel = document.getElementById("maxLabel"); | 17 | var maxLabel = document.getElementById("maxLabel"); |
| 18 | var maxSolsInput = document.getElementById("maxSolutions"); | 18 | var maxSolsInput = document.getElementById("maxSolutions"); |
| 19 | var optimalInput = document.getElementById("optimalInput"); | ||
| 19 | 20 | ||
| 20 | var solveStatus = "run"; // For now this is global | 21 | var solveStatus = "run"; // For now this is global |
| 21 | var lastCallbackId = 0; | 22 | var 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 | ||
| 55 | scrField.addEventListener("input", (e) => { | 57 | scrField.addEventListener("input", (e) => { |
| @@ -80,14 +82,17 @@ minSlider.addEventListener("input", () => | |||
| 80 | maxSlider.addEventListener("input", () => | 82 | maxSlider.addEventListener("input", () => |
| 81 | maxLabel.innerText = "Maximum moves: " + maxSlider.value); | 83 | maxLabel.innerText = "Maximum moves: " + maxSlider.value); |
| 82 | 84 | ||
| 83 | maxSolsInput.addEventListener("keyup", () => { | 85 | function 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 | |||
| 94 | maxSolsInput.addEventListener("keyup", enforceMinMax); | ||
| 95 | optimalInput.addEventListener("keyup", enforceMinMax); | ||
| 91 | 96 | ||
| 92 | var logVisible = false; | 97 | var logVisible = false; |
| 93 | toggleLog.addEventListener("click", () => { | 98 | toggleLog.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 | }); |
