Thomas Kaul
					
					4 years ago
					
						
							committed by
							
								
								GitHub
							
						 
					
				 
				
			 
		 
		
			
				
					
					No known key found for this signature in database
					
						
							GPG Key ID: 4AEE18F83AFDEB23
						
					
				
			
		
		
		
	
		
			
				 2 changed files with 
9 additions and 
5 deletions
			 
			
		 
		
			
				- 
					
					
					 
					apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.component.ts
				
 
			
				- 
					
					
					 
					apps/client/src/app/services/data.service.ts
				
 
			
		
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -7,11 +7,12 @@ import { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  OnInit | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} from '@angular/core'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { EnhancedSymbolProfile } from '@ghostfolio/api/services/interfaces/symbol-profile.interface'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { DataService } from '@ghostfolio/client/services/data.service'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { DATE_FORMAT, downloadAsFile } from '@ghostfolio/common/helper'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { OrderWithAccount } from '@ghostfolio/common/types'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { LineChartItem } from '@ghostfolio/ui/line-chart/interfaces/line-chart.interface'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { SymbolProfile, Tag } from '@prisma/client'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { Tag } from '@prisma/client'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { format, isSameMonth, isToday, parseISO } from 'date-fns'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { Subject } from 'rxjs'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { takeUntil } from 'rxjs/operators'; | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -48,7 +49,7 @@ export class PositionDetailDialog implements OnDestroy, OnInit { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  public sectors: { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    [name: string]: { name: string; value: number }; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  }; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  public SymbolProfile: SymbolProfile; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  public SymbolProfile: EnhancedSymbolProfile; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  public tags: Tag[]; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  public transactionCount: number; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  public value: number; | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  | 
				
			
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -6,6 +6,7 @@ import { UpdateAccountDto } from '@ghostfolio/api/app/account/update-account.dto | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { CreateOrderDto } from '@ghostfolio/api/app/order/create-order.dto'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { Activities } from '@ghostfolio/api/app/order/interfaces/activities.interface'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { UpdateOrderDto } from '@ghostfolio/api/app/order/update-order.dto'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { PortfolioPositionDetail } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-position-detail.interface'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { PortfolioPositions } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-positions.interface'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { LookupItem } from '@ghostfolio/api/app/symbol/interfaces/lookup-item.interface'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { SymbolItem } from '@ghostfolio/api/app/symbol/interfaces/symbol-item.interface'; | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -273,13 +274,15 @@ export class DataService { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    symbol: string; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  }) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    return this.http | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      .get<any>(`/api/v1/portfolio/position/${dataSource}/${symbol}`) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      .get<PortfolioPositionDetail>( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        `/api/v1/portfolio/position/${dataSource}/${symbol}` | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      ) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      .pipe( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        map((data) => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          if (data.orders) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            for (const order of data.orders) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              order.createdAt = parseISO(order.createdAt); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              order.date = parseISO(order.date); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              order.createdAt = parseISO(<string>(<unknown>order.createdAt)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              order.date = parseISO(<string>(<unknown>order.date)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |