Added aggregator (Fixes #13)
This commit is contained in:
parent
a1418306fa
commit
b8960b0eb2
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@ztimson/ng-datatable",
|
"name": "@ztimson/ng-datatable",
|
||||||
"version": "1.8.7",
|
"version": "1.9.7",
|
||||||
"homepage": "https://github.com/ztimson/ng-datatable",
|
"homepage": "https://github.com/ztimson/ng-datatable",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"author": {
|
"author": {
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import {TemplateRef} from "@angular/core";
|
import {TemplateRef} from "@angular/core";
|
||||||
|
|
||||||
export interface Column {
|
export interface Column {
|
||||||
|
aggregate?: (rows: any[]) => any;
|
||||||
cssClass?: string; // CSS to add to column
|
cssClass?: string; // CSS to add to column
|
||||||
hide?: boolean; // Hide column
|
hide?: boolean; // Hide column
|
||||||
hideMobile?: boolean; // Hide column on mobile
|
hideMobile?: boolean; // Hide column on mobile
|
||||||
|
@ -48,6 +48,13 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
<tr class="ngdt-total">
|
||||||
|
<td *ngIf="showCheckbox && selectionMode !== null" class="ngdt-checkbox"></td>
|
||||||
|
<td *ngIf="expandedTemplate" class="ngdt-expand"></td>
|
||||||
|
<ng-container *ngFor="let c of columns">
|
||||||
|
<td class="ngdt-cell">{{aggregate(c)}}</td>
|
||||||
|
</ng-container>
|
||||||
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<nav *ngIf="paginate" [class]="paginateCssClass + 'ngdt-paginator'" aria-label="Page navigation">
|
<nav *ngIf="paginate" [class]="paginateCssClass + 'ngdt-paginator'" aria-label="Page navigation">
|
||||||
|
@ -75,6 +75,11 @@ export class NgDatatableComponent implements OnInit {
|
|||||||
this.filterChanged.emit(this.filters);
|
this.filterChanged.emit(this.filters);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
aggregate(col: Column) {
|
||||||
|
if(!col.aggregate) return '';
|
||||||
|
return col.aggregate(this.processedData.map(row => this._dotNotation(row, col.property)));
|
||||||
|
}
|
||||||
|
|
||||||
changePage(page: number) {
|
changePage(page: number) {
|
||||||
if(!this.paginate || page < 1 || page > this.pages.length) return;
|
if(!this.paginate || page < 1 || page > this.pages.length) return;
|
||||||
this.page = page;
|
this.page = page;
|
||||||
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user