This commit is contained in:
WBHarry 2026-02-08 15:37:44 +01:00
parent b053af21c6
commit 1ee581055a
9 changed files with 188 additions and 148 deletions

View file

@ -3,14 +3,33 @@ export default class CompendiumBrowserSettings extends foundry.abstract.DataMode
const fields = foundry.data.fields;
return {
excludedCompendiumPacks: new fields.TypedObjectField(
new fields.TypedObjectField(new fields.BooleanField({ required: true, initial: true }))
excludedSources: new fields.TypedObjectField(
new fields.SchemaField({
excludedDocumentTypes: new fields.ArrayField(
new fields.StringField({ required: true, choices: CONST.SYSTEM_SPECIFIC_COMPENDIUM_TYPES })
)
})
),
excludedPacks: new fields.TypedObjectField(
new fields.SchemaField({
excludedDocumentTypes: new fields.ArrayField(
new fields.StringField({ required: true, choices: CONST.SYSTEM_SPECIFIC_COMPENDIUM_TYPES })
)
})
)
// excludedSources: new fields.ArrayField(new fields.StringField({ required: true, nullable: false })),
// excludedPacks: new fields.TypedObjectField(new fields.SchemaField({
// attributionKeys: new fields.ArrayField(new fields.StringField({ required: true, nullable: false })),
// excluded: new fields.BooleanField({ required: true, initial: false }),
// })),
};
}
isEntryExcluded(item) {
const pack = game.packs.get(item.pack);
if (!pack) return false;
const excludedSourceData = this.excludedSources[pack.metadata.packageName];
if (excludedSourceData && excludedSourceData.excludedDocumentTypes.includes(pack.metadata.type)) return true;
const excludedPackData = this.excludedPacks[item.pack];
if (excludedPackData && excludedPackData.excludedDocumentTypes.includes(pack.metadata.type)) return true;
return false;
}
}