Fix apv2, WIP

This commit is contained in:
2026-06-06 22:37:29 +02:00
parent c571e6a209
commit c23de0ea66
37 changed files with 199 additions and 118 deletions
@@ -96,6 +96,10 @@ export default class VermineBaseActorSheet extends HandlebarsApplicationMixin(fo
// ── Contexte commun ─────────────────────────────────────────────────
async _prepareContext() {
const enrich = async (path) => {
const val = foundry.utils.getProperty(this.document.system, path);
return val ? await foundry.applications.ux.TextEditor.implementation.enrichHTML(val, { async: true }) : "";
};
return {
fields: this.document.schema.fields,
systemFields: this.document.system.schema.fields,
@@ -107,7 +111,10 @@ export default class VermineBaseActorSheet extends HandlebarsApplicationMixin(fo
isGM: game.user.isGM,
isEditMode: this.isEditMode,
isPlayMode: this.isPlayMode,
isEditable: this.isEditable
isEditable: this.isEditable,
enrichedNotes: await enrich("identity.notes"),
enrichedBiography: await enrich("identity.biography"),
enrichedRelations: await enrich("identity.relations")
}
}
@@ -138,6 +145,19 @@ export default class VermineBaseActorSheet extends HandlebarsApplicationMixin(fo
for (const [group, tab] of Object.entries(this.tabGroups ?? {})) {
this.changeTab(tab, group, {force: true})
}
// Move toggle from hidden main tab to visible position (only for sheets where
// .tab.main is not already displayed as a permanent sidebar via !important)
const mainTab = this.element.querySelector(".tab.main")
const tabs = this.element.querySelector('nav.tabs[data-application-part="tabs"]')
if ( mainTab && tabs && getComputedStyle(mainTab).display === "none" ) {
const existing = tabs.parentNode.querySelector('.sheet-header-toggle[data-moved]')
if (existing) existing.remove()
const toggle = mainTab.querySelector(".sheet-header-toggle")
if (toggle) {
toggle.dataset.moved = "true"
tabs.parentNode.insertBefore(toggle, tabs)
}
}
this.#dragDrop.forEach(d => d.bind(this.element))
this.element.querySelectorAll(".rollable").forEach(el => {
el.addEventListener("click", this._onRoll.bind(this))
@@ -50,7 +50,12 @@ export default class VermineCreatureSheetV2 extends VermineBaseActorSheet {
async _preparePartContext(partId, context) {
const doc = this.document
switch (partId) {
case "main": break
case "main":
context.patternOptions = CONFIG.VERMINE.creaturePatternLevels
context.roleOptions = CONFIG.VERMINE.creatureRoleLevels
context.sizeOptions = CONFIG.VERMINE.creatureSizeLevels
context.packOptions = CONFIG.VERMINE.creaturePackLevels
break
case "info":
context.tab = context.tabs.info
break
+7 -1
View File
@@ -44,7 +44,13 @@ export default class VermineNpcSheetV2 extends VermineBaseActorSheet {
async _preparePartContext(partId, context) {
const doc = this.document
switch (partId) {
case "main": break
case "main":
context.npcThreatOptions = CONFIG.VERMINE.npcThreatLevels
context.npcExperienceOptions = CONFIG.VERMINE.npcExperienceLevels
context.npcRoleOptions = CONFIG.VERMINE.npcRoleLevels
context.totemOptions = CONFIG.VERMINE.totems
context.originOptions = CONFIG.VERMINE.origins
break
case "characteristics":
context.tab = context.tabs.characteristics
break