From 1666516fe975e2de7370a363eb6a5d1d1059b202 Mon Sep 17 00:00:00 2001 From: Thomas <4159106+dtslvr@users.noreply.github.com> Date: Tue, 13 Jun 2023 20:21:48 +0200 Subject: [PATCH] Refactoring --- ...ate-or-update-activity-dialog.component.ts | 24 +++++++++---------- ...create-or-update-activity-dialog.module.ts | 4 ---- .../symbol-autocomplete.component.html | 10 ++++---- .../symbol-autocomplete.component.scss | 5 ++++ .../symbol-autocomplete.component.ts | 16 +++++++++---- 5 files changed, 35 insertions(+), 24 deletions(-) diff --git a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts index 45dc85ba8..6962d4d40 100644 --- a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts +++ b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts @@ -238,19 +238,19 @@ export class CreateOrUpdateActivityDialog implements OnDestroy { this.changeDetectorRef.markForCheck(); }); - this.activityForm.controls['searchSymbol'].valueChanges.subscribe( - (value) => { - if (!this.activityForm.controls['searchSymbol'].invalid) { - this.activityForm.controls['dataSource'].setValue( - this.activityForm.controls['searchSymbol'].value.dataSource - ); - this.updateSymbol(); - } else { - this.data.activity.SymbolProfile = null; - } - this.changeDetectorRef.markForCheck(); + this.activityForm.controls['searchSymbol'].valueChanges.subscribe(() => { + if (this.activityForm.controls['searchSymbol'].invalid) { + this.data.activity.SymbolProfile = null; + } else { + this.activityForm.controls['dataSource'].setValue( + this.activityForm.controls['searchSymbol'].value.dataSource + ); + + this.updateSymbol(); } - ); + + this.changeDetectorRef.markForCheck(); + }); this.filteredTagsObservable = this.activityForm.controls[ 'tags' diff --git a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.module.ts b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.module.ts index e1eb70a10..6ab603504 100644 --- a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.module.ts +++ b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.module.ts @@ -9,9 +9,7 @@ import { MatDatepickerModule } from '@angular/material/datepicker'; import { MatDialogModule } from '@angular/material/dialog'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatInputModule } from '@angular/material/input'; -import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'; import { MatSelectModule } from '@angular/material/select'; -import { GfSymbolModule } from '@ghostfolio/client/pipes/symbol/symbol.module'; import { GfSymbolAutocompleteModule } from '@ghostfolio/ui/symbol-autocomplete/symbol-autocomplete.module'; import { GfValueModule } from '@ghostfolio/ui/value'; @@ -23,7 +21,6 @@ import { CreateOrUpdateActivityDialog } from './create-or-update-activity-dialog CommonModule, FormsModule, GfSymbolAutocompleteModule, - GfSymbolModule, GfValueModule, MatAutocompleteModule, MatButtonModule, @@ -33,7 +30,6 @@ import { CreateOrUpdateActivityDialog } from './create-or-update-activity-dialog MatDialogModule, MatFormFieldModule, MatInputModule, - MatProgressSpinnerModule, MatSelectModule, ReactiveFormsModule ], diff --git a/libs/ui/src/lib/symbol-autocomplete/symbol-autocomplete.component.html b/libs/ui/src/lib/symbol-autocomplete/symbol-autocomplete.component.html index d6ac060ef..8d4facf99 100644 --- a/libs/ui/src/lib/symbol-autocomplete/symbol-autocomplete.component.html +++ b/libs/ui/src/lib/symbol-autocomplete/symbol-autocomplete.component.html @@ -5,14 +5,17 @@ [formControl]="control" [matAutocomplete]="symbolAutocomplete" /> + - - - - diff --git a/libs/ui/src/lib/symbol-autocomplete/symbol-autocomplete.component.scss b/libs/ui/src/lib/symbol-autocomplete/symbol-autocomplete.component.scss index 5d4e87f30..71c06f26e 100644 --- a/libs/ui/src/lib/symbol-autocomplete/symbol-autocomplete.component.scss +++ b/libs/ui/src/lib/symbol-autocomplete/symbol-autocomplete.component.scss @@ -1,3 +1,8 @@ :host { display: block; + + .mat-mdc-progress-spinner { + right: 0; + top: calc(50% - 10px); + } } diff --git a/libs/ui/src/lib/symbol-autocomplete/symbol-autocomplete.component.ts b/libs/ui/src/lib/symbol-autocomplete/symbol-autocomplete.component.ts index e08db461e..4451619e9 100644 --- a/libs/ui/src/lib/symbol-autocomplete/symbol-autocomplete.component.ts +++ b/libs/ui/src/lib/symbol-autocomplete/symbol-autocomplete.component.ts @@ -84,13 +84,21 @@ export class SymbolAutocompleteComponent .pipe( debounceTime(400), distinctUntilChanged(), - filter((query) => isString(query) && query.length > 1), - tap(() => (this.isLoading = true)), - switchMap((query: string) => this.dataService.fetchSymbols(query)) + filter((query) => { + return isString(query) && query.length > 1; + }), + tap(() => { + this.isLoading = true; + this.changeDetectorRef.markForCheck(); + }), + switchMap((query: string) => { + return this.dataService.fetchSymbols(query); + }) ) .subscribe((filteredLookupItems) => { - this.isLoading = false; this.filteredLookupItems = filteredLookupItems; + this.isLoading = false; + this.changeDetectorRef.markForCheck(); }); }