UNPKG

dagre-d3-es

Version:

<p align="center"> <a href="https://www.npmjs.com/dagre-d3-es"><img src="https://img.shields.io/npm/v/dagre-d3-es.svg?logo=npm&logoColor=fff&label=NPM+package&color=limegreen" alt="dagre-d3-es on npm" /></a>&nbsp; <a href="https://www.npmjs.com/dagre-

36 lines (28 loc) 825 B
import * as util from '../util.js'; export { addHtmlLabel }; function addHtmlLabel(root, node) { var fo = root.append('foreignObject').attr('width', '100000'); var div = fo.append('xhtml:div'); div.attr('xmlns', 'http://www.w3.org/1999/xhtml'); var label = node.label; switch (typeof label) { case 'function': div.insert(label); break; case 'object': // Currently we assume this is a DOM object. div.insert(function () { return label; }); break; default: div.html(label); } util.applyStyle(div, node.labelStyle); div.style('display', 'inline-block'); // Fix for firefox div.style('white-space', 'nowrap'); var client = div.node().getBoundingClientRect(); fo.attr('width', client.width).attr('height', client.height); return fo; }