mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-03-07 14:36:13 +01:00
Added the ability to exclude world compendiums in the Compendium Browser Settings
This commit is contained in:
parent
60cd28ae82
commit
e0b3d33f80
3 changed files with 14 additions and 5 deletions
|
|
@ -355,7 +355,8 @@
|
||||||
"CompendiumBrowserSettings": {
|
"CompendiumBrowserSettings": {
|
||||||
"title": "Enable Compendiums",
|
"title": "Enable Compendiums",
|
||||||
"enableSource": "Enable Source",
|
"enableSource": "Enable Source",
|
||||||
"disableSource": "Disable Source"
|
"disableSource": "Disable Source",
|
||||||
|
"worldCompendiums": "World Compendiums"
|
||||||
},
|
},
|
||||||
"ContextMenu": {
|
"ContextMenu": {
|
||||||
"disableEffect": "Disable Effect",
|
"disableEffect": "Disable Effect",
|
||||||
|
|
|
||||||
|
|
@ -50,13 +50,20 @@ export default class CompendiumBrowserSettings extends HandlebarsApplicationMixi
|
||||||
const excludedSourceData = this.browserSettings.excludedSources;
|
const excludedSourceData = this.browserSettings.excludedSources;
|
||||||
const excludedPackData = this.browserSettings.excludedPacks;
|
const excludedPackData = this.browserSettings.excludedPacks;
|
||||||
context.typePackCollections = game.packs.reduce((acc, pack) => {
|
context.typePackCollections = game.packs.reduce((acc, pack) => {
|
||||||
const { type, label, packageType, packageName, id } = pack.metadata;
|
const { type, label, packageType, packageName: basePackageName, id } = pack.metadata;
|
||||||
if (packageType === 'world' || !CompendiumBrowserSettings.#browserPackTypes.includes(type)) return acc;
|
if (!CompendiumBrowserSettings.#browserPackTypes.includes(type)) return acc;
|
||||||
|
|
||||||
|
const isWorldPack = packageType === 'world';
|
||||||
|
const packageName = isWorldPack ? 'world' : basePackageName;
|
||||||
const sourceChecked =
|
const sourceChecked =
|
||||||
!excludedSourceData[packageName] ||
|
!excludedSourceData[packageName] ||
|
||||||
!excludedSourceData[packageName].excludedDocumentTypes.includes(type);
|
!excludedSourceData[packageName].excludedDocumentTypes.includes(type);
|
||||||
const sourceLabel = game.modules.get(packageName)?.title ?? game.system.title;
|
|
||||||
|
const sourceLabel =
|
||||||
|
game.modules.get(packageName)?.title ??
|
||||||
|
(isWorldPack
|
||||||
|
? game.i18n.localize('DAGGERHEART.APPLICATIONS.CompendiumBrowserSettings.worldCompendiums')
|
||||||
|
: game.system.title);
|
||||||
if (!acc[type]) acc[type] = { label: game.i18n.localize(`DOCUMENT.${type}s`), sources: {} };
|
if (!acc[type]) acc[type] = { label: game.i18n.localize(`DOCUMENT.${type}s`), sources: {} };
|
||||||
if (!acc[type].sources[packageName])
|
if (!acc[type].sources[packageName])
|
||||||
acc[type].sources[packageName] = { label: sourceLabel, checked: sourceChecked, packs: [] };
|
acc[type].sources[packageName] = { label: sourceLabel, checked: sourceChecked, packs: [] };
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,8 @@ export default class CompendiumBrowserSettings extends foundry.abstract.DataMode
|
||||||
const pack = game.packs.get(item.pack);
|
const pack = game.packs.get(item.pack);
|
||||||
if (!pack) return false;
|
if (!pack) return false;
|
||||||
|
|
||||||
const excludedSourceData = this.excludedSources[pack.metadata.packageName];
|
const packageName = pack.metadata.packageType === 'world' ? 'world' : pack.metadata.packageName;
|
||||||
|
const excludedSourceData = this.excludedSources[packageName];
|
||||||
if (excludedSourceData && excludedSourceData.excludedDocumentTypes.includes(pack.metadata.type)) return true;
|
if (excludedSourceData && excludedSourceData.excludedDocumentTypes.includes(pack.metadata.type)) return true;
|
||||||
|
|
||||||
const excludedPackData = this.excludedPacks[item.pack];
|
const excludedPackData = this.excludedPacks[item.pack];
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue