43 lines
1.2 KiB
JavaScript
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
|
|
}
|
|
}
|