"use strict";
class AdventuresList extends AdventuresBooksList {
static _getLevelsStr (adv) {
if (adv.level.custom) return adv.level.custom;
return `${adv.level.start}\u2013${adv.level.end}`;
}
constructor () {
super({
contentsUrl: "data/adventures.json",
fnSort: AdventuresBooksList._sortAdventuresBooks.bind(AdventuresBooksList),
sortByInitial: "group",
sortDirInitial: "asc",
dataProp: "adventure",
enhanceRowDataFn: (adv) => {
adv._startLevel = adv.level.start || 20;
adv._pubDate = new Date(adv.published);
},
rootPage: "adventure.html",
rowBuilderFn: (adv) => {
return `
${AdventuresBooksList._getGroupStr(adv)}
${adv.name}
${adv.storyline || "\u2014"}
${AdventuresList._getLevelsStr(adv)}
${AdventuresBooksList._getDateStr(adv)}
`;
},
});
}
}
const adventuresList = new AdventuresList();
window.addEventListener("load", () => adventuresList.pOnPageLoad());
function handleBrew (homebrew) {
adventuresList.addData(homebrew);
return Promise.resolve();
}