You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

72 regels
2.2 KiB

  1. import {AfterViewInit, Component, Input, OnInit} from '@angular/core';
  2. import {Subscription} from "rxjs";
  3. import {SaleSummaryJsonld, SaleSummaryService, UserJsonld} from "@app/core/api/v1";
  4. import {AppHelperService} from "@app/_helpers/app-helper.service";
  5. @Component({
  6. selector: 'app-sale-summary',
  7. templateUrl: './sale-summary.component.html',
  8. styleUrl: './sale-summary.component.scss'
  9. })
  10. export class SaleSummaryComponent implements OnInit, AfterViewInit {
  11. @Input() public user!: UserJsonld;
  12. protected readonly Number = Number;
  13. protected salesSummarySub: Subscription;
  14. protected saleSummaries: Array<SaleSummaryJsonld>;
  15. protected saleSummaryMaxTurnover: number;
  16. constructor(
  17. private saleSummaryService: SaleSummaryService,
  18. protected appHelperService: AppHelperService,
  19. ) {
  20. this.salesSummarySub = new Subscription();
  21. this.saleSummaries = [];
  22. this.saleSummaryMaxTurnover = 0;
  23. }
  24. ngOnInit(): void {
  25. this.getData();
  26. }
  27. ngAfterViewInit(): void {
  28. }
  29. getData() {
  30. if (this.user !== undefined) {
  31. console.log(this.user);
  32. this.salesSummarySub = this.saleSummaryService.saleSummariesUserIdGet(
  33. String(this.user?.id)
  34. ).subscribe(
  35. data => {
  36. this.saleSummaries = [data];
  37. if (this.saleSummaries.length > 0) {
  38. this.saleSummaryMaxTurnover = Number(this.saleSummaries[0].turnover);
  39. }
  40. }
  41. )
  42. } else {
  43. this.salesSummarySub = this.saleSummaryService.saleSummariesGetCollection(
  44. 1,
  45. 50
  46. ).subscribe(
  47. data => {
  48. this.saleSummaries = data["hydra:member"];
  49. if (this.saleSummaries.length > 0) {
  50. this.saleSummaryMaxTurnover = Number(this.saleSummaries[0].turnover);
  51. }
  52. }
  53. )
  54. }
  55. }
  56. calculateWidthPercentage(turnover: number, maxTurnOver: number): number {
  57. if (turnover && maxTurnOver && maxTurnOver !== 0) {
  58. return (turnover / maxTurnOver) * 100;
  59. }
  60. return 0;
  61. }
  62. }