mirror of https://github.com/ghostfolio/ghostfolio
				
				
			
				 1 changed files with 219 additions and 0 deletions
			
			
		@ -0,0 +1,219 @@ | 
				
			|||||
 | 
					import { CommonModule } from '@angular/common'; | 
				
			||||
 | 
					import { MatButtonModule } from '@angular/material/button'; | 
				
			||||
 | 
					import { MatDialogModule } from '@angular/material/dialog'; | 
				
			||||
 | 
					import { MatPaginatorModule } from '@angular/material/paginator'; | 
				
			||||
 | 
					import { MatSortModule } from '@angular/material/sort'; | 
				
			||||
 | 
					import { MatTableModule } from '@angular/material/table'; | 
				
			||||
 | 
					import { moduleMetadata } from '@storybook/angular'; | 
				
			||||
 | 
					import type { Meta, StoryObj } from '@storybook/angular'; | 
				
			||||
 | 
					import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader'; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					import { GfEntityLogoComponent } from '../entity-logo'; | 
				
			||||
 | 
					import { GfValueComponent } from '../value'; | 
				
			||||
 | 
					import { GfHoldingsTableComponent } from './holdings-table.component'; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					const holdings = [ | 
				
			||||
 | 
					  { | 
				
			||||
 | 
					    allocationInPercentage: 0.042990776363386086, | 
				
			||||
 | 
					    assetClass: 'EQUITY' as any, | 
				
			||||
 | 
					    assetClassLabel: 'Equity', | 
				
			||||
 | 
					    assetSubClass: 'STOCK' as any, | 
				
			||||
 | 
					    assetSubClassLabel: 'Stock', | 
				
			||||
 | 
					    countries: [ | 
				
			||||
 | 
					      { | 
				
			||||
 | 
					        code: 'US', | 
				
			||||
 | 
					        weight: 1, | 
				
			||||
 | 
					        continent: 'North America', | 
				
			||||
 | 
					        name: 'United States' | 
				
			||||
 | 
					      } | 
				
			||||
 | 
					    ], | 
				
			||||
 | 
					    currency: 'USD', | 
				
			||||
 | 
					    dataSource: 'YAHOO' as any, | 
				
			||||
 | 
					    dateOfFirstActivity: new Date('2021-12-01T00:00:00.000Z'), | 
				
			||||
 | 
					    dividend: 0, | 
				
			||||
 | 
					    grossPerformance: 3856, | 
				
			||||
 | 
					    grossPerformancePercent: 0.46047289228564603, | 
				
			||||
 | 
					    grossPerformancePercentWithCurrencyEffect: 0.46047289228564603, | 
				
			||||
 | 
					    grossPerformanceWithCurrencyEffect: 3856, | 
				
			||||
 | 
					    holdings: [], | 
				
			||||
 | 
					    investment: 8374, | 
				
			||||
 | 
					    marketPrice: 244.6, | 
				
			||||
 | 
					    name: 'Apple Inc', | 
				
			||||
 | 
					    netPerformance: 3855, | 
				
			||||
 | 
					    netPerformancePercent: 0.460353475041796, | 
				
			||||
 | 
					    netPerformancePercentWithCurrencyEffect: 0.460353475041796, | 
				
			||||
 | 
					    netPerformanceWithCurrencyEffect: 3855, | 
				
			||||
 | 
					    quantity: 50, | 
				
			||||
 | 
					    sectors: [ | 
				
			||||
 | 
					      { | 
				
			||||
 | 
					        name: 'Technology', | 
				
			||||
 | 
					        weight: 1 | 
				
			||||
 | 
					      } | 
				
			||||
 | 
					    ], | 
				
			||||
 | 
					    symbol: 'AAPL', | 
				
			||||
 | 
					    tags: [], | 
				
			||||
 | 
					    transactionCount: 1, | 
				
			||||
 | 
					    url: 'https://www.apple.com', | 
				
			||||
 | 
					    valueInBaseCurrency: 12230 | 
				
			||||
 | 
					  }, | 
				
			||||
 | 
					  { | 
				
			||||
 | 
					    allocationInPercentage: 0.02377401948293552, | 
				
			||||
 | 
					    assetClass: 'EQUITY' as any, | 
				
			||||
 | 
					    assetClassLabel: 'Equity', | 
				
			||||
 | 
					    assetSubClass: 'STOCK' as any, | 
				
			||||
 | 
					    assetSubClassLabel: 'Stock', | 
				
			||||
 | 
					    countries: [ | 
				
			||||
 | 
					      { | 
				
			||||
 | 
					        code: 'US', | 
				
			||||
 | 
					        weight: 1, | 
				
			||||
 | 
					        continent: 'North America', | 
				
			||||
 | 
					        name: 'United States' | 
				
			||||
 | 
					      } | 
				
			||||
 | 
					    ], | 
				
			||||
 | 
					    currency: 'USD', | 
				
			||||
 | 
					    dataSource: 'YAHOO' as any, | 
				
			||||
 | 
					    dateOfFirstActivity: new Date('2021-11-15T00:00:00.000Z'), | 
				
			||||
 | 
					    dividend: 0, | 
				
			||||
 | 
					    grossPerformance: 1250, | 
				
			||||
 | 
					    grossPerformancePercent: 0.25000000000000006, | 
				
			||||
 | 
					    grossPerformancePercentWithCurrencyEffect: 0.25000000000000006, | 
				
			||||
 | 
					    grossPerformanceWithCurrencyEffect: 1250, | 
				
			||||
 | 
					    holdings: [], | 
				
			||||
 | 
					    investment: 5000, | 
				
			||||
 | 
					    marketPrice: 125, | 
				
			||||
 | 
					    name: 'Microsoft Corporation', | 
				
			||||
 | 
					    netPerformance: 1250, | 
				
			||||
 | 
					    netPerformancePercent: 0.25, | 
				
			||||
 | 
					    netPerformancePercentWithCurrencyEffect: 0.25, | 
				
			||||
 | 
					    netPerformanceWithCurrencyEffect: 1250, | 
				
			||||
 | 
					    quantity: 50, | 
				
			||||
 | 
					    sectors: [ | 
				
			||||
 | 
					      { | 
				
			||||
 | 
					        name: 'Technology', | 
				
			||||
 | 
					        weight: 1 | 
				
			||||
 | 
					      } | 
				
			||||
 | 
					    ], | 
				
			||||
 | 
					    symbol: 'MSFT', | 
				
			||||
 | 
					    tags: [], | 
				
			||||
 | 
					    transactionCount: 1, | 
				
			||||
 | 
					    url: 'https://www.microsoft.com', | 
				
			||||
 | 
					    valueInBaseCurrency: 6250 | 
				
			||||
 | 
					  }, | 
				
			||||
 | 
					  { | 
				
			||||
 | 
					    allocationInPercentage: 0.015000000000000003, | 
				
			||||
 | 
					    assetClass: 'EQUITY' as any, | 
				
			||||
 | 
					    assetClassLabel: 'Equity', | 
				
			||||
 | 
					    assetSubClass: 'STOCK' as any, | 
				
			||||
 | 
					    assetSubClassLabel: 'Stock', | 
				
			||||
 | 
					    countries: [ | 
				
			||||
 | 
					      { | 
				
			||||
 | 
					        code: 'US', | 
				
			||||
 | 
					        weight: 1, | 
				
			||||
 | 
					        continent: 'North America', | 
				
			||||
 | 
					        name: 'United States' | 
				
			||||
 | 
					      } | 
				
			||||
 | 
					    ], | 
				
			||||
 | 
					    currency: 'USD', | 
				
			||||
 | 
					    dataSource: 'YAHOO' as any, | 
				
			||||
 | 
					    dateOfFirstActivity: new Date('2022-01-10T00:00:00.000Z'), | 
				
			||||
 | 
					    dividend: 0, | 
				
			||||
 | 
					    grossPerformance: -500, | 
				
			||||
 | 
					    grossPerformancePercent: -0.1, | 
				
			||||
 | 
					    grossPerformancePercentWithCurrencyEffect: -0.1, | 
				
			||||
 | 
					    grossPerformanceWithCurrencyEffect: -500, | 
				
			||||
 | 
					    holdings: [], | 
				
			||||
 | 
					    investment: 5000, | 
				
			||||
 | 
					    marketPrice: 90, | 
				
			||||
 | 
					    name: 'Tesla Inc', | 
				
			||||
 | 
					    netPerformance: -500, | 
				
			||||
 | 
					    netPerformancePercent: -0.1, | 
				
			||||
 | 
					    netPerformancePercentWithCurrencyEffect: -0.1, | 
				
			||||
 | 
					    netPerformanceWithCurrencyEffect: -500, | 
				
			||||
 | 
					    quantity: 50, | 
				
			||||
 | 
					    sectors: [ | 
				
			||||
 | 
					      { | 
				
			||||
 | 
					        name: 'Consumer Discretionary', | 
				
			||||
 | 
					        weight: 1 | 
				
			||||
 | 
					      } | 
				
			||||
 | 
					    ], | 
				
			||||
 | 
					    symbol: 'TSLA', | 
				
			||||
 | 
					    tags: [], | 
				
			||||
 | 
					    transactionCount: 1, | 
				
			||||
 | 
					    url: 'https://www.tesla.com', | 
				
			||||
 | 
					    valueInBaseCurrency: 4500 | 
				
			||||
 | 
					  } | 
				
			||||
 | 
					]; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					export default { | 
				
			||||
 | 
					  title: 'Holdings Table', | 
				
			||||
 | 
					  component: GfHoldingsTableComponent, | 
				
			||||
 | 
					  decorators: [ | 
				
			||||
 | 
					    moduleMetadata({ | 
				
			||||
 | 
					      imports: [ | 
				
			||||
 | 
					        CommonModule, | 
				
			||||
 | 
					        GfEntityLogoComponent, | 
				
			||||
 | 
					        GfValueComponent, | 
				
			||||
 | 
					        MatButtonModule, | 
				
			||||
 | 
					        MatDialogModule, | 
				
			||||
 | 
					        MatPaginatorModule, | 
				
			||||
 | 
					        MatSortModule, | 
				
			||||
 | 
					        MatTableModule, | 
				
			||||
 | 
					        NgxSkeletonLoaderModule | 
				
			||||
 | 
					      ] | 
				
			||||
 | 
					    }) | 
				
			||||
 | 
					  ] | 
				
			||||
 | 
					} as Meta<GfHoldingsTableComponent>; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					type Story = StoryObj<GfHoldingsTableComponent>; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					export const Default: Story = { | 
				
			||||
 | 
					  args: { | 
				
			||||
 | 
					    holdings, | 
				
			||||
 | 
					    baseCurrency: 'USD', | 
				
			||||
 | 
					    deviceType: 'desktop', | 
				
			||||
 | 
					    hasPermissionToOpenDetails: true, | 
				
			||||
 | 
					    hasPermissionToShowQuantities: true, | 
				
			||||
 | 
					    hasPermissionToShowValues: true, | 
				
			||||
 | 
					    locale: 'en-US', | 
				
			||||
 | 
					    pageSize: Number.MAX_SAFE_INTEGER | 
				
			||||
 | 
					  } | 
				
			||||
 | 
					}; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					export const WithoutQuantities: Story = { | 
				
			||||
 | 
					  args: { | 
				
			||||
 | 
					    holdings, | 
				
			||||
 | 
					    baseCurrency: 'USD', | 
				
			||||
 | 
					    deviceType: 'desktop', | 
				
			||||
 | 
					    hasPermissionToOpenDetails: true, | 
				
			||||
 | 
					    hasPermissionToShowQuantities: false, | 
				
			||||
 | 
					    hasPermissionToShowValues: true, | 
				
			||||
 | 
					    locale: 'en-US', | 
				
			||||
 | 
					    pageSize: Number.MAX_SAFE_INTEGER | 
				
			||||
 | 
					  } | 
				
			||||
 | 
					}; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					export const WithoutValues: Story = { | 
				
			||||
 | 
					  args: { | 
				
			||||
 | 
					    holdings, | 
				
			||||
 | 
					    baseCurrency: 'USD', | 
				
			||||
 | 
					    deviceType: 'desktop', | 
				
			||||
 | 
					    hasPermissionToOpenDetails: true, | 
				
			||||
 | 
					    hasPermissionToShowQuantities: true, | 
				
			||||
 | 
					    hasPermissionToShowValues: false, | 
				
			||||
 | 
					    locale: 'en-US', | 
				
			||||
 | 
					    pageSize: Number.MAX_SAFE_INTEGER | 
				
			||||
 | 
					  } | 
				
			||||
 | 
					}; | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					export const Mobile: Story = { | 
				
			||||
 | 
					  args: { | 
				
			||||
 | 
					    holdings, | 
				
			||||
 | 
					    baseCurrency: 'USD', | 
				
			||||
 | 
					    deviceType: 'mobile', | 
				
			||||
 | 
					    hasPermissionToOpenDetails: true, | 
				
			||||
 | 
					    hasPermissionToShowQuantities: true, | 
				
			||||
 | 
					    hasPermissionToShowValues: true, | 
				
			||||
 | 
					    locale: 'en-US', | 
				
			||||
 | 
					    pageSize: Number.MAX_SAFE_INTEGER | 
				
			||||
 | 
					  } | 
				
			||||
 | 
					}; | 
				
			||||
					Loading…
					
					
				
		Reference in new issue