Вы можете привязать событие click на узле к cytoscape следующим образом:
cy.bind('click ', 'node', function (evt) {
var pos = cy.nodes("[id = " + evt.target.data().id + "]").position();
cy.zoom({ // Zoom to the specified position
level: yourLevel, // 0 <= yourLevel, maybe try out 1,2,3,4... and see what fits
position: pos
});
});
Чтобы отобразить другой график, просто выполните ту же функцию привязки и добавьте элементы в пустой график:
cy.bind('click', 'node', function (evt) {
cy.remove(cy.elements()); // remove elements and reset graph
cy.reset(); // graph is empty now
cy.add(yourElements); // add new elements
cy.elements().layout(yourLayout).run(); // give them a layout
});
В конце вы можете захотеть cy.unbind () привязать и связать их снова, просто чтобы быть уверенным, что вы не вызываете эти привязки несколько раз.
С уважением!