Skip to content

Commit a752390

Browse files
Katrinhanastasov
andauthored
Expose groupRecord property in grid summaries on master (#12373)
* chore(summary): expose groupRecord property * chore(summaries): fix the operate interface Co-authored-by: Hristo <[email protected]>
1 parent f482baf commit a752390

File tree

3 files changed

+13
-11
lines changed

3 files changed

+13
-11
lines changed

projects/igniteui-angular/src/lib/grids/grid/grid.summary.pipe.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ export class IgxGridSummaryPipe implements PipeTransform {
7575
for (const groupRecord of groupRecords) {
7676
const groupRecordId = this.grid.gridAPI.get_groupBy_record_id(groupRecord);
7777
const records = this.removeDeletedRecord(this.grid, groupRecord.records.slice());
78-
const summaries = this.grid.summaryService.calculateSummaries(groupRecordId, records);
78+
const summaries = this.grid.summaryService.calculateSummaries(groupRecordId, records, groupRecord);
7979
const summaryRecord: ISummaryRecord = {
8080
summaries,
8181
max: maxSummaryHeight
@@ -91,7 +91,7 @@ export class IgxGridSummaryPipe implements PipeTransform {
9191

9292
if (summaryPosition === GridSummaryPosition.top) {
9393
const records = this.removeDeletedRecord(this.grid, groupByRecord.records.slice());
94-
const summaries = this.grid.summaryService.calculateSummaries(recordId, records);
94+
const summaries = this.grid.summaryService.calculateSummaries(recordId, records, groupByRecord);
9595
const summaryRecord: ISummaryRecord = {
9696
summaries,
9797
max: maxSummaryHeight

projects/igniteui-angular/src/lib/grids/summaries/grid-summary.service.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ export class IgxGridSummaryService {
110110
return this.summaryHeight;
111111
}
112112

113-
public calculateSummaries(rowID, data) {
113+
public calculateSummaries(rowID, data, groupRecord) {
114114
let rowSummaries = this.summaryCacheMap.get(rowID);
115115
if (!rowSummaries) {
116116
rowSummaries = new Map<string, IgxSummaryResult[]>();
@@ -122,7 +122,7 @@ export class IgxGridSummaryService {
122122
this.grid.columns.filter(col => col.hasSummary).forEach((column) => {
123123
if (!rowSummaries.get(column.field)) {
124124
const summaryResult = column.summaries.operate(data.map(r => resolveNestedPath(r, column.field)),
125-
data, column.field, this.grid.locale, column.pipeArgs);
125+
data, column.field, groupRecord, this.grid.locale, column.pipeArgs);
126126
rowSummaries.set(column.field, summaryResult);
127127
}
128128
});

projects/igniteui-angular/src/lib/grids/summaries/grid-summary.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import { IGroupByRecord } from '../../data-operations/groupby-record.interface';
2+
13
export interface ISummaryExpression {
24
fieldName: string;
35
customSummary?: any;
@@ -74,7 +76,7 @@ export class IgxSummaryOperand {
7476
*
7577
* @memberof IgxSummaryOperand
7678
*/
77-
public operate(data: any[] = [], allData: any[] = [], fieldName?: string): IgxSummaryResult[] {
79+
public operate(data: any[] = [], allData: any[] = [], fieldName?: string, groupRecord?: IGroupByRecord): IgxSummaryResult[] {
7880
return [{
7981
key: 'count',
8082
label: 'Count',
@@ -169,8 +171,8 @@ export class IgxNumberSummaryOperand extends IgxSummaryOperand {
169171
*
170172
* @memberof IgxNumberSummaryOperand
171173
*/
172-
public operate(data: any[] = [], allData: any[] = [], fieldName?: string): IgxSummaryResult[] {
173-
const result = super.operate(data, allData, fieldName);
174+
public operate(data: any[] = [], allData: any[] = [], fieldName?: string, groupRecord?: IGroupByRecord): IgxSummaryResult[] {
175+
const result = super.operate(data, allData, fieldName, groupRecord);
174176
result.push({
175177
key: 'min',
176178
label: 'Min',
@@ -257,8 +259,8 @@ export class IgxDateSummaryOperand extends IgxSummaryOperand {
257259
*
258260
* @memberof IgxDateSummaryOperand
259261
*/
260-
public operate(data: any[] = [], allData: any[] = [], fieldName?: string): IgxSummaryResult[] {
261-
const result = super.operate(data, allData, fieldName);
262+
public operate(data: any[] = [], allData: any[] = [], fieldName?: string, groupRecord?: IGroupByRecord): IgxSummaryResult[] {
263+
const result = super.operate(data, allData, fieldName, groupRecord);
262264
result.push({
263265
key: 'earliest',
264266
label: 'Earliest',
@@ -310,8 +312,8 @@ export class IgxTimeSummaryOperand extends IgxSummaryOperand {
310312
/**
311313
* @memberof IgxTimeSummaryOperand
312314
*/
313-
public operate(data: any[] = [], allData: any[] = [], fieldName?: string): IgxSummaryResult[] {
314-
const result = super.operate(data, allData, fieldName);
315+
public operate(data: any[] = [], allData: any[] = [], fieldName?: string, groupRecord?: IGroupByRecord): IgxSummaryResult[] {
316+
const result = super.operate(data, allData, fieldName, groupRecord);
315317
result.push({
316318
key: 'earliest',
317319
label: 'Earliest',

0 commit comments

Comments
 (0)