@@ -31,6 +31,7 @@ import { SortingDirection } from '../../data-operations/sorting-expression.inter
3131import { DropPosition } from '../moving/moving.service' ;
3232import { DatePipe } from '@angular/common' ;
3333import { IgxGridGroupByRowComponent } from './groupby-row.component' ;
34+ import { IColumnPipeArgs } from 'igniteui-angular' ;
3435
3536describe ( 'IgxGrid - Summaries #grid' , ( ) => {
3637
@@ -154,7 +155,7 @@ describe('IgxGrid - Summaries #grid', () => {
154155 it ( 'should properly render custom summaries' , ( ) => {
155156 const summaryRow = GridSummaryFunctions . getRootSummaryRow ( fixture ) ;
156157 GridSummaryFunctions . verifyColumnSummaries ( summaryRow , 3 , [ 'Count' , 'Sum' , 'Avg' ] , [ '10' , '39,004' , '3,900.4' ] ) ;
157- GridSummaryFunctions . verifyColumnSummaries ( summaryRow , 4 , [ 'Earliest' ] , [ '5/17/ 1990' ] ) ;
158+ GridSummaryFunctions . verifyColumnSummaries ( summaryRow , 4 , [ 'Earliest' , 'Items InStock' ] , [ 'May 17, 1990' , '1337 '] ) ;
158159
159160 grid . filter ( 'UnitsInStock' , '0' , IgxNumberFilteringOperand . instance ( ) . condition ( 'lessThan' ) , true ) ;
160161 fixture . detectChanges ( ) ;
@@ -181,7 +182,7 @@ describe('IgxGrid - Summaries #grid', () => {
181182 it ( 'should change custom summaries at runtime' , ( ) => {
182183 const summaryRow = GridSummaryFunctions . getRootSummaryRow ( fixture ) ;
183184 GridSummaryFunctions . verifyColumnSummaries ( summaryRow , 3 , [ 'Count' , 'Sum' , 'Avg' ] , [ '10' , '39,004' , '3,900.4' ] ) ;
184- GridSummaryFunctions . verifyColumnSummaries ( summaryRow , 4 , [ 'Earliest' ] , [ '5/17/ 1990' ] ) ;
185+ GridSummaryFunctions . verifyColumnSummaries ( summaryRow , 4 , [ 'Earliest' , 'Items InStock' ] , [ 'May 17, 1990' , '1337 '] ) ;
185186 GridSummaryFunctions . verifyVisibleSummariesHeight ( fixture , 3 , grid . defaultSummaryHeight ) ;
186187 grid . getColumnByName ( 'UnitsInStock' ) . summaries = fixture . componentInstance . dealsSummaryMinMax ;
187188 fixture . detectChanges ( ) ;
@@ -192,20 +193,20 @@ describe('IgxGrid - Summaries #grid', () => {
192193 it ( 'should be able to access alldata from each summary' , ( ) => {
193194 const summaryRow = GridSummaryFunctions . getRootSummaryRow ( fixture ) ;
194195 GridSummaryFunctions . verifyColumnSummaries ( summaryRow , 3 , [ 'Count' , 'Sum' , 'Avg' ] , [ '10' , '39,004' , '3,900.4' ] ) ;
195- GridSummaryFunctions . verifyColumnSummaries ( summaryRow , 4 , [ 'Earliest' ] , [ '5/17/ 1990' ] ) ;
196+ GridSummaryFunctions . verifyColumnSummaries ( summaryRow , 4 , [ 'Earliest' , 'Items InStock' ] , [ 'May 17, 1990' , '1337 '] ) ;
196197 GridSummaryFunctions . verifyVisibleSummariesHeight ( fixture , 3 , grid . defaultSummaryHeight ) ;
197198 grid . getColumnByName ( 'UnitsInStock' ) . summaries = fixture . componentInstance . inStockSummary ;
198199 fixture . detectChanges ( ) ;
199200
200201 GridSummaryFunctions . verifyColumnSummaries ( summaryRow , 3 , [ 'Count' , 'Min' , 'Max' , 'Sum' , 'Avg' , 'Items InStock' ] ,
201- [ '10' , '0' , '20000 ' , '39004 ' , '3900 .4' , '6' ] ) ;
202- GridSummaryFunctions . verifyColumnSummaries ( summaryRow , 4 , [ 'Earliest' ] , [ '5/17/ 1990' ] ) ;
202+ [ '10' , '0' , '20,000 ' , '39,004 ' , '3,900 .4' , '6' ] ) ;
203+ GridSummaryFunctions . verifyColumnSummaries ( summaryRow , 4 , [ 'Earliest' , 'Items InStock' ] , [ 'May 17, 1990' , '1337 '] ) ;
203204
204205 grid . getCellByColumn ( 4 , 'InStock' ) . update ( true ) ;
205206 fixture . detectChanges ( ) ;
206207
207208 GridSummaryFunctions . verifyColumnSummaries ( summaryRow , 3 , [ 'Count' , 'Min' , 'Max' , 'Sum' , 'Avg' , 'Items InStock' ] ,
208- [ '10' , '0' , '20000 ' , '39004 ' , '3900 .4' , '7' ] ) ;
209+ [ '10' , '0' , '20,000 ' , '39,004 ' , '3,900 .4' , '7' ] ) ;
209210
210211 grid . filter ( 'UnitsInStock' , 0 , IgxNumberFilteringOperand . instance ( ) . condition ( 'equals' ) ) ;
211212 fixture . detectChanges ( ) ;
@@ -292,7 +293,7 @@ describe('IgxGrid - Summaries #grid', () => {
292293 expect ( grid . hasSummarizedColumns ) . toBe ( false ) ;
293294 } ) ;
294295
295- it ( 'should change summary operand through grid API ' , ( ) => {
296+ it ( 'should change summary operand through grid API' , ( ) => {
296297 grid . enableSummaries ( [ { fieldName : 'UnitsInStock' , customSummary : fix . componentInstance . dealsSummaryMinMax } ] ) ;
297298 fix . detectChanges ( ) ;
298299
@@ -2442,11 +2443,6 @@ class DealsSummary extends IgxNumberSummaryOperand {
24422443 public operate ( summaries ?: any [ ] ) : IgxSummaryResult [ ] {
24432444 const result = super . operate ( summaries ) . filter ( ( obj ) => {
24442445 if ( obj . key === 'average' || obj . key === 'sum' || obj . key === 'count' ) {
2445- const summaryResult = obj . summaryResult ;
2446- // apply formatting to float numbers
2447- if ( Number ( summaryResult ) === summaryResult ) {
2448- obj . summaryResult = summaryResult . toLocaleString ( 'en-us' , { maximumFractionDigits : 2 } ) ;
2449- }
24502446 return obj ;
24512447 }
24522448 } ) ;
@@ -2462,11 +2458,6 @@ class DealsSummaryMinMax extends IgxNumberSummaryOperand {
24622458 public operate ( summaries ?: any [ ] ) : IgxSummaryResult [ ] {
24632459 const result = super . operate ( summaries ) . filter ( ( obj ) => {
24642460 if ( obj . key === 'min' || obj . key === 'max' ) {
2465- const summaryResult = obj . summaryResult ;
2466- // apply formatting to float numbers
2467- if ( Number ( summaryResult ) === summaryResult ) {
2468- obj . summaryResult = summaryResult . toLocaleString ( 'en-us' , { maximumFractionDigits : 2 } ) ;
2469- }
24702461 return obj ;
24712462 }
24722463 } ) ;
@@ -2482,11 +2473,14 @@ class EarliestSummary extends IgxDateSummaryOperand {
24822473 public operate ( summaries ?: any [ ] ) : IgxSummaryResult [ ] {
24832474 const result = super . operate ( summaries ) . filter ( ( obj ) => {
24842475 if ( obj . key === 'earliest' ) {
2485- const date = obj . summaryResult ? new Date ( obj . summaryResult ) : undefined ;
2486- obj . summaryResult = date ? new Intl . DateTimeFormat ( 'en-US' ) . format ( date ) : undefined ;
24872476 return obj ;
24882477 }
24892478 } ) ;
2479+ result . push ( {
2480+ key : 'test' ,
2481+ label : 'Items InStock' ,
2482+ summaryResult : 1337
2483+ } ) ;
24902484 return result ;
24912485 }
24922486}
@@ -2541,14 +2535,15 @@ class AllDataAvgSummary extends IgxSummaryOperand {
25412535
25422536@Component ( {
25432537 template : `
2544- <igx-grid #grid1 [data]="data" [primaryKey]="'ProductID'" [allowFiltering]="true">
2538+ <igx-grid #grid1 [data]="data" [primaryKey]="'ProductID'" [locale]="locale" [ allowFiltering]="true">
25452539 <igx-column field="ProductID" header="Product ID">
25462540 </igx-column>
25472541 <igx-column field="ProductName" [hasSummary]="true">
25482542 </igx-column>
25492543 <igx-column field="InStock" [dataType]="'boolean'" [hasSummary]="true">
25502544 </igx-column>
2551- <igx-column field="UnitsInStock" [dataType]="'number'" [hasSummary]="true" [summaries]="dealsSummary">
2545+ <igx-column field="UnitsInStock" [dataType]="'number'" [hasSummary]="true" [pipeArgs]="formatOptions"
2546+ [summaries]="dealsSummary">
25522547 </igx-column>
25532548 <igx-column field="OrderDate" width="200px" [dataType]="'date'" [sortable]="true" [hasSummary]="true"
25542549 [summaries]="earliest">
@@ -2566,5 +2561,9 @@ export class CustomSummariesComponent {
25662561 public earliest = EarliestSummary ;
25672562 public inStockSummary = InStockSummary ;
25682563 public allDataAvgSummary = AllDataAvgSummary ;
2564+ public formatOptions : IColumnPipeArgs = {
2565+ digitsInfo : '1.0-2'
2566+ } ;
2567+ public locale = 'en-US' ;
25692568}
25702569
0 commit comments