Project

General

Profile

1
import {Component, Input, Output, EventEmitter} from '@angular/core';
2
import {Router, ROUTER_DIRECTIVES} from '@angular/router-deprecated';
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
  directives: [
31
    ...ROUTER_DIRECTIVES
32
  ]
33
})
34

    
35
export class pagingFormatterNoLoad {
36
  @Input() currentPage: number = 1;
37
  @Input() navigateTo: string;
38
  @Input() term: string='';
39
  @Input() size: number=10;
40
  @Input() totalResults: number = 10;
41
  @Input() params;
42

    
43
  @Output() pageChange  = new EventEmitter();
44

    
45
  constructor ( private _router: Router) {
46
   }
47

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

    
62
  }
63

    
64
  onNext(){
65

    
66
    this.currentPage=this.currentPage+1;
67
    this.pageChange.emit({
68
     value: this.currentPage
69
   });
70
  }
71
  onPage(pageNum: number){
72

    
73
     this.currentPage=pageNum;
74
     this.pageChange.emit({
75
      value: this.currentPage
76
    });
77
  }
78
}
(4-4/6)