"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(); }