foundry-dsa41-game/src/module/sheets/specialAbilitySheet.mjs

65 lines
1.8 KiB
JavaScript

const {DocumentSheetV2, HandlebarsApplicationMixin} = foundry.applications.api
export class SpecialAbilitySheet extends HandlebarsApplicationMixin(DocumentSheetV2) {
/** @inheritDoc */
static DEFAULT_OPTIONS = {
position: {width: 520, height: 480},
classes: ['dsa41', 'sheet', 'item', 'specialability'],
tag: 'form',
form: {
submitOnChange: true,
closeOnSubmit: false,
handler: SpecialAbilitySheet.#onSubmitForm
},
}
static TABS = {
sheet: {
tabs: [
{id: 'specialability', group: 'sheet', label: 'Sonderfertigkeit'},
],
initial: 'specialability'
}
}
/** @inheritDoc */
static PARTS = {
form: {
template: `systems/DSA_4-1/templates/item/specialability/main-sheet.hbs`
},
specialability: {
template: `systems/DSA_4-1/templates/item/specialability/tab-specialability.hbs`
},
}
/**
* Handle form submission
* @this {EquipmentSheet}
* @param {SubmitEvent} event
* @param {HTMLFormElement} form
* @param {FormDataExtended} formData
*/
static async #onSubmitForm(event, form, formData) {
event.preventDefault()
await this.document.update(formData.object) // Note: formData.object
}
/** @override */
async _prepareContext(options) {
const context = await super._prepareContext(options);
const specialabilityData = context.document;
context.system = specialabilityData.system;
context.flags = specialabilityData.flags;
context.text = specialabilityData.system.text;
context.aktionsText = specialabilityData.system.aktionsText;
return context;
}
}