var options = { layout: {improvedLayout: true}, physics: { enabled: true, barnesHut: { gravitationalConstant: -25000, centralGravity: 0.5, springConstant: 0.5, springLength: 200, damping: 0.15 }, maxVelocity: 50, minVelocity: 7.5, solver: 'barnesHut', timestep: 0.5, stabilization: { enabled: true, iterations: def_iterations, updateInterval: def_updateInterval }, }, nodes: { size: 15, font: { size: 20 }, borderWidth: 2, borderWidthSelected: 4, color:{highlight:{border: '#B20F0F', background: 'red'}} }, edges: { width: 4, selectionWidth: function (width) {return width*2.5;}, color:{color:'#2B7CE9', hover:'#2B7CE9', highlight: 'red'} }, interaction: { navigationButtons: true, keyboard: true, hover: true, tooltipDelay: 500, multiselect: true } }; var container = document.getElementById('mynetwork'); // data filters hell_filter = document.getElementById('hell_node') loops_filter = document.getElementById('loop_edges') border_filter = document.getElementById('border_nodes') let noHell = false const nodesFilter = (node) => { if (noHell) { return (node.class != 'hell') } else { return true } } var nodesView = new vis.DataView(nodes, { filter: nodesFilter }) // remove hell hell_filter.addEventListener('change', (e) => { if (hell_filter.checked){ noHell = false } else { noHell = true } nodesView.refresh() }); data = { nodes: nodesView, edges: edges }; loops_filter.addEventListener('change', (e) => { if (loops_filter.checked){ for (index = 0; index < self_loops.length; index++) { edges.add(self_loops[index]); } } else { for (index = 0; index < self_loops.length; index++) { edges.remove({id: self_loops[index].id}); } } }); border_filter.addEventListener('change', (e) => { if (border_filter.checked){ for (index = 0; index < border_nodes.length; index++) { nodes.update({id: border_nodes[index].id, shape: "box"}); } } else { for (index = 0; index < border_nodes.length; index++) { nodes.update({id: border_nodes[index].id, shape: "ellipse"}); } } }); var stabil = true; clickedNode = nodes.get(fromNode); clickedNode.color = { border: 'orange', background: 'orange', highlight: { border: 'orange', background: 'orange' } } nodes.update(clickedNode); window.onresize = function() { var network = new vis.Network(container, data, options); network.on("click", function (params) { params.event = "[original event]"; var tmp = " "; for (var i = 1; i <= nodes.length; i++) { if (nodes.get(i).id == params.nodes) { tmp = nodes.get(i).text; }; }; if(params.nodes.length === 0 && params.edges.length > 0) { for (var i = 1; i <= edges.length; i++) { if (edges.get(i).id == params.edges) { tmp = edges.get(i).text; }; }; }; document.getElementById('rectangle').innerHTML = '