Guest User

Untitled

a guest
Oct 19th, 2018
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.12 KB | None | 0 0
  1. <div class="row">
  2. <div class="col-md-12">
  3. <div class="page-header bg-white mb-3 box-perspective">
  4. <div class="header-title">
  5. <span class="f-lgreen f-20 f-bold">Gráfico de peso dos resíduos coletados</span>
  6. <div class="days-select">
  7. <span class="f-lgreen f-16 f-bold">Visualizar</span> : <span [class]="daySelected(7)" (click)="changeRange(7)">7 dias</span> | <span [class]="daySelected(15)" (click)="changeRange(15)">15 dias</span> | <span [class]="daySelected(30)" (click)="changeRange(30)">30 dias</span>
  8. </div>
  9. </div>
  10. <hr>
  11. <div class="content-map">
  12. <canvas baseChart #coletaChart="base-chart" height="100" class="defaultChart" [datasets]="coletaChartData" [labels]="coletaChartLabels"
  13. [options]="coletaChartOptions" [colors]="monthlyChartColors" [legend]="monthlyChartLegend" [chartType]="monthlyChartType"></canvas>
  14. </div>
  15. </div>
  16. </div>
  17. </div>
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24. ----
  25.  
  26.  
  27. changeRange(value) {
  28. this.rangePeso = value;
  29. this.loadChartsColeta();
  30. }
  31.  
  32.  
  33.  
  34. loadChartsColeta() {
  35. this.ordemColetaService.getPesosPorDia().then((res: any) => {
  36. let dadosColeta = [];
  37. let numberOfDays = this.rangePeso;
  38. let today = new Date();
  39. for (let i = 0; i < numberOfDays; i++) {
  40. let date = new Date(today.getFullYear(), today.getMonth(), today.getDate() - i);
  41. let day = String(date.getDate());
  42. let month = String(date.getMonth() + 1);
  43. let key = day + '/' + month;
  44.  
  45. let dataFound = res.find((elem) => elem.dia === key);
  46. dadosColeta[i] = {
  47. day: new Date(today.getFullYear(), today.getMonth(), today.getDate() - i),
  48. count: dataFound ? dataFound.peso : 0
  49. };
  50. }
  51. this.loadColetaChart(dadosColeta, this.rangePeso);
  52. }).catch((err) => {
  53. console.log(err);
  54. });
  55. }
  56.  
  57.  
  58. daySelected(value) {
  59. if (value === this.rangePeso) {
  60. return 'f-lgreen f-16 f-bold days-button';
  61. } else {
  62. return 'f-lgreen f-16 f-bold clickable';
  63. }
  64. }
  65.  
  66. public coletaChartOptions: any = {
  67. responsive: true,
  68. legend: {
  69. display: false
  70. },
  71. title: {
  72. display: true,
  73. text: ''
  74. },
  75. scales: {
  76. yAxes: [{
  77. scaleLabel: {
  78. display: true,
  79. labelString: 'Peso (KG)'
  80. }
  81. }]
  82. }
  83. };
Add Comment
Please, Sign In to add comment