diff --git a/package.json b/package.json index 0385dd9a..e733284e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "d2-checklist", - "version": "24.2.2", + "version": "24.2.3", "manifest": "226342.24.06.19.1730-2-bnet.56014", "license": "MIT", "scripts": { diff --git a/src/app/player/triumphs/special-triumph-list/special-triumph-list.component.html b/src/app/player/triumphs/special-triumph-list/special-triumph-list.component.html index 553fae2f..136185be 100644 --- a/src/app/player/triumphs/special-triumph-list/special-triumph-list.component.html +++ b/src/app/player/triumphs/special-triumph-list/special-triumph-list.component.html @@ -9,6 +9,7 @@

{{title$|async}} + Filter @@ -19,6 +20,10 @@

{{title$|async}} + + Search Patterns By Name + +

diff --git a/src/app/player/triumphs/special-triumph-list/special-triumph-list.component.ts b/src/app/player/triumphs/special-triumph-list/special-triumph-list.component.ts index 551e7743..777e45c4 100644 --- a/src/app/player/triumphs/special-triumph-list/special-triumph-list.component.ts +++ b/src/app/player/triumphs/special-triumph-list/special-triumph-list.component.ts @@ -51,6 +51,7 @@ export class SpecialTriumphListComponent extends ChildComponent { public rows$: BehaviorSubject = new BehaviorSubject([]); public showCrafted$: BehaviorSubject = new BehaviorSubject(false); public craftedFilter = 'TODO'; + public craftedWildCardFilter = ''; public craftedFilterChoices = [ { name: 'Todo (Not Crafted + Incomplete)', @@ -115,31 +116,38 @@ export class SpecialTriumphListComponent extends ChildComponent { this.sort$.next(this.sort$.getValue()); } + private filterPatternName(t: TriumphRecordNode): boolean { + if (this.craftedWildCardFilter == '') { + return true; + } + return t.name.toLowerCase().includes(this.craftedWildCardFilter.toLowerCase()); + } + public shouldShow(t: TriumphRecordNode): boolean { if (this.showCrafted$.getValue()) { if (this.craftedFilter=='TODO') { if (!t.complete || (t.complete && t.crafted?.length==0)) { - return true; + return this.filterPatternName(t); } } else if (this.craftedFilter=='INCOMPLETE') { if (!t.complete) { - return true; + return this.filterPatternName(t); } } else if (this.craftedFilter=='NOT_CRAFTED') { if (t.complete && t.crafted.length==0) { - return true; + return this.filterPatternName(t); } } else if (this.craftedFilter=='CRAFTED') { if (t.complete && t.crafted.length>0) { - return true; + return this.filterPatternName(t); } } else if (this.craftedFilter=='ATTUNE_TO_CRAFT') { if (!t.complete && t.redborder.length>0) { - return true; + return this.filterPatternName(t); } } else if (this.craftedFilter=='ALL') { - return true; + return this.filterPatternName(t); } return false; } else {