|
|
|
|
@ -11,6 +11,7 @@ import {
|
|
|
|
|
ChangeDetectionStrategy,
|
|
|
|
|
ChangeDetectorRef,
|
|
|
|
|
Component,
|
|
|
|
|
DestroyRef,
|
|
|
|
|
ElementRef,
|
|
|
|
|
HostListener,
|
|
|
|
|
Input,
|
|
|
|
|
@ -22,6 +23,7 @@ import {
|
|
|
|
|
ViewChildren,
|
|
|
|
|
output
|
|
|
|
|
} from '@angular/core';
|
|
|
|
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
|
|
|
import { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
|
|
|
import { MatButtonModule } from '@angular/material/button';
|
|
|
|
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
|
|
|
@ -40,7 +42,7 @@ import {
|
|
|
|
|
} from 'ionicons/icons';
|
|
|
|
|
import { isFunction } from 'lodash';
|
|
|
|
|
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
|
|
|
|
|
import { EMPTY, Observable, Subject, merge, of } from 'rxjs';
|
|
|
|
|
import { EMPTY, Observable, merge, of } from 'rxjs';
|
|
|
|
|
import {
|
|
|
|
|
catchError,
|
|
|
|
|
debounceTime,
|
|
|
|
|
@ -48,7 +50,6 @@ import {
|
|
|
|
|
map,
|
|
|
|
|
scan,
|
|
|
|
|
switchMap,
|
|
|
|
|
takeUntil,
|
|
|
|
|
tap
|
|
|
|
|
} from 'rxjs/operators';
|
|
|
|
|
|
|
|
|
|
@ -146,12 +147,12 @@ export class GfAssistantComponent implements OnChanges, OnDestroy, OnInit {
|
|
|
|
|
|
|
|
|
|
private keyManager: FocusKeyManager<GfAssistantListItemComponent>;
|
|
|
|
|
private preselectionTimeout: ReturnType<typeof setTimeout>;
|
|
|
|
|
private unsubscribeSubject = new Subject<void>();
|
|
|
|
|
|
|
|
|
|
public constructor(
|
|
|
|
|
private adminService: AdminService,
|
|
|
|
|
private changeDetectorRef: ChangeDetectorRef,
|
|
|
|
|
private dataService: DataService
|
|
|
|
|
private dataService: DataService,
|
|
|
|
|
private destroyRef: DestroyRef
|
|
|
|
|
) {
|
|
|
|
|
addIcons({ closeCircleOutline, closeOutline, searchOutline });
|
|
|
|
|
}
|
|
|
|
|
@ -333,7 +334,7 @@ export class GfAssistantComponent implements OnChanges, OnDestroy, OnInit {
|
|
|
|
|
)
|
|
|
|
|
);
|
|
|
|
|
}),
|
|
|
|
|
takeUntil(this.unsubscribeSubject)
|
|
|
|
|
takeUntilDestroyed(this.destroyRef)
|
|
|
|
|
)
|
|
|
|
|
.subscribe({
|
|
|
|
|
next: (searchResults) => {
|
|
|
|
|
@ -477,7 +478,7 @@ export class GfAssistantComponent implements OnChanges, OnDestroy, OnInit {
|
|
|
|
|
|
|
|
|
|
this.dataService
|
|
|
|
|
.fetchPortfolioHoldings()
|
|
|
|
|
.pipe(takeUntil(this.unsubscribeSubject))
|
|
|
|
|
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
|
|
|
.subscribe(({ holdings }) => {
|
|
|
|
|
this.holdings = holdings
|
|
|
|
|
.filter(({ assetSubClass }) => {
|
|
|
|
|
@ -556,9 +557,6 @@ export class GfAssistantComponent implements OnChanges, OnDestroy, OnInit {
|
|
|
|
|
if (this.preselectionTimeout) {
|
|
|
|
|
clearTimeout(this.preselectionTimeout);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.unsubscribeSubject.next();
|
|
|
|
|
this.unsubscribeSubject.complete();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private getCurrentAssistantListItem() {
|
|
|
|
|
@ -643,7 +641,7 @@ export class GfAssistantComponent implements OnChanges, OnDestroy, OnInit {
|
|
|
|
|
};
|
|
|
|
|
});
|
|
|
|
|
}),
|
|
|
|
|
takeUntil(this.unsubscribeSubject)
|
|
|
|
|
takeUntilDestroyed(this.destroyRef)
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -678,7 +676,7 @@ export class GfAssistantComponent implements OnChanges, OnDestroy, OnInit {
|
|
|
|
|
}
|
|
|
|
|
);
|
|
|
|
|
}),
|
|
|
|
|
takeUntil(this.unsubscribeSubject)
|
|
|
|
|
takeUntilDestroyed(this.destroyRef)
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -710,7 +708,7 @@ export class GfAssistantComponent implements OnChanges, OnDestroy, OnInit {
|
|
|
|
|
}
|
|
|
|
|
);
|
|
|
|
|
}),
|
|
|
|
|
takeUntil(this.unsubscribeSubject)
|
|
|
|
|
takeUntilDestroyed(this.destroyRef)
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|