mirror of
https://github.com/Kornstalx/5etools-mirror-2.github.io.git
synced 2025-10-28 20:45:35 -05:00
46 lines
1.0 KiB
JavaScript
46 lines
1.0 KiB
JavaScript
"use strict";
|
|
|
|
class PageFilterVariantRules extends PageFilter {
|
|
// region static
|
|
// endregion
|
|
|
|
constructor () {
|
|
super();
|
|
|
|
this._ruleTypeFilter = new Filter({header: "Rule Type", items: ["O", "V", "VO", "VV", "U"], displayFn: Parser.ruleTypeToFull});
|
|
this._miscFilter = new Filter({header: "Miscellaneous", items: ["SRD", "Legacy"], isMiscFilter: true});
|
|
}
|
|
|
|
static mutateForFilters (rule) {
|
|
rule._fMisc = rule.srd ? ["SRD"] : [];
|
|
if (SourceUtil.isLegacySourceWotc(rule.source)) rule._fMisc.push("Legacy");
|
|
rule._fRuleType = rule.ruleType || "U";
|
|
}
|
|
|
|
addToFilters (rule, isExcluded) {
|
|
if (isExcluded) return;
|
|
|
|
this._sourceFilter.addItem(rule.source);
|
|
this._ruleTypeFilter.addItem(rule._fRuleType);
|
|
}
|
|
|
|
async _pPopulateBoxOptions (opts) {
|
|
opts.filters = [
|
|
this._sourceFilter,
|
|
this._ruleTypeFilter,
|
|
this._miscFilter,
|
|
];
|
|
}
|
|
|
|
toDisplay (values, r) {
|
|
return this._filterBox.toDisplay(
|
|
values,
|
|
r.source,
|
|
r._fRuleType,
|
|
r._fMisc,
|
|
);
|
|
}
|
|
}
|
|
|
|
globalThis.PageFilterVariantRules = PageFilterVariantRules;
|