Skip to content

Commit 3a40e25

Browse files
authored
Merge pull request #5311 from IgniteUI/ddimitrov/fix-5299-7.2.x
Fix adding child row to a parent with ID=0
2 parents 2195fa9 + f8a4a3c commit 3a40e25

File tree

3 files changed

+41
-4
lines changed

3 files changed

+41
-4
lines changed

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

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,43 @@ describe('IgxTreeGrid - CRUD', () => {
293293
verifyTreeGridRecordsCount(fix, 3, 8);
294294
verifyProcessedTreeGridRecordsCount(fix, 3, 8);
295295
});
296+
297+
it('should support adding child rows to a parent with ID=0 through treeGrid API', () => {
298+
verifyRowsCount(fix, 8, 8);
299+
verifyTreeGridRecordsCount(fix, 3, 8);
300+
verifyProcessedTreeGridRecordsCount(fix, 3, 8);
301+
302+
// Add child row with ID=0 on root level
303+
spyOn(treeGrid.onRowAdded, 'emit');
304+
let newRow = {
305+
ID: 0,
306+
Name: 'New Employee 1',
307+
JobTitle: 'Senior Web Developer',
308+
Age: 33
309+
};
310+
treeGrid.addRow(newRow);
311+
fix.detectChanges();
312+
313+
expect(treeGrid.onRowAdded.emit).toHaveBeenCalledWith({ data: newRow });
314+
verifyRowsCount(fix, 9, 9);
315+
verifyTreeGridRecordsCount(fix, 4, 9);
316+
verifyProcessedTreeGridRecordsCount(fix, 4, 9);
317+
318+
// Add child row to the parent with ID=0
319+
newRow = {
320+
ID: 333,
321+
Name: 'New Employee 2',
322+
JobTitle: 'Senior Web Developer',
323+
Age: 33
324+
};
325+
treeGrid.addRow(newRow, 0);
326+
fix.detectChanges();
327+
328+
expect(treeGrid.onRowAdded.emit).toHaveBeenCalledWith({ data: newRow });
329+
verifyRowsCount(fix, 10, 10);
330+
verifyTreeGridRecordsCount(fix, 4, 10);
331+
verifyProcessedTreeGridRecordsCount(fix, 4, 10);
332+
});
296333
});
297334
});
298335

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -849,7 +849,7 @@ describe('IgxTreeGrid - Integration', () => {
849849
const grandChildRow = { ID: 13, ParentID: 12, Name: 'Asparuh Pulev', JobTitle: 'wrestler', Age: 14 };
850850
const trans = treeGrid.transactions;
851851

852-
treeGrid.addRow(rootRow, 0);
852+
treeGrid.addRow(rootRow);
853853
fix.detectChanges();
854854

855855
treeGrid.addRow(childRow, 11);
@@ -924,7 +924,7 @@ describe('IgxTreeGrid - Integration', () => {
924924
JobTitle: 'Copywriter',
925925
Age: 22
926926
};
927-
treeGrid.addRow(newRow, 0);
927+
treeGrid.addRow(newRow);
928928
fix.detectChanges();
929929

930930
const addedRow = treeGrid.rowList.filter(r => r.rowID === addedRowId)[0] as IgxTreeGridRowComponent;
@@ -1322,7 +1322,7 @@ describe('IgxTreeGrid - Integration', () => {
13221322
const grandChildRow = { ID: 13, ParentID: 12, Name: 'Asparuh Pulev', JobTitle: 'wrestler', Age: 14 };
13231323
const trans = treeGrid.transactions;
13241324

1325-
treeGrid.addRow(rootRow, 0);
1325+
treeGrid.addRow(rootRow);
13261326
fix.detectChanges();
13271327

13281328
treeGrid.addRow(childRow, 11);

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -415,7 +415,7 @@ export class IgxTreeGridComponent extends IgxGridBaseComponent implements IGridD
415415
* @memberof IgxTreeGridComponent
416416
*/
417417
public addRow(data: any, parentRowID?: any) {
418-
if (parentRowID) {
418+
if (parentRowID !== undefined && parentRowID !== null) {
419419
const parentRecord = this.records.get(parentRowID);
420420

421421
if (!parentRecord) {

0 commit comments

Comments
 (0)