Hard coded template; no value applied/saved

This commit is contained in:
Chris Ryan 2025-08-20 20:49:25 +10:00
parent c445b2cbe0
commit 743eeff593
7 changed files with 85 additions and 24 deletions

View file

@ -145,10 +145,10 @@ Hooks.once('init', () => {
// Make Compendium Dialog resizable // Make Compendium Dialog resizable
foundry.applications.sidebar.apps.Compendium.DEFAULT_OPTIONS.window.resizable = true; foundry.applications.sidebar.apps.Compendium.DEFAULT_OPTIONS.window.resizable = true;
applications.scene.DhSceneConfig.PARTS.dh = {template: "systems/daggerheart/templates/scene/dh-config.hbs"}; // applications.scene.DhSceneConfigSettings.PARTS.dh = {template: "systems/daggerheart/templates/scene/dh-config.hbs"};
applications.scene.DhSceneConfig.TABS.sheet.tabs.push({id: "dh", icon: "fa-solid"}); // applications.scene.DhSceneConfigSettings.TABS.sheet.tabs.push({id: "dh", icon: "fa-solid"});
DocumentSheetConfig.registerSheet(foundry.documents.Scene, SYSTEM.id, applications.scene.DhSceneConfig , { DocumentSheetConfig.registerSheet(foundry.documents.Scene, SYSTEM.id, applications.scene.DhSceneConfigSettings , {
makeDefault: true, makeDefault: true,
label: "Daggerheart" label: "Daggerheart"
}); });

View file

@ -1 +1 @@
export { default as DhSceneConfig } from './sceneConfig.mjs'; export { default as DhSceneConfigSettings } from './sceneConfigSettings.mjs';

View file

@ -1,19 +0,0 @@
export default class DhSceneConfig extends foundry.applications.sheets.SceneConfig {
/** @inheritDoc */
async _preparePartContext(partId, context, options) {
console.log("_preparePartContext", partId, context, options);
context = await super._preparePartContext(partId, context, options);
switch ( partId ) {
case "dh":
context.fields.rangeMeasurementSettingsOverride = "Override Global Range Measurement Settings";
break;
default:
context = await super._preparePartContext(partId, context, options);
}
if ( partId in context.tabs ) context.tab = context.tabs[partId];
return context;
}
}

View file

@ -0,0 +1,60 @@
import DhSceneConfig from '../../data/scene/SceneConfig.mjs';
export default class DhSceneConfigSettings extends foundry.applications.sheets.SceneConfig {
constructor(options, ...args) {
super(options, ...args);
// this.settings = new DhSceneConfig();
// this.rangeMeasurementSettingsOverrideField = this.settings.initial;
}
/** @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]"] },
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"
}
};
/** @inheritDoc */
async _preparePartContext(partId, context, options) {
console.log("_preparePartContext", partId, context, options);
context = await super._preparePartContext(partId, context, options);
switch (partId) {
case "dh":
// context.settings = this.settings;
// context.rangeMeasurementSettingsOverrideField = this.rangeMeasurementSettingsOverrideField;
break;
default:
context = await super._preparePartContext(partId, context, options);
}
if (partId in context.tabs) context.tab = context.tabs[partId];
return context;
}
}

View file

@ -0,0 +1,15 @@
export default class DhSceneConfig extends foundry.abstract.DataModel {
static defineSchema() {
const fields = foundry.data.fields;
return {
...super.defineSchema(),
rangeMeasurementSettingsOverrideField: new fields.BooleanField({
initial: false,
label: "Override Global Range Measurement Settings"
})
}
}
}

View file

@ -0,0 +1 @@
export { default as DhSceneConfig } from './SceneConfig.mjs';

View file

@ -1,7 +1,11 @@
<div class="tab{{#if tab.active}} active{{/if}}" data-group="{{tab.group}}" data-tab="{{tab.id}}"> <div class="tab{{#if tab.active}} active{{/if}}" data-group="{{tab.group}}" data-tab="{{tab.id}}">
<div class="form-group"> <div class="form-group">
<div class="form-fields"> <div class="form-fields">
{{formInput fields.rangeMeasurementSettingsOverride value=source.rangeMeasurementSettingsOverride}} <label>
{{!-- {{formInput fields.rangeMeasurementSettingsOverrideField value=false}} --}}
Override Global Range Measurement Settings
<input type="checkbox" name="rangeMeasurementSettingsOverride"></input>
</label>
</div> </div>
</div> </div>
</div> </div>