mirror of
https://github.com/Kornstalx/5etools-mirror-2.github.io.git
synced 2025-10-28 20:45:35 -05:00
v1.198.1
This commit is contained in:
63
js/filter-psionics.js
Normal file
63
js/filter-psionics.js
Normal file
@@ -0,0 +1,63 @@
|
||||
"use strict";
|
||||
|
||||
class PageFilterPsionics extends PageFilter {
|
||||
// region static
|
||||
static _sortFilterTypes (a, b) {
|
||||
a = a.item; b = b.item;
|
||||
a = Parser.psiTypeToMeta(a);
|
||||
b = Parser.psiTypeToMeta(b);
|
||||
return (Number(a.hasOrder) - Number(b.hasOrder)) || SortUtil.ascSortLower(a.full, b.full);
|
||||
}
|
||||
// endregion
|
||||
|
||||
constructor () {
|
||||
super({sourceFilterOpts: {deselFn: () => false}});
|
||||
|
||||
this._typeFilter = new Filter({header: "Type", items: [Parser.PSI_ABV_TYPE_TALENT, Parser.PSI_ABV_TYPE_DISCIPLINE], displayFn: Parser.psiTypeToFull, itemSortFn: PageFilterPsionics._sortFilterTypes});
|
||||
this._orderFilter = new Filter({
|
||||
header: "Order",
|
||||
items: [Parser.PSI_ORDER_NONE],
|
||||
});
|
||||
}
|
||||
|
||||
static mutateForFilters (p) {
|
||||
p._fOrder = Parser.psiOrderToFull(p.order);
|
||||
}
|
||||
|
||||
addToFilters (p, isExcluded) {
|
||||
if (isExcluded) return;
|
||||
|
||||
this._sourceFilter.addItem(p.source);
|
||||
this._typeFilter.addItem(p.type);
|
||||
this._orderFilter.addItem(p._fOrder);
|
||||
}
|
||||
|
||||
async _pPopulateBoxOptions (opts) {
|
||||
opts.filters = [
|
||||
this._sourceFilter,
|
||||
this._typeFilter,
|
||||
this._orderFilter,
|
||||
];
|
||||
}
|
||||
|
||||
toDisplay (values, p) {
|
||||
return this._filterBox.toDisplay(
|
||||
values,
|
||||
p.source,
|
||||
p.type,
|
||||
p._fOrder,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
globalThis.PageFilterPsionics = PageFilterPsionics;
|
||||
|
||||
class ListSyntaxPsionics extends ListUiUtil.ListSyntax {
|
||||
static _INDEXABLE_PROPS_ENTRIES = [
|
||||
"entries",
|
||||
"modes",
|
||||
"focus",
|
||||
];
|
||||
}
|
||||
|
||||
globalThis.ListSyntaxPsionics = ListSyntaxPsionics;
|
||||
Reference in New Issue
Block a user