Add filter values sorting
parent
7f233cff5e
commit
eeffb9cba6
|
@ -1323,7 +1323,7 @@ class CompendiumBrowser extends Application {
|
||||||
"DND5E.SpellSchool",
|
"DND5E.SpellSchool",
|
||||||
"system.school",
|
"system.school",
|
||||||
"select",
|
"select",
|
||||||
CONFIG.DND5E.spellSchools
|
this._sortPackValues(CONFIG.DND5E.spellSchools)
|
||||||
);
|
);
|
||||||
this.addSpellFilter("CMPBrowser.general", "CMPBrowser.castingTime", "system.activation.type", "select", {
|
this.addSpellFilter("CMPBrowser.general", "CMPBrowser.castingTime", "system.activation.type", "select", {
|
||||||
action: "DND5E.Action",
|
action: "DND5E.Action",
|
||||||
|
@ -1345,7 +1345,7 @@ class CompendiumBrowser extends Application {
|
||||||
"CMPBrowser.damageType",
|
"CMPBrowser.damageType",
|
||||||
"damageTypes",
|
"damageTypes",
|
||||||
"select",
|
"select",
|
||||||
CONFIG.DND5E.damageTypes
|
this._sortPackValues(CONFIG.DND5E.damageTypes)
|
||||||
);
|
);
|
||||||
//JV-082: Fix for missing "Class" search feature
|
//JV-082: Fix for missing "Class" search feature
|
||||||
this.addSpellFilter(
|
this.addSpellFilter(
|
||||||
|
@ -1353,7 +1353,7 @@ class CompendiumBrowser extends Application {
|
||||||
"ITEM.TypeClass",
|
"ITEM.TypeClass",
|
||||||
"classes",
|
"classes",
|
||||||
"select",
|
"select",
|
||||||
{
|
this._sortPackValues({
|
||||||
artificer: "CMPBrowser.artificer",
|
artificer: "CMPBrowser.artificer",
|
||||||
bard: "CMPBrowser.bard",
|
bard: "CMPBrowser.bard",
|
||||||
cleric: "CMPBrowser.cleric",
|
cleric: "CMPBrowser.cleric",
|
||||||
|
@ -1363,7 +1363,7 @@ class CompendiumBrowser extends Application {
|
||||||
sorcerer: "CMPBrowser.sorcerer",
|
sorcerer: "CMPBrowser.sorcerer",
|
||||||
warlock: "CMPBrowser.warlock",
|
warlock: "CMPBrowser.warlock",
|
||||||
wizard: "CMPBrowser.wizard",
|
wizard: "CMPBrowser.wizard",
|
||||||
},
|
}),
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
this.addSpellFilter("DND5E.SpellComponents", "DND5E.Ritual", "system.components.ritual", "bool");
|
this.addSpellFilter("DND5E.SpellComponents", "DND5E.Ritual", "system.components.ritual", "bool");
|
||||||
|
@ -1384,12 +1384,13 @@ class CompendiumBrowser extends Application {
|
||||||
tool: "ITEM.TypeTool",
|
tool: "ITEM.TypeTool",
|
||||||
weapon: "ITEM.TypeWeapon",
|
weapon: "ITEM.TypeWeapon",
|
||||||
});
|
});
|
||||||
|
|
||||||
this.addItemFilter(
|
this.addItemFilter(
|
||||||
"CMPBrowser.general",
|
"CMPBrowser.general",
|
||||||
"CMPBrowser.ItemsPacks",
|
"CMPBrowser.ItemsPacks",
|
||||||
"matchedPacks",
|
"matchedPacks",
|
||||||
"select",
|
"select",
|
||||||
{
|
this._sortPackValues({
|
||||||
burglar: "CMPBrowser.ItemsPacksBurglar",
|
burglar: "CMPBrowser.ItemsPacksBurglar",
|
||||||
diplomat: "CMPBrowser.ItemsPacksDiplomat",
|
diplomat: "CMPBrowser.ItemsPacksDiplomat",
|
||||||
dungeoneer: "CMPBrowser.ItemsPacksDungeoneer",
|
dungeoneer: "CMPBrowser.ItemsPacksDungeoneer",
|
||||||
|
@ -1398,7 +1399,7 @@ class CompendiumBrowser extends Application {
|
||||||
monsterhunter: "CMPBrowser.ItemsPacksMonsterHunter",
|
monsterhunter: "CMPBrowser.ItemsPacksMonsterHunter",
|
||||||
priest: "CMPBrowser.ItemsPacksPriest",
|
priest: "CMPBrowser.ItemsPacksPriest",
|
||||||
scholar: "CMPBrowser.ItemsPacksScholar",
|
scholar: "CMPBrowser.ItemsPacksScholar",
|
||||||
},
|
}),
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
this.addItemFilter(
|
this.addItemFilter(
|
||||||
|
@ -1414,7 +1415,7 @@ class CompendiumBrowser extends Application {
|
||||||
"CMPBrowser.damageType",
|
"CMPBrowser.damageType",
|
||||||
"damageTypes",
|
"damageTypes",
|
||||||
"select",
|
"select",
|
||||||
CONFIG.DND5E.damageTypes
|
this._sortPackValues(CONFIG.DND5E.damageTypes)
|
||||||
);
|
);
|
||||||
this.addItemFilter("CMPBrowser.GameMechanics", "CMPBrowser.UsesResources", "usesRessources", "bool");
|
this.addItemFilter("CMPBrowser.GameMechanics", "CMPBrowser.UsesResources", "usesRessources", "bool");
|
||||||
|
|
||||||
|
@ -1430,14 +1431,14 @@ class CompendiumBrowser extends Application {
|
||||||
"ITEM.TypeEquipment",
|
"ITEM.TypeEquipment",
|
||||||
"system.armor.type",
|
"system.armor.type",
|
||||||
"text",
|
"text",
|
||||||
CONFIG.DND5E.equipmentTypes
|
this._sortPackValues(CONFIG.DND5E.equipmentTypes)
|
||||||
);
|
);
|
||||||
this.addItemFilter(
|
this.addItemFilter(
|
||||||
"CMPBrowser.ItemSubtype",
|
"CMPBrowser.ItemSubtype",
|
||||||
"ITEM.TypeConsumable",
|
"ITEM.TypeConsumable",
|
||||||
"system.consumableType",
|
"system.consumableType",
|
||||||
"text",
|
"text",
|
||||||
CONFIG.DND5E.consumableTypes
|
this._sortPackValues(CONFIG.DND5E.consumableTypes)
|
||||||
);
|
);
|
||||||
|
|
||||||
this.addItemFilter("CMPBrowser.MagicItems", "DND5E.Rarity", "system.rarity", "select", CONFIG.DND5E.itemRarity);
|
this.addItemFilter("CMPBrowser.MagicItems", "DND5E.Rarity", "system.rarity", "select", CONFIG.DND5E.itemRarity);
|
||||||
|
@ -1452,7 +1453,7 @@ class CompendiumBrowser extends Application {
|
||||||
"ITEM.TypeClass",
|
"ITEM.TypeClass",
|
||||||
"classRequirement",
|
"classRequirement",
|
||||||
"select",
|
"select",
|
||||||
{
|
this._sortPackValues({
|
||||||
artificer: "CMPBrowser.artificer",
|
artificer: "CMPBrowser.artificer",
|
||||||
barbarian: "CMPBrowser.barbarian",
|
barbarian: "CMPBrowser.barbarian",
|
||||||
bard: "CMPBrowser.bard",
|
bard: "CMPBrowser.bard",
|
||||||
|
@ -1466,29 +1467,35 @@ class CompendiumBrowser extends Application {
|
||||||
sorcerer: "CMPBrowser.sorcerer",
|
sorcerer: "CMPBrowser.sorcerer",
|
||||||
warlock: "CMPBrowser.warlock",
|
warlock: "CMPBrowser.warlock",
|
||||||
wizard: "CMPBrowser.wizard",
|
wizard: "CMPBrowser.wizard",
|
||||||
},
|
}),
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
let featureTypes = {
|
this.addFeatFilter(
|
||||||
class: "ITEM.TypeClass",
|
"CMPBrowser.general",
|
||||||
feat: "ITEM.TypeFeat",
|
"CMPBrowser.overall",
|
||||||
};
|
"type",
|
||||||
|
"select",
|
||||||
featureTypes.subclass = "ITEM.TypeSubclass";
|
this._sortPackValues({
|
||||||
featureTypes.background = "DND5E.Background";
|
class: "ITEM.TypeClass",
|
||||||
|
feat: "ITEM.TypeFeat",
|
||||||
this.addFeatFilter("CMPBrowser.general", "CMPBrowser.overall", "type", "select", featureTypes, false);
|
subclass: "ITEM.TypeSubclass",
|
||||||
|
background: "DND5E.Background",
|
||||||
|
}),
|
||||||
|
false
|
||||||
|
);
|
||||||
|
|
||||||
this.addFeatFilter(
|
this.addFeatFilter(
|
||||||
"CMPBrowser.general",
|
"CMPBrowser.general",
|
||||||
"DND5E.ItemFeatureType",
|
"DND5E.ItemFeatureType",
|
||||||
"system.type.value",
|
"system.type.value",
|
||||||
"select",
|
"select",
|
||||||
Object.keys(dnd5e.config.featureTypes).reduce(function (acc, current) {
|
this._sortPackValues(
|
||||||
acc[current] = dnd5e.config.featureTypes[current].label;
|
Object.keys(dnd5e.config.featureTypes).reduce(function (acc, current) {
|
||||||
return acc;
|
acc[current] = dnd5e.config.featureTypes[current].label;
|
||||||
}, {}),
|
return acc;
|
||||||
|
}, {})
|
||||||
|
),
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -1497,7 +1504,7 @@ class CompendiumBrowser extends Application {
|
||||||
"CMPBrowser.subfeature",
|
"CMPBrowser.subfeature",
|
||||||
"system.type.subtype",
|
"system.type.subtype",
|
||||||
"select",
|
"select",
|
||||||
dnd5e.config.featureTypes.class.subtypes
|
this._sortPackValues(dnd5e.config.featureTypes.class.subtypes)
|
||||||
);
|
);
|
||||||
|
|
||||||
this.addFeatFilter(
|
this.addFeatFilter(
|
||||||
|
@ -1512,11 +1519,22 @@ class CompendiumBrowser extends Application {
|
||||||
"CMPBrowser.damageType",
|
"CMPBrowser.damageType",
|
||||||
"damageTypes",
|
"damageTypes",
|
||||||
"select",
|
"select",
|
||||||
CONFIG.DND5E.damageTypes
|
this._sortPackValues(CONFIG.DND5E.damageTypes)
|
||||||
);
|
);
|
||||||
this.addFeatFilter("CMPBrowser.GameMechanics", "CMPBrowser.UsesResources", "usesRessources", "bool");
|
this.addFeatFilter("CMPBrowser.GameMechanics", "CMPBrowser.UsesResources", "usesRessources", "bool");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_sortPackValues(packValue) {
|
||||||
|
const sortable = Object.keys(packValue)
|
||||||
|
.map((pack) => [pack, game.i18n.localize(packValue[pack])])
|
||||||
|
.sort((a, b) => a[1].localeCompare(b[1]));
|
||||||
|
|
||||||
|
return sortable.reduce((acc, item) => {
|
||||||
|
acc[item[0]] = item[1];
|
||||||
|
return acc;
|
||||||
|
}, {});
|
||||||
|
}
|
||||||
|
|
||||||
static CREATURE_TYPES = {
|
static CREATURE_TYPES = {
|
||||||
aberration: "DND5E.CreatureAberration",
|
aberration: "DND5E.CreatureAberration",
|
||||||
beast: "DND5E.CreatureBeast",
|
beast: "DND5E.CreatureBeast",
|
||||||
|
@ -1551,7 +1569,7 @@ class CompendiumBrowser extends Application {
|
||||||
"DND5E.CreatureType",
|
"DND5E.CreatureType",
|
||||||
npcDetailsPath,
|
npcDetailsPath,
|
||||||
"select",
|
"select",
|
||||||
CompendiumBrowser.CREATURE_TYPES
|
this._sortPackValues(CompendiumBrowser.CREATURE_TYPES)
|
||||||
);
|
);
|
||||||
this.addNpcFilter("DND5E.Abilities", "DND5E.AbilityStr", "system.abilities.str.value", "numberCompare");
|
this.addNpcFilter("DND5E.Abilities", "DND5E.AbilityStr", "system.abilities.str.value", "numberCompare");
|
||||||
this.addNpcFilter("DND5E.Abilities", "DND5E.AbilityDex", "system.abilities.dex.value", "numberCompare");
|
this.addNpcFilter("DND5E.Abilities", "DND5E.AbilityDex", "system.abilities.dex.value", "numberCompare");
|
||||||
|
@ -1560,12 +1578,13 @@ class CompendiumBrowser extends Application {
|
||||||
this.addNpcFilter("DND5E.Abilities", "DND5E.AbilityWis", "system.abilities.wis.value", "numberCompare");
|
this.addNpcFilter("DND5E.Abilities", "DND5E.AbilityWis", "system.abilities.wis.value", "numberCompare");
|
||||||
this.addNpcFilter("DND5E.Abilities", "DND5E.AbilityCha", "system.abilities.cha.value", "numberCompare");
|
this.addNpcFilter("DND5E.Abilities", "DND5E.AbilityCha", "system.abilities.cha.value", "numberCompare");
|
||||||
|
|
||||||
|
const damageTypes = this._sortPackValues(CONFIG.DND5E.damageTypes);
|
||||||
this.addNpcFilter(
|
this.addNpcFilter(
|
||||||
"CMPBrowser.dmgInteraction",
|
"CMPBrowser.dmgInteraction",
|
||||||
"DND5E.DamImm",
|
"DND5E.DamImm",
|
||||||
"system.traits.di.value",
|
"system.traits.di.value",
|
||||||
"multiSelect",
|
"multiSelect",
|
||||||
CONFIG.DND5E.damageTypes,
|
damageTypes,
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
this.addNpcFilter(
|
this.addNpcFilter(
|
||||||
|
@ -1573,7 +1592,7 @@ class CompendiumBrowser extends Application {
|
||||||
"DND5E.DamRes",
|
"DND5E.DamRes",
|
||||||
"system.traits.dr.value",
|
"system.traits.dr.value",
|
||||||
"multiSelect",
|
"multiSelect",
|
||||||
CONFIG.DND5E.damageTypes,
|
damageTypes,
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
this.addNpcFilter(
|
this.addNpcFilter(
|
||||||
|
@ -1581,7 +1600,7 @@ class CompendiumBrowser extends Application {
|
||||||
"DND5E.DamVuln",
|
"DND5E.DamVuln",
|
||||||
"system.traits.dv.value",
|
"system.traits.dv.value",
|
||||||
"multiSelect",
|
"multiSelect",
|
||||||
CONFIG.DND5E.damageTypes,
|
damageTypes,
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
this.addNpcFilter(
|
this.addNpcFilter(
|
||||||
|
@ -1589,7 +1608,7 @@ class CompendiumBrowser extends Application {
|
||||||
"DND5E.ConImm",
|
"DND5E.ConImm",
|
||||||
"system.traits.ci.value",
|
"system.traits.ci.value",
|
||||||
"multiSelect",
|
"multiSelect",
|
||||||
CONFIG.DND5E.conditionTypes,
|
this._sortPackValues(CONFIG.DND5E.conditionTypes),
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue