Skip to content

Commit

Permalink
Fixed #9455 #9456
Browse files Browse the repository at this point in the history
  • Loading branch information
yigitfindikli committed Oct 26, 2020
1 parent c873236 commit 0d843fb
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 9 deletions.
12 changes: 10 additions & 2 deletions src/app/components/dataview/dataview.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import {FilterUtils} from 'primeng/utils';
<p-paginator [rows]="rows" [first]="first" [totalRecords]="totalRecords" [pageLinkSize]="pageLinks" [alwaysShow]="alwaysShowPaginator"
(onPageChange)="paginate($event)" styleClass="p-paginator-top" [rowsPerPageOptions]="rowsPerPageOptions" *ngIf="paginator && (paginatorPosition === 'top' || paginatorPosition =='both')"
[dropdownAppendTo]="paginatorDropdownAppendTo" [dropdownScrollHeight]="paginatorDropdownScrollHeight" [templateLeft]="paginatorLeftTemplate" [templateRight]="paginatorRightTemplate"
[currentPageReportTemplate]="currentPageReportTemplate" [showCurrentPageReport]="showCurrentPageReport" [showJumpToPageDropdown]="showJumpToPageDropdown" [showPageLinks]="showPageLinks"></p-paginator>
[currentPageReportTemplate]="currentPageReportTemplate" [showFirstLastIcon]="showFirstLastIcon" [dropdownItemTemplate]="paginatorDropdownItemTemplate" [showCurrentPageReport]="showCurrentPageReport" [showJumpToPageDropdown]="showJumpToPageDropdown" [showPageLinks]="showPageLinks"></p-paginator>
<div class="p-dataview-content">
<div class="p-grid p-nogutter">
<ng-template ngFor let-rowData let-rowIndex="index" [ngForOf]="paginator ? ((filteredValue||value) | slice:(lazy ? 0 : first):((lazy ? 0 : first) + rows)) : (filteredValue||value)" [ngForTrackBy]="trackBy">
Expand All @@ -36,7 +36,7 @@ import {FilterUtils} from 'primeng/utils';
<p-paginator [rows]="rows" [first]="first" [totalRecords]="totalRecords" [pageLinkSize]="pageLinks" [alwaysShow]="alwaysShowPaginator"
(onPageChange)="paginate($event)" styleClass="p-paginator-bottom" [rowsPerPageOptions]="rowsPerPageOptions" *ngIf="paginator && (paginatorPosition === 'bottom' || paginatorPosition =='both')"
[dropdownAppendTo]="paginatorDropdownAppendTo" [dropdownScrollHeight]="paginatorDropdownScrollHeight" [templateLeft]="paginatorLeftTemplate" [templateRight]="paginatorRightTemplate"
[currentPageReportTemplate]="currentPageReportTemplate" [showCurrentPageReport]="showCurrentPageReport" [showJumpToPageDropdown]="showJumpToPageDropdown" [showPageLinks]="showPageLinks"></p-paginator>
[currentPageReportTemplate]="currentPageReportTemplate" [showFirstLastIcon]="showFirstLastIcon" [dropdownItemTemplate]="paginatorDropdownItemTemplate" [showCurrentPageReport]="showCurrentPageReport" [showJumpToPageDropdown]="showJumpToPageDropdown" [showPageLinks]="showPageLinks"></p-paginator>
<div class="p-dataview-footer" *ngIf="footer || footerTemplate">
<ng-content select="p-footer"></ng-content>
<ng-container *ngTemplateOutlet="footerTemplate"></ng-container>
Expand Down Expand Up @@ -75,6 +75,8 @@ export class DataView implements OnInit,AfterContentInit,BlockableUI,OnChanges {

@Input() showJumpToPageDropdown: boolean;

@Input() showFirstLastIcon: boolean = true;

@Input() showPageLinks: boolean = true;

@Input() lazy: boolean;
Expand Down Expand Up @@ -133,6 +135,8 @@ export class DataView implements OnInit,AfterContentInit,BlockableUI,OnChanges {

paginatorRightTemplate: TemplateRef<any>;

paginatorDropdownItemTemplate: TemplateRef<any>;

filteredValue: any[];

filterValue: string;
Expand Down Expand Up @@ -185,6 +189,10 @@ export class DataView implements OnInit,AfterContentInit,BlockableUI,OnChanges {
this.paginatorRightTemplate = item.template;
break;

case 'paginatordropdownitem':
this.paginatorDropdownItemTemplate = item.template;
break;

case 'header':
this.headerTemplate = item.template;
break;
Expand Down
17 changes: 14 additions & 3 deletions src/app/components/paginator/paginator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import {SharedModule} from 'primeng/api';
<ng-container *ngTemplateOutlet="templateLeft; context: {$implicit: paginatorState}"></ng-container>
</div>
<span class="p-paginator-current" *ngIf="showCurrentPageReport">{{currentPageReport}}</span>
<button type="button" [disabled]="isFirstPage()" (click)="changePageToFirst($event)" pRipple
<button *ngIf="showFirstLastIcon" type="button" [disabled]="isFirstPage()" (click)="changePageToFirst($event)" pRipple
class="p-paginator-first p-paginator-element p-link" [ngClass]="{'p-disabled':isFirstPage()}">
<span class="p-paginator-icon pi pi-angle-double-left"></span>
</button>
Expand All @@ -34,12 +34,19 @@ import {SharedModule} from 'primeng/api';
class="p-paginator-next p-paginator-element p-link" [ngClass]="{'p-disabled':isLastPage()}">
<span class="p-paginator-icon pi pi-angle-right"></span>
</button>
<button type="button" [disabled]="isLastPage()" (click)="changePageToLast($event)" pRipple
<button *ngIf="showFirstLastIcon" type="button" [disabled]="isLastPage()" (click)="changePageToLast($event)" pRipple
class="p-paginator-last p-paginator-element p-link" [ngClass]="{'p-disabled':isLastPage()}">
<span class="p-paginator-icon pi pi-angle-double-right"></span>
</button>
<p-dropdown [options]="rowsPerPageItems" [(ngModel)]="rows" *ngIf="rowsPerPageOptions" styleClass="p-paginator-rpp-options"
(onChange)="onRppChange($event)" [appendTo]="dropdownAppendTo" [scrollHeight]="dropdownScrollHeight"></p-dropdown>
(onChange)="onRppChange($event)" [appendTo]="dropdownAppendTo" [scrollHeight]="dropdownScrollHeight">
<ng-container *ngIf="dropdownItemTemplate">
<ng-template let-item pTemplate="item">
<ng-container *ngTemplateOutlet="dropdownItemTemplate; context: {$implicit: item}">
</ng-container>
</ng-template>
</ng-container>
</p-dropdown>
<div class="p-paginator-right-content" *ngIf="templateRight">
<ng-container *ngTemplateOutlet="templateRight; context: {$implicit: paginatorState}"></ng-container>
</div>
Expand Down Expand Up @@ -73,6 +80,8 @@ export class Paginator implements OnInit, OnChanges {

@Input() showCurrentPageReport: boolean;

@Input() showFirstLastIcon: boolean = true;

@Input() totalRecords: number = 0;

@Input() rows: number = 0;
Expand All @@ -83,6 +92,8 @@ export class Paginator implements OnInit, OnChanges {

@Input() showPageLinks: boolean = true;

@Input() dropdownItemTemplate: TemplateRef<any>;

pageLinks: number[];

pageItems: SelectItem[];
Expand Down
12 changes: 10 additions & 2 deletions src/app/components/table/table.ts
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ export class TableService {
<p-paginator [rows]="rows" [first]="first" [totalRecords]="totalRecords" [pageLinkSize]="pageLinks" styleClass="p-paginator-top" [alwaysShow]="alwaysShowPaginator"
(onPageChange)="onPageChange($event)" [rowsPerPageOptions]="rowsPerPageOptions" *ngIf="paginator && (paginatorPosition === 'top' || paginatorPosition =='both')"
[templateLeft]="paginatorLeftTemplate" [templateRight]="paginatorRightTemplate" [dropdownAppendTo]="paginatorDropdownAppendTo" [dropdownScrollHeight]="paginatorDropdownScrollHeight"
[currentPageReportTemplate]="currentPageReportTemplate" [showCurrentPageReport]="showCurrentPageReport" [showJumpToPageDropdown]="showJumpToPageDropdown" [showPageLinks]="showPageLinks"></p-paginator>
[currentPageReportTemplate]="currentPageReportTemplate" [showFirstLastIcon]="showFirstLastIcon" [dropdownItemTemplate]="paginatorDropdownItemTemplate" [showCurrentPageReport]="showCurrentPageReport" [showJumpToPageDropdown]="showJumpToPageDropdown" [showPageLinks]="showPageLinks"></p-paginator>
<div class="p-datatable-wrapper" *ngIf="!scrollable">
<table role="grid" #table [ngClass]="tableStyleClass" [ngStyle]="tableStyle">
Expand All @@ -109,7 +109,7 @@ export class TableService {
<p-paginator [rows]="rows" [first]="first" [totalRecords]="totalRecords" [pageLinkSize]="pageLinks" styleClass="p-paginator-bottom" [alwaysShow]="alwaysShowPaginator"
(onPageChange)="onPageChange($event)" [rowsPerPageOptions]="rowsPerPageOptions" *ngIf="paginator && (paginatorPosition === 'bottom' || paginatorPosition =='both')"
[templateLeft]="paginatorLeftTemplate" [templateRight]="paginatorRightTemplate" [dropdownAppendTo]="paginatorDropdownAppendTo" [dropdownScrollHeight]="paginatorDropdownScrollHeight"
[currentPageReportTemplate]="currentPageReportTemplate" [showCurrentPageReport]="showCurrentPageReport" [showJumpToPageDropdown]="showJumpToPageDropdown" [showPageLinks]="showPageLinks"></p-paginator>
[currentPageReportTemplate]="currentPageReportTemplate" [showFirstLastIcon]="showFirstLastIcon" [dropdownItemTemplate]="paginatorDropdownItemTemplate" [showCurrentPageReport]="showCurrentPageReport" [showJumpToPageDropdown]="showJumpToPageDropdown" [showPageLinks]="showPageLinks"></p-paginator>
<div *ngIf="summaryTemplate" class="p-datatable-footer">
<ng-container *ngTemplateOutlet="summaryTemplate"></ng-container>
Expand Down Expand Up @@ -159,6 +159,8 @@ export class Table implements OnInit, AfterViewInit, AfterContentInit, Blockable

@Input() showJumpToPageDropdown: boolean;

@Input() showFirstLastIcon: boolean = true;

@Input() showPageLinks: boolean = true;

@Input() defaultSortOrder: number = 1;
Expand Down Expand Up @@ -355,6 +357,8 @@ export class Table implements OnInit, AfterViewInit, AfterContentInit, Blockable

paginatorRightTemplate: TemplateRef<any>;

paginatorDropdownItemTemplate: TemplateRef<any>;

selectionKeys: any = {};

lastResizerHelperX: number;
Expand Down Expand Up @@ -499,6 +503,10 @@ export class Table implements OnInit, AfterViewInit, AfterContentInit, Blockable
case 'paginatorright':
this.paginatorRightTemplate = item.template;
break;

case 'paginatordropdownitem':
this.paginatorDropdownItemTemplate = item.template;
break;
}
});
}
Expand Down
12 changes: 10 additions & 2 deletions src/app/components/treetable/treetable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ export class TreeTableService {
<p-paginator [rows]="rows" [first]="first" [totalRecords]="totalRecords" [pageLinkSize]="pageLinks" styleClass="p-paginator-top" [alwaysShow]="alwaysShowPaginator"
(onPageChange)="onPageChange($event)" [rowsPerPageOptions]="rowsPerPageOptions" *ngIf="paginator && (paginatorPosition === 'top' || paginatorPosition =='both')"
[templateLeft]="paginatorLeftTemplate" [templateRight]="paginatorRightTemplate" [dropdownAppendTo]="paginatorDropdownAppendTo"
[currentPageReportTemplate]="currentPageReportTemplate" [showCurrentPageReport]="showCurrentPageReport" [showJumpToPageDropdown]="showJumpToPageDropdown" [showPageLinks]="showPageLinks"></p-paginator>
[currentPageReportTemplate]="currentPageReportTemplate" [showFirstLastIcon]="showFirstLastIcon" [dropdownItemTemplate]="paginatorDropdownItemTemplate" [showCurrentPageReport]="showCurrentPageReport" [showJumpToPageDropdown]="showJumpToPageDropdown" [showPageLinks]="showPageLinks"></p-paginator>
<div class="p-treetable-wrapper" *ngIf="!scrollable">
<table #table [ngClass]="tableStyleClass" [ngStyle]="tableStyle">
Expand All @@ -93,7 +93,7 @@ export class TreeTableService {
<p-paginator [rows]="rows" [first]="first" [totalRecords]="totalRecords" [pageLinkSize]="pageLinks" styleClass="p-paginator-bottom" [alwaysShow]="alwaysShowPaginator"
(onPageChange)="onPageChange($event)" [rowsPerPageOptions]="rowsPerPageOptions" *ngIf="paginator && (paginatorPosition === 'bottom' || paginatorPosition =='both')"
[templateLeft]="paginatorLeftTemplate" [templateRight]="paginatorRightTemplate" [dropdownAppendTo]="paginatorDropdownAppendTo"
[currentPageReportTemplate]="currentPageReportTemplate" [showCurrentPageReport]="showCurrentPageReport" [showJumpToPageDropdown]="showJumpToPageDropdown" [showPageLinks]="showPageLinks"></p-paginator>
[currentPageReportTemplate]="currentPageReportTemplate" [showFirstLastIcon]="showFirstLastIcon" [dropdownItemTemplate]="paginatorDropdownItemTemplate" [showCurrentPageReport]="showCurrentPageReport" [showJumpToPageDropdown]="showJumpToPageDropdown" [showPageLinks]="showPageLinks"></p-paginator>
<div *ngIf="summaryTemplate" class="p-treetable-footer">
<ng-container *ngTemplateOutlet="summaryTemplate"></ng-container>
</div>
Expand Down Expand Up @@ -148,6 +148,8 @@ export class TreeTable implements AfterContentInit, OnInit, OnDestroy, Blockable

@Input() showJumpToPageDropdown: boolean;

@Input() showFirstLastIcon: boolean = true;

@Input() showPageLinks: boolean = true;

@Input() defaultSortOrder: number = 1;
Expand Down Expand Up @@ -304,6 +306,8 @@ export class TreeTable implements AfterContentInit, OnInit, OnDestroy, Blockable

paginatorRightTemplate: TemplateRef<any>;

paginatorDropdownItemTemplate: TemplateRef<any>;

frozenHeaderTemplate: TemplateRef<any>;

frozenBodyTemplate: TemplateRef<any>;
Expand Down Expand Up @@ -390,6 +394,10 @@ export class TreeTable implements AfterContentInit, OnInit, OnDestroy, Blockable
this.paginatorRightTemplate = item.template;
break;

case 'paginatordropdownitem':
this.paginatorDropdownItemTemplate = item.template;
break;

case 'frozenheader':
this.frozenHeaderTemplate = item.template;
break;
Expand Down

0 comments on commit 0d843fb

Please sign in to comment.