From efe27ccab56b01b8cf218ca14a57b954ec68d175 Mon Sep 17 00:00:00 2001 From: Joseph Milazzo Date: Fri, 11 Apr 2025 09:20:18 -0500 Subject: [PATCH] Fixed a bug where filter IsEmpty wasn't hiding the value input. --- .../metadata-filter-row.component.html | 2 +- .../metadata-filter-row.component.ts | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/UI/Web/src/app/metadata-filter/_components/metadata-filter-row/metadata-filter-row.component.html b/UI/Web/src/app/metadata-filter/_components/metadata-filter-row/metadata-filter-row.component.html index 97a8f6c5a..f82f36a42 100644 --- a/UI/Web/src/app/metadata-filter/_components/metadata-filter-row/metadata-filter-row.component.html +++ b/UI/Web/src/app/metadata-filter/_components/metadata-filter-row/metadata-filter-row.component.html @@ -18,7 +18,7 @@
- @if (formGroup.get('comparison')?.value !== FilterComparison.IsEmpty) { + @if (IsEmptySelected) { @if (predicateType$ | async; as predicateType) { @switch (predicateType) { @case (PredicateType.Text) { diff --git a/UI/Web/src/app/metadata-filter/_components/metadata-filter-row/metadata-filter-row.component.ts b/UI/Web/src/app/metadata-filter/_components/metadata-filter-row/metadata-filter-row.component.ts index 26abbdb95..34a1b7db8 100644 --- a/UI/Web/src/app/metadata-filter/_components/metadata-filter-row/metadata-filter-row.component.ts +++ b/UI/Web/src/app/metadata-filter/_components/metadata-filter-row/metadata-filter-row.component.ts @@ -170,6 +170,10 @@ export class MetadataFilterRowComponent implements OnInit { private readonly mangaFormatPipe = new MangaFormatPipe(this.translocoService); private readonly ageRatingPipe = new AgeRatingPipe(); + get IsEmptySelected() { + return parseInt(this.formGroup.get('comparison')?.value + '', 10) !== FilterComparison.IsEmpty; + } + get UiLabel(): FilterRowUi | null { const field = parseInt(this.formGroup.get('input')!.value, 10) as FilterField; @@ -348,6 +352,7 @@ export class MetadataFilterRowComponent implements OnInit { this.formGroup.get('filterValue')?.patchValue(''); this.formGroup.get('comparison')?.patchValue(StringComparisons[0]); } + this.cdRef.markForCheck(); return; } @@ -363,10 +368,13 @@ export class MetadataFilterRowComponent implements OnInit { this.validComparisons$.next([...new Set(comps)]); this.predicateType$.next(PredicateType.Number); + if (this.loaded) { this.formGroup.get('filterValue')?.patchValue(0); this.formGroup.get('comparison')?.patchValue(NumberComparisons[0]); } + + this.cdRef.markForCheck(); return; } @@ -383,6 +391,7 @@ export class MetadataFilterRowComponent implements OnInit { this.formGroup.get('filterValue')?.patchValue(false); this.formGroup.get('comparison')?.patchValue(DateComparisons[0]); } + this.cdRef.markForCheck(); return; } @@ -400,6 +409,7 @@ export class MetadataFilterRowComponent implements OnInit { this.formGroup.get('filterValue')?.patchValue(false); this.formGroup.get('comparison')?.patchValue(BooleanComparisons[0]); } + this.cdRef.markForCheck(); return; } @@ -421,15 +431,15 @@ export class MetadataFilterRowComponent implements OnInit { this.formGroup.get('filterValue')?.patchValue(0); this.formGroup.get('comparison')?.patchValue(comps[0]); } + this.cdRef.markForCheck(); return; } } - - onDateSelect(_: NgbDate) { this.propagateFilterUpdate(); } + updateIfDateFilled() { this.propagateFilterUpdate(); }