From a1fa567fd09cc2f5d56f25ee59c09e35d944c4c3 Mon Sep 17 00:00:00 2001 From: Kenrick Tandrian <60643640+KenTandrian@users.noreply.github.com> Date: Thu, 26 Feb 2026 09:56:46 +0000 Subject: [PATCH] feat(lib): make currencies an input signal --- .../currency-selector.component.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/libs/ui/src/lib/currency-selector/currency-selector.component.ts b/libs/ui/src/lib/currency-selector/currency-selector.component.ts index 366931d54..59a667487 100644 --- a/libs/ui/src/lib/currency-selector/currency-selector.component.ts +++ b/libs/ui/src/lib/currency-selector/currency-selector.component.ts @@ -11,6 +11,7 @@ import { OnInit, ViewChild, inject, + input, viewChild } from '@angular/core'; import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; @@ -66,14 +67,14 @@ export class GfCurrencySelectorComponent @ViewChild('currencyAutocomplete') public currencyAutocomplete: MatAutocomplete; - @Input() private currencies: string[] = []; @Input() private formControlName: string; public control = new FormControl(null); + public readonly currencies = input([]); public filteredCurrencies: string[] = []; - private destroyRef = inject(DestroyRef); - private input = viewChild.required(MatInput); + private readonly destroyRef = inject(DestroyRef); + private readonly input = viewChild.required(MatInput); public constructor( public readonly _elementRef: ElementRef, @@ -112,7 +113,7 @@ export class GfCurrencySelectorComponent if (control) { this.value = - this.currencies.find((value) => { + this.currencies().find((value) => { return value === control.value; }) ?? null; } @@ -131,7 +132,7 @@ export class GfCurrencySelectorComponent takeUntilDestroyed(this.destroyRef), startWith(''), map((value) => { - return value ? this.filter(value) : this.currencies.slice(); + return value ? this.filter(value) : this.currencies().slice(); }) ) .subscribe((values) => { @@ -154,7 +155,7 @@ export class GfCurrencySelectorComponent private filter(value: string) { const filterValue = value.toLowerCase(); - return this.currencies.filter((currency) => { + return this.currencies().filter((currency) => { return currency.toLowerCase().startsWith(filterValue); }); }