NuclearDispersionSystem/ant-design-vue-jeecg/node_modules/@antv/hierarchy/lib/layout/indented.js
2023-09-14 14:47:11 +08:00

24 lines
661 B
JavaScript

function positionNode(node, previousNode, dx, dropCap) {
if (!dropCap) {
try {
if (node.id === node.parent.children[node.parent.children.length - 1].id) {
node.x += dx * node.depth;
node.y = previousNode ? previousNode.y : 0;
return;
}
} catch (e) {// skip to normal when a node has no parent
}
}
node.x += dx * node.depth;
node.y = previousNode ? previousNode.y + previousNode.height : 0;
return;
}
module.exports = function (root, indent, dropCap) {
var previousNode = null;
root.eachNode(function (node) {
positionNode(node, previousNode, indent, dropCap);
previousNode = node;
});
};