"use strict"; class CharCreationOptionsSublistManager extends SublistManager { static get _ROW_TEMPLATE () { return [ new SublistCellTemplate({ name: "Type", css: "ve-col-5 ve-text-center pl-0", colStyle: "text-center", }), new SublistCellTemplate({ name: "Name", css: "bold ve-col-7 pr-0", colStyle: "", }), ]; } pGetSublistItem (it, hash) { const cellsText = [it.name, it._fOptionType]; const $ele = $$`
` .contextmenu(evt => this._handleSublistItemContextMenu(evt, listItem)) .click(evt => this._listSub.doSelect(listItem, evt)); const listItem = new ListItem( hash, $ele, it.name, { hash, source: Parser.sourceJsonToAbv(it.source), type: it._fOptionType, }, { entity: it, mdRow: [...cellsText], }, ); return listItem; } } class CharCreationOptionsPage extends ListPage { constructor () { const pageFilter = new PageFilterCharCreationOptions(); super({ dataSource: DataUtil.charoption.loadJSON.bind(DataUtil.charoption), pFnGetFluff: Renderer.charoption.pGetFluff.bind(Renderer.charoption), pageFilter, dataProps: ["charoption"], }); } getListItem (it, itI, isExcluded) { this._pageFilter.mutateAndAddToFilters(it, isExcluded); const eleLi = document.createElement("div"); eleLi.className = `lst__row ve-flex-col ${isExcluded ? "lst__row--blocklisted" : ""}`; const hash = UrlUtil.autoEncodeHash(it); const source = Parser.sourceJsonToAbv(it.source); eleLi.innerHTML = ` ${it._fOptionType} ${it.name} ${source} `; const listItem = new ListItem( itI, eleLi, it.name, { hash, source, type: it._fOptionType, }, { 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(RenderCharCreationOptions.$getRenderedCharCreationOption(ent)); } } const charCreationOptionsPage = new CharCreationOptionsPage(); charCreationOptionsPage.sublistManager = new CharCreationOptionsSublistManager(); window.addEventListener("load", () => charCreationOptionsPage.pOnLoad());