add LaengeField and use it for Bewaffnung and Character
This commit is contained in:
@@ -46,6 +46,18 @@
|
||||
"quader": "Quader"
|
||||
},
|
||||
|
||||
"laenge": {
|
||||
"halbfinger": "Halbfinger",
|
||||
"finger": "Finger",
|
||||
"spann": "Spann",
|
||||
"schritt": "Schritt",
|
||||
"faden": "Faden",
|
||||
"lot": "Lot",
|
||||
"meile": "Meile",
|
||||
"tagesreise": "Tagesreise",
|
||||
"baryd": "Baryd"
|
||||
},
|
||||
|
||||
"steigerungskategorie": {
|
||||
"A_Star": "A*",
|
||||
"A": "A",
|
||||
|
||||
@@ -145,6 +145,15 @@ html {
|
||||
}
|
||||
}
|
||||
|
||||
& .length-input {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(min-content, 1fr) max-content;
|
||||
|
||||
& input {
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
|
||||
& .placeholder {
|
||||
font-size: 0.8em;
|
||||
border-top: 1px solid;
|
||||
|
||||
+43
-2
@@ -354,6 +354,47 @@ class GewichtField extends SchemaField {
|
||||
}
|
||||
}
|
||||
|
||||
class LaengeUnitField extends StringField {
|
||||
constructor(options={}, context={}) {
|
||||
return super({
|
||||
required: true,
|
||||
choices: {
|
||||
"halbfinger": "DSA41.laenge.halbfinger",
|
||||
"finger": "DSA41.laenge.finger",
|
||||
"spann": "DSA41.laenge.spann",
|
||||
"schritt": "DSA41.laenge.schritt",
|
||||
"faden": "DSA41.laenge.faden",
|
||||
"lot": "DSA41.laenge.lot",
|
||||
"meile": "DSA41.laenge.meile",
|
||||
"tagesreise": "DSA41.laenge.tagesreise",
|
||||
"baryd": "DSA41.laenge.baryd",
|
||||
},
|
||||
initial: "schritt",
|
||||
...options
|
||||
}, context);
|
||||
}
|
||||
}
|
||||
|
||||
class LaengeField extends SchemaField {
|
||||
constructor() {
|
||||
return super({
|
||||
value: new NumberField({ initial: 0, min: 0 }),
|
||||
unit: new LaengeUnitField(),
|
||||
});
|
||||
}
|
||||
|
||||
_toInput(config) {
|
||||
const value_input = this.fields["value"].toInput({ value: config.value.value, });
|
||||
const unit_input = this.fields["unit"] .toInput({ value: config.value.unit, localize: true });
|
||||
|
||||
let outer_div = document.createElement("div");
|
||||
outer_div.className = "length-input";
|
||||
outer_div.replaceChildren(value_input, unit_input);
|
||||
|
||||
return outer_div;
|
||||
}
|
||||
}
|
||||
|
||||
class AttributeField extends SchemaField {
|
||||
constructor() {
|
||||
return super({
|
||||
@@ -476,7 +517,7 @@ class DSA41_CharacterData extends TypeDataModel {
|
||||
allgemein: new SchemaField({
|
||||
geschlecht: new StringField(),
|
||||
alter: new StringField(),
|
||||
groesse: new StringField(),
|
||||
groesse: new LaengeField(),
|
||||
gewicht: new GewichtField(),
|
||||
haarfarbe: new StringField(),
|
||||
augenfarbe: new StringField(),
|
||||
@@ -835,7 +876,7 @@ class DSA41_BewaffnungData extends TypeDataModel {
|
||||
distanzklasse: new StringField({ initial: "" }),
|
||||
kampftalente: new StringField({ initial: "" }),
|
||||
|
||||
laenge: new NumberField({ integer: true, initial: 0, min: 0 }),
|
||||
laenge: new LaengeField(),
|
||||
|
||||
zweihaendig: new BooleanField({ initial: false }),
|
||||
werfbar: new BooleanField({ initial: false }),
|
||||
|
||||
Reference in New Issue
Block a user