Files
foundryvtt-reve-de-dragon/module/models/_actor-helpers.mjs
T
fabres 84ce2f78d7 appv2: correction des éditeurs ProseMirror et scrollbar sur les fiches d'acteur
- 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()
2026-07-22 00:29:56 +02:00

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 }),
});
}