0.4.3 11-Mar-2021
- Fixed: Error on dragging item from Compendium Browser #9 - Partially Fixed: Issue #4 (filter fields don't get cleared) -- Is clearing on the current tab but getting out of sync otherwise on other tabs compendium-browser.js: - activateItemListListeners(): Remove spurious li.parents (wasn't being used anyway) - activateListeners(): Add this.refreshList to say what tab we should get data for and then re-renderv0.3.1-spetzel2020
parent
d64fb87a5f
commit
d7d8e85e3c
|
@ -32,11 +32,14 @@
|
||||||
0.4.2c: Correct Loading... message on initial tab, but not on tab switch
|
0.4.2c: Correct Loading... message on initial tab, but not on tab switch
|
||||||
0.4.2d: Display the type of item being loaded
|
0.4.2d: Display the type of item being loaded
|
||||||
16-Dec-2021 0.4.2f: Change preload to maxLoaded and display a message to filter if you want more
|
16-Dec-2021 0.4.2f: Change preload to maxLoaded and display a message to filter if you want more
|
||||||
|
10-Mar-2021 0.4.3: activateItemListListeners(): Remove spurious li.parents (wasn't being used anyway)
|
||||||
|
11-Mar-2021 0.4.3 Fixed: Reset Filters doesn't clear the on-screen filter fields (because it is not completely re-rendering like it used to) Issue #4
|
||||||
|
Hack solution is to re-render whole dialog which unfortunately loses filter settings on other tabs as well
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const CMPBrowser = {
|
const CMPBrowser = {
|
||||||
MODULE_NAME : "compendium-browser",
|
MODULE_NAME : "compendium-browser",
|
||||||
MODULE_VERSION : "0.4.2",
|
MODULE_VERSION : "0.4.3",
|
||||||
MAXLOAD : 500, //Default for the maximum number to load before displaying a message that you need to filter to see more
|
MAXLOAD : 500, //Default for the maximum number to load before displaying a message that you need to filter to see more
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -98,18 +101,6 @@ class CompendiumBrowser extends Application {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Hook to load the first data */
|
|
||||||
static afterRender(cb, html, data) {
|
|
||||||
if (game.user.isGM || this.settings.allowSpellBrowser) {
|
|
||||||
cb.replaceList(html, "spell");
|
|
||||||
} else if (this.settings.allowFeatBrowser) {
|
|
||||||
cb.replaceList(html, "feat");
|
|
||||||
} else if (this.settings.allowItemBrowser) {
|
|
||||||
cb.replaceList(html, "item");
|
|
||||||
} else if (this.settings.allowNPCBrowser) {
|
|
||||||
cb.replaceList(html, "npc");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/** override */
|
/** override */
|
||||||
_onChangeTab(event, tabs, active) {
|
_onChangeTab(event, tabs, active) {
|
||||||
|
@ -163,7 +154,6 @@ class CompendiumBrowser extends Application {
|
||||||
li.setAttribute("draggable", true);
|
li.setAttribute("draggable", true);
|
||||||
li.addEventListener('dragstart', event => {
|
li.addEventListener('dragstart', event => {
|
||||||
let packName = li.getAttribute("data-entry-compendium");
|
let packName = li.getAttribute("data-entry-compendium");
|
||||||
let itemType = li.parents('.tab').data('tab');
|
|
||||||
let pack = game.packs.find(p => p.collection === packName);
|
let pack = game.packs.find(p => p.collection === packName);
|
||||||
if (!pack) {
|
if (!pack) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
@ -262,22 +252,31 @@ class CompendiumBrowser extends Application {
|
||||||
// reset filters and re-render
|
// reset filters and re-render
|
||||||
html.find('#reset-spell-filter').click(ev => {
|
html.find('#reset-spell-filter').click(ev => {
|
||||||
this.spellFilters.activeFilters = {};
|
this.spellFilters.activeFilters = {};
|
||||||
this.replaceList(html, "spell", {reload : true});
|
//v0.4.3: Re-render so that we display the filters correctly
|
||||||
|
this.refreshList = "spell";
|
||||||
|
this.render();
|
||||||
});
|
});
|
||||||
|
|
||||||
html.find('#reset-feat-filter').click(ev => {
|
html.find('#reset-feat-filter').click(ev => {
|
||||||
this.featFilters.activeFilters = {};
|
this.featFilters.activeFilters = {};
|
||||||
this.replaceList(html, "feat", {reload : true});
|
//v0.4.3: Re-render so that we display the filters correctly
|
||||||
|
this.refreshList = "feat";
|
||||||
|
this.render();
|
||||||
});
|
});
|
||||||
|
|
||||||
html.find('#reset-item-filter').click(ev => {
|
html.find('#reset-item-filter').click(ev => {
|
||||||
this.itemFilters.activeFilters = {};
|
this.itemFilters.activeFilters = {};
|
||||||
this.replaceList(html, "item", {reload : true});
|
//v0.4.3: Re-render so that we display the filters correctly
|
||||||
|
this.refreshList = "item";
|
||||||
|
this.render();
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
html.find('#reset-npc-filter').click(ev => {
|
html.find('#reset-npc-filter').click(ev => {
|
||||||
this.npcFilters.activeFilters = {};
|
this.npcFilters.activeFilters = {};
|
||||||
this.replaceList(html, "npc", {reload : true});
|
//v0.4.3: Re-render so that we display the filters correctly
|
||||||
|
this.refreshList = "npc";
|
||||||
|
this.render();
|
||||||
});
|
});
|
||||||
|
|
||||||
// settings
|
// settings
|
||||||
|
@ -745,13 +744,35 @@ class CompendiumBrowser extends Application {
|
||||||
// Handle button clicks
|
// Handle button clicks
|
||||||
cbButton.click(ev => {
|
cbButton.click(ev => {
|
||||||
ev.preventDefault();
|
ev.preventDefault();
|
||||||
//0.4.1: Reset filters when you first click button
|
//0.4.1: Reset filters when you click button
|
||||||
this.resetFilters();
|
this.resetFilters();
|
||||||
|
//0.4.3: Reset everything (including data) when you press the button - calls afterRender() hook
|
||||||
|
|
||||||
|
if (game.user.isGM || this.settings.allowSpellBrowser) {
|
||||||
|
this.refreshList = "spell";
|
||||||
|
} else if (this.settings.allowFeatBrowser) {
|
||||||
|
this.refreshList = "feat";
|
||||||
|
} else if (this.settings.allowItemBrowser) {
|
||||||
|
this.refreshList = "item";
|
||||||
|
} else if (this.settings.allowNPCBrowser) {
|
||||||
|
this.refreshList = "npc";
|
||||||
|
}
|
||||||
this.render(true);
|
this.render(true);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Hook to load the first data */
|
||||||
|
static afterRender(cb, html) {
|
||||||
|
//0.4.3 afterRender is a render hook,but we call it just for the tab when we're just re-rendering for filters
|
||||||
|
if (!cb?.refreshList) {return;}
|
||||||
|
|
||||||
|
cb.replaceList(html, cb.refreshList);
|
||||||
|
|
||||||
|
cb.refreshList = null;
|
||||||
|
}
|
||||||
|
|
||||||
resetFilters() {
|
resetFilters() {
|
||||||
this.spellFilters.activeFilters = {};
|
this.spellFilters.activeFilters = {};
|
||||||
this.featFilters.activeFilters = {};
|
this.featFilters.activeFilters = {};
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "compendium-browser",
|
"name": "compendium-browser",
|
||||||
"title": "Compendium Browser",
|
"title": "Compendium Browser",
|
||||||
"description": "<p>Easily browse and filter spells, feats, items, and npcs loaded from compendia!</p><strong>NEW! Compendium Browser is faster and better-behaved;</strong> it no longer loads all the compendia into memory on start-up (which sometimes hung servers because of memory or CPU requirements). Instead, it filters and loads on-demand, as well as giving you a Module Setting to control how many rows are loaded at a time.",
|
"description": "<p>Easily browse and filter spells, feats, items, and npcs loaded from compendia!</p><strong>NEW! Compendium Browser is faster and better-behaved;</strong> it no longer loads all the compendia into memory on start-up (which sometimes hung servers because of memory or CPU requirements). Instead, it filters and loads on-demand, as well as giving you a Module Setting to control how many rows are loaded at a time.",
|
||||||
"version": "0.4.2-spetzel2020",
|
"version": "0.4.3",
|
||||||
"author": "Felix#6196",
|
"author": "Felix#6196",
|
||||||
"authors": [
|
"authors": [
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue