Skip to content

Commit bd50d2e

Browse files
authored
Merge branch 'master' into nalipiev/drag-rowSelect-setters
2 parents e2ec5a4 + da7a137 commit bd50d2e

File tree

2 files changed

+25
-4
lines changed

2 files changed

+25
-4
lines changed

projects/igniteui-angular/src/lib/grids/api.service.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -235,14 +235,14 @@ export class GridBaseAPIService <T extends IgxGridBaseComponent & IGridDataBinda
235235
return args;
236236
}
237237

238-
if (!args.newValue) {
239-
return args;
240-
}
241-
242238
if (rowInEditMode) {
243239
grid.transactions.endPending(false);
244240
}
245241

242+
if (!args.newValue) {
243+
return args;
244+
}
245+
246246
if (hasSummarized) {
247247
grid.summaryService.removeSummaries(args.rowID);
248248
}

projects/igniteui-angular/src/lib/grids/grid/grid.component.spec.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2918,6 +2918,27 @@ describe('IgxGrid Component Tests', () => {
29182918
});
29192919

29202920
describe('Row Editing - Transaction', () => {
2921+
it('Should properly exit pending state when committing row edit w/o changes', fakeAsync(() => {
2922+
const fixture = TestBed.createComponent(IgxBasicGridRowEditingComponent);
2923+
fixture.detectChanges();
2924+
2925+
const grid = fixture.componentInstance.grid;
2926+
const initialDataLength = grid.data.length;
2927+
const productNameCell = fixture.debugElement.queryAll(By.css('.igx-grid__td'))[2];
2928+
const enterEvent = { key: 'enter', stopPropagation: () => {}, preventDefault: () => {} };
2929+
productNameCell.triggerEventHandler('keydown', enterEvent);
2930+
tick();
2931+
fixture.detectChanges();
2932+
expect(grid.getCellByKey(1, 'ProductName').inEditMode).toBeTruthy();
2933+
productNameCell.triggerEventHandler('keydown', enterEvent);
2934+
tick();
2935+
fixture.detectChanges();
2936+
expect(grid.getCellByKey(1, 'ProductName').inEditMode).toBeFalsy();
2937+
grid.deleteRow(2);
2938+
tick();
2939+
fixture.detectChanges();
2940+
expect(grid.data.length).toEqual(initialDataLength - 1);
2941+
}));
29212942
it('Transaction Update, Delete, Add, Undo, Redo, Commit check transaction and grid state', fakeAsync(() => {
29222943
const fixture = TestBed.createComponent(IgxGridRowEditingTransactionComponent);
29232944
fixture.detectChanges();

0 commit comments

Comments
 (0)