import {AfterViewInit, Component, Input, OnInit} from '@angular/core'; import {Subscription} from "rxjs"; import {SaleSummaryJsonld, SaleSummaryService, UserJsonld} from "@app/core/api/v1"; import {AppHelperService} from "@app/_helpers/app-helper.service"; @Component({ selector: 'app-sale-summary', templateUrl: './sale-summary.component.html', styleUrl: './sale-summary.component.scss' }) export class SaleSummaryComponent implements OnInit, AfterViewInit { @Input() public user!: UserJsonld; protected readonly Number = Number; protected salesSummarySub: Subscription; protected saleSummaries: Array; protected saleSummaryMaxTurnover: number; constructor( private saleSummaryService: SaleSummaryService, protected appHelperService: AppHelperService, ) { this.salesSummarySub = new Subscription(); this.saleSummaries = []; this.saleSummaryMaxTurnover = 0; } ngOnInit(): void { this.getData(); } ngAfterViewInit(): void { } getData() { if (this.user !== undefined) { console.log(this.user); this.salesSummarySub = this.saleSummaryService.saleSummariesUserIdGet( String(this.user?.id) ).subscribe( data => { this.saleSummaries = [data]; if (this.saleSummaries.length > 0) { this.saleSummaryMaxTurnover = Number(this.saleSummaries[0].turnover); } } ) } else { this.salesSummarySub = this.saleSummaryService.saleSummariesGetCollection( 1, 50 ).subscribe( data => { this.saleSummaries = data["hydra:member"]; if (this.saleSummaries.length > 0) { this.saleSummaryMaxTurnover = Number(this.saleSummaries[0].turnover); } } ) } } calculateWidthPercentage(turnover: number, maxTurnOver: number): number { if (turnover && maxTurnOver && maxTurnOver !== 0) { return (turnover / maxTurnOver) * 100; } return 0; } }