Skip to content

Commit

Permalink
Stupid number input fields....
Browse files Browse the repository at this point in the history
  • Loading branch information
DanielPXL committed Feb 21, 2024
1 parent e1c955a commit 42041d3
Showing 1 changed file with 10 additions and 9 deletions.
19 changes: 10 additions & 9 deletions src/ConfigSection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,7 @@ function createEntry(entry: ConfigEntry, parent: HTMLElement, index: number) {
}

controlDiv.appendChild(checkbox);

checkbox.dispatchEvent(new Event("change"));
entry.update(storedValue !== null ? storedValue === "true" : entry.default);
break;
}

Expand Down Expand Up @@ -112,24 +111,26 @@ function createEntry(entry: ConfigEntry, parent: HTMLElement, index: number) {
}

numberInput.type = "number";
numberInput.value = entry.default.toString();
numberInput.value = storedValue !== null ? storedValue : entry.default.toString();
numberInput.step = entry.integer ? "1" : "0.01";
numberInput.oninput = () => {
if (isNaN(+numberInput.value)) {
return;
}
if (entry.forceRange) {
numberInput.min = entry.min.toString();
numberInput.max = entry.max.toString();
}

numberInput.oninput = () => {
let value = entry.integer ? Math.round(numberInput.valueAsNumber) : numberInput.valueAsNumber;

if (entry.forceRange) {
if (value < entry.min) {
value = entry.min;
numberInput.valueAsNumber = value;
} else if (value > entry.max) {
value = entry.max;
numberInput.valueAsNumber = value;
}
}

numberInput.valueAsNumber = value;
slider.valueAsNumber = value;
storeValue(value);
entry.update(value);
Expand All @@ -138,7 +139,7 @@ function createEntry(entry: ConfigEntry, parent: HTMLElement, index: number) {
controlDiv.appendChild(slider);
controlDiv.appendChild(numberInput);

slider.dispatchEvent(new Event("input"));
entry.update(storedValue !== null ? +storedValue : entry.default);

break;
}
Expand Down

0 comments on commit 42041d3

Please sign in to comment.