@@ -557,12 +557,21 @@ describe('IgxGrid - Cell Editing #grid', () => {
557557 it ( `Should properly emit 'onCellEditEnter' event` , ( ) => {
558558 spyOn ( grid . onCellEditEnter , 'emit' ) . and . callThrough ( ) ;
559559 let cell = grid . getCellByColumn ( 0 , 'fullName' ) ;
560+ let initialRowData = { ...cell . rowData } ;
560561 expect ( cell . editMode ) . toBeFalsy ( ) ;
561562
562563 UIInteractions . simulateDoubleClickAndSelectEvent ( cell ) ;
563564 fixture . detectChanges ( ) ;
564565
565- let cellArgs : IGridEditEventArgs = { cellID : cell . cellID , rowID : cell . row . rowID , oldValue : 'John Brown' , cancel : false } ;
566+ let cellArgs : IGridEditEventArgs = {
567+ rowID : cell . row . rowID ,
568+ cellID : cell . cellID ,
569+ rowData : initialRowData ,
570+ oldValue : 'John Brown' ,
571+ cancel : false ,
572+ column : cell . column ,
573+ owner : grid
574+ } ;
566575 expect ( grid . onCellEditEnter . emit ) . toHaveBeenCalledTimes ( 1 ) ;
567576 expect ( grid . onCellEditEnter . emit ) . toHaveBeenCalledWith ( cellArgs ) ;
568577 expect ( cell . editMode ) . toBeTruthy ( ) ;
@@ -573,7 +582,16 @@ describe('IgxGrid - Cell Editing #grid', () => {
573582
574583 expect ( cell . editMode ) . toBeFalsy ( ) ;
575584 cell = grid . getCellByColumn ( 0 , 'age' ) ;
576- cellArgs = { cellID : cell . cellID , rowID : cell . row . rowID , oldValue : 20 , cancel : false } ;
585+ initialRowData = { ...cell . rowData } ;
586+ cellArgs = {
587+ cellID : cell . cellID ,
588+ rowID : cell . row . rowID ,
589+ rowData : initialRowData ,
590+ oldValue : 20 ,
591+ cancel : false ,
592+ column : cell . column ,
593+ owner : grid
594+ } ;
577595 expect ( grid . onCellEditEnter . emit ) . toHaveBeenCalledTimes ( 2 ) ;
578596 expect ( grid . onCellEditEnter . emit ) . toHaveBeenCalledWith ( cellArgs ) ;
579597 expect ( cell . editMode ) . toBeTruthy ( ) ;
@@ -585,25 +603,43 @@ describe('IgxGrid - Cell Editing #grid', () => {
585603 e . cancel = true ;
586604 } ) ;
587605 let cell = grid . getCellByColumn ( 0 , 'fullName' ) ;
606+ let initialRowData = { ...cell . rowData } ;
588607 expect ( cell . editMode ) . toBeFalsy ( ) ;
589608
590609 UIInteractions . simulateDoubleClickAndSelectEvent ( cell ) ;
591610 fixture . detectChanges ( ) ;
592611
593- let cellArgs : IGridEditEventArgs = { cellID : cell . cellID , rowID : cell . row . rowID , oldValue : 'John Brown' , cancel : true } ;
612+ let cellArgs : IGridEditEventArgs = {
613+ cellID : cell . cellID ,
614+ rowID : cell . row . rowID ,
615+ rowData : initialRowData ,
616+ oldValue : 'John Brown' ,
617+ cancel : true ,
618+ column : cell . column ,
619+ owner : grid
620+ } ;
594621 expect ( grid . onCellEditEnter . emit ) . toHaveBeenCalledTimes ( 1 ) ;
595622 expect ( grid . onCellEditEnter . emit ) . toHaveBeenCalledWith ( cellArgs ) ;
596623 expect ( cell . editMode ) . toBeFalsy ( ) ;
597624
598625 // press enter on a cell
599626 cell = grid . getCellByColumn ( 0 , 'age' ) ;
627+ initialRowData = { ...cell . rowData } ;
600628 UIInteractions . simulateClickAndSelectEvent ( cell ) ;
601629 fixture . detectChanges ( ) ;
602630
603631 UIInteractions . triggerEventHandlerKeyDown ( 'enter' , gridContent ) ;
604632 fixture . detectChanges ( ) ;
605633
606- cellArgs = { cellID : cell . cellID , rowID : cell . row . rowID , oldValue : 20 , cancel : true } ;
634+ cellArgs = {
635+ cellID : cell . cellID ,
636+ rowID : cell . row . rowID ,
637+ rowData : initialRowData ,
638+ oldValue : 20 ,
639+ cancel : true ,
640+ column : cell . column ,
641+ owner : grid
642+ } ;
607643 expect ( grid . onCellEditEnter . emit ) . toHaveBeenCalledTimes ( 2 ) ;
608644 expect ( grid . onCellEditEnter . emit ) . toHaveBeenCalledWith ( cellArgs ) ;
609645 expect ( cell . editMode ) . toBeFalsy ( ) ;
@@ -626,7 +662,17 @@ describe('IgxGrid - Cell Editing #grid', () => {
626662 UIInteractions . triggerEventHandlerKeyDown ( 'tab' , gridContent ) ;
627663 fixture . detectChanges ( ) ;
628664
629- cellArgs = { cellID : cell . cellID , rowID : cell . row . rowID , oldValue : 'John Brown' , newValue : 'New Name' , cancel : false } ;
665+ // TODO: onCellEdit should emit updated rowData - issue #7304
666+ cellArgs = {
667+ cellID : cell . cellID ,
668+ rowID : cell . row . rowID ,
669+ rowData : cell . rowData ,
670+ oldValue : 'John Brown' ,
671+ newValue : 'New Name' ,
672+ cancel : false ,
673+ column : cell . column ,
674+ owner : grid
675+ } ;
630676 expect ( grid . onCellEdit . emit ) . toHaveBeenCalledTimes ( 1 ) ;
631677 expect ( grid . onCellEdit . emit ) . toHaveBeenCalledWith ( cellArgs ) ;
632678
@@ -640,7 +686,17 @@ describe('IgxGrid - Cell Editing #grid', () => {
640686 UIInteractions . triggerEventHandlerKeyDown ( 'enter' , gridContent ) ;
641687 fixture . detectChanges ( ) ;
642688
643- cellArgs = { cellID : cell . cellID , rowID : cell . row . rowID , oldValue : 20 , newValue : 1 , cancel : false } ;
689+ // TODO: onCellEdit should emit updated rowData - issue #7304
690+ cellArgs = {
691+ cellID : cell . cellID ,
692+ rowID : cell . row . rowID ,
693+ rowData : cell . rowData ,
694+ oldValue : 20 ,
695+ newValue : 1 ,
696+ cancel : false ,
697+ column : cell . column ,
698+ owner : grid
699+ } ;
644700 expect ( grid . onCellEdit . emit ) . toHaveBeenCalledTimes ( 2 ) ;
645701 expect ( grid . onCellEdit . emit ) . toHaveBeenCalledWith ( cellArgs ) ;
646702 } ) ;
@@ -652,6 +708,7 @@ describe('IgxGrid - Cell Editing #grid', () => {
652708 } ) ;
653709 let cellArgs : IGridEditEventArgs ;
654710 let cell = grid . getCellByColumn ( 0 , 'fullName' ) ;
711+ let initialRowData = { ...cell . rowData } ;
655712
656713 UIInteractions . simulateDoubleClickAndSelectEvent ( cell ) ;
657714 fixture . detectChanges ( ) ;
@@ -665,14 +722,25 @@ describe('IgxGrid - Cell Editing #grid', () => {
665722 UIInteractions . triggerEventHandlerKeyDown ( 'tab' , gridContent ) ;
666723 fixture . detectChanges ( ) ;
667724
668- cellArgs = { cellID : cell . cellID , rowID : cell . row . rowID , oldValue : 'John Brown' , newValue : 'New Name' , cancel : true } ;
725+ // TODO: onCellEdit should emit updated rowData - issue #7304
726+ cellArgs = {
727+ cellID : cell . cellID ,
728+ rowID : cell . row . rowID ,
729+ rowData : initialRowData ,
730+ oldValue : 'John Brown' ,
731+ newValue : 'New Name' ,
732+ cancel : true ,
733+ column : cell . column ,
734+ owner : grid
735+ } ;
669736 expect ( grid . onCellEdit . emit ) . toHaveBeenCalledTimes ( 1 ) ;
670737 expect ( grid . onCellEdit . emit ) . toHaveBeenCalledWith ( cellArgs ) ;
671738
672739 expect ( cell . editMode ) . toBe ( false ) ;
673740 expect ( cell . value ) . toBe ( 'John Brown' ) ;
674741
675742 cell = grid . getCellByColumn ( 0 , 'age' ) ;
743+ initialRowData = { ...cell . rowData } ;
676744 expect ( cell . editMode ) . toBe ( true ) ;
677745 editTemplate = fixture . debugElement . query ( By . css ( 'input' ) ) ;
678746 UIInteractions . clickAndSendInputElementValue ( editTemplate , 1 ) ;
@@ -682,7 +750,17 @@ describe('IgxGrid - Cell Editing #grid', () => {
682750 UIInteractions . triggerEventHandlerKeyDown ( 'enter' , gridContent ) ;
683751 fixture . detectChanges ( ) ;
684752
685- cellArgs = { cellID : cell . cellID , rowID : cell . row . rowID , oldValue : 20 , newValue : '1' , cancel : true } ;
753+ // TODO: onCellEdit should emit updated rowData - issue #7304
754+ cellArgs = {
755+ cellID : cell . cellID ,
756+ rowID : cell . row . rowID ,
757+ rowData : initialRowData ,
758+ oldValue : 20 ,
759+ newValue : '1' ,
760+ cancel : true ,
761+ column : cell . column ,
762+ owner : grid
763+ } ;
686764 expect ( grid . onCellEdit . emit ) . toHaveBeenCalledTimes ( 2 ) ;
687765 expect ( grid . onCellEdit . emit ) . toHaveBeenCalledWith ( cellArgs ) ;
688766
@@ -767,6 +845,7 @@ describe('IgxGrid - Cell Editing #grid', () => {
767845 it ( `Should properly emit 'onCellEditCancel' event` , ( ) => {
768846 spyOn ( grid . onCellEditCancel , 'emit' ) . and . callThrough ( ) ;
769847 const cell = grid . getCellByColumn ( 0 , 'fullName' ) ;
848+ const initialRowData = { ...cell . rowData } ;
770849
771850 UIInteractions . simulateDoubleClickAndSelectEvent ( cell ) ;
772851 fixture . detectChanges ( ) ;
@@ -782,7 +861,13 @@ describe('IgxGrid - Cell Editing #grid', () => {
782861
783862 const cellArgs : IGridEditEventArgs = {
784863 cellID : cell . cellID ,
785- rowID : cell . row . rowID , oldValue : 'John Brown' , newValue : 'New Name' , cancel : false
864+ rowID : cell . row . rowID ,
865+ rowData : initialRowData ,
866+ oldValue : 'John Brown' ,
867+ newValue : 'New Name' ,
868+ cancel : false ,
869+ column : cell . column ,
870+ owner : grid
786871 } ;
787872 expect ( grid . onCellEditCancel . emit ) . toHaveBeenCalledTimes ( 1 ) ;
788873 expect ( grid . onCellEditCancel . emit ) . toHaveBeenCalledWith ( cellArgs ) ;
@@ -796,6 +881,7 @@ describe('IgxGrid - Cell Editing #grid', () => {
796881 e . cancel = true ;
797882 } ) ;
798883 const cell = grid . getCellByColumn ( 0 , 'fullName' ) ;
884+ const initialRowData = { ...cell . rowData } ;
799885
800886 UIInteractions . simulateDoubleClickAndSelectEvent ( cell ) ;
801887 fixture . detectChanges ( ) ;
@@ -805,13 +891,19 @@ describe('IgxGrid - Cell Editing #grid', () => {
805891 UIInteractions . clickAndSendInputElementValue ( editTemplate , 'New Name' ) ;
806892 fixture . detectChanges ( ) ;
807893
808- // press escape on edited cell
809- UIInteractions . triggerEventHandlerKeyDown ( 'escape' , gridContent ) ;
810- fixture . detectChanges ( ) ;
894+ // press escape on edited cell
895+ UIInteractions . triggerEventHandlerKeyDown ( 'escape' , gridContent ) ;
896+ fixture . detectChanges ( ) ;
811897
812898 const cellArgs : IGridEditEventArgs = {
813899 cellID : cell . cellID ,
814- rowID : cell . row . rowID , oldValue : 'John Brown' , newValue : 'New Name' , cancel : true
900+ rowID : cell . row . rowID ,
901+ rowData : initialRowData ,
902+ oldValue : 'John Brown' ,
903+ newValue : 'New Name' ,
904+ cancel : true ,
905+ column : cell . column ,
906+ owner : grid
815907 } ;
816908 expect ( grid . onCellEditCancel . emit ) . toHaveBeenCalledTimes ( 1 ) ;
817909 expect ( grid . onCellEditCancel . emit ) . toHaveBeenCalledWith ( cellArgs ) ;
0 commit comments