[Fix] Item Browser Corrections (#1290)

* Fixed so lists do not fail to show items when search is empty

* Fixed so that the clear button loads in the items

* .

* .
This commit is contained in:
WBHarry 2025-11-16 01:14:01 +01:00 committed by GitHub
parent fcb9c032ef
commit 7df43d71e0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 11 additions and 7 deletions

View file

@ -2570,6 +2570,7 @@
"evasionMin": "Evasion (Min)",
"evasionMax": "Evasion (Max)",
"subtype": "Subtype",
"missing": "<i>Missing</i>",
"folders": {
"characters": "Characters",
"adversaries": "Adversaries",

View file

@ -294,7 +294,7 @@ export class ItemBrowser extends HandlebarsApplicationMixin(ApplicationV2) {
const property = foundry.utils.getProperty(item, field.key);
if (Array.isArray(property)) property.join(', ');
if (typeof field.format !== 'function') return property ?? '-';
return field.format(property);
return game.i18n.localize(field.format(property));
}
formatChoices(data) {
@ -430,7 +430,7 @@ export class ItemBrowser extends HandlebarsApplicationMixin(ApplicationV2) {
if (matchesMenu) this.#filteredItems.browser.input.add(item.id);
const { search } = this.#filteredItems.browser;
li.hidden = !(search.has(item.id) && matchesMenu);
li.hidden = !((this.#search.browser.query.length === 0 || search.has(item.id)) && matchesMenu);
}
}
@ -469,6 +469,7 @@ export class ItemBrowser extends HandlebarsApplicationMixin(ApplicationV2) {
static resetFilters() {
this.render({ force: true });
this.loadItems();
}
static getFolderConfig(folder, property = 'columns') {

View file

@ -363,7 +363,7 @@ export const typeConfig = {
{
key: 'system.linkedClass',
label: 'Class',
format: linkedClass => linkedClass.name
format: linkedClass => linkedClass?.name ?? 'DAGGERHEART.UI.ItemBrowser.missing'
},
{
key: 'system.spellcastingTrait',
@ -375,10 +375,12 @@ export const typeConfig = {
key: 'system.linkedClass.uuid',
label: 'Class',
choices: items => {
const list = items.map(item => ({
value: item.system.linkedClass.uuid,
label: item.system.linkedClass.name
}));
const list = items
.filter(item => item.system.linkedClass)
.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;