Skip to content

Commit 2b0f764

Browse files
committed
fix(paginator): Enhance totalPages check #6861
1 parent 07ce550 commit 2b0f764

File tree

3 files changed

+16
-5
lines changed

3 files changed

+16
-5
lines changed

projects/igniteui-angular/src/lib/paginator/paginator.component.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,8 @@ export class IgxPaginatorComponent extends DisplayDensityBase {
8383
this.perPageChange.emit(this._perPage);
8484
this._selectOptions = this.sortUniqueOptions(this.defaultSelectValues, this._perPage);
8585
this.totalPages = Math.ceil(this.totalRecords / this._perPage);
86-
if (this._page >= this.totalPages) {
87-
this._page = this.totalPages - 1;
86+
if (this.totalPages !== 0 && this.page >= this.totalPages) {
87+
this.page = this.totalPages - 1;
8888
}
8989
}
9090

src/app/grid-remote-paging/grid-remote-paging.sample.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,13 @@
1010
<ng-template #customPager let-api>
1111
<igx-paginator #paginator
1212
[totalRecords]="totalCount"
13+
[(page)]="page"
1314
[(perPage)]="perPage"
1415
[selectLabel]="'Records per page:'"
1516
[selectOptions]="selectOptions"
1617
[displayDensity]="grid1.displayDensity"
17-
(pageChange)="paginate($event)">
18+
(pageChange)="paginate($event)"
19+
(perPageChange)="perPageChange($event)">
1820
</igx-paginator>
1921
</ng-template>
2022
</div>

src/app/grid-remote-paging/grid-remote-paging.sample.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import { AfterViewInit, Component, OnDestroy, OnInit, TemplateRef, ViewChild } from '@angular/core';
2-
import { IgxGridComponent } from 'igniteui-angular';
2+
import { IgxGridComponent, IgxPaginatorComponent } from 'igniteui-angular';
33
import { RemoteService } from '../shared/remote.service';
44
import { Observable } from 'rxjs';
5+
import { IgxGridPaginatorOptionsPipe } from 'projects/igniteui-angular/src/lib/grids/common/pipes';
56

67
@Component({
78
selector: 'app-grid-remote-paging-sample',
@@ -30,7 +31,7 @@ export class GridRemotePagingSampleComponent implements OnInit, AfterViewInit, O
3031

3132
public set perPage(val: number) {
3233
this._perPage = val;
33-
this.paginate(0);
34+
// this.paginate(0);
3435
}
3536

3637
public ngOnInit() {
@@ -60,4 +61,12 @@ export class GridRemotePagingSampleComponent implements OnInit, AfterViewInit, O
6061

6162
this.remoteService.getPagingData(skip, top);
6263
}
64+
65+
public perPageChange(perPage: number) {
66+
debugger;
67+
const skip = this.page * perPage;
68+
const top = perPage;
69+
70+
this.remoteService.getPagingData(skip, top);
71+
}
6372
}

0 commit comments

Comments
 (0)