|
|
@ -1,9 +1,12 @@ |
|
|
|
|
|
import { DataService } from '@ghostfolio/client/services/data.service'; |
|
|
import { UNKNOWN_KEY } from '@ghostfolio/common/config'; |
|
|
import { UNKNOWN_KEY } from '@ghostfolio/common/config'; |
|
|
import { prettifySymbol } from '@ghostfolio/common/helper'; |
|
|
import { prettifySymbol } from '@ghostfolio/common/helper'; |
|
|
import { |
|
|
import { |
|
|
|
|
|
InfoItem, |
|
|
PortfolioPosition, |
|
|
PortfolioPosition, |
|
|
PublicPortfolioResponse |
|
|
PublicPortfolioResponse |
|
|
} from '@ghostfolio/common/interfaces'; |
|
|
} from '@ghostfolio/common/interfaces'; |
|
|
|
|
|
import { hasPermission, permissions } from '@ghostfolio/common/permissions'; |
|
|
import { Market } from '@ghostfolio/common/types'; |
|
|
import { Market } from '@ghostfolio/common/types'; |
|
|
import { GfActivitiesTableComponent } from '@ghostfolio/ui/activities-table/activities-table.component'; |
|
|
import { GfActivitiesTableComponent } from '@ghostfolio/ui/activities-table/activities-table.component'; |
|
|
import { GfHoldingsTableComponent } from '@ghostfolio/ui/holdings-table/holdings-table.component'; |
|
|
import { GfHoldingsTableComponent } from '@ghostfolio/ui/holdings-table/holdings-table.component'; |
|
|
@ -29,8 +32,6 @@ import { DeviceDetectorService } from 'ngx-device-detector'; |
|
|
import { EMPTY, Subject } from 'rxjs'; |
|
|
import { EMPTY, Subject } from 'rxjs'; |
|
|
import { catchError, takeUntil } from 'rxjs/operators'; |
|
|
import { catchError, takeUntil } from 'rxjs/operators'; |
|
|
|
|
|
|
|
|
import { DataService } from '../../services/data.service'; |
|
|
|
|
|
|
|
|
|
|
|
@Component({ |
|
|
@Component({ |
|
|
host: { class: 'page' }, |
|
|
host: { class: 'page' }, |
|
|
imports: [ |
|
|
imports: [ |
|
|
@ -57,7 +58,9 @@ export class GfPublicPageComponent implements OnInit { |
|
|
}; |
|
|
}; |
|
|
public defaultAlias = $localize`someone`; |
|
|
public defaultAlias = $localize`someone`; |
|
|
public deviceType: string; |
|
|
public deviceType: string; |
|
|
|
|
|
public hasPermissionForSubscription: boolean; |
|
|
public holdings: PublicPortfolioResponse['holdings'][string][]; |
|
|
public holdings: PublicPortfolioResponse['holdings'][string][]; |
|
|
|
|
|
public info: InfoItem; |
|
|
public latestActivitiesDataSource: MatTableDataSource< |
|
|
public latestActivitiesDataSource: MatTableDataSource< |
|
|
PublicPortfolioResponse['latestActivities'][0] |
|
|
PublicPortfolioResponse['latestActivities'][0] |
|
|
>; |
|
|
>; |
|
|
@ -92,6 +95,13 @@ export class GfPublicPageComponent implements OnInit { |
|
|
this.activatedRoute.params.subscribe((params) => { |
|
|
this.activatedRoute.params.subscribe((params) => { |
|
|
this.accessId = params['id']; |
|
|
this.accessId = params['id']; |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
this.info = this.dataService.fetchInfo(); |
|
|
|
|
|
|
|
|
|
|
|
this.hasPermissionForSubscription = hasPermission( |
|
|
|
|
|
this.info?.globalPermissions, |
|
|
|
|
|
permissions.enableSubscription |
|
|
|
|
|
); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public ngOnInit() { |
|
|
public ngOnInit() { |
|
|
@ -113,12 +123,12 @@ export class GfPublicPageComponent implements OnInit { |
|
|
.subscribe((portfolioPublicDetails) => { |
|
|
.subscribe((portfolioPublicDetails) => { |
|
|
this.publicPortfolioDetails = portfolioPublicDetails; |
|
|
this.publicPortfolioDetails = portfolioPublicDetails; |
|
|
|
|
|
|
|
|
|
|
|
this.initializeAnalysisData(); |
|
|
|
|
|
|
|
|
this.latestActivitiesDataSource = new MatTableDataSource( |
|
|
this.latestActivitiesDataSource = new MatTableDataSource( |
|
|
this.publicPortfolioDetails.latestActivities |
|
|
this.publicPortfolioDetails.latestActivities |
|
|
); |
|
|
); |
|
|
|
|
|
|
|
|
this.initializeAnalysisData(); |
|
|
|
|
|
|
|
|
|
|
|
this.changeDetectorRef.markForCheck(); |
|
|
this.changeDetectorRef.markForCheck(); |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
|