Spaces:
Build error
Build error
import * as d3 from 'd3'; | |
import * as _ from 'lodash-es'; | |
import { addLabel } from './label/add-label.js'; | |
import * as util from './util.js'; | |
export { createEdgeLabels, setCreateEdgeLabels }; | |
let createEdgeLabels = function (selection, g) { | |
var svgEdgeLabels = selection | |
.selectAll('g.edgeLabel') | |
.data(g.edges(), function (e) { | |
return util.edgeToId(e); | |
}) | |
.classed('update', true); | |
svgEdgeLabels.exit().remove(); | |
svgEdgeLabels.enter().append('g').classed('edgeLabel', true).style('opacity', 0); | |
svgEdgeLabels = selection.selectAll('g.edgeLabel'); | |
svgEdgeLabels.each(function (e) { | |
var root = d3.select(this); | |
root.select('.label').remove(); | |
var edge = g.edge(e); | |
var label = addLabel(root, g.edge(e), 0).classed('label', true); | |
var bbox = label.node().getBBox(); | |
if (edge.labelId) { | |
label.attr('id', edge.labelId); | |
} | |
if (!_.has(edge, 'width')) { | |
edge.width = bbox.width; | |
} | |
if (!_.has(edge, 'height')) { | |
edge.height = bbox.height; | |
} | |
}); | |
var exitSelection; | |
if (svgEdgeLabels.exit) { | |
exitSelection = svgEdgeLabels.exit(); | |
} else { | |
exitSelection = svgEdgeLabels.selectAll(null); // empty selection | |
} | |
util.applyTransition(exitSelection, g).style('opacity', 0).remove(); | |
return svgEdgeLabels; | |
}; | |
function setCreateEdgeLabels(value) { | |
createEdgeLabels = value; | |
} | |