simplify sorting

master
Matheus Clemente 2024-02-28 15:22:35 -03:00
parent b1aa359768
commit 4f5533d1f4
2 changed files with 7 additions and 14 deletions

View File

@ -32,7 +32,7 @@ class CompendiumBrowser extends Application {
} }
async setup() { async setup() {
await this.provider.getClasses(); await this.provider.getFilters();
this.addSpellFilters(); this.addSpellFilters();
this.addFeatFilters(); this.addFeatFilters();
this.addItemFilters(); this.addItemFilters();
@ -169,7 +169,6 @@ class CompendiumBrowser extends Application {
ol[0].append(element); ol[0].append(element);
} }
}); });
this.triggerSort(html, "spell");
// sort feat list in place // sort feat list in place
html.find(".feat-browser select[name=sortorder]").on("change", (ev) => { html.find(".feat-browser select[name=sortorder]").on("change", (ev) => {
@ -182,7 +181,6 @@ class CompendiumBrowser extends Application {
ol[0].append(element); ol[0].append(element);
} }
}); });
this.triggerSort(html, "feat");
// sort item list in place // sort item list in place
html.find(".item-browser select[name=sortorder]").on("change", (ev) => { html.find(".item-browser select[name=sortorder]").on("change", (ev) => {
@ -195,7 +193,6 @@ class CompendiumBrowser extends Application {
ol[0].append(element); ol[0].append(element);
} }
}); });
this.triggerSort(html, "item");
// sort npc list in place // sort npc list in place
html.find(".npc-browser select[name=sortorder]").on("change", (ev) => { html.find(".npc-browser select[name=sortorder]").on("change", (ev) => {
@ -208,9 +205,9 @@ class CompendiumBrowser extends Application {
ol[0].append(element); ol[0].append(element);
} }
}); });
this.triggerSort(html, "npc");
for (let tab of ["spell", "feat", "item", "npc"]) { for (let tab of ["spell", "feat", "item", "npc"]) {
this.triggerSort(html, tab);
// reset filters and re-render // reset filters and re-render
// 0.4.3: Reset ALL filters because when we do a re-render it affects all tabs // 0.4.3: Reset ALL filters because when we do a re-render it affects all tabs
html.find(`#reset-${tab}-filter`).click((ev) => { html.find(`#reset-${tab}-filter`).click((ev) => {
@ -778,15 +775,7 @@ class CompendiumBrowser extends Application {
// SORTING // SORTING
triggerSort(html, browserTab) { triggerSort(html, browserTab) {
if (browserTab === "spell") { html.find(`.${browserTab}-browser select[name=sortorder]`).trigger("change");
html.find(".spell-browser select[name=sortorder]").trigger("change");
} else if (browserTab === "feat") {
html.find(".feat-browser select[name=sortorder]").trigger("change");
} else if (browserTab === "npc") {
html.find(".npc-browser select[name=sortorder]").trigger("change");
} else if (browserTab === "item") {
html.find(".item-browser select[name=sortorder]").trigger("change");
}
} }
sortSpells(list, byName) { sortSpells(list, byName) {

View File

@ -1,6 +1,10 @@
export class dnd5eProvider { export class dnd5eProvider {
classes = {}; classes = {};
async getFilters() {
await this.getClasses();
}
async getClasses() { async getClasses() {
const subclasses = {}; const subclasses = {};
for (let pack of game.packs) { for (let pack of game.packs) {