parent
d02e5eec4e
commit
3380e77344
|
@ -56,7 +56,8 @@ class CompendiumBrowser extends Application {
|
|||
}
|
||||
|
||||
get settings() {
|
||||
return game.settings.get(COMPENDIUM_BROWSER, "settings");
|
||||
const settings = game.settings.get(COMPENDIUM_BROWSER, "settings");
|
||||
return foundry.utils.mergeObject(game.compendiumBrowser.readCompendiums, settings);
|
||||
}
|
||||
|
||||
/** @override */
|
||||
|
@ -219,17 +220,32 @@ class CompendiumBrowser extends Application {
|
|||
}
|
||||
|
||||
// settings
|
||||
html.find(".settings input").on("change", (ev) => {
|
||||
html.find(".settings input").on("change", async (ev) => {
|
||||
const setting = ev.target.dataset.setting;
|
||||
const value = ev.target.checked;
|
||||
if (setting === "spell-compendium-setting") {
|
||||
const key = ev.target.dataset.key;
|
||||
this.settings.loadedSpellCompendium[key].load = value;
|
||||
const settings = foundry.utils.mergeObject(this.settings, {
|
||||
loadedSpellCompendium: {
|
||||
[key]: {
|
||||
load: value
|
||||
}
|
||||
}
|
||||
});
|
||||
await game.settings.set("compendium-browser", "settings", settings);
|
||||
// this.settings.loadedSpellCompendium[key].load = value;
|
||||
this.render();
|
||||
ui.notifications.info("Settings Saved. Item Compendiums are being reloaded.");
|
||||
} else if (setting === "npc-compendium-setting") {
|
||||
const key = ev.target.dataset.key;
|
||||
this.settings.loadedNpcCompendium[key].load = value;
|
||||
const settings = foundry.utils.mergeObject(this.settings, {
|
||||
loadedNpcCompendium: {
|
||||
[key]: {
|
||||
load: value
|
||||
}
|
||||
}
|
||||
});
|
||||
await game.settings.set("compendium-browser", "settings", settings);
|
||||
this.render();
|
||||
ui.notifications.info("Settings Saved. NPC Compendiums are being reloaded.");
|
||||
} else if (setting === "allow-spell-browser") {
|
||||
|
|
|
@ -4,19 +4,19 @@
|
|||
|
||||
export function registerSettings() {
|
||||
// Register any custom module settings here
|
||||
const defaultSettings = {
|
||||
game.compendiumBrowser.readCompendiums = {
|
||||
loadedSpellCompendium: {},
|
||||
loadedNpcCompendium: {},
|
||||
};
|
||||
for (const compendium of game.packs) {
|
||||
if (compendium.documentName === "Item") {
|
||||
defaultSettings.loadedSpellCompendium[compendium.collection] = {
|
||||
game.compendiumBrowser.readCompendiums.loadedSpellCompendium[compendium.collection] = {
|
||||
load: true,
|
||||
name: `${compendium.metadata.label} (${compendium.collection})`,
|
||||
};
|
||||
}
|
||||
if (compendium.documentName === "Actor") {
|
||||
defaultSettings.loadedNpcCompendium[compendium.collection] = {
|
||||
game.compendiumBrowser.readCompendiums.loadedNpcCompendium[compendium.collection] = {
|
||||
load: true,
|
||||
name: `${compendium.metadata.label} (${compendium.collection})`,
|
||||
};
|
||||
|
@ -26,7 +26,7 @@ export function registerSettings() {
|
|||
game.settings.register("compendium-browser", "settings", {
|
||||
name: "Compendium Browser Settings",
|
||||
hint: "Settings to exclude packs from loading and visibility of the browser",
|
||||
default: defaultSettings,
|
||||
default: game.compendiumBrowser.readCompendiums,
|
||||
type: Object,
|
||||
scope: "world"
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue