Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var el = d3.select(opts.el).style("position", "relative"),
- width = d3._pxToNumber(el.style('width')),
- height = d3._pxToNumber(el.style('height')),
- force = d3.layout.force()
- .charge(opts.charge)
- .linkStrength(opts.linkStrength)
- .linkDistance(opts.linkDistanceFunc)
- .friction(opts.friction)
- .chargeDistance(opts.chargeDistance)
- .theta(opts.theta)
- .gravity(opts.gravity)
- // width is easy to get, if height is 0 take the height of the body
- .size([width, height]),
- zoom = d3.behavior.zoom().scaleExtent(opts.scaleExtent),
- // panner is the element that allows zooming and panning
- panner = el.append("svg")
- .attr("width", width)
- .attr("height", height)
- .call(zoom.on("zoom", opts.redraw))
- .append("g")
- .style("position", "absolute"),
- svg = d3.select(opts.el + " svg"),
- drag = force.drag(),
- // create tooltip div
- tooltip = d3.select(opts.el).append("div").attr("class", "njg-tooltip"),
- overlay = d3.select(opts.el).append("div").attr("class", "njg-overlay"),
- closeOverlay = overlay.append("a").attr("class", "njg-close"),
- overlayInner = overlay.append("div").attr("class", "njg-inner"),
- metadata = d3.select(opts.el).append("div").attr("class", "njg-metadata"),
- metadataInner = metadata.append("div").attr("class", "njg-inner"),
- closeMetadata = metadata.append("a").attr("class", "njg-close"),
- // container of ungrouped networks
- str = [],
- selected = [],
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement