Project

General

Profile

1
import {Component, Input, Output, EventEmitter} from '@angular/core';
2

    
3

    
4
//Usage Example <paging [currentPage]="page" [totalResults]="resultsNum"  [navigateTo]="Search" [term]="keyword"> </paging>
5

    
6
@Component({
7
  selector: 'paging-no-load',
8
  template: `
9
  <div *ngIf=" ( getTotalPages() > 0 ) && (getTotalPages() > 1) && ( 0 < currentPage &&  currentPage <= getTotalPages() ) " >
10
  <ul class="pagination pagination-sm">
11

    
12
   <li *ngIf=" currentPage  > 1" ><a (click)="onPage((1))" aria-label="Previous">
13
       <span aria-hidden="true">&laquo;</span></a></li>
14
   <li *ngIf=" currentPage -2 > 0"><a (click)="onPage((currentPage -2))">{{currentPage -2}}</a></li>
15
   <li *ngIf=" currentPage -1 > 0 "><a (click)="onPage((currentPage -1))">{{currentPage -1}}</a></li>
16
   <li class="active"><a >{{currentPage}}</a></li>
17
   <li *ngIf=" currentPage +1 <= getTotalPages() "><a (click)="onPage((currentPage +1))">{{currentPage +1}}</a></li>
18
   <li *ngIf=" currentPage +2 <= getTotalPages() "><a (click)="onPage((currentPage +2))">{{currentPage +2}}</a></li>
19
   <li *ngIf=" (currentPage -2 <= 0)&&(currentPage +3 <= getTotalPages()) "><a (click)="onPage((currentPage +3))">{{currentPage +3}}</a></li>
20
   <li *ngIf=" (currentPage -1 <= 0)&&(currentPage +4 <= getTotalPages()) "><a (click)="onPage((currentPage +4))">{{currentPage +4}}</a></li>
21
   <li *ngIf="getTotalPages()  > currentPage"><a (click)="onPage((getTotalPages()))" aria-label="Next">
22
        <span aria-hidden="true">&raquo;</span>
23
      </a>
24
  </li>
25

    
26

    
27
 </ul>
28
  </div>
29
  `
30
})
31

    
32
export class pagingFormatterNoLoad {
33
  @Input() public currentPage: number = 1;
34
  @Input() public navigateTo: string;
35
  @Input() public term: string='';
36
  @Input() public size: number=10;
37
  @Input() public totalResults: number = 10;
38
  @Input() public params;
39

    
40
  @Output() pageChange  = new EventEmitter();
41

    
42
  constructor () {
43
   }
44

    
45
  ngOnInit() {
46
      console.info("In paging -- CurrentPage:"+this.currentPage+" "+"total Pages = "+this.getTotalPages()  +" Results num:"+this.totalResults);
47
  }
48
  getTotalPages(){
49
    var i= this.totalResults/this.size;
50
    var integerI=parseInt(''+i);
51
    return parseInt(''+((i==integerI)?i:i+1));
52
  }
53
  onPrev(){
54
    this.currentPage=this.currentPage-1;
55
    this.pageChange.emit({
56
     value: this.currentPage
57
   });
58

    
59
  }
60

    
61
  onNext(){
62

    
63
    this.currentPage=this.currentPage+1;
64
    this.pageChange.emit({
65
     value: this.currentPage
66
   });
67
  }
68
  onPage(pageNum: number){
69

    
70
     this.currentPage=pageNum;
71
     this.pageChange.emit({
72
      value: this.currentPage
73
    });
74
  }
75
}
(8-8/14)