Skip to content

Commit 216d6de

Browse files
Ivan KitanovIvan Kitanov
authored andcommitted
Update the sample to add child rows as well as updating package.json
1 parent a4b5168 commit 216d6de

2 files changed

Lines changed: 19 additions & 9 deletions

File tree

samples/grids/tree-grid/row-drag-base/package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@
1515
},
1616
"dependencies": {
1717
"igniteui-dockmanager": "1.14.3",
18-
"igniteui-react": "18.6.0",
19-
"igniteui-react-core": "18.6.0",
20-
"igniteui-react-datasources": "18.6.0",
21-
"igniteui-react-grids": "18.6.0",
22-
"igniteui-react-inputs": "18.6.0",
23-
"igniteui-react-layouts": "18.6.0",
18+
"igniteui-react": "18.6.1-alpha.0",
19+
"igniteui-react-core": "18.6.1-alpha.0",
20+
"igniteui-react-datasources": "18.6.1-alpha.0",
21+
"igniteui-react-grids": "18.6.1-alpha.0",
22+
"igniteui-react-inputs": "18.6.1-alpha.0",
23+
"igniteui-react-layouts": "18.6.1-alpha.0",
2424
"igniteui-webcomponents": "4.7.0",
2525
"lit-html": "^2.2.0",
2626
"react": "^18.2.0",

samples/grids/tree-grid/row-drag-base/src/index.tsx

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {
99
IgrTreeGrid,
1010
IgrColumn,
1111
} from "igniteui-react-grids";
12-
import { EmployeesNestedTreeData } from "./EmployeesNestedTreeData";
12+
import { EmployeesNestedTreeData, EmployeesNestedTreeDataItem } from "./EmployeesNestedTreeData";
1313

1414
import "igniteui-react-grids/grids/combined";
1515
import "igniteui-react-grids/grids/themes/light/bootstrap.css";
@@ -21,6 +21,13 @@ export default function App() {
2121
const treeGridRef = useRef<IgrTreeGrid>(null);
2222
const treeGridRef2 = useRef<IgrTreeGrid>(null);
2323

24+
// Recursive function to add the row and its children
25+
function addRowAndChildren(row:EmployeesNestedTreeDataItem, newData:EmployeesNestedTreeDataItem[]) {
26+
newData.push(row);
27+
const children = employeesData.filter(emp => emp.ParentID === row.ID);
28+
children.forEach(child => addRowAndChildren(child, newData));
29+
}
30+
2431
function RowDragEnd(grid: IgrTreeGrid, evt: any) {
2532
const grid2 = treeGridRef2.current;
2633
const ghostElement = evt.detail.dragDirective.ghostElement;
@@ -31,8 +38,11 @@ export default function App() {
3138
const withinXBounds = dragElementPos.x >= gridPosition.x && dragElementPos.x <= gridPosition.x + gridPosition.width;
3239
const withinYBounds = dragElementPos.y >= gridPosition.y && dragElementPos.y <= gridPosition.y + gridPosition.height;
3340
if (withinXBounds && withinYBounds) {
34-
console.log(evt.detail.dragData.data.ParentID);
35-
treeGridRef2.current.addRow(evt.detail.dragData.data, null);
41+
42+
const newData = [...grid2.data];
43+
const draggedRowData = evt.detail.dragData.data;
44+
addRowAndChildren(draggedRowData, newData);
45+
grid2.data = newData;
3646
}
3747
}
3848
}

0 commit comments

Comments
 (0)