added number conversion in HTML value retrieval

Changes:
- number input fields now return numbers
- range elements removed since they are untested

Additions:
- added min and step specifiers to input fields associated to
  item number properties
- added a color hint for invalidity of
  item number input fields in actor sheet
This commit is contained in:
Gesina Schwalbe 2021-01-03 23:27:51 +01:00
parent ec404624c7
commit 61beda7734
5 changed files with 18 additions and 7 deletions

View file

@ -131,7 +131,7 @@ export class DS4ActorSheet extends ActorSheet<DS4ActorDataType, DS4Actor, DS4Ite
* The value is parsed to:
* - Checkbox: boolean
* - Text input: string
* - Number, range input: trimmed string
* - Number: number
* @param el the input element to collect the value of
*/
private getValue(el: HTMLFormElement): boolean | string | number {
@ -148,12 +148,18 @@ export class DS4ActorSheet extends ActorSheet<DS4ActorDataType, DS4Actor, DS4Ite
return value;
}
// Numbers and ranges:
else if (["number", "range"].includes(el.type)) {
const value: string = el.value.trim();
// Numbers:
else if (el.type === "number") {
const value = Number(el.value.trim());
return value;
}
// // Ranges:
// else if (el.type === "range") {
// const value: string = el.value.trim();
// return value;
// }
// // Radio Checkboxes (untested, cf. FormDataExtended.process)
// else if (el.type === "radio") {
// const chosen: HTMLFormElement = el.find((r: HTMLFormElement) => r["checked"]);