- Migration des fiches acteur V2 : racine <form> → <section> (DocumentSheetV2 encapsule déjà dans <form>, élimine les formulaires imbriqués) - Ajout de submitOnChange: true sur la feuille de base acteur (nécessaire pour que les événements change des éditeurs déclenchent la mise à jour) - Ajout de toggled=true + wrapper <fieldset><div><label> sur tous les formInput (comportement identique aux fiches d'objet) - CSS : .window-content > section ajouté à côté de > form (évite la perte du flex layout et des scrollbar en passant de form à section) - Modèles acteur : passage de StringField à HTMLField pour les champs description/notes/biographie/notesmj (permet le rendu ProseMirror) - Ajout de systemFields dans le contexte _prepareContext()
56 lines
2.3 KiB
JavaScript
56 lines
2.3 KiB
JavaScript
const fields = foundry.data.fields;
|
|
|
|
export function statField(initialValue = 0, label = "", derivee = false) {
|
|
return new fields.SchemaField({
|
|
type: new fields.StringField({ initial: "number" }),
|
|
value: new fields.NumberField({ initial: initialValue, integer: true }),
|
|
label: new fields.StringField({ initial: label }),
|
|
xp: new fields.NumberField({ initial: 0, integer: true }),
|
|
derivee: new fields.BooleanField({ initial: derivee }),
|
|
});
|
|
}
|
|
|
|
export function santeField(initialValue = 0, initialMax = 0, label = "", derivee = false) {
|
|
return new fields.SchemaField({
|
|
type: new fields.StringField({ initial: "number" }),
|
|
value: new fields.NumberField({ initial: initialValue, integer: true }),
|
|
max: new fields.NumberField({ initial: initialMax, integer: true }),
|
|
label: new fields.StringField({ initial: label }),
|
|
derivee: new fields.BooleanField({ initial: derivee }),
|
|
});
|
|
}
|
|
|
|
export function attributField(initialValue = 0, label = "", derivee = false, isString = false) {
|
|
if (isString) {
|
|
return new fields.SchemaField({
|
|
type: new fields.StringField({ initial: "string" }),
|
|
value: new fields.StringField({ initial: String(initialValue) }),
|
|
label: new fields.StringField({ initial: label }),
|
|
derivee: new fields.BooleanField({ initial: derivee }),
|
|
});
|
|
}
|
|
return new fields.SchemaField({
|
|
type: new fields.StringField({ initial: "number" }),
|
|
value: new fields.NumberField({ initial: initialValue, integer: false }),
|
|
label: new fields.StringField({ initial: label }),
|
|
derivee: new fields.BooleanField({ initial: derivee }),
|
|
});
|
|
}
|
|
|
|
export function compteurField(initialValue = 0, label = "", isInput = false) {
|
|
return new fields.SchemaField({
|
|
value: new fields.NumberField({ initial: initialValue, integer: true }),
|
|
label: new fields.StringField({ initial: label }),
|
|
...(isInput ? { isInput: new fields.BooleanField({ initial: true }) } : {}),
|
|
});
|
|
}
|
|
|
|
export function compteurMaxField(initialValue = 0, initialMax = 0, label = "") {
|
|
return new fields.SchemaField({
|
|
value: new fields.NumberField({ initial: initialValue, integer: true }),
|
|
max: new fields.NumberField({ initial: initialMax, integer: true }),
|
|
label: new fields.StringField({ initial: label }),
|
|
isInput: new fields.BooleanField({ initial: true }),
|
|
});
|
|
}
|