Better initialisation of PARTS and TABS

This commit is contained in:
Chris Ryan 2025-08-20 22:54:20 +10:00
parent a8c03585c3
commit abc2fe76ff

View file

@ -3,38 +3,23 @@ export default class DhSceneConfigSettings extends foundry.applications.sheets.S
super(options, ...args);
}
/** @override */
static PARTS = {
tabs: { template: "templates/generic/tab-navigation.hbs" },
basics: { template: "templates/scene/config/basics.hbs" },
grid: { template: "templates/scene/config/grid.hbs" },
lighting: { template: "templates/scene/config/lighting.hbs", scrollable: [""] },
ambience: { template: "templates/scene/config/ambience.hbs", scrollable: ["div.tab[data-tab=environment]"] },
static buildParts() {
const { footer, ...parts } = super.PARTS;
const tmpParts = {
...parts,
dh: { template: "systems/daggerheart/templates/scene/dh-config.hbs" },
footer: { template: "templates/generic/form-footer.hbs" }
};
/** @override */
static TABS = {
sheet: {
tabs: [
{ id: "basics", icon: "fa-solid fa-image" },
{ id: "grid", icon: "fa-solid fa-grid" },
{ id: "lighting", icon: "fa-solid fa-lightbulb" },
{ id: "ambience", icon: "fa-solid fa-cloud-sun" },
{ id: "dh", icon: "fa-solid" }
],
initial: "basics",
labelPrefix: "SCENE.TABS.SHEET"
},
ambience: {
tabs: [
{ id: "basic", icon: "fa-solid fa-table-list" },
{ id: "environment", icon: "fa-solid fa-cloud-sun" }
],
initial: "basic",
labelPrefix: "SCENE.TABS.AMBIENCE"
footer
}
};
return tmpParts;
}
static PARTS = DhSceneConfigSettings.buildParts();
static buildTabs() {
super.TABS.sheet.tabs.push({ id: "dh", icon: "fa-solid" });
return super.TABS;
}
static TABS = DhSceneConfigSettings.buildTabs();
}