Update compenidum browser subclass class filter

This commit is contained in:
Dapoolp 2025-08-23 14:05:25 +02:00
parent 11607e2221
commit fd890120f7
4 changed files with 17 additions and 14 deletions

View file

@ -440,8 +440,9 @@ export default class DhCharacterCreation extends HandlebarsApplicationMixin(Appl
if (type === 'subclasses')
presets.filter = {
'system.linkedClass': { key: 'system.linkedClass', value: this.setup.class?.uuid }
'system.linkedClass.uuid': { key: 'system.linkedClass.uuid', value: this.setup.class?.uuid }
};
if (equipment.includes(type))
presets.filter = {
'system.tier': { key: 'system.tier', value: 1 },

View file

@ -235,7 +235,7 @@ export class ItemBrowser extends HandlebarsApplicationMixin(ApplicationV2) {
filters.forEach(f => {
if (typeof f.field === 'string') f.field = foundry.utils.getProperty(game, f.field);
else if (typeof f.choices === 'function') {
f.choices = f.choices();
f.choices = f.choices(this.items);
}
f.name ??= f.key;
f.value = this.presets?.filter?.[f.name]?.value ?? null;
@ -248,11 +248,8 @@ export class ItemBrowser extends HandlebarsApplicationMixin(ApplicationV2) {
/* -------------------------------------------- */
/**
* Create and initialize search filter instances for the inventory and loadout sections.
* Create and initialize search filter instance.
*
* Sets up two {@link foundry.applications.ux.SearchFilter} instances:
* - One for the inventory, which filters items in the inventory grid.
* - One for the loadout, which filters items in the loadout/card grid.
* @private
*/
_createSearchFilter() {
@ -339,7 +336,7 @@ export class ItemBrowser extends HandlebarsApplicationMixin(ApplicationV2) {
item = this.items.find(i => i.uuid === itemUUID);
if (!item) continue;
const matchesMenu =
this.fieldFilter.length === 0 ||
this.fieldFilter.every(

View file

@ -265,12 +265,9 @@ export const typeConfig = {
subclasses: {
columns: [
{
key: 'id',
key: 'system.linkedClass',
label: 'Class',
format: id => {
console.log(id);
return '';
}
format: linkedClass => linkedClass.name
},
{
key: 'system.spellcastingTrait',
@ -279,9 +276,15 @@ export const typeConfig = {
],
filters: [
{
key: 'system.linkedClass',
key: 'system.linkedClass.uuid',
label: 'Class',
field: 'system.api.models.items.DHSubclass.schema.fields.linkedClass'
choices: (items) => {
const list = items.map(item => ({ value: item.system.linkedClass.uuid, label: item.system.linkedClass.name }));
return list.reduce((a,c) => {
if(!(a.find(i => i.value === c.value))) a.push(c);
return a;
}, []);
}
}
]
},