|
|
@ -32,6 +32,7 @@ import { MatCardModule } from '@angular/material/card'; |
|
|
|
import { MatMenuModule, MatMenuTrigger } from '@angular/material/menu'; |
|
|
|
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'; |
|
|
|
import { MatSnackBar } from '@angular/material/snack-bar'; |
|
|
|
import { RouterModule } from '@angular/router'; |
|
|
|
import { IonIcon } from '@ionic/angular/standalone'; |
|
|
|
import { SymbolProfile } from '@prisma/client'; |
|
|
|
import { addIcons } from 'ionicons'; |
|
|
@ -55,7 +56,8 @@ import { takeUntil } from 'rxjs/operators'; |
|
|
|
MatCardModule, |
|
|
|
MatMenuModule, |
|
|
|
MatProgressSpinnerModule, |
|
|
|
NgxSkeletonLoaderModule |
|
|
|
NgxSkeletonLoaderModule, |
|
|
|
RouterModule |
|
|
|
], |
|
|
|
selector: 'gf-analysis-page', |
|
|
|
styleUrls: ['./analysis-page.scss'], |
|
|
@ -342,13 +344,20 @@ export class GfAnalysisPageComponent implements OnDestroy, OnInit { |
|
|
|
'netPerformancePercentWithCurrencyEffect' |
|
|
|
).reverse(); |
|
|
|
|
|
|
|
this.top3 = holdingsSorted.slice(0, 3); |
|
|
|
|
|
|
|
if (holdings?.length > 3) { |
|
|
|
this.bottom3 = holdingsSorted.slice(-3).reverse(); |
|
|
|
} else { |
|
|
|
this.bottom3 = []; |
|
|
|
} |
|
|
|
this.top3 = holdingsSorted |
|
|
|
.filter( |
|
|
|
({ netPerformancePercentWithCurrencyEffect }) => |
|
|
|
netPerformancePercentWithCurrencyEffect > 0 |
|
|
|
) |
|
|
|
.slice(0, 3); |
|
|
|
|
|
|
|
this.bottom3 = holdingsSorted |
|
|
|
.filter( |
|
|
|
({ netPerformancePercentWithCurrencyEffect }) => |
|
|
|
netPerformancePercentWithCurrencyEffect < 0 |
|
|
|
) |
|
|
|
.slice(-3) |
|
|
|
.reverse(); |
|
|
|
|
|
|
|
this.changeDetectorRef.markForCheck(); |
|
|
|
}); |
|
|
|