Project

General

Profile

1
import {Component, Input, ViewChild} from '@angular/core';
2
import { ActivatedRoute} from '@angular/router';
3
import {Location} from '@angular/common';
4

    
5
import { Filter, Value} from '../searchUtils/searchHelperClasses.class';
6

    
7
import {RefineFieldResultsService} from '../../services/refineFieldResults.service';
8
import {OpenaireProperties, ErrorCodes} from '../../utils/properties/openaireProperties';
9
import {SearchFields} from '../../utils/properties/searchFields';
10
import {SearchPageComponent } from '../searchUtils/searchPage.component';
11
import {SearchUtilsClass} from '../searchUtils/searchUtils.class';
12

    
13
@Component({
14
    selector: 'browse-statistic',
15
    template: `
16

    
17

    
18
       <h4 class="tm-article-subtitle">{{filter.title}}</h4>
19
      <div *ngIf="filter.values.length == 0" class="uk-alert uk-alert-info" role="alert">No {{filter.title}} statistics found</div>
20
      <ul *ngIf="filter.values.length > 0 && !viewAll" class="uk-list uk-list-line ">
21
        <li *ngFor= "let value of filter.values.slice(0,5)"><a [href]="baseUrl+'?'+filter.filterId+'='+value.id">{{_formatName(value)}} ({{value.number}})</a></li>
22
        <li *ngIf= " filter.values.length > 5 && !viewAll " (click)="viewAll=true;">
23
          <span  ><span class="uk-text-muted clickable">View more </span><a><i class="uk-icon-toggle-right"></i></a></span>
24
        </li>
25
      </ul>
26
      <ul *ngIf="filter.values.length > 0 && viewAll" class="uk-list uk-list-line   searchFilterBoxValues">
27
        <li *ngFor= "let value of filter.values"><a [href]="baseUrl+'?'+filter.filterId+'='+value.id">{{_formatName(value)}} ({{value.number}})</a></li>
28
        <li *ngIf= " filter.values.length > 5 && viewAll " (click)="viewAll=false;">
29
          <span  ><span class="uk-text-muted clickable">View less </span><a><i class="uk-icon-toggle-up"></i></a></span>
30
        </li>
31
      </ul>
32

    
33

    
34

    
35
    `
36

    
37
})
38
export class BrowseStatisticComponent {
39

    
40
  @Input() public baseUrl:string = "";
41
  @Input() public filter:any = "";
42
  private _maxCharacters = 30;
43
  public viewAll = false;
44

    
45
  constructor () {
46

    
47
  }
48

    
49
  public ngOnInit() {
50

    
51

    
52
  }
53

    
54
  private _formatName(value){
55
    return (((value.name+" ("+value.number+")").length >this._maxCharacters)?(value.name.substring(0,(this._maxCharacters - (" ("+value.number+")").length - ('...').length))+"..."):value.name)
56
  }
57

    
58
}
(7-7/20)