ripcrypt/module/Apps/ActorSheets/CombinedHeroSheet.mjs

68 lines
1.8 KiB
JavaScript

import { filePath } from "../../consts.mjs";
import { GenericAppMixin } from "../GenericApp.mjs";
import { HeroSummaryCardV1 } from "./HeroSummaryCardV1.mjs";
import { Logger } from "../../utils/Logger.mjs";
const { HandlebarsApplicationMixin } = foundry.applications.api;
const { ActorSheetV2 } = foundry.applications.sheets;
export class CombinedHeroSheet extends GenericAppMixin(HandlebarsApplicationMixin(ActorSheetV2)) {
// #region Options
static DEFAULT_OPTIONS = {
classes: [
`ripcrypt--actor`,
`ripcrypt--CombinedHeroSheet`,
],
position: {
width: `auto`,
height: `auto`,
},
window: {
resizable: false,
},
actions: {
editItem: (_event, target) => HeroSummaryCardV1._editItem(target),
},
form: {
submitOnChange: true,
closeOnSubmit: false,
},
};
static PARTS = {
summary: {
template: filePath(`templates/Apps/HeroSummaryCardV1/content.hbs`),
},
skills: {
template: filePath(`templates/Apps/HeroSkillsCardV1/content.hbs`),
},
};
// #endregion
// #region Lifecycle
async _onRender(context, options) {
await super._onRender(context, options);
HeroSummaryCardV1._onRender.bind(this)(context, options);
};
async _preparePartContext(partId, ctx, opts) {
ctx = await super._preparePartContext(partId, ctx, opts);
ctx.actor = this.document;
ctx = await HeroSummaryCardV1.prepareGuts(ctx);
ctx = await HeroSummaryCardV1.prepareWeapons(ctx);
ctx = await HeroSummaryCardV1.prepareArmor(ctx);
ctx = await HeroSummaryCardV1.prepareFatePath(ctx);
ctx = await HeroSummaryCardV1.prepareAbilityRow(ctx);
ctx = await HeroSummaryCardV1.prepareSpeed(ctx);
ctx = await HeroSummaryCardV1.prepareLevelData(ctx);
Logger.debug(`Context:`, ctx);
return ctx;
};
// #endregion
// #region Actions
// #endregion
};