Files
fvtt-oath-hammer/module/applications/sheets/class-sheet.mjs
2026-03-08 17:27:59 +01:00

43 lines
1.2 KiB
JavaScript

import OathHammerItemSheet from "./base-item-sheet.mjs"
export default class OathHammerClassSheet extends OathHammerItemSheet {
/** @override */
static DEFAULT_OPTIONS = {
classes: ["class"],
position: {
width: 640,
},
window: {
contentClasses: ["class-content"],
},
}
/** @override */
static PARTS = {
main: {
template: "systems/fvtt-oath-hammer/templates/item/class-sheet.hbs",
},
}
/** @override */
async _prepareContext() {
const context = await super._prepareContext()
context.enrichedFeatures = await foundry.applications.ux.TextEditor.implementation.enrichHTML(
this.document.system.features ?? "", { async: true }
)
return context
}
/** @override — collect checkbox sets explicitly so unchecking all works */
_prepareSubmitData(event, form, formData) {
const data = super._prepareSubmitData(event, form, formData)
data["system.armorProficiency"] = Array.from(
form.querySelectorAll('input[name="system.armorProficiency"]:checked')
).map(el => el.value)
data["system.weaponProficiency"] = Array.from(
form.querySelectorAll('input[name="system.weaponProficiency"]:checked')
).map(el => el.value)
return data
}
}