Skip to content

Commit 54b7a6b

Browse files
damyanpetevkdinevChronosSF
authored
Grids - drop condition for hiding paginator (#12253)
* fix(tree-grid,h-grid): drop condition for hiding paginator * refactor(grid): also remove condition for the grid paginator * test(grids): update tests for paginator w/o data/hidden columns * docs(grids): add a note about paginator behavior change Co-authored-by: Konstantin Dinev <[email protected]> Co-authored-by: Stamen Stoychev <[email protected]>
1 parent 02d6fc2 commit 54b7a6b

File tree

8 files changed

+6
-41
lines changed

8 files changed

+6
-41
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ All notable changes for each version of this project will be documented in this
3131
- **Behavioral Change** - When adding new row in grid with enabled batch editing, `rowChangesCount` displays the number of the defined columns.
3232
- `IgxGrid`, `IgxTreeGrid`, `IgxHierarchicalGrid`
3333
- **Behavioral Change** - When editing a row, `rowChangesCount` and `hiddenColumnsCount`would be displayed.
34+
- **Behavioral Change** - The Grid Paginator component is no longer hidden when there's no data and/or all columns are hidden.
3435

3536
- `IgxExcelExporterService`
3637
- Added support for exporting grid summaries.

projects/igniteui-angular/src/lib/grids/grid/column-hiding.spec.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -551,14 +551,12 @@ describe('Column Hiding UI #grid', () => {
551551

552552
tHeadItems = fixEl.querySelector('igx-grid-header-group');
553553
gridRows = fixEl.querySelector('igx-grid-row');
554-
paging = fixEl.querySelector('.igx-paginator');
555554
rowSelectors = gridEl.querySelector('.igx-grid__cbx-padding > igx-checkbox');
556555
dragIndicators = gridEl.querySelector('.igx-grid__drag-indicator');
557556
verticalScrollBar = gridEl.querySelector('.igx-grid__tbody-scrollbar[hidden]');
558557

559558
expect(tHeadItems).toBeNull();
560559
expect(gridRows).toBeNull();
561-
expect(paging).toBeNull();
562560
expect(rowSelectors).toBeNull();
563561
expect(dragIndicators).toBeNull();
564562
expect(verticalScrollBar).not.toBeNull();

projects/igniteui-angular/src/lib/grids/grid/grid.component.html

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -181,9 +181,7 @@
181181

182182
<div class="igx-grid__footer" #footer>
183183
<ng-content select="igx-grid-footer"></ng-content>
184-
<ng-container *ngIf="totalRecords || pagingMode === 1">
185-
<ng-content select="igx-paginator"></ng-content>
186-
</ng-container>
184+
<ng-content select="igx-paginator"></ng-content>
187185
</div>
188186

189187
<ng-template #emptyFilteredGrid>

projects/igniteui-angular/src/lib/grids/grid/grid.pagination.spec.ts

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -440,30 +440,6 @@ describe('IgxGrid - Grid Paging #grid', () => {
440440
fix.detectChanges();
441441
expect(grid.page).toBe(desiredPageIndex);
442442
});
443-
444-
it('should hide paginator when there is no data or all records are filtered out.', () => {
445-
fix.detectChanges();
446-
447-
verifyGridPager(fix, 3, '1', '1\xA0of\xA04', [true, true, false, false]);
448-
449-
// Filter out all records
450-
grid.filter('ID', 1000, IgxNumberFilteringOperand.instance().condition('greaterThan'));
451-
fix.detectChanges();
452-
453-
expect(GridFunctions.getGridPaginator(grid)).toBeNull();
454-
455-
grid.filter('ID', 1, IgxNumberFilteringOperand.instance().condition('greaterThan'));
456-
fix.detectChanges();
457-
expect(GridFunctions.getGridPaginator(grid)).not.toBeNull();
458-
459-
grid.data = null;
460-
fix.detectChanges();
461-
expect(GridFunctions.getGridPaginator(grid)).toBeNull();
462-
463-
grid.data = fix.componentInstance.data;
464-
fix.detectChanges();
465-
expect(GridFunctions.getGridPaginator(grid)).not.toBeNull();
466-
});
467443
});
468444

469445
it('should not throw error when data is undefined', fakeAsync(() => {
@@ -476,14 +452,10 @@ describe('IgxGrid - Grid Paging #grid', () => {
476452
}
477453
expect(errorMessage).toBe('');
478454
grid = fix.componentInstance.grid;
479-
let paginator = GridFunctions.getGridPaginator(grid);
480-
expect(paginator).toBeNull();
481455
expect(grid.rowList.length).toBe(0);
482456
tick(305);
483457
fix.detectChanges();
484458

485-
paginator = GridFunctions.getGridPaginator(grid);
486-
expect(paginator).toBeDefined();
487459
expect(grid.rowList.length).toBe(5);
488460
}));
489461

projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@
142142

143143
<div class="igx-grid__footer" #footer>
144144
<ng-content select="igx-grid-footer"></ng-content>
145-
<ng-content *ngIf="totalRecords || pagingMode === 1" select="igx-paginator"></ng-content>
145+
<ng-content select="igx-paginator"></ng-content>
146146
<ng-container #paginatorOutlet></ng-container>
147147
</div>
148148

projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.integration.spec.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -674,14 +674,12 @@ describe('IgxHierarchicalGrid Integration #hGrid', () => {
674674

675675
headers = GridFunctions.getColumnHeaders(fixture);
676676
gridRows = HierarchicalGridFunctions.getHierarchicalRows(fixture);
677-
paging = GridFunctions.getGridPaginator(fixture);
678677
rowSelectors = GridSelectionFunctions.getCheckboxes(fixture);
679678
dragIndicators = GridFunctions.getDragIndicators(fixture);
680679
expander = HierarchicalGridFunctions.getExpander(fixture, '[hidden]');
681680

682681
expect(headers.length).toBe(0);
683682
expect(gridRows.length).toBe(0);
684-
expect(paging).toBeNull();
685683
expect(rowSelectors.length).toBe(0);
686684
expect(dragIndicators.length).toBe(0);
687685
// this check executes correctly on Ivy only

projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.component.html

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -136,9 +136,7 @@
136136

137137
<div class="igx-grid__footer" #footer>
138138
<ng-content select="igx-grid-footer"></ng-content>
139-
<ng-container *ngIf="totalRecords || pagingMode === 1">
140-
<ng-content select="igx-paginator"></ng-content>
141-
</ng-container>
139+
<ng-content select="igx-paginator"></ng-content>
142140
</div>
143141

144142
<ng-template #emptyFilteredGrid>

projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.component.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ describe('IgxTreeGrid Component Tests #tGrid', () => {
220220
fix.detectChanges();
221221
}));
222222

223-
it('should not render rows, paging and headers group when all cols are hidden', fakeAsync(() => {
223+
it('should not render rows and headers group when all cols are hidden', fakeAsync(() => {
224224
grid.rowSelection = GridSelectionMode.multiple;
225225
grid.rowDraggable = true;
226226
tick();
@@ -256,7 +256,7 @@ describe('IgxTreeGrid Component Tests #tGrid', () => {
256256

257257
expect(tHeadItems).toBeNull();
258258
expect(gridRows).toBeNull();
259-
expect(paging).toBeNull();
259+
expect(paging).not.toBeNull();
260260
expect(rowSelectors).toBeNull();
261261
expect(dragIndicators).toBeNull();
262262
expect(verticalScrollBar).not.toBeNull();

0 commit comments

Comments
 (0)