mirror of https://github.com/ghostfolio/ghostfolio
committed by
GitHub
10 changed files with 350 additions and 240 deletions
@ -1,108 +1,144 @@ |
|||||
<ng-container *ngIf="hasPositions || !historicalDataItems"> |
<mat-tab-group |
||||
<div class="container overview position-relative"> |
animationDuration="0ms" |
||||
<div class="row"> |
class="position-absolute" |
||||
<a |
headerPosition="below" |
||||
class="chart-container col mr-3" |
mat-align-tabs="center" |
||||
[routerLink]="[]" |
> |
||||
[queryParams]="{performanceChartDialog: true}" |
<mat-tab> |
||||
> |
<ng-template mat-tab-label> |
||||
<gf-line-chart |
<ion-icon name="analytics-outline" size="large"></ion-icon> |
||||
symbol="Performance" |
</ng-template> |
||||
[historicalDataItems]="historicalDataItems" |
<div |
||||
[showLoader]="false" |
class=" |
||||
[showXAxis]="false" |
align-items-center |
||||
[showYAxis]="false" |
container |
||||
></gf-line-chart> |
d-flex |
||||
</a> |
flex-column |
||||
</div> |
h-100 |
||||
<div class="overview-container row mb-5 mt-1"> |
justify-content-center |
||||
<div class="col"> |
overview |
||||
<gf-portfolio-performance-summary |
p-3 |
||||
class="pb-4" |
position-relative |
||||
[baseCurrency]="user?.settings?.baseCurrency" |
" |
||||
[isLoading]="isLoadingPerformance" |
> |
||||
[locale]="user?.settings?.locale" |
<div class="row w-100"> |
||||
[performance]="performance" |
<a |
||||
[showDetails]="!hasImpersonationId || hasPermissionToReadForeignPortfolio" |
*ngIf="historicalDataItems?.length !== 0" |
||||
></gf-portfolio-performance-summary> |
class="chart-container col" |
||||
<div class="text-center"> |
[routerLink]="[]" |
||||
<gf-toggle |
[queryParams]="{performanceChartDialog: true}" |
||||
[defaultValue]="dateRange" |
> |
||||
|
<gf-line-chart |
||||
|
class="mr-3" |
||||
|
symbol="Performance" |
||||
|
[historicalDataItems]="historicalDataItems" |
||||
|
[showLoader]="false" |
||||
|
[showXAxis]="false" |
||||
|
[showYAxis]="false" |
||||
|
></gf-line-chart> |
||||
|
</a> |
||||
|
<div |
||||
|
*ngIf="historicalDataItems?.length === 0" |
||||
|
class=" |
||||
|
align-items-center |
||||
|
chart-container |
||||
|
d-flex |
||||
|
justify-content-center |
||||
|
w-100 |
||||
|
" |
||||
|
> |
||||
|
<div class="d-flex justify-content-center"> |
||||
|
<gf-no-transactions-info-indicator></gf-no-transactions-info-indicator> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="overview-container row mt-1"> |
||||
|
<div class="col"> |
||||
|
<gf-portfolio-performance-summary |
||||
|
class="pb-4" |
||||
|
[baseCurrency]="user?.settings?.baseCurrency" |
||||
[isLoading]="isLoadingPerformance" |
[isLoading]="isLoadingPerformance" |
||||
[options]="dateRangeOptions" |
[locale]="user?.settings?.locale" |
||||
(change)="onChangeDateRange($event.value)" |
[performance]="performance" |
||||
></gf-toggle> |
[showDetails]="!hasImpersonationId || hasPermissionToReadForeignPortfolio" |
||||
|
></gf-portfolio-performance-summary> |
||||
|
<div class="text-center"> |
||||
|
<gf-toggle |
||||
|
[defaultValue]="dateRange" |
||||
|
[isLoading]="isLoadingPerformance" |
||||
|
[options]="dateRangeOptions" |
||||
|
(change)="onChangeDateRange($event.value)" |
||||
|
></gf-toggle> |
||||
|
</div> |
||||
</div> |
</div> |
||||
</div> |
</div> |
||||
</div> |
</div> |
||||
<div |
</mat-tab> |
||||
class="button-container d-flex justify-content-center position-absolute" |
<mat-tab> |
||||
> |
<ng-template mat-tab-label> |
||||
<a |
<ion-icon name="wallet-outline" size="large"></ion-icon> |
||||
*ngIf="showPositionsButton" |
</ng-template> |
||||
[routerLink]="['/home']" |
<div class="container justify-content-center p-3 positions"> |
||||
fragment="positions-container" |
<div class="row"> |
||||
i18n |
<div class="align-items-center col"> |
||||
mat-flat-button |
<mat-card *ngIf="hasPositions === true" class="p-0"> |
||||
(click)="showPositionsButton = false" |
<mat-card-content> |
||||
>Positions</a |
<gf-positions |
||||
> |
[baseCurrency]="user?.settings?.baseCurrency" |
||||
</div> |
[deviceType]="deviceType" |
||||
</div> |
[locale]="user?.settings?.locale" |
||||
|
[positions]="positions" |
||||
<div id="positions-container" class="container positions"> |
[range]="dateRange" |
||||
<div class="row mb-3"> |
></gf-positions> |
||||
<div class="col"> |
</mat-card-content> |
||||
<mat-card class="p-0"> |
</mat-card> |
||||
<mat-card-content> |
<div |
||||
<gf-positions |
*ngIf="hasPositions === false" |
||||
[baseCurrency]="user?.settings?.baseCurrency" |
class="d-flex justify-content-center" |
||||
[deviceType]="deviceType" |
> |
||||
[locale]="user?.settings?.locale" |
<gf-no-transactions-info-indicator></gf-no-transactions-info-indicator> |
||||
[positions]="positions" |
</div> |
||||
[range]="dateRange" |
</div> |
||||
></gf-positions> |
|
||||
</mat-card-content> |
|
||||
</mat-card> |
|
||||
</div> |
</div> |
||||
</div> |
</div> |
||||
<div class="row"> |
</mat-tab> |
||||
<div class="col-xs-12 col-md-6 mb-3"> |
<mat-tab> |
||||
<mat-card class="h-100"> |
<ng-template mat-tab-label> |
||||
<mat-card-header> |
<ion-icon name="reader-outline" size="large"></ion-icon> |
||||
<mat-card-title i18n>Performance</mat-card-title> |
</ng-template> |
||||
</mat-card-header> |
<div class="container p-3 positions"> |
||||
<mat-card-content> |
<div class="row"> |
||||
<gf-portfolio-performance |
<div class="col-xs-12 col-md-6 mb-3"> |
||||
[baseCurrency]="user?.settings?.baseCurrency" |
<mat-card class="h-100"> |
||||
[isLoading]="isLoadingPerformance" |
<mat-card-header> |
||||
[locale]="user?.settings?.locale" |
<mat-card-title i18n>Performance</mat-card-title> |
||||
[performance]="performance" |
</mat-card-header> |
||||
></gf-portfolio-performance> |
<mat-card-content> |
||||
</mat-card-content> |
<gf-portfolio-performance |
||||
</mat-card> |
[baseCurrency]="user?.settings?.baseCurrency" |
||||
</div> |
[isLoading]="isLoadingPerformance" |
||||
<div class="col-xs-12 col-md-6 mb-3"> |
[locale]="user?.settings?.locale" |
||||
<mat-card class="h-100"> |
[performance]="performance" |
||||
<mat-card-header> |
></gf-portfolio-performance> |
||||
<mat-card-title i18n>Summary</mat-card-title> |
</mat-card-content> |
||||
</mat-card-header> |
</mat-card> |
||||
<mat-card-content> |
</div> |
||||
<gf-portfolio-overview |
<div class="col-xs-12 col-md-6"> |
||||
[baseCurrency]="user?.settings?.baseCurrency" |
<mat-card class="h-100"> |
||||
[isLoading]="isLoadingOverview" |
<mat-card-header> |
||||
[locale]="user?.settings?.locale" |
<mat-card-title i18n>Summary</mat-card-title> |
||||
[overview]="overview" |
</mat-card-header> |
||||
></gf-portfolio-overview> |
<mat-card-content> |
||||
</mat-card-content> |
<gf-portfolio-overview |
||||
</mat-card> |
[baseCurrency]="user?.settings?.baseCurrency" |
||||
|
[isLoading]="isLoadingOverview" |
||||
|
[locale]="user?.settings?.locale" |
||||
|
[overview]="overview" |
||||
|
></gf-portfolio-overview> |
||||
|
</mat-card-content> |
||||
|
</mat-card> |
||||
|
</div> |
||||
</div> |
</div> |
||||
</div> |
</div> |
||||
</div> |
</mat-tab> |
||||
</ng-container> |
</mat-tab-group> |
||||
|
|
||||
<ng-container *ngIf="!hasPositions && historicalDataItems"> |
|
||||
<div class="d-flex justify-content-center my-5"> |
|
||||
<gf-no-transactions-info-indicator></gf-no-transactions-info-indicator> |
|
||||
</div> |
|
||||
</ng-container> |
|
||||
|
@ -1,65 +1,88 @@ |
|||||
<ng-container *ngIf="hasPositions || !historicalDataItems"> |
<mat-tab-group |
||||
<div class="container overview position-relative"> |
animationDuration="0ms" |
||||
<div class="row"> |
class="position-absolute" |
||||
<div class="chart-container col mr-3"> |
headerPosition="below" |
||||
<gf-line-chart |
mat-align-tabs="center" |
||||
symbol="Performance" |
> |
||||
[historicalDataItems]="historicalDataItems" |
<mat-tab> |
||||
[showLoader]="false" |
<ng-template mat-tab-label> |
||||
[showXAxis]="false" |
<ion-icon name="analytics-outline" size="large"></ion-icon> |
||||
[showYAxis]="false" |
</ng-template> |
||||
></gf-line-chart> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div class="overview-container row mb-5 mt-1"> |
|
||||
<div class="col"> |
|
||||
<gf-portfolio-performance-summary |
|
||||
class="pb-4" |
|
||||
[baseCurrency]="user?.settings?.baseCurrency" |
|
||||
[isLoading]="isLoadingPerformance" |
|
||||
[locale]="user?.settings?.locale" |
|
||||
[performance]="performance" |
|
||||
[showDetails]="!hasImpersonationId || hasPermissionToReadForeignPortfolio" |
|
||||
></gf-portfolio-performance-summary> |
|
||||
</div> |
|
||||
</div> |
|
||||
|
|
||||
<div |
<div |
||||
class="button-container d-flex justify-content-center position-absolute" |
class=" |
||||
|
container |
||||
|
d-flex |
||||
|
flex-column |
||||
|
h-100 |
||||
|
justify-content-center |
||||
|
overview |
||||
|
p-3 |
||||
|
position-relative |
||||
|
" |
||||
> |
> |
||||
<a |
<div class="row"> |
||||
*ngIf="showPositionsButton" |
<div |
||||
[routerLink]="['/zen']" |
class="chart-container d-flex flex-column col justify-content-center" |
||||
fragment="positions-container" |
> |
||||
i18n |
<gf-line-chart |
||||
mat-flat-button |
class="mr-3" |
||||
(click)="showPositionsButton = false" |
symbol="Performance" |
||||
>Positions</a |
[historicalDataItems]="historicalDataItems" |
||||
> |
[showLoader]="false" |
||||
|
[showXAxis]="false" |
||||
|
[showYAxis]="false" |
||||
|
></gf-line-chart> |
||||
|
<div |
||||
|
*ngIf="historicalDataItems?.length === 0" |
||||
|
class="d-flex justify-content-center" |
||||
|
> |
||||
|
<gf-no-transactions-info-indicator></gf-no-transactions-info-indicator> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="overview-container row mb-5 mt-1"> |
||||
|
<div class="col"> |
||||
|
<gf-portfolio-performance-summary |
||||
|
class="pb-4" |
||||
|
[baseCurrency]="user?.settings?.baseCurrency" |
||||
|
[isLoading]="isLoadingPerformance" |
||||
|
[locale]="user?.settings?.locale" |
||||
|
[performance]="performance" |
||||
|
[showDetails]="!hasImpersonationId || hasPermissionToReadForeignPortfolio" |
||||
|
></gf-portfolio-performance-summary> |
||||
|
</div> |
||||
|
</div> |
||||
</div> |
</div> |
||||
</div> |
</mat-tab> |
||||
|
|
||||
<div id="positions-container" class="container positions"> |
<mat-tab> |
||||
<div class="row mb-3"> |
<ng-template mat-tab-label> |
||||
<div class="col"> |
<ion-icon name="wallet-outline" size="large"></ion-icon> |
||||
<mat-card class="p-0"> |
</ng-template> |
||||
<mat-card-content> |
<div class="container justify-content-center p-3 positions"> |
||||
<gf-positions |
<div class="row"> |
||||
[baseCurrency]="user?.settings?.baseCurrency" |
<div class="align-items-center col"> |
||||
[deviceType]="deviceType" |
<mat-card *ngIf="hasPositions === true" class="p-0"> |
||||
[locale]="user?.settings?.locale" |
<mat-card-content> |
||||
[positions]="positions" |
<gf-positions |
||||
[range]="dateRange" |
[baseCurrency]="user?.settings?.baseCurrency" |
||||
></gf-positions> |
[deviceType]="deviceType" |
||||
</mat-card-content> |
[locale]="user?.settings?.locale" |
||||
</mat-card> |
[positions]="positions" |
||||
|
[range]="dateRange" |
||||
|
></gf-positions> |
||||
|
</mat-card-content> |
||||
|
</mat-card> |
||||
|
<div |
||||
|
*ngIf="hasPositions === false" |
||||
|
class="d-flex justify-content-center" |
||||
|
> |
||||
|
<div> |
||||
|
<gf-no-transactions-info-indicator></gf-no-transactions-info-indicator> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
</div> |
</div> |
||||
</div> |
</div> |
||||
</div> |
</mat-tab> |
||||
</ng-container> |
</mat-tab-group> |
||||
|
|
||||
<ng-container *ngIf="!hasPositions && historicalDataItems"> |
|
||||
<div class="d-flex justify-content-center my-5"> |
|
||||
<gf-no-transactions-info-indicator></gf-no-transactions-info-indicator> |
|
||||
</div> |
|
||||
</ng-container> |
|
||||
|
Loading…
Reference in new issue