Project

General

Profile

1
import {Component, Input, Output, EventEmitter} from '@angular/core';
2
import {Observable}       from 'rxjs/Observable';
3
import {ErrorCodes} from '../../utils/properties/errorCodes';
4

    
5
@Component({
6
    selector: 'search-paging',
7
    template: `
8
    <div class= "searchPaging uk-panel uk-margin-small-top uk-grid">
9
      <!--div class="uk-width-1-1@s uk-width-1-2@m" *ngIf="results && searchUtils.totalResults > 0">
10
        <span class="portal-color">{{searchUtils.totalResults|number}}</span> {{type}}, page <span class="portal-color">{{searchUtils.page | number}}</span> of <span class="portal-color">{{(totalPages(searchUtils.totalResults)|number)}}</span>
11
      </div>
12
      <div class="uk-width-1-1@s uk-width-1-2@m" *ngIf="!loadPaging && oldTotalResults > 0 && searchUtils.status == errorCodes.LOADING">
13
        <span class="portal-color">{{oldTotalResults|number}}</span> {{type}}, page <span class="portal-color">{{searchUtils.page | number}}</span> of <span class="portal-color">{{(totalPages(oldTotalResults)|number)}}</span>
14
      </div-->
15
      <div class="uk-width-1-1@s uk-width-1-2@m" *ngIf="results && searchUtils.totalResults > 0">
16
        {{searchUtils.totalResults|number}} {{type}}, page {{searchUtils.page | number}} of {{(totalPages(searchUtils.totalResults)|number)}}
17
      </div>
18
      <div class="uk-width-1-1@s uk-width-1-2@m" *ngIf="!loadPaging && oldTotalResults > 0 && searchUtils.status == errorCodes.LOADING">
19
        {{oldTotalResults|number}} {{type}}, page {{searchUtils.page | number}} of {{(totalPages(oldTotalResults)|number)}}
20
      </div>
21
      <div class="float-children-right-at-medium margin-small-top-at-small uk-width-1-1@s uk-width-1-2@m" *ngIf="results && searchUtils.totalResults > searchUtils.size">
22
        <paging [currentPage]="searchUtils.page" [totalResults]="searchUtils.totalResults"  [baseUrl]="baseUrl" [size]="searchUtils.size"  [parameterNames] = "parameterNames" [parameterValues] = "parameterValues" > </paging>
23
      </div>
24
      <div class="float-children-right-at-medium margin-small-top-at-small uk-width-1-1@s uk-width-1-2@m" *ngIf="!loadPaging && oldTotalResults > searchUtils.size && searchUtils.status == errorCodes.LOADING">
25
        <paging [currentPage]="searchUtils.page" [totalResults]="oldTotalResults"  [baseUrl]="baseUrl" [size]="searchUtils.size"  [parameterNames] = "parameterNames" [parameterValues] = "parameterValues" > </paging>
26
      </div>
27
    </div>
28
    `
29
})
30

    
31
export class SearchPagingComponent {
32
    @Input() searchUtils;
33
    @Input() results;
34
    @Input() baseUrl;
35
    @Input() type;
36
    @Input() parameterNames:string[];
37
    @Input() parameterValues:string[];
38

    
39
    @Input() loadPaging: boolean = true;
40
    @Input() oldTotalResults: number = 0;
41

    
42
    public totalResults: number = 0;
43
    public errorCodes:ErrorCodes = new ErrorCodes();
44

    
45
    // @Input() totalResults:number = 0;
46
    constructor () {}
47

    
48
    ngOnInit() {
49
      // this.totalResults = this.searchUtils.totalResults;
50
      // if(!this.loadPaging && this.totalResults == 0) {
51
      //   this.totalResults = this.oldTotalResults;
52
      // }
53
    }
54

    
55
    totalPages(totalResults: number): number {
56
        let totalPages:any = totalResults/(this.searchUtils.size);
57
        if(!(Number.isInteger(totalPages))) {
58
            totalPages = (parseInt(totalPages, 10) + 1);
59
        }
60
        return totalPages;
61
    }
62

    
63

    
64
}
(30-30/42)