fix(nested): add nested nodes example, always show nodes on top while dragging or selected
This commit is contained in:
+9
-7
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user