Project

General

Profile

1
import { Component, OnInit } from '@angular/core';
2
import { ActivatedRoute } from '@angular/router';
3
import { Http, RequestOptions, Headers } from '@angular/http';
4
import { AuthenticationService } from '../../services/authentication.service';
5
import { UsagestatsService } from '../../services/usagestats.service';
6
import { ReportResponse } from '../../domain/usageStatsClasses';
7

    
8
@Component({
9
  selector: 'metrics-usagestats-report-results',
10
  templateUrl: 'metrics-usagestats-report-results.component.html'
11
})
12
export class MetricsUsagestatsReportResultsComponent implements OnInit {
13

    
14
  errorMessage: string;
15
  repoResponse: ReportResponse;
16

    
17
  constructor(private route: ActivatedRoute,
18
              private authService: AuthenticationService,
19
              private usageService: UsagestatsService) {}
20

    
21
  ngOnInit() {
22
    this.getReportResponse();
23
  }
24

    
25
  getReportResponse() {
26
    let headers = new Headers({ 'Content-Type': 'application/json' });
27
    let httpOptions = new RequestOptions({ headers: headers });
28
    let params = new URLSearchParams();
29

    
30
    this.route.queryParams.subscribe( qparams => {
31
      params.append('Report', qparams['report']);
32
      params.append('Release', '4');
33
      params.append('RequestorID', this.authService.getUserEmail());
34
      params.append('BeginDate', qparams['beginDate']);
35
      params.append('EndDate', qparams['endDate']);
36
      params.append('RepositoryIdentifier', qparams['repoId']);
37
      params.append('ItemIdentifier', qparams['itemIdentifier']);
38
      params.append('Granularity', qparams['granularity']);
39
      if (qparams['pretty']) {
40
        params.append('Pretty', '');
41
      }
42
    });
43

    
44
    this.usageService.getReportResponse(params).subscribe(
45
      responseWrapper => {
46
        this.repoResponse = responseWrapper.ReportResponse
47
      },
48
      error => {
49
        this.errorMessage = 'Failed to load the report results!';
50
      }
51
    );
52

    
53
  }
54
}
(8-8/14)