"use strict"; class BackgroundSublistManager extends SublistManager { static get _ROW_TEMPLATE () { return [ new SublistCellTemplate({ name: "Name", css: "bold ve-col-4 pl-0", colStyle: "", }), new SublistCellTemplate({ name: "Skills", css: "ve-col-8 pr-0", colStyle: "", }), ]; } pGetSublistItem (it, hash) { const name = it.name.replace("Variant ", ""); const {summary: skills} = Renderer.generic.getSkillSummary({skillProfs: it.skillProficiencies || [], isShort: true}); const cellsText = [name, skills]; const $ele = $$`
` .contextmenu(evt => this._handleSublistItemContextMenu(evt, listItem)) .click(evt => this._listSub.doSelect(listItem, evt)); const listItem = new ListItem( hash, $ele, name, { hash, source: Parser.sourceJsonToAbv(it.source), skills, }, { entity: it, mdRow: [...cellsText], }, ); return listItem; } } class BackgroundPage extends ListPage { constructor () { const pageFilter = new PageFilterBackgrounds(); super({ dataSource: DataUtil.background.loadJSON.bind(DataUtil.background), pFnGetFluff: Renderer.background.pGetFluff.bind(Renderer.background), pageFilter, bookViewOptions: { namePlural: "backgrounds", pageTitle: "Backgrounds Book View", }, dataProps: ["background"], }); } getListItem (bg, bgI, isExcluded) { this._pageFilter.mutateAndAddToFilters(bg, isExcluded); const eleLi = document.createElement("div"); eleLi.className = `lst__row ve-flex-col ${isExcluded ? "lst__row--blocklisted" : ""}`; const name = bg.name.replace("Variant ", ""); const hash = UrlUtil.autoEncodeHash(bg); const source = Parser.sourceJsonToAbv(bg.source); eleLi.innerHTML = ` ${name} ${bg._skillDisplay} ${source} `; const listItem = new ListItem( bgI, eleLi, name, { hash, source, skills: bg._skillDisplay, }, { isExcluded, }, ); eleLi.addEventListener("click", (evt) => this._list.doSelect(listItem, evt)); eleLi.addEventListener("contextmenu", (evt) => this._openContextMenu(evt, this._list, listItem)); return listItem; } _renderStats_doBuildStatsTab ({ent}) { this._$pgContent.empty().append(RenderBackgrounds.$getRenderedBackground(ent)); } } const backgroundsPage = new BackgroundPage(); backgroundsPage.sublistManager = new BackgroundSublistManager(); window.addEventListener("load", () => backgroundsPage.pOnLoad());