Files
5etools-mirror-2.github.io/js/filter-variantrules.js
TheGiddyLimit e3bf75f42a v1.198.3
2024-01-06 14:47:30 +00:00

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;