1
|
import {Component, Input, Output, EventEmitter} from '@angular/core';
|
2
|
import {Observable} from 'rxjs/Observable';
|
3
|
|
4
|
@Component({
|
5
|
selector: 'search-paging',
|
6
|
template: `
|
7
|
<div class= "searchPaging uk-panel uk-margin-top">
|
8
|
<div class="uk-float-right" *ngIf="results && searchUtils.totalResults > searchUtils.size">
|
9
|
<paging [currentPage]="searchUtils.page" [totalResults]="searchUtils.totalResults" [baseUrl]="baseUrl" [size]="searchUtils.size" [parameterNames] = "parameterNames" [parameterValues] = "parameterValues" > </paging>
|
10
|
</div>
|
11
|
<div class="" *ngIf="results && searchUtils.totalResults > 0">
|
12
|
{{searchUtils.totalResults}} {{type}}, page {{searchUtils.page}} of {{(totalPages())}}
|
13
|
</div>
|
14
|
</div>
|
15
|
`
|
16
|
})
|
17
|
|
18
|
export class SearchPagingComponent {
|
19
|
@Input() searchUtils;
|
20
|
@Input() results;
|
21
|
@Input() baseUrl;
|
22
|
@Input() type;
|
23
|
@Input() parameterNames:string[];
|
24
|
@Input() parameterValues:string[];
|
25
|
|
26
|
// @Input() totalResults:number = 0;
|
27
|
constructor () {
|
28
|
}
|
29
|
|
30
|
ngOnInit() {
|
31
|
|
32
|
}
|
33
|
|
34
|
totalPages(): number {
|
35
|
let totalPages:any = this.searchUtils.totalResults/(this.searchUtils.size);
|
36
|
if(!(Number.isInteger(totalPages))) {
|
37
|
totalPages = (parseInt(totalPages, 10) + 1);
|
38
|
}
|
39
|
return totalPages;
|
40
|
}
|
41
|
|
42
|
|
43
|
}
|