UNPKG

dagre-d3-es

Version:

<p align="center"> <a href="https://tbo47.github.io/" ><img src="https://img.shields.io/badge/created_by-tbo47-blue.svg" alt="Created by tbo47"></a> <a href="https://www.npmjs.com/dagre-d3-es"><img src="https://img.shields.io/npm/v/dagre-d3-es.svg?log

37 lines (31 loc) 975 B
import { addHtmlLabel } from './add-html-label.js'; import { addSVGLabel } from './add-svg-label.js'; import { addTextLabel } from './add-text-label.js'; export { addLabel }; function addLabel(root, node, location) { var label = node.label; var labelSvg = root.append('g'); // Allow the label to be a string, a function that returns a DOM element, or // a DOM element itself. if (node.labelType === 'svg') { addSVGLabel(labelSvg, node); } else if (typeof label !== 'string' || node.labelType === 'html') { addHtmlLabel(labelSvg, node); } else { addTextLabel(labelSvg, node); } var labelBBox = labelSvg.node().getBBox(); var y; switch (location) { case 'top': y = -node.height / 2; break; case 'bottom': y = node.height / 2 - labelBBox.height; break; default: y = -labelBBox.height / 2; } labelSvg.attr('transform', 'translate(' + -labelBBox.width / 2 + ',' + y + ')'); return labelSvg; }