fix(nested): add nested nodes example, always show nodes on top while dragging or selected

This commit is contained in:
Christopher Möller
2021-11-05 17:42:18 +01:00
parent fdf2571402
commit 1425a4363b
3 changed files with 201 additions and 8 deletions
+9 -7
View File
@@ -38,7 +38,7 @@ export function createNodeInternals(nodes: Node[], nodeInternals: NodeInternals)
height: node.height || null,
position: node.position,
positionAbsolute: node.position,
treeLevel: node.zIndex || 0,
treeLevel: node.isDragging || node.isSelected ? 1000 : node.zIndex || 0,
};
if (node.parentNode) {
internals.parentNode = node.parentNode;
@@ -51,9 +51,11 @@ export function createNodeInternals(nodes: Node[], nodeInternals: NodeInternals)
const updatedInternals: NodeInternalsItem = nextNodeInternals.get(node.id)!;
if (node.parentNode) {
const parentNodeInternal = nextNodeInternals.get(node.parentNode);
const positionAbsoluteAndTreeLevel = getAbsolutePosAndTreeLevel(node, nextNodeInternals, {
...node.position,
treeLevel: node.zIndex || 0,
treeLevel: node.zIndex || updatedInternals?.treeLevel || parentNodeInternal?.treeLevel || 0,
});
const { treeLevel, x, y } = positionAbsoluteAndTreeLevel;
@@ -66,11 +68,11 @@ export function createNodeInternals(nodes: Node[], nodeInternals: NodeInternals)
updatedInternals.treeLevel = treeLevel;
}
if ((node.isDragging || node.isSelected) && !parentNodes[node.id]) {
nextNodeInternals.set(node.id, { ...updatedInternals, treeLevel: 1000 });
} else {
nextNodeInternals.set(node.id, { ...updatedInternals, treeLevel: updatedInternals?.treeLevel || 0 });
}
// if (node.isDragging || node.isSelected) {
// nextNodeInternals.set(node.id, { ...updatedInternals, treeLevel: 1000 });
// } else {
// nextNodeInternals.set(node.id, { ...updatedInternals, treeLevel: updatedInternals?.treeLevel || 0 });
// }
});
return nextNodeInternals;