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