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
import {RouterHelper} from '../../utils/routerHelper.class';
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-primary" role="alert">No {{filter.title}} statistics found</div>
20
      <ul *ngIf="filter.values.length > 0 && !viewAll" class="uk-list uk-list-divider  browseFilters">
21

    
22
        <li *ngFor= "let value of filter.values.slice(0,5)"><!--a [href]="baseUrl+'?'+filter.filterId+'='+value.id">{{_formatName(value)}} ({{value.number}})</a-->
23
          <a class = " filterItem"  [queryParams]="routerHelper.createQueryParam(filter.filterId,quote(value.id))" routerLinkActive="router-link-active" [routerLink]=baseUrl>
24
          <span class="filterName"><div title = "{{value.name}}">{{_formatName(value)}} </div></span> <span class="filterNumber" > ({{value.number}})</span></a>
25
        </li>
26
        <li *ngIf= " filter.values.length > 5  ">
27
          <a href="#modal-{{filter.filterId}}" uk-toggle><span class="uk-text-muted">View more </span><span uk-icon="icon: triangle-right"></span></a>
28

    
29
          <!--
30
              uk-toggle="target: modal-"
31
              uk-toggle='{"target": modal-}'>
32
              uk-toggle target="modal-"
33
          -->
34
          <!--span uk-toggle='{"target": modal-}'><span class="uk-text-muted clickable">View more </span><a><span uk-icon="icon: triangle-right"></span></a></span-->
35
        </li>
36
      </ul>
37
      <ul *ngIf="filter.values.length > 0 && viewAll" class="uk-list uk-list-divider   browseFilters">
38
        <li *ngFor= "let value of filter.values"><!--a [href]="baseUrl+'?'+filter.filterId+'='+value.id">{{_formatName(value)}} ({{value.number}})</a-->
39
        <a class = " filterItem" [queryParams]="routerHelper.createQueryParam(filter.filterId,quote(value.id))" routerLinkActive="router-link-active" [routerLink]=baseUrl>
40
          <span class="filterName"><div title = "{{value.name}}">{{_formatName(value)}} </div></span> <span class="filterNumber" > ({{value.number}})</span></a>
41
        </li>
42
        <li *ngIf= " filter.values.length > 5 && viewAll " (click)="viewAll=false;">
43
          <span  ><span class="uk-text-muted clickable">View less </span><a><span uk-icon="icon: triangle-up"></span></a></span>
44
        </li>
45
      </ul>
46

    
47

    
48
      <!-- This is the modal -->
49
      <div id="modal-{{filter.filterId}}" uk-modal>
50
        <div class="uk-modal-dialog uk-modal-body">
51
          <button class="uk-modal-close-default" type="button" uk-close></button>
52

    
53
          <h4 class="tm-article-subtitle">{{filter.title}}</h4>
54
          <ul *ngIf="filter.values.length > 0" class="uk-list uk-list-line   browseFilters">
55
            <li *ngFor= "let value of filter.values"><!--a [href]="baseUrl+'?'+filter.filterId+'='+value.id">{{_formatName(value)}} ({{value.number}})</a-->
56
            <a class = "uk-modal-close filterItem" [queryParams]="routerHelper.createQueryParam(filter.filterId,quote(value.id))" routerLinkActive="router-link-active" [routerLink]=baseUrl>
57
              <span class="filterName"><div title = "{{value.name}}">{{_formatName(value)}} </div></span><span class="filterNumber" > ({{value.number}})</span></a>
58
            </li>
59
          </ul>
60
        </div>
61
      </div>
62

    
63

    
64
    `
65

    
66
})
67
export class BrowseStatisticComponent {
68

    
69
  @Input() public baseUrl:string = "";
70
  @Input() public filter:any = "";
71
  private _maxCharacters = 30;
72
  public viewAll = false;
73
  public routerHelper:RouterHelper = new RouterHelper();
74
  constructor () {
75

    
76
  }
77

    
78
  public ngOnInit() {
79

    
80

    
81
  }
82

    
83
      quote(str:string){
84
        return '"'+str+'"';
85
      }
86

    
87
  private _formatName(value){
88
    return value.name+" ";//(((value.name+" ("+value.number+")").length >this._maxCharacters)?(value.name.substring(0,(this._maxCharacters - (" ("+value.number+")").length - ('...').length))+"..."):value.name)
89
  }
90

    
91
}
(7-7/28)