Browse Source

Fixing issue of holdings are fetched in assistant for each change #4065

pull/4118/head
Amandee Ellawala 9 months ago
parent
commit
7be40df851
  1. 34
      libs/ui/src/lib/assistant/assistant.component.ts

34
libs/ui/src/lib/assistant/assistant.component.ts

@ -167,8 +167,6 @@ export class GfAssistantComponent implements OnChanges, OnDestroy, OnInit {
) {}
public ngOnInit() {
this.initializeFilterForm();
this.assetClasses = Object.keys(AssetClass).map((assetClass) => {
return {
id: assetClass,
@ -276,8 +274,6 @@ export class GfAssistantComponent implements OnChanges, OnDestroy, OnInit {
this.filterForm.enable({ emitEvent: false });
}
this.initializeFilterForm();
this.tags =
this.user?.tags
?.filter(({ isUsed }) => {
@ -332,10 +328,22 @@ export class GfAssistantComponent implements OnChanges, OnDestroy, OnInit {
this.searchElement?.nativeElement?.focus();
});
this.dataService
.fetchPortfolioHoldings()
.pipe(takeUntil(this.unsubscribeSubject))
.subscribe(({ holdings }) => {
this.holdings = holdings
.filter(({ assetSubClass }) => {
return !['CASH'].includes(assetSubClass);
})
.sort((a, b) => {
return a.name?.localeCompare(b.name);
});
this.setFilterFormValues();
this.isLoading = false;
this.setIsOpen(true);
this.changeDetectorRef.markForCheck();
});
}
public onApplyFilters() {
@ -499,22 +507,6 @@ export class GfAssistantComponent implements OnChanges, OnDestroy, OnInit {
);
}
private initializeFilterForm() {
this.dataService
.fetchPortfolioHoldings()
.pipe(takeUntil(this.unsubscribeSubject))
.subscribe(({ holdings }) => {
this.holdings = holdings
.filter(({ assetSubClass }) => {
return !['CASH'].includes(assetSubClass);
})
.sort((a, b) => {
return a.name?.localeCompare(b.name);
});
this.setFilterFormValues();
});
}
private setFilterFormValues() {
const dataSource = this.user?.settings?.[
'filters.dataSource'

Loading…
Cancel
Save