@@ -59,13 +59,17 @@ export class IgxSummaryOperand {
5959 * ```
6060 * @memberof IgxSummaryOperand
6161 */
62- public operate ( data : any [ ] = [ ] ) : IgxSummaryResult [ ] {
62+ public operate ( data : any [ ] = [ ] , fieldName : string ) : IgxSummaryResult [ ] {
6363 return [ {
6464 key : 'count' ,
6565 label : 'Count' ,
66- summaryResult : IgxSummaryOperand . count ( data )
66+ summaryResult : IgxSummaryOperand . count ( this . getColumnData ( data , fieldName ) )
6767 } ] ;
6868 }
69+
70+ protected getColumnData ( data , field ) : any [ ] {
71+ return data . map ( rec => rec [ field ] ) ;
72+ }
6973}
7074
7175// @dynamic
@@ -148,27 +152,27 @@ export class IgxNumberSummaryOperand extends IgxSummaryOperand {
148152 * ```
149153 * @memberof IgxNumberSummaryOperand
150154 */
151- public operate ( data : any [ ] = [ ] ) : IgxSummaryResult [ ] {
152- const result = super . operate ( data ) ;
155+ public operate ( data : any [ ] = [ ] , fieldName ?: string ) : IgxSummaryResult [ ] {
156+ const result = super . operate ( data , fieldName ) ;
153157 result . push ( {
154158 key : 'min' ,
155159 label : 'Min' ,
156- summaryResult : IgxNumberSummaryOperand . min ( data )
160+ summaryResult : IgxNumberSummaryOperand . min ( super . getColumnData ( data , fieldName ) )
157161 } ) ;
158162 result . push ( {
159163 key : 'max' ,
160164 label : 'Max' ,
161- summaryResult : IgxNumberSummaryOperand . max ( data )
165+ summaryResult : IgxNumberSummaryOperand . max ( super . getColumnData ( data , fieldName ) )
162166 } ) ;
163167 result . push ( {
164168 key : 'sum' ,
165169 label : 'Sum' ,
166- summaryResult : IgxNumberSummaryOperand . sum ( data )
170+ summaryResult : IgxNumberSummaryOperand . sum ( super . getColumnData ( data , fieldName ) )
167171 } ) ;
168172 result . push ( {
169173 key : 'average' ,
170174 label : 'Avg' ,
171- summaryResult : IgxNumberSummaryOperand . average ( data )
175+ summaryResult : IgxNumberSummaryOperand . average ( super . getColumnData ( data , fieldName ) )
172176 } ) ;
173177 return result ;
174178 }
@@ -229,17 +233,17 @@ export class IgxDateSummaryOperand extends IgxSummaryOperand {
229233 * ```
230234 * @memberof IgxDateSummaryOperand
231235 */
232- public operate ( data : any [ ] = [ ] ) : IgxSummaryResult [ ] {
233- const result = super . operate ( data ) ;
236+ public operate ( data : any [ ] = [ ] , fieldName ?: string ) : IgxSummaryResult [ ] {
237+ const result = super . operate ( data , fieldName ) ;
234238 result . push ( {
235239 key : 'earliest' ,
236240 label : 'Earliest' ,
237- summaryResult : IgxDateSummaryOperand . earliest ( data )
241+ summaryResult : IgxDateSummaryOperand . earliest ( super . getColumnData ( data , fieldName ) )
238242 } ) ;
239243 result . push ( {
240244 key : 'latest' ,
241245 label : 'Latest' ,
242- summaryResult : IgxDateSummaryOperand . latest ( data )
246+ summaryResult : IgxDateSummaryOperand . latest ( super . getColumnData ( data , fieldName ) )
243247 } ) ;
244248 return result ;
245249 }
0 commit comments