import PrismRPGItemSheet from "./base-item-sheet.mjs" export default class PrismRPGClassSheet extends PrismRPGItemSheet { /** @override */ static DEFAULT_OPTIONS = { classes: ["class"], position: { width: 700, height: 800, }, window: { contentClasses: ["class-content"], }, } /** @override */ static PARTS = { main: { template: "systems/fvtt-prism-rpg/templates/class.hbs", }, } /** @override */ tabGroups = { primary: "details", } /** * Prepare an array of form header tabs. * @returns {Record>} */ #getTabs() { const tabs = { details: { id: "details", group: "primary", label: "PRISMRPG.Label.details" }, description: { id: "description", group: "primary", label: "PRISMRPG.Label.description" }, } for (const v of Object.values(tabs)) { v.active = this.tabGroups[v.group] === v.id v.cssClass = v.active ? "active" : "" } return tabs } /** @override */ async _prepareContext() { const context = await super._prepareContext() context.tabs = this.#getTabs() context.enrichedDescription = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.description, { async: true }) context.enrichedAttributeBonuses = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.attributeBonuses, { async: true }) context.enrichedNotes = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.notes, { async: true }) // Enrich all feature levels context.enrichedFeatures = {} for (let i = 1; i <= 10; i++) { const key = `level${i}` context.enrichedFeatures[key] = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.features[key], { async: true }) } return context } }