//"label": el => el.data("id") === current ? "" : el.data('title') ? el.data("title").slice(0,16) : el.data("id")
}
},{
selector:"label",
style:{"font-size":"12px"},
},
{
selector:'edge',
style:{
'width':2,
"height":200,
'line-color':'#5221c4',
'target-arrow-color':'#ccc',
'target-arrow-shape':'triangle',
'curve-style':'bezier'
}
}],
layout:{
name:'circle',
fit:true,// whether to fit the viewport to the graph
padding:32,// the padding on fit
boundingBox:undefined,// constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h }
avoidOverlap:true,// prevents node overlap, may overflow boundingBox and radius if not enough space
nodeDimensionsIncludeLabels:false,// Excludes the label when calculating node bounding boxes for the layout algorithm
spacingFactor:0.9,// Applies a multiplicative factor (>0) to expand or compress the overall area that the nodes take up
radius:180,// the radius of the circle
startAngle:-2/4*Math.PI,// where nodes start in radians
//sweep: undefined, // how many radians should be between the first and last node (defaults to full circle)
clockwise:true,// whether the layout should go clockwise (true) or counterclockwise/anticlockwise (false)
sort:undefined,// a sorting function to order the nodes; e.g. function(a, b){ return a.data('weight') - b.data('weight') }
animate:false,// whether to transition the node positions
animationDuration:500,// duration of animation in ms if enabled
animationEasing:undefined,// easing of animation if enabled
//animateFilter: function ( node, i ){ return true; }, // a function that determines whether the node should be animated. All nodes animated by default on animate enabled. Non-animated nodes are positioned immediately when the layout starts
ready:undefined,// callback on layoutready
stop:undefined,// callback on layoutstop
transform:function(node,position){returnposition;}// transform a given node position. Useful for changing flow direction in discrete layouts