Project

General

Profile

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

    
4
@Component({
5
    selector: 'search-paging',
6
    template: `
7
    <div class= "paging-hr searchPaging uk-margin-small-bottom"
8
         *ngIf="(results && searchUtils.totalResults > 0) || (!loadPaging && oldTotalResults > 0 && searchUtils.status == errorCodes.LOADING)">
9
      <div class="uk-panel uk-margin-small-top uk-grid  uk-flex uk-flex-middle">
10
        <div class="uk-width-1-1@s uk-width-1-2@m  uk-text-uppercase" 
11
             *ngIf="results && searchUtils.totalResults > 0">
12
          {{searchUtils.totalResults|number}}
13
          <span class="uk-text-muted uk-text-uppercase"> {{type}}, page </span>
14
          {{searchUtils.page | number}}
15
          <span class="uk-text-muted uk-text-uppercase"> of </span>
16
          {{(totalPages(searchUtils.totalResults)|number)}}
17
        </div>
18
        <div class="uk-width-1-1@s uk-width-1-2@m" 
19
             *ngIf="!loadPaging && oldTotalResults > 0 && searchUtils.status == errorCodes.LOADING">
20
          {{oldTotalResults|number}}
21
          <span class="uk-text-muted uk-text-uppercase"> {{type}}, page </span>
22
          {{searchUtils.page | number}}
23
          <span class="uk-text-muted uk-text-uppercase"> of </span>
24
          {{(totalPages(oldTotalResults)|number)}}
25
        </div>
26
        <!--div class="uk-width-1-1@s uk-width-1-2@m" *ngIf="results && searchUtils.totalResults > 0">
27
          {{searchUtils.totalResults|number}} {{type}}, page {{searchUtils.page | number}} of {{(totalPages(searchUtils.totalResults)|number)}}
28
        </div>
29
        <div class="uk-width-1-1@s uk-width-1-2@m" *ngIf="!loadPaging && oldTotalResults > 0 && searchUtils.status == errorCodes.LOADING">
30
          {{oldTotalResults|number}} {{type}}, page {{searchUtils.page | number}} of {{(totalPages(oldTotalResults)|number)}}
31
        </div-->
32
        <div class="float-children-right-at-medium margin-small-top-at-small uk-width-expand" *ngIf="results && searchUtils.totalResults > searchUtils.size">
33
          <paging [currentPage]="searchUtils.page" [totalResults]="searchUtils.totalResults"  [baseUrl]="baseUrl" 
34
                  [size]="searchUtils.size"  [parameterNames] = "parameterNames" [parameterValues] = "parameterValues"
35
                  [isDisabled]="isDisabled"> 
36
          </paging>
37
        </div>
38
        <div class="float-children-right-at-medium margin-small-top-at-small uk-width-expand" *ngIf="!loadPaging && oldTotalResults > searchUtils.size && searchUtils.status == errorCodes.LOADING">
39
          <paging [currentPage]="searchUtils.page" [totalResults]="oldTotalResults"  [baseUrl]="baseUrl" 
40
                  [size]="searchUtils.size"  [parameterNames] = "parameterNames" [parameterValues] = "parameterValues"
41
                  [isDisabled]="isDisabled"> 
42
          </paging>
43
        </div>
44
      </div>
45
    </div>
46
    `
47
})
48

    
49
export class SearchPagingComponent {
50
    @Input() isDisabled: boolean = false;
51
    @Input() searchUtils;
52
    @Input() results;
53
    @Input() baseUrl;
54
    @Input() type;
55
    @Input() parameterNames:string[];
56
    @Input() parameterValues:string[];
57

    
58
    @Input() loadPaging: boolean = true;
59
    @Input() oldTotalResults: number = 0;
60

    
61
    public totalResults: number = 0;
62
    public errorCodes:ErrorCodes = new ErrorCodes();
63

    
64
    // @Input() totalResults:number = 0;
65
    constructor () {}
66

    
67
    ngOnInit() {
68
      // this.totalResults = this.searchUtils.totalResults;
69
      // if(!this.loadPaging && this.totalResults == 0) {
70
      //   this.totalResults = this.oldTotalResults;
71
      // }
72
    }
73

    
74
    totalPages(totalResults: number): number {
75
        let totalPages:any = totalResults/(this.searchUtils.size);
76
        if(!(Number.isInteger(totalPages))) {
77
            totalPages = (parseInt(totalPages, 10) + 1);
78
        }
79
        return totalPages;
80
    }
81

    
82

    
83
}
(35-35/47)